ir-puck

Dependencies:   Puck IRSender mbed

Fork of ir-puck by Nordic Pucks

Revision:
5:3642c0af497e
Parent:
4:24d9873936e6
Child:
10:35d78d589580
--- a/IR.cpp	Tue Jul 15 08:49:45 2014 +0000
+++ b/IR.cpp	Wed Jul 23 13:01:27 2014 +0000
@@ -7,8 +7,46 @@
 TxIR txir(p14);
 Serial px(USBTX, USBRX);
 
+#define SCR_1 1260, 420
+#define SCR_0 420, 1260
+
+#define SCR_RAW_CODE_DOWN   SCR_1, SCR_1, SCR_1, SCR_1, SCR_0, SCR_0, SCR_0, SCR_0, SCR_0, SCR_1, SCR_0, SCR_0
+#define SCR_RAW_CODE_MIDDLE SCR_1, SCR_1, SCR_1, SCR_1, SCR_0, SCR_0, SCR_0, SCR_0, SCR_0, SCR_0, SCR_1, SCR_0
+#define SCR_RAW_CODE_UP     SCR_1, SCR_1, SCR_1, SCR_1, SCR_0, SCR_0, SCR_0, SCR_0, SCR_0, SCR_0, SCR_0, SCR_1
+#define SCR_PAUSE 0, 20 * 1680    
+
+unsigned screen_down_raw_codes[50] = {
+    SCR_RAW_CODE_DOWN,
+    SCR_PAUSE,
+    SCR_RAW_CODE_DOWN
+};
+
+unsigned screen_middle_raw_codes[50] = {
+    SCR_RAW_CODE_MIDDLE,
+    SCR_PAUSE,
+    SCR_RAW_CODE_MIDDLE
+};
+
+unsigned screen_up_raw_codes[50] = {
+    SCR_RAW_CODE_UP,
+    SCR_PAUSE,
+    SCR_RAW_CODE_UP
+};
+
+
+
 void fireIRCode(uint8_t* header, uint8_t* one, uint8_t* zero, uint8_t* ptrail, uint8_t* predata, uint8_t* code)
 {
+    
+    if(code[0] == 17) {
+        switch(code[1]) {
+            case 17: txir.txSeq(26, 50, screen_up_raw_codes); break;
+            case 18: txir.txSeq(26, 50, screen_middle_raw_codes); break;
+            case 19: txir.txSeq(26, 50, screen_down_raw_codes); break;
+        }
+        return;
+    } 
+    
     px.printf("Going to fire.\n");
     int raw_codes_length = 67;
     unsigned raw_codes[raw_codes_length];
@@ -40,5 +78,6 @@
     
     txir.txSeq(26, 67, raw_codes);
 
+
     px.printf("Wrote message :)\n");
 }
\ No newline at end of file