* added DigitalSequence to chain multiple DigitalSignals added PulseReader for hardware assisted digital signal sampling * added send_time option to start a signal at a specific DWT->CYCCNT value * fixed linter errors and undone function renaming * fixed renaming * flagged functions in api_symbols.csv * allow gpio field to stay uninitialized in digital_signal_prepare_arr() * fix test cases to match (expected) implementation * pulse_reader: build as static library Signed-off-by: g3gg0.de <git@g3gg0.de> * fix starting level detection in pulse_reader * added unit test for pulse_reader * change pulse reader test timings to 1, 10 and 100 ms * fine tuned timings for pulse_reader test * pulse_reader_stop now deinits GPIO as recommended by @gornekich * ran format_py * pulse_reader: remove from API, allow to link with faps Signed-off-by: g3gg0.de <git@g3gg0.de> * remove unit test for pulse_reader again * pulse_reader: add call to set GPIO pull direction * make structures private, add C implementation of digital_signal_update_dma() * digital_signal/pulse_reader: allow parameters for free to be NULL * digital_signal: show unoptimized and optimized code for digital_signal_update_dma() next to each other * pulse_reader: further optimize assembly code * digital_signal: reduce code complexity of digital_signal_update_dma() by only reconfiguring DMA2 * digital_signal: remove assembly code, limiting the performance but increasing portability * added recovery if the timer already expired * digital_signal: fix memory leak * digital_signal: keep lock until all DMA transfers have finished * DigitalSequence: fix issues with concatenation of same levels and spurious bit flips * DigitalSignal: use cyclic DMA buffer for sequences * update api_symbols.csv * Update api_symbols.csv for f18 target * Patches from @gornekich to fix linter warnings. * Remove some redundant if checks * Remove some magic numbers and reformat. * Remove forced terminating edge. Signed-off-by: g3gg0.de <git@g3gg0.de> Co-authored-by: gornekich <n.gorbadey@gmail.com> Co-authored-by: Tiernan Messmer <tiernan.messmer@gmail.com> Co-authored-by: Aleksandr Kutuzov <alleteam@gmail.com>
		
			
				
	
	
		
			107 lines
		
	
	
		
			1.8 KiB
		
	
	
	
		
			Python
		
	
	
	
	
	
			
		
		
	
	
			107 lines
		
	
	
		
			1.8 KiB
		
	
	
	
		
			Python
		
	
	
	
	
	
Import("env")
 | 
						|
 | 
						|
env.Append(
 | 
						|
    LINT_SOURCES=[
 | 
						|
        Dir("app-scened-template"),
 | 
						|
        Dir("digital_signal"),
 | 
						|
        Dir("pulse_reader"),
 | 
						|
        Dir("drivers"),
 | 
						|
        Dir("flipper_format"),
 | 
						|
        Dir("infrared"),
 | 
						|
        Dir("nfc"),
 | 
						|
        Dir("ST25RFAL002"),
 | 
						|
        Dir("subghz"),
 | 
						|
        Dir("toolbox"),
 | 
						|
        Dir("u8g2"),
 | 
						|
        Dir("update_util"),
 | 
						|
        Dir("print"),
 | 
						|
        Dir("pulse_reader"),
 | 
						|
    ],
 | 
						|
)
 | 
						|
 | 
						|
 | 
						|
env.Append(
 | 
						|
    CPPPATH=[
 | 
						|
        "#/",
 | 
						|
        "#/lib",  # TODO: remove!
 | 
						|
        "#/lib/mlib",
 | 
						|
        # Ugly hack
 | 
						|
        Dir("../assets/compiled"),
 | 
						|
    ],
 | 
						|
    SDK_HEADERS=[
 | 
						|
        *(
 | 
						|
            File(f"#/lib/mlib/m-{name}.h")
 | 
						|
            for name in (
 | 
						|
                "algo",
 | 
						|
                "array",
 | 
						|
                "bptree",
 | 
						|
                "core",
 | 
						|
                "deque",
 | 
						|
                "dict",
 | 
						|
                "list",
 | 
						|
                "rbtree",
 | 
						|
                "tuple",
 | 
						|
                "variant",
 | 
						|
            )
 | 
						|
        ),
 | 
						|
    ],
 | 
						|
    CPPDEFINES=[
 | 
						|
        '"M_MEMORY_FULL(x)=abort()"',
 | 
						|
    ],
 | 
						|
)
 | 
						|
 | 
						|
 | 
						|
# drivers
 | 
						|
# fatfs
 | 
						|
# flipper_format
 | 
						|
# infrared
 | 
						|
# littlefs
 | 
						|
# subghz
 | 
						|
# toolbox
 | 
						|
# one_wire
 | 
						|
# micro-ecc
 | 
						|
# misc
 | 
						|
#    digital_signal
 | 
						|
#    fnv1a_hash
 | 
						|
#    microtar
 | 
						|
#    nfc
 | 
						|
#    qrcode
 | 
						|
#    u8g2
 | 
						|
#    update_util
 | 
						|
#    heatshrink
 | 
						|
#    nanopb
 | 
						|
# apps
 | 
						|
#    app-scened-template
 | 
						|
#    callback-connector
 | 
						|
#    app-template
 | 
						|
 | 
						|
 | 
						|
libs = env.BuildModules(
 | 
						|
    [
 | 
						|
        "stm32wb",
 | 
						|
        "freertos",
 | 
						|
        "print",
 | 
						|
        "microtar",
 | 
						|
        "toolbox",
 | 
						|
        "ST25RFAL002",
 | 
						|
        "libusb_stm32",
 | 
						|
        "drivers",
 | 
						|
        "fatfs",
 | 
						|
        "flipper_format",
 | 
						|
        "one_wire",
 | 
						|
        "ibutton",
 | 
						|
        "infrared",
 | 
						|
        "littlefs",
 | 
						|
        "mbedtls",
 | 
						|
        "subghz",
 | 
						|
        "nfc",
 | 
						|
        "pulse_reader",
 | 
						|
        "appframe",
 | 
						|
        "misc",
 | 
						|
        "lfrfid",
 | 
						|
        "flipper_application",
 | 
						|
    ],
 | 
						|
)
 | 
						|
 | 
						|
Return("libs")
 |