1 #include <IRLibSendBase.h>
2 #include <IRLib_P01_NEC.h>
3 #include <IRLibCombo.h>
4 #include "lolcam_globals.h"
10 Serial.begin(BAUDRATE);
11 Serial.println("Infrared transmitter initialized");
16 unsigned long ir_command = 0;
17 if (Serial.available() > 0)
22 Serial.readBytesUntil(newline, input, length);
23 Serial.print("I received: ");
24 for (int ii = 0; ii < length; ii++)
26 Serial.print(input[ii], DEC);
30 unsigned long swap = (unsigned long) input[9] << 23;
31 unsigned long repeat_delay = (unsigned long) input[8] << 19;
32 unsigned long repeats = (unsigned long) input[7] << 16;
33 unsigned long flip = (unsigned long) input[6] << 15;
34 unsigned long robot_id = (unsigned long) input[5] << 14;
35 unsigned long right_sign = (unsigned long) input[4] << 13;
36 unsigned long left_sign = (unsigned long) input[3] << 12;
37 unsigned long right = (unsigned long) input[2] << 8;
38 unsigned long left = (unsigned long) input[1] << 4;
39 unsigned long time = (unsigned long) input[0];
40 unsigned long command = 0xFF000000 | swap | repeat_delay | repeats | flip | robot_id | right_sign | left_sign | right | left | time;
41 Serial.print("Constructed command: ");
42 Serial.print(command, HEX);
44 Serial.println(command, BIN);
45 mySender.send(PROTOCOL, command, IR_SIGNAL_BITCOUNT);
49 delay(IR_TRANSMITTER_SLEEP);