1#ifndef RTS_FRAME_BUILDER_H
2#define RTS_FRAME_BUILDER_H
45 void (*callback)(
struct rts_frame *frame, uint8_t count, uint32_t duration,
49 void *callback_user_data;
59 uint8_t bytes[RTS_FRAME_BYTES];
71 uint8_t first_data_pulse;
77 uint8_t last_bytes[RTS_FRAME_BYTES];
80 uint8_t frame_repeat_count;
83 uint32_t frame_first_seen;
109 bool state, uint32_t micros);
122 void (*callback)(
struct rts_frame *frame,
void rts_frame_builder_handle_pulse(struct rts_frame_builder *builder, bool state, uint32_t micros)
Inform the frame builder about a new pulse.
Definition: rts_frame_builder.c:90
void rts_frame_builder_init(struct rts_frame_builder *builder, struct rts_timings *timings)
Initialize an rts_frame_builder with the specified timings.
Definition: rts_frame_builder.c:81
void rts_frame_builder_set_callback(struct rts_frame_builder *builder, void(*callback)(struct rts_frame *frame, uint8_t count, uint32_t duration, void *user_data), void *user_data)
Set a callback to call when new complete frames are received.
Definition: rts_frame_builder.c:158
Assembles pulses received via rts_frame_builder_handle_pulse, into a complete rts_frame,...
Definition: rts_frame_builder.h:36
Represents the message "payload" sent by RTS remote controls.
Definition: rts_frame.h:32
Timing definitions for encoding and decoding frames to pulses.
Definition: rts_timings.h:31