for each button pressed nucleo sends a command, used to interface citroen steering wheel command to keenwood car radio

Dependencies:   MBC002-DigitalIn

Fork of steering_wheel_controls_TO_KEENWOOD_RADIO_INFRARED_INTERFACE by luca visconti

Revision:
7:e80a50f5b898
Parent:
6:69152576b147
Child:
8:f8a9b7dbf399
diff -r 69152576b147 -r e80a50f5b898 main.cpp
--- a/main.cpp	Wed Jun 27 13:51:15 2018 +0000
+++ b/main.cpp	Thu Jun 28 11:55:19 2018 +0000
@@ -1,8 +1,9 @@
 #include "mbed.h"
 
 // DEFINE AN ARRAY FOR EACH COMMAND I NEED
-int ARRAY_SOURCE[] = {10,5,10,5,10,5,10,5,};
-int ARRAY_TEL[] = {5,10,5,10,5,10,5,10,};
+
+int ARRAY_SOURCE[] = {342,171,21,64,21,21,21,21,21,64,21,64,21,64,21,21,21,64,21,21,21,64,21,64,21,21,21,21,21,21,21,64,21,21,21,21,21,21,21,64,21,21,21,64,21,21,21,21,21,21,21,64,21,64,21,21,21,64,21,21,21,64,21,64,21,64,21,1};
+int ARRAY_TEL[] = {342,171,21,64,21,21,21,21,21,64,21,64,21,64,21,21,21,64,21,21,21,64,21,64,21,21,21,21,21,21,21,64,21,21,21,21,21,21,21,64,21,21,21,64,21,21,21,21,21,21,21,64,21,64,21,21,21,64,21,21,21,64,21,64,21,64,21,1};
 
 //DEFINE MY OUTPUTS "led" is IRLED connected on PC_0, "myled" is STM32 NUCLEO board-led
 DigitalOut myled(LED1);
@@ -39,10 +40,10 @@
 
 // DEFINE for each button pressed which is the array to send
 // IF any button is pressed the outputs level is 0
-int ARRAY_SEND[8];
+int ARRAY_SEND[68];
 int i;
- if(pushButton1 == 1)  { for (i=0;i<8;i++) {ARRAY_SEND[i]=ARRAY_SOURCE[i];} }
-  else if(pushButton2 == 1)  { for (i=0;i<8;i++) {ARRAY_SEND[i]=ARRAY_TEL[i];} } 
+ if(pushButton1 == 1)  { for (i=0;i<68;i++) {ARRAY_SEND[i]=ARRAY_SOURCE[i];} }
+  else if(pushButton2 == 1)  { for (i=0;i<68;i++) {ARRAY_SEND[i]=ARRAY_TEL[i];} }
           else {
             
             // LEDs Turn-Off
@@ -53,18 +54,16 @@
 if (pushButton1==1 || pushButton2 ==1 ) {
 //From BIT 0 to the final BIT OF ARRAYSEND
 int BIT;
-for (BIT = 0; i < 8; i ++) {
+for (BIT = 0; BIT < 68; BIT ++) {
 //if the position of bit is even turn on the leds for bit value time, 
 //if bit is odd turn off the leds for bit value time  
   if ( BIT % 2==0) {           
              myled =1;
               led =1;
- //            wait (ARRAY_SEND[BIT]);}
-             wait (1);}
+             wait_ms (ARRAY_SEND[BIT]/38);}
  
  else {            
              myled =0;
               led =0;
- //            wait (ARRAY_SEND[BIT]);}
-              wait (1);}
+             wait_ms (ARRAY_SEND[BIT]/38);}
 }}}}
\ No newline at end of file