Autodrone
Multi-Domain Vehicle
ibus.h
Go to the documentation of this file.
1
10#ifndef __IBUS_H__
11#define __IBUS_H__
12
13/* Defines */
14#define IBUS_FRAME_SIZE_MAX 32
15#define PAYLOAD_SIZE (IBUS_FRAME_SIZE_MAX - 4U)
16#define CRC_SIZE 2
17#define RC_CHANNELS (PAYLOAD_SIZE / 2U)
18#define ARRAY_LEN(x) (sizeof(x) / sizeof((x)[0]))
19
20/* Prototypes */
21bool ibusInit(void);
22void ibusProcess(void);
23
24/* Global Variables */
25extern uint8_t ibusPayload[PAYLOAD_SIZE];
26extern uint8_t ibusCRC[CRC_SIZE];
27extern uint16_t ibusChannels[RC_CHANNELS];
28
29extern bool rcActive;
30
31/* Global Enums */
32enum {
37};
38
39typedef enum{
44
45#endif /* __IBUS_H__ */
uint8_t ibusPayload[PAYLOAD_SIZE]
Definition: ibus.c:18
#define PAYLOAD_SIZE
Definition: ibus.h:15
uint16_t ibusChannels[RC_CHANNELS]
Definition: ibus.c:20
ibusStatus_e
Definition: ibus.h:39
@ IBUS_ERROR
Definition: ibus.h:42
@ IBUS_READY
Definition: ibus.h:40
@ IBUS_BUSY
Definition: ibus.h:41
void ibusProcess(void)
Waits for the parser to not be busy.
Definition: ibus.c:96
@ IBUS_STATE_TYPE
Definition: ibus.h:34
@ IBUS_STATE_CRC
Definition: ibus.h:36
@ IBUS_STATE_PAYLOAD
Definition: ibus.h:35
@ IBUS_STATE_LENGTH
Definition: ibus.h:33
#define CRC_SIZE
Definition: ibus.h:16
#define RC_CHANNELS
Definition: ibus.h:17
uint8_t ibusCRC[CRC_SIZE]
Definition: ibus.c:19
bool rcActive
Definition: ibus.c:25
bool ibusInit(void)
Initializes ibus ring buffer and low level usart registers.
Definition: ibus.c:42