unleashed-firmware/applications/ibutton/helpers/pulse_sequencer.h
あく 1fdc5f2950
[FL-2366] HAL to LL migration part 2 (#1053)
* iButton, FuriHal: add onewire HAL, migrate to LL, add missing critical section guards
* FuriHal: rename onewire to ibutton, cleanup RCC domain usage, fix ibutton and rfid
* FuriHal: cleanup RCC usage
2022-03-25 13:33:01 +03:00

26 lines
542 B
C++

#pragma once
#include <stdint.h>
class PulseSequencer {
public:
void set_periods(uint32_t* periods, uint16_t periods_count, bool pin_start_state);
void start();
void stop();
~PulseSequencer();
private:
uint16_t period_index;
uint16_t periods_count;
uint32_t* periods;
bool pin_start_state;
bool pin_state;
void init_timer(uint32_t period);
void reset_period_index(PulseSequencer* _this);
void (*callback_pointer)(void*, void*);
static void timer_elapsed_callback(void* comp_ctx);
};