Avoid printing True in C program

& test it!

Closes: #74
This commit is contained in:
Jeff Epler 2025-01-23 16:13:12 -06:00
parent 00cb534d03
commit 649526118b
2 changed files with 18 additions and 1 deletions

View file

@ -545,7 +545,7 @@ class Program: # pylint: disable=too-few-public-methods
sideset_pin_count = self.pio_kwargs.get("sideset_pin_count", 0) sideset_pin_count = self.pio_kwargs.get("sideset_pin_count", 0)
print(f"{qualifier} int {name}_sideset_pin_count = {sideset_pin_count};") print(f"{qualifier} int {name}_sideset_pin_count = {sideset_pin_count};")
print( print(
f"{qualifier} bool {name}_sideset_enable = {self.pio_kwargs['sideset_enable']};" f"{qualifier} bool {name}_sideset_enable = {+self.pio_kwargs['sideset_enable']};"
) )
print(f"{qualifier} uint16_t {name}[] = " + "{") print(f"{qualifier} uint16_t {name}[] = " + "{")
last_line = 0 last_line = 0

View file

@ -0,0 +1,17 @@
# SPDX-FileCopyrightText: 2025 Jeff Epler, written for Adafruit Industries
#
# SPDX-License-Identifier: MIT
import contextlib
import io
import adafruit_pioasm
def test_print_c_program():
output = io.StringIO()
with contextlib.redirect_stdout(output):
adafruit_pioasm.Program(".side_set 1 opt").print_c_program("mood")
c_program = output.getvalue()
assert "True" not in c_program
assert "sideset_enable = 1" in c_program