Firmware for the controller of the JRO Radar Controller.

Dependencies:   CR2 EthernetInterface FreescaleIAP I2CLCD SerialDriver jro k64f_EthLink mbed-rtos mbed

Fork of JRO_DDSv2 by Miguel Urco

Revision:
5:12b90c023958
Parent:
3:f84802422619
--- a/main.cpp	Tue Feb 24 20:14:16 2015 +0000
+++ b/main.cpp	Mon Mar 14 19:39:14 2016 +0000
@@ -15,7 +15,7 @@
 #include "EthUtils.h"
 #include "JroIpdata.h"
 #include "JroSIR.h"
-#include "AD9854.h"
+#include "CR2.h"
 
 #define mbed_reset        NVIC_SystemReset
 
@@ -27,15 +27,15 @@
 Thread *ser_thread_ptr;
 Thread *eth_thread_ptr;
 Thread *lcd_thread_ptr;
-Mutex dds_mutex;
+Mutex cr2_mutex;
 Mutex eth_mutex;
 Mutex lcd_mutex;
 
 //SERIAL
 #define SERIAL_BAUDRATE     1000000
-const char* UART_MSG_OK = "DDS Successful";
-const char* UART_MSG_KO = "DDS Unsuccessful";
-const char* UART_MSG_NC = "DDS Not connected";
+const char* UART_MSG_OK = "CR2 Successful";
+const char* UART_MSG_KO = "CR2 Unsuccessful";
+const char* UART_MSG_NC = "CR2 Not connected";
 
 Serial screen(USBTX, USBRX);
 SerialDriver uart(D1, D0);
@@ -45,15 +45,15 @@
 I2C i2c_device(I2C_SDA, I2C_SCL);
 I2CLCD lcd(i2c_device, 0x78, LCD20x2);
 
-//const char LCD_WELCOME[]    =   "  JICAMARCA - DDS   ";
+//const char LCD_WELCOME[]    =   "  JICAMARCA - CR2   ";
 const char LCD_IP_INI[]     =   "IP : checking...    ";
 const char LCD_IP_NC[]      =   "IP : Not connected  ";
 //const char LCD_IP_NI[]      =   "IP : Not initialized";
 
-const char LCD_DAC_INI[]    =   "DAC: checking...    ";
-const char LCD_DAC_NC[]     =   "DAC: Not detected   ";
-const char LCD_DAC_ENA[]    =   "     RF Enabled     ";
-const char LCD_DAC_DIS[]    =   "     RF Disabled    ";
+const char LCD_CR2_INI[]    =   "CR2: checking...    ";
+const char LCD_CR2_NC[]     =   "CR2: Not detected   ";
+const char LCD_CR2_ENA[]    =   "     Outputs Enabled     ";
+const char LCD_CR2_DIS[]    =   "     Otuputs Disabled    ";
 
 //ETHERNET
 #define ECHO_SERVER_PORT   2000
@@ -65,17 +65,17 @@
 EthernetInterface eth;
 TCPSocketServer server;
 
-//DDS
+//CR2
 SPI spi_device(D11, D12, D13);
 
-DigitalOut    dds_mreset(D4);
-DigitalOut    dds_outramp(D5);
-DigitalOut    dds_sp_mode(D6);
-DigitalOut    dds_cs(D7);
-DigitalOut    dds_io_reset(D9);
-DigitalInOut  dds_updclk(D10);
+DigitalOut    cr2_mreset(D4);
+DigitalOut    cr2_outramp(D5);
+DigitalOut    cr2_sp_mode(D6);
+DigitalOut    cr2_cs(D7);
+DigitalOut    cr2_io_reset(D9);
+DigitalInOut  cr2_updclk(D10);
 
-DDS dds_device(&spi_device, &dds_mreset, &dds_outramp, &dds_sp_mode, &dds_cs, &dds_io_reset, &dds_updclk);
+CR2 cr2_device(&spi_device, &cr2_mreset, &cr2_outramp, &cr2_sp_mode, &cr2_cs, &cr2_io_reset, &cr2_updclk);
 
 //LEDS
 DigitalOut LedR(LED1);          
@@ -157,20 +157,20 @@
             Thread::wait(10);
         }
         lcd.printf("Serial command received", 0, 1);
-        //******************** DDS NOT INITIALIZED *******************
-        if (!dds_device.wasInitialized()){
+        //******************** CR2 NOT INITIALIZED *******************
+        if (!cr2_device.wasInitialized()){
             for (int i=0; i<strlen(UART_MSG_NC); i++){   
                 uart.putc(UART_MSG_NC[i]);
             }
             continue;
         }
-        //Lock dds_device before execute any command
-        dds_mutex.lock();
+        //Lock cr2_device before execute any command
+        cr2_mutex.lock();
         
         //********************* SUCCESSFUL DATA **********************
-        if (n == 40)   
-            if (dds_device.setAllDevice(rx_buffer) == 1)
-                successful = true;
+        //if (n == 40)   
+            //if (cr2_device.setAllDevice(rx_buffer) == 1)
+                //successful = true;
         
         //******************** REPLY UART*****************************
         if (successful)      
@@ -180,7 +180,7 @@
         else
             uart.printf(UART_MSG_KO);
         
-        dds_mutex.unlock();
+        cr2_mutex.unlock();
         
     }
     
