From 6b84e6be56e83bf66128eea17642bd941e350a9d Mon Sep 17 00:00:00 2001
From: Arne Meeuw <arne@exnaton.com>
Date: Sat, 30 Mar 2024 12:05:11 +0700
Subject: [PATCH 1/2] Add src_to_binary_ext that returns addrs_syms

---
 esp32_ulp/__init__.py | 13 +++++++------
 1 file changed, 7 insertions(+), 6 deletions(-)

diff --git a/esp32_ulp/__init__.py b/esp32_ulp/__init__.py
index 634605d..1a16e37 100644
--- a/esp32_ulp/__init__.py
+++ b/esp32_ulp/__init__.py
@@ -12,19 +12,20 @@
 from .link import make_binary
 garbage_collect('after import')
 
-
-def src_to_binary(src, cpu):
+def src_to_binary_ext(src, cpu):
     assembler = Assembler(cpu)
     src = preprocess(src)
     assembler.assemble(src, remove_comments=False)  # comments already removed by preprocessor
     garbage_collect('before symbols export')
     addrs_syms = assembler.symbols.export()
-    for addr, sym in addrs_syms:
-        print('%04d %s' % (addr, sym))
-
     text, data, bss_len = assembler.fetch()
-    return make_binary(text, data, bss_len)
+    return make_binary(text, data, bss_len), addrs_syms
 
+def src_to_binary(src, cpu):
+    binary, addrs_syms = src_to_binary_ext(src, cpu)
+    for addr, sym in addrs_syms:
+        print('%04d %s' % (addr, sym))
+    return binary
 
 def assemble_file(filename, cpu):
     with open(filename) as f:

From fe753d96209bfa3fa65d1c8f0a5f455472bfb645 Mon Sep 17 00:00:00 2001
From: Arne Meeuw <arne@exnaton.com>
Date: Sat, 30 Mar 2024 20:36:26 +0700
Subject: [PATCH 2/2] Adhere to styling conventions

---
 esp32_ulp/__init__.py | 3 +++
 1 file changed, 3 insertions(+)

diff --git a/esp32_ulp/__init__.py b/esp32_ulp/__init__.py
index 1a16e37..e14cca3 100644
--- a/esp32_ulp/__init__.py
+++ b/esp32_ulp/__init__.py
@@ -12,6 +12,7 @@
 from .link import make_binary
 garbage_collect('after import')
 
+
 def src_to_binary_ext(src, cpu):
     assembler = Assembler(cpu)
     src = preprocess(src)
@@ -21,12 +22,14 @@ def src_to_binary_ext(src, cpu):
     text, data, bss_len = assembler.fetch()
     return make_binary(text, data, bss_len), addrs_syms
 
+
 def src_to_binary(src, cpu):
     binary, addrs_syms = src_to_binary_ext(src, cpu)
     for addr, sym in addrs_syms:
         print('%04d %s' % (addr, sym))
     return binary
 
+
 def assemble_file(filename, cpu):
     with open(filename) as f:
         src = f.read()