 e1c6e78b2e
			
		
	
	
		e1c6e78b2e
		
			
		
	
	
	
	
		
			
			* 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>
		
			
				
	
	
		
			28 lines
		
	
	
		
			508 B
		
	
	
	
		
			Python
		
	
	
	
	
	
			
		
		
	
	
			28 lines
		
	
	
		
			508 B
		
	
	
	
		
			Python
		
	
	
	
	
	
| Import("env")
 | |
| 
 | |
| env.Append(
 | |
|     CPPPATH=[
 | |
|         "#/lib/pulse_reader",
 | |
|     ],
 | |
|     SDK_HEADERS=[
 | |
|         File("pulse_reader.h"),
 | |
|     ],
 | |
| )
 | |
| 
 | |
| libenv = env.Clone(FW_LIB_NAME="pulse_reader")
 | |
| libenv.ApplyLibFlags()
 | |
| 
 | |
| libenv.AppendUnique(
 | |
|     CCFLAGS=[
 | |
|         # Required for lib to be linkable with .faps
 | |
|         "-mword-relocations",
 | |
|         "-mlong-calls",
 | |
|     ],
 | |
| )
 | |
| 
 | |
| sources = libenv.GlobRecursive("*.c*")
 | |
| 
 | |
| lib = libenv.StaticLibrary("${FW_LIB_NAME}", sources)
 | |
| libenv.Install("${LIB_DIST_DIR}", lib)
 | |
| Return("lib")
 |