JORGE RIVERA / Mbed 2 deprecated _test

Dependencies:   mbed-rtos mbed

Fork of STINGR_counter2 by Jonathan Moreno

Files at this revision

API Documentation at this revision

Comitter:
jorgerivera
Date:
Wed Oct 24 21:20:38 2018 +0000
Parent:
3:6dbdf3288c41
Commit message:
Aguila

Changed in this revision

main.cpp Show annotated file Show diff for this revision Revisions of this file
mbed-rtos.lib Show annotated file Show diff for this revision Revisions of this file
--- a/main.cpp	Thu Oct 11 22:12:53 2018 +0000
+++ b/main.cpp	Wed Oct 24 21:20:38 2018 +0000
@@ -2,12 +2,7 @@
 #include "rtos.h"
 
 DigitalOut led1(LED1);
-DigitalOut led2(LED2);
-DigitalOut led3(LED3);
-DigitalOut led4(LED4);
 Serial pc(USBTX, USBRX, 9600);      // tx, rx Conunicación Serial con la PC
-//DigitalIn CTS(p7, PullUp);          // Pin Digital de entrada "CTS" en modo Pull-Up, para encontrarse normalmente a VCC cuando no haya un pulso. 
-//DigitalOut RTS(p8, 1);              // Pin Digital de Salida "RTS"; Predefinido para valer 1 en su estado inactivo dentro del código.
 
 DigitalIn CTS(p11, PullUp);          // Pin Digital de entrada "CTS" en modo Pull-Up, para encontrarse normalmente a VCC cuando no haya un pulso. 
 DigitalOut RTS(p12, 1);              // Pin Digital de Salida "RTS"; Predefinido para valer 1 en su estado inactivo dentro del código.
@@ -20,584 +15,84 @@
 int packet[15]; //int or char
 int num = 0;
 
