13 #define IR_COMMS_MESSAGE_LENGTH_MAX 6
14 #define IR_COMMS_MESSAGE_BIT_LENGTH_MAX (IR_COMMS_MESSAGE_LENGTH_MAX * 8)
17 #define IR_COMMS_NUM_OF_RECEIVERS 8
18 #define IR_COMMS_RECEIVER_FRONT_LEFT 0
19 #define IR_COMMS_RECEIVER_LEFT_FRONT 1
20 #define IR_COMMS_RECEIVER_LEFT_REAR 2
21 #define IR_COMMS_RECEIVER_REAR_LEFT 3
22 #define IR_COMMS_RECEIVER_REAR_RIGHT 4
23 #define IR_COMMS_RECEIVER_RIGHT_REAR 5
24 #define IR_COMMS_RECEIVER_RIGHT_FRONT 6
25 #define IR_COMMS_RECEIVER_FRONT_RIGHT 7
27 #define IR_COMMS_RECEIVER_FRONT_LEFT_BIT (1 << IR_COMMS_RECEIVER_FRONT_LEFT)
28 #define IR_COMMS_RECEIVER_LEFT_FRONT_BIT (1 << IR_COMMS_RECEIVER_LEFT_FRONT)
29 #define IR_COMMS_RECEIVER_LEFT_REAR_BIT (1 << IR_COMMS_RECEIVER_LEFT_REAR)
30 #define IR_COMMS_RECEIVER_REAR_LEFT_BIT (1 << IR_COMMS_RECEIVER_REAR_LEFT)
31 #define IR_COMMS_RECEIVER_REAR_RIGHT_BIT (1 << IR_COMMS_RECEIVER_REAR_RIGHT)
32 #define IR_COMMS_RECEIVER_RIGHT_REAR_BIT (1 << IR_COMMS_RECEIVER_RIGHT_REAR)
33 #define IR_COMMS_RECEIVER_RIGHT_FRONT_BIT (1 << IR_COMMS_RECEIVER_RIGHT_FRONT)
34 #define IR_COMMS_RECEIVER_FRONT_RIGHT_BIT (1 << IR_COMMS_RECEIVER_FRONT_RIGHT)
36 #define IR_COMMS_RECEIVER_0_ANGLE 0.3927
37 #define IR_COMMS_RECEIVER_1_ANGLE 1.1781
38 #define IR_COMMS_RECEIVER_2_ANGLE 1.9635
39 #define IR_COMMS_RECEIVER_3_ANGLE 2.7489
40 #define IR_COMMS_RECEIVER_4_ANGLE 3.5343
41 #define IR_COMMS_RECEIVER_5_ANGLE 4.3197
42 #define IR_COMMS_RECEIVER_6_ANGLE 5.1051
43 #define IR_COMMS_RECEIVER_7_ANGLE 5.8905
45 #define IR_COMMS_NUM_OF_TRANSMITTERS 8
46 #define IR_COMMS_POWER_MAX 256
57 uint8 data[IR_COMMS_MESSAGE_LENGTH_MAX];
58 uint8 orientationBitMatrix[IR_COMMS_NUM_OF_RECEIVERS];
59 uint8 rangeBits[IR_COMMS_NUM_OF_RECEIVERS];
70 void irCommsSetSize(uint8 size);
78 void irCommsSetXmitPower(uint16 power);
109 void irCommsOrientationBitMatrixPrint(uint8* orientationBitsMatrixPtr, uint8* rangeBitsMatrixPtr);
130 void irCommsInit(
void);