@@ -251,8 +251,8 @@
             continue;
         }
         lcd.printf("Eth command received", 0, 1);
-        //******************** DDS NOT INITIALIZED *******************
-        if (!dds_device.wasInitialized()){
+        //******************** CR2 NOT INITIALIZED *******************
+        if (!cr2_device.wasInitialized()){
             client.send(ipData.getNIData(ipData.getCmd()), ipData.getNIDataLen());
             client.close();
             continue;
@@ -283,18 +283,19 @@
             }
         }
         
-        //Lock dds_device before execute any command
-        dds_mutex.lock();
+        //Lock cr2_device before execute any command
+        cr2_mutex.lock();
         
         // ********** OTHER COMMANDS
-        dds_device.setCommand(ipData.getCmd(), ipData.getPayload(), ipData.getPayloadLen());
-        ipData.encode(ipData.getCmd(), dds_device.getCmdAnswer(), dds_device.getCmdAnswerLen());
+        cr2_device.writeBlock(ipData.getPayloadLen(),ipData.getPayload());
+        //cr2_device.setCommand(ipData.getCmd(), ipData.getPayload(), ipData.getPayloadLen());
+        ipData.encode(ipData.getCmd(), cr2_device.getCmdAnswer(), cr2_device.getCmdAnswerLen());
         
         client.send(ipData.getTxData(), ipData.getTxDataLen());
         Thread::wait(10);
         client.close();
         
-        dds_mutex.unlock();
+        cr2_mutex.unlock();
     }
 }
 
@@ -303,7 +304,7 @@
     char c=0;
     char lcd_status[2]="\xF7";
     
-    lcd.printf(LCD_DAC_INI, 0, 0);
+    lcd.printf(LCD_CR2_INI, 0, 0);
     lcd.printf(LCD_IP_INI, 0, 1);
     Thread::wait(2000);
     
@@ -315,16 +316,16 @@
         }
         */
         
-        if (dds_device.wasInitialized()){
+        if (cr2_device.wasInitialized()){
             
             //RF ENABLED OR DISABLED
             if (c==1){
-                if(dds_device.isRFEnabled()){
-                    lcd.printf(LCD_DAC_ENA, 0, 0);
-                }
-                else{
-                    lcd.printf(LCD_DAC_DIS, 0, 0);
-                }
+                //if(cr2_device.isRFEnabled()){
+                    //lcd.printf(LCD_CR2_ENA, 0, 0);
+                //}
+                //else{
+                    lcd.printf(LCD_CR2_DIS, 0, 0);
+                //}
                 lcd_status[0] = 0x01;
                 lcd.printf(lcd_status, 19, 0);
             
@@ -332,17 +333,17 @@
             //FREQUENCY
             if (c==3){
                 char tmp[21];
-                sprintf(tmp, "Fout = %7.5f*Clk", dds_device.getFreqFactor1());
+                sprintf(tmp, "Fout = %7.5f*Clk", cr2_device.getFreqFactor1());
                 lcd.printf(tmp, 0, 0);
             }
             if (c==5){
                 char tmp[21];
-                sprintf(tmp, "Modulation = %s", dds_device.getModeStr() );
+                sprintf(tmp, "Modulation = %s", cr2_device.getModeStr() );
                 lcd.printf(tmp, 0, 0);
             }
         }
         else{
-            lcd.printf(LCD_DAC_NC, 0, 0);
+            lcd.printf(LCD_CR2_NC, 0, 0);
             lcd_status[0] = lcd_status[0] ^ 0xFF;
             lcd.printf(lcd_status, 19, 0);
         }
@@ -398,7 +399,7 @@
     screen.putc(0x32);
     
     while(true){
-        if (dds_device.init())
+        if (cr2_device.init())
             break;
             
         LedR = !LedR;
@@ -417,7 +418,7 @@
     */
     LedR = 1;
     
-    dds_device.defaultSettings();
+    //cr2_device.defaultSettings();
     LedR = 0;
     /*
     screen.putc(0x33);
@@ -428,12 +429,12 @@
     //int c=0;
     while(true){
         
-        if (dds_device.isRFEnabled()){
-            LedR = 0;
-        }
-        else{
+        //if (cr2_device.isRFEnabled()){
+            //LedR = 0;
+        //}
+        //else{
             LedR = 1;
-        }
+        //}
         
         if (wasIPResetPressed()){
             eraseIpConfig();