unleashed-firmware/lib/SConscript
g3gg0.de e1c6e78b2e
added DigitalSequence and PulseReader (#2070)
* 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>
2023-05-09 09:55:17 +09:00

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")