Open RTS
Full implementation of the Somfy RTS protocol
Loading...
Searching...
No Matches
rts_remote.h
Go to the documentation of this file.
1#ifndef RTS_REMOTE_H
2#define RTS_REMOTE_H
3
4#include <stdint.h>
5
6#include "rts_frame.h"
7#include "rts_pulse_output.h"
8#include "rts_remote_store.h"
9#include "rts_timings.h"
10
11#ifdef __cplusplus
12extern "C" {
13#endif
14
33struct rts_remote {
34 struct rts_pulse_output *pulse_output;
35 struct rts_remote_store *remote_store;
36 struct rts_timings *timings;
37};
38
49void rts_remote_init(struct rts_remote *remote,
50 struct rts_pulse_output *pulse_output,
51 struct rts_remote_store *remote_store,
52 struct rts_timings *timings);
53
71void rts_remote_send_command(struct rts_remote *remote, uint32_t address,
72 enum rts_command command, bool repeated);
73
87void rts_remote_send_frame(struct rts_remote *remote, struct rts_frame *frame,
88 bool repeated);
89
99void rts_remote_send_pulse(struct rts_remote *remote, bool state,
100 uint32_t micros);
101
106#ifdef __cplusplus
107} // extern "C"
108#endif
109
110#endif // RTS_REMOTE_H
rts_command
Command sent by a remote, or received by a receiver as part of an rts_frame event.
Definition rts_command.h:24
Represents the message "payload" sent by RTS remote controls.
Definition rts_frame.h:32
Provides an interface for an output of RTS pulses, eg a GPIO or radio.
Definition rts_pulse_output.h:30
Provides an interface for a datastore which contains details about remote controls and rolling codes.
Definition rts_remote_store.h:29
Simulates a physical RTS remote control.
Definition rts_remote.h:33
Timing definitions for encoding and decoding frames to pulses.
Definition rts_timings.h:31