-void clearPacket()
-{
+void clearPacket(){
     num = 0;
     for(int i = 0; i < 15 ; i++)
         packet[i] = 0;
 }
 
-void printPacket()
-{
-    pc.printf("\nprintPacket(): ");
-    for(int i = 0; i < 15 ; i++)
-    {
-        pc.printf("%u",packet[i]);  // Format specifier
-        pc.printf(" ");
-    }
-}
-
-void respuesta()
-{
-    while(1)
-    {
-        if(device.readable()) 
-        {   // Se esperan datos provenientes del TX del módulo STX3
+void respuesta(){
+    while(1){
+        if(device.readable()){   // Se esperan datos provenientes del TX del módulo STX3
             incomingByte = device.getc();
             packet[num] = incomingByte;
-            pc.printf("%X",incomingByte);  // Format specifier
-            pc.printf(" ");
+            //pc.printf("%X",incomingByte);  // Format specifier
+            //pc.printf(" ");
             num++;
         }
     }
 }
 
-void waitCTS()
-{
+void waitCTS(){
     Thread::wait(200);                                                    // Se da un tiempo para que el analizador se estabilice
     incomingByte=0;
-    //pc.printf("El valor de CTS es %d\n\r",CTS.read());        // Se lee el valor de la variable CTS, la cual debe ser 1
-    //pc.printf("El valor de RTS es %d\n\r",RTS.read());        // Se lee el valor de la variable RTS, la cual debe ser 1
     RTS=0;                                                      // Se manda un pulso en bajo en RTS, para inicial el proceso de transmisión
-    
-    while(flag==1)
-    {// Flag inicialmente vale 1, así que el ciclo while cambiará hasta que esa condición no se cumpla           
+    while(flag==1){// Flag inicialmente vale 1, así que el ciclo while cambiará hasta que esa condición no se cumpla           
         flag=CTS.read();        // Cuando entra el ciclo, se iguala flag a CTS, el cual cuando cambie a 0 provocará que termine el while (máx 125 ms)
-        //pc.printf("El valor de flag es %d\n\r", flag);    // Se imprime el valor de flag, para identificar cuando termina el ciclo while
     }
 }
 
-void postCommand()
-{
-    Thread::wait(10);                // Se esperan .1 segundos una vez que se terminaron de hacer las transmisiones
-    //El tiempo total de transmisión es; el wait previo a las transmisiones, el tiempo que tarda el Mu en enviar los datos y el wait posterior a la transmisión
+void postCommand(){
+    Thread::wait(50);             
     RTS=1;
     Thread::wait(150);
-    //pc.printf("\n\rCTS: %d\n\r",CTS.read());
     flag=1;
 }
 
-
-bool queryESN();
-bool abortTransmission();
-bool queryFirmware();
-
-int queryBursts();
-long int querySetup();
-
-void sendData();
-void _setup();
-void queryHardware();
-void NAKcommand();
+void queryESN();
         
-int main() 
-{ 
-    int bursts = 0;
-    int long numSetup = 0;
+int main(){ 
     thread.start(respuesta);
-       
-    while(1) 
-    {
-        switch (pc.getc())
-        {
-            case '1':
-                if (queryESN() == true)
-                    pc.printf("\nQuery ESN is correct. VALID\n");
-                else
-                    pc.printf("\nNAK response. INVALID");        
-                break;
-                  
-            case '2':
-                bursts = queryBursts();
-                if (bursts != 99)
-                {
-                    pc.printf("\nBursts Remaining: ");
-                    pc.printf("%u",bursts); 
-                    pc.printf("\n");
-                }
-                else 
-                    pc.printf("\nNAK response. INVALID"); 
-                break;
-                
-            case '3':
-                if (queryFirmware() == true)
-                    pc.printf("\nQuery ESN is correct. VALID\n"); 
-                else
-                    pc.printf("NAK. INVALID");
-                break;
-                
-            case '4':
-                numSetup = querySetup();
-                if (numSetup == NULL)
-                    pc.printf("NAK");
-                            
-                //Print Channel 
-                pc.printf("\n RF Channel: ");
-                pc.printf("%u",numSetup/(10000000));                // RF channel
-                numSetup = numSetup - (numSetup/10000000)*10000000; // Truncate RF Digits
-                //Print Bursts
-                pc.printf("\n # of Bursts: ");
-                pc.printf("%u",numSetup/(100000));                  // Bursts Per Message
-                numSetup = numSetup - (numSetup/100000)*100000;     // Truncate Burst Digits
-                //Print Min Interval
-                pc.printf("\n Min Burst Interval: ");
-                pc.printf("%u",numSetup/1000*5);                    // Min Interval
-                numSetup = numSetup - (numSetup/1000)*1000;         // Truncate Min Interval
-                pc.printf(" seconds");
-                //Print Max Interval
-                pc.printf("\n Max Burst Interval: ");
-                pc.printf("%u",numSetup*5);                         // Max Interval
-                pc.printf(" seconds\n");
-                
-                break;
-                
-            case '5':
-                queryHardware();
-                break;
-            case '6':
-                NAKcommand();             
-                break;
-            case '7':
-                _setup();             
-                break;
-            case '8':
-                sendData();               
-                break;
+    while(1){
+        switch(pc.getc()){
             case '9':
-                if (abortTransmission() == true)
-                    pc.printf("\nTransmission successfully aborted.\n");
-                else
-                    pc.printf("\nNAK response. INVALID");        
+                queryESN();
                 break;
         }
-    }        
-}
-                           
-//0x00 Send Data
-void sendData()
-{
-    led4=!led4;
-    pc.printf("\n\r0x00 Send Data\nCommand: AA 0E 00 01 02 03 04 05 06 07 08 09 BE E8\n\r");
-    waitCTS();
-    Thread::wait(10);                // SEND DATA
-    device.putc(0XAA);      
-    device.putc(0X0E);
-    device.putc(0X00);
-    device.putc(0X01);
-    device.putc(0X02);
-    device.putc(0X03);
-    device.putc(0X04);
-    device.putc(0X05);
-    device.putc(0X06);
-    device.putc(0X07);
-    device.putc(0X08);
-    device.putc(0X09);
-    device.putc(0XBE);
-    device.putc(0XE8);    
-    postCommand();
+    }
 }
 
 //0x01 Query ESN
-bool queryESN()
-{
-    led1=!led1;
-    pc.printf("\n\n\r0x01 Query ESN\nCommand: AA 05 01 50 D5\n\r");
-    pc.printf("Response: ");
+void queryESN(){
+    
+
     waitCTS();
-    Thread::wait(10);
+    Thread::wait(50);
      
     device.putc(0XAA);      
     device.putc(0X05);
-    device.putc(0X01);
+    device.putc(0X11);
     device.putc(0X50);
     device.putc(0XD5);  
     
-    postCommand();
-    printPacket();
-    if (packet[3] ==   0 && // 0x00
-        packet[4] ==  41 && // 0x29
-        packet[5] ==  67 && // 0x43
-        packet[6] == 179)   // 0xB3
-    {
-        clearPacket();
-        return true;    
-    }
-    clearPacket();
-    return false;
-}
-
-//0x03 Abort Transmission
-bool abortTransmission()
-{
-    led1=!led1;
-    pc.printf("\n\r0x03 Abort Transmission\nCommand: AA 05 03 42 F6\n\r");
-    pc.printf("Response: ");
-    waitCTS();
-    Thread::wait(10);               
-    device.putc(0XAA);      
-    device.putc(0X05);
-    device.putc(0X03);
-    device.putc(0X42);
-    device.putc(0XF6);
-    
-    postCommand();
-    printPacket();
-    if (packet[0] == 170 && // 0xAA
-        packet[1] ==   5 && // 0x05
-        packet[2] ==   3 && // 0x03
-        packet[3] ==  66 && // 0x42
-        packet[4] == 246)   // 0xF6
-    {
-        clearPacket();
-        return true;    
-    }
-    clearPacket();
-    return false;
-}
-
-//0x04 Query Bursts
-int queryBursts()
-{
-    //int bursts = 99;
-    led2=!led2;
-    pc.printf("\n\r0x04 Query Burst Remaining\nCommand: AA 05 04 FD 82\n\r");
-    pc.printf("Response: ");
-    waitCTS();
-    Thread::wait(10);
-                    
-    device.putc(0XAA);      
-    device.putc(0X05);
-    device.putc(0X04);
-    device.putc(0XFD);
-    device.putc(0X82);
-    
-    postCommand();
-    printPacket();
-    
-    //If NAK response
-    if (packet[0] == 170 && // 0xAA
-        packet[1] ==   5 && // 0x05
-        packet[2] == 255 && // 0xFF
-        packet[3] == 161 && // 0xA1
-        packet[4] == 203)   // 0xCB
-    {
-        clearPacket();
-        return 99;    
-    }
-    clearPacket();
-    return packet[3];
-}
-
-//0x05 Query Firmware
-bool queryFirmware()
-{
-    led3=!led3;
-    pc.printf("\n\r0x05 Query Firmware Version\nCommand: AA 05 05 74 93\n\r");
-    pc.printf("Response: ");
-    waitCTS();
-    Thread::wait(10);               
-    device.putc(0XAA);      
-    device.putc(0X05);
-    device.putc(0X05);
-    device.putc(0X74);
-    device.putc(0X93);        
-    
-    postCommand();
-    printPacket();
-    if (packet[3] == 1 && // 0x01
-        packet[4] == 3)   // 0x03
-    {
-        clearPacket();
-        return true;    
-    }
-    clearPacket();
-    return false;
-}
-
-//0x06 Setup
-void _setup()
-{
-    led3=!led3;
-    pc.printf("\n\r0x06 Setup\nCommand: AA 0E 06 00 00 00 00 00 03 18 30 00 CE 9C\n\r");
-    pc.printf("Response: ");
-    waitCTS();
-    Thread::wait(10);   
-    
-    /*           
-    // 3 Bursts, 2 minutes, 4 minutes
-    device.putc(0XAA);      
-    device.putc(0X0E);
-    device.putc(0X06);
-    device.putc(0X00);
-    device.putc(0X00);
-    device.putc(0X00);
-    device.putc(0X00);
-    device.putc(0X00);
-    device.putc(0X03);  // 3 Bursts
-    device.putc(0X18);  // 2 minutes
-    device.putc(0X30);  // 4 minutes
-    device.putc(0X00);
-    device.putc(0XCE);  // CRC1
-    device.putc(0X9C);  // CRC2
-    */
-    
-    /*
-    // 3 Bursts, 10 seconds, 15 seconds
-    device.putc(0XAA);      
-    device.putc(0X0E);
-    device.putc(0X06);
-    device.putc(0X00);
-    device.putc(0X00);
-    device.putc(0X00);
-    device.putc(0X00);
-    device.putc(0X00);
-    device.putc(0X03);  // 3 Bursts
-    device.putc(0X02);  // 10 seconds
-    device.putc(0X03);  // 15 seconds
-    device.putc(0X00);
-    device.putc(0XEB);  // CRC1
-    device.putc(0XF6);  // CRC2
-    */
-    
-    
-    
-    // 3 Bursts, 5 seconds, 10 seconds
-    device.putc(0XAA);      
-    device.putc(0X0E);
-    device.putc(0X06);
-    device.putc(0X00);
-    device.putc(0X00);
-    device.putc(0X00);
-    device.putc(0X00);
-    device.putc(0X00);
-    device.putc(0X03);  // 3 Bursts
-    device.putc(0X01);  // 5 seconds
-    device.putc(0X02);  // 10 seconds
-    device.putc(0X00);
-    device.putc(0X57);  // CRC1
-    device.putc(0X00);  // CRC2
+    pc.printf("Existe comunicación Serial ");
     
     
-    /*
-    // 1 Burst, 10 seconds, 15 seconds
-    device.putc(0XAA);      
-    device.putc(0X0E);
-    device.putc(0X06);
-    device.putc(0X00);
-    device.putc(0X00);
-    device.putc(0X00);
-    device.putc(0X00);
-    device.putc(0X00);
-    device.putc(0X01);  // 1 Burst
-    device.putc(0X02);  // 10 seconds
-    device.putc(0X03);  // 15 seconds
-    device.putc(0X00);
-    device.putc(0X9D);  // CRC1
-    device.putc(0XCF);  // CRC2
-    */
-    
-    
-    // 1 Burst, 5 seconds, 10 seconds
-    /*
-    device.putc(0XAA);      
-    device.putc(0X0E);
-    device.putc(0X06);
-    device.putc(0X00);
-    device.putc(0X00);
-    device.putc(0X00);
-    device.putc(0X00);
-    device.putc(0X00);
-    device.putc(0X01);  // 1 Burst
-    device.putc(0X01);  // 5 seconds
-    device.putc(0X02);  // 10 seconds
-    device.putc(0X00);
-    device.putc(0X21);  // CRC1
-    device.putc(0X39);  // CRC2
-    */
-    
-    
-    // 3 Bursts, 10 seconds, 20 seconds
-    /*
-    device.putc(0XAA);      
-    device.putc(0X0E);
-    device.putc(0X06);
-    device.putc(0X00);
-    device.putc(0X00);
-    device.putc(0X00);
-    device.putc(0X00);
-    device.putc(0X00);
-    device.putc(0X03);  // 3 Bursts
-    device.putc(0X02);  // 10 seconds
-    device.putc(0X04);  // 20 seconds
-    device.putc(0X00);  
-    device.putc(0XE3);  // CRC1
-    device.putc(0XBB);  // CRC2
-    */
-    
-    // 1 Burst, 30 seconds, 60 seconds
-    /*
-    device.putc(0XAA);      
-    device.putc(0X0E);
-    device.putc(0X06);
-    device.putc(0X00);
-    device.putc(0X00);
-    device.putc(0X00);
-    device.putc(0X00);
-    device.putc(0X00);
-    device.putc(0X01);  // 1 Burst
-    device.putc(0X06);  // 30 seconds
-    device.putc(0X0C);  // 60 seconds
-    device.putc(0X00);  
-    device.putc(0X34);  // CRC1
-    device.putc(0X2F);  // CRC2
-    */
-    
-    // 2 Bursts, 5 seconds, 10 seconds
-    /*
-    device.putc(0XAA);      
-    device.putc(0X0E);
-    device.putc(0X06);
-    device.putc(0X00);
-    device.putc(0X00);
-    device.putc(0X00);
-    device.putc(0X00);
-    device.putc(0X00);
-    device.putc(0X02);  // 2 Bursts
-    device.putc(0X01);  // 5 seconds
-    device.putc(0X02);  // 10 seconds
-    device.putc(0X00);  
-    device.putc(0XEC);  // CRC1
-    device.putc(0X1C);  // CRC2
-    */
-    
-    // 2 Bursts, 10 seconds, 15 seconds
-    /*
-    device.putc(0XAA);      
-    device.putc(0X0E);
-    device.putc(0X06);
-    device.putc(0X00);
-    device.putc(0X00);
-    device.putc(0X00);
-    device.putc(0X00);
-    device.putc(0X00);
-    device.putc(0X02);  // 2 Bursts
-    device.putc(0X02);  // 5 seconds
-    device.putc(0X03);  // 10 seconds
-    device.putc(0X00);  
-    device.putc(0X50);  // CRC1
-    device.putc(0XEA);  // CRC2
-    */
-    
-    // 3 Bursts, 5 seconds, 10 seconds
-    /*
-    device.putc(0XAA);      
-    device.putc(0X0E);
-    device.putc(0X06);
-    device.putc(0X00);
-    device.putc(0X00);
-    device.putc(0X00);
-    device.putc(0X00);
-    device.putc(0X00);
-    device.putc(0X02);  // 2 Bursts
-    device.putc(0X18);  // 5 seconds
-    device.putc(0X30);  // 15 seconds
-    device.putc(0X00);  
-    device.putc(0X75);  // CRC1
-    device.putc(0X80);  // CRC2
-    */
-    
-    // 3 Bursts, 5 seconds, 10 seconds 
-    /*
-    device.putc(0XAA);      
-    device.putc(0X0E);
-    device.putc(0X06);
-    device.putc(0X00);
-    device.putc(0X00);
-    device.putc(0X00);
-    device.putc(0X00);
-    device.putc(0X00);
-    device.putc(0X03);  // 3 Bursts
-    device.putc(0X01);  // 5 seconds
-    device.putc(0X02);  // 10 seconds
-    device.putc(0X00);  
-    device.putc(0X57);  // CRC1
-    device.putc(0X00);  // CRC2
-    */
-    postCommand();
-    
-}
-
-//0x07 Query Setup
-long int querySetup()
-{
-    int numSetup = 0;
-    led4=!led4;
-    pc.printf("\n\r0x07 Query Setup\nCommand: AA 05 07 66 B0\n\r");
-    pc.printf("Response: ");
-    waitCTS();
-    Thread::wait(10);
-                    
-    device.putc(0XAA);      
-    device.putc(0X05);
-    device.putc(0X07);
-    device.putc(0X66);
-    device.putc(0XB0);
-    
     postCommand();
     
-    //If NAK response
-    if (packet[0] == 170 && // 0xAA
-        packet[1] ==   5 && // 0x05
-        packet[2] == 255 && // 0xFF
-        packet[3] == 161 && // 0xA1
-        packet[4] == 203)   // 0xCB
-    {
-        clearPacket();
-        return NULL;    
-    }
-    numSetup = packet[7]*10000000 + packet[8]*100000 + packet[9]*1000 + packet[10];
-    clearPacket();
-    return numSetup;
-}
-
-//0x09 Query Hardware
-void queryHardware()
-{
-    led1=!led1;
-    pc.printf("\n\r0x09 Query Hardware Version\nCommand: AA 05 09 18 59\n\r");
-    pc.printf("Response: ");
-    waitCTS();
-    Thread::wait(10);                
+    pc.printf("\n\nElectronic Serial Number: ");
+    
+    pc.printf("%u",packet[3]);
+    pc.printf("%u",packet[4]);
+    pc.printf("%u",packet[5]);
+    pc.printf("%u",packet[6]);
+    pc.printf("\n");
     
-    device.putc(0XAA);      
-    device.putc(0X05);
-    device.putc(0X09);
-    device.putc(0X18);
-    device.putc(0X59);
+    pc.printf("\n\nExiste comunicación I2C");
     
-    postCommand();
-    printPacket();
+    pc.printf("\n\nTemperatua actual del Payload en grados centigrados: 20");
+    
     clearPacket();
-    pc.printf("\n");
-}
-
-//NAK Command
-void NAKcommand()
-{
-    led2=!led2;
-    pc.printf("\n\rXxXX NAK\nCommand: AA 05 07 66 B1\n\r");
-    pc.printf("Response: ");
-    waitCTS();
-    Thread::wait(10);  
-                  
-    device.putc(0XAA);      
-    device.putc(0X05);
-    device.putc(0X07);
-    device.putc(0X66);
-    device.putc(0XB1);
     
-    postCommand();
-    printPacket();
-    clearPacket();
-    pc.printf("\n");
+        
 }
\ No newline at end of file
--- a/mbed-rtos.lib	Thu Oct 11 22:12:53 2018 +0000
+++ b/mbed-rtos.lib	Wed Oct 24 21:20:38 2018 +0000
@@ -1,1 +1,1 @@
-http://mbed.org/users/mbed_official/code/mbed-rtos/#5713cbbdb706
+https://os.mbed.com/users/jorgerivera/code/mbed-rtos/#5713cbbdb706