fix starting level detection in pulse_reader

This commit is contained in:
g3gg0.de
2022-12-21 01:01:16 +01:00
committed by Tiernan Messmer
parent b5b5abac27
commit 396ebe1ad8
2 changed files with 3 additions and 3 deletions
+1 -1
View File
@@ -137,9 +137,9 @@ void pulse_reader_start(PulseReader* signal) {
/* capture current timer */
signal->pos = 0;
signal->start_level = furi_hal_gpio_read(signal->gpio);
signal->timer_value = TIM2->CNT;
signal->gpio_mask = signal->gpio->pin;
signal->gpio_value = signal->gpio->port->IDR & signal->gpio_mask;
/* now set up DMA with these settings */
LL_DMA_Init(DMA1, signal->dma_channel, &signal->dma_config_timer);
+2 -2
View File
@@ -29,7 +29,6 @@ typedef enum {
} PulseReaderUnit;
typedef struct {
bool start_level;
uint32_t* timer_buffer;
uint32_t* gpio_buffer;
uint32_t size;
@@ -65,7 +64,8 @@ void pulse_reader_free(PulseReader* signal);
/** Start signal capturing
*
* Initializes DMA1, TIM2 and DMAMUX_REQ_GEN_0 to automatically capture timer values
* Initializes DMA1, TIM2 and DMAMUX_REQ_GEN_0 to automatically capture timer values.
* Ensure that interrupts are always enabled, as the used EXTI line is handled as one.
*
* @param[in] signal previously allocated PulseReader object.
*/