Commit Graph

11 Commits

Author SHA1 Message Date
Willy-JL
c35406689b Merge branch 'dev' of https://github.com/DarkFlippers/unleashed-firmware into xfw-dev 2023-05-31 16:45:55 +01:00
Willy-JL
3bc95bc132 Format 2023-05-10 19:22:05 +01:00
Willy-JL
ee0212d05d Merge branch 'dev' of https://github.com/DarkFlippers/unleashed-firmware into xfw-dev 2023-05-10 15:59:20 +01:00
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
g3gg0.de
8b81fb921c digital_signal/pulse_reader: allow parameters for free to be NULL 2022-12-30 02:19:13 +01:00
g3gg0.de
3a42ab189f make structures private, add C implementation of digital_signal_update_dma() 2022-12-28 22:43:39 +01:00
g3gg0.de
60f56cc048 pulse_reader: add call to set GPIO pull direction 2022-12-28 14:40:29 +01:00
g3gg0.de
f92776c457 pulse_reader_stop now deinits GPIO as recommended by @gornekich 2022-12-21 15:38:03 +01:00
g3gg0.de
70faa47dee fix starting level detection in pulse_reader 2022-12-21 01:01:16 +01:00
g3gg0
5aae1c3924 fixed linter errors and undone function renaming 2022-12-05 09:36:45 +01:00
g3gg0
38eef0703b added DigitalSequence to chain multiple DigitalSignals
added PulseReader for hardware assisted digital signal sampling
2022-12-01 01:37:50 +01:00