test program to test / develop the SOLID slow control

Dependencies:   AD5384 SWSPI S25FL216K S_SCTRL_SMlib T_adt7320 adc_ad9249 sscm_comm mbed

Revision:
2:51bbbc3fc8c2
Parent:
0:35e1c447c9e8
Child:
3:8b181fe62a39
diff -r 17b3c72d8357 -r 51bbbc3fc8c2 main.cpp
--- a/main.cpp	Tue Sep 23 08:30:04 2014 +0000
+++ b/main.cpp	Mon Oct 06 11:02:10 2014 +0000
@@ -5,11 +5,12 @@
 #include "S25FL216K.h"
 #include "AD5384.h"
 #include "AD9249.h"
+#include "adt7320.h"
 #include "S_SCTRL_SM1_PinDef.h" 
 #include "S_SCTRL_SM1_hwfunct.h" 
 
-#define VERSION 1
-#define SUBVERSION 3
+#define VERSION "1.23"
+
 #define DEBUGPF(x) printf((x));
 // pin function         pin id 
 // SPI 1 
@@ -29,7 +30,9 @@
 
 //++++++++++++++++++++++
   int main()   {   
-        
+    bool testADC=false;
+    bool testDAC=true;  
+    bool testTEMP=false;//true;
        pc.attach(&callback);// handles the input on the RS232 interface  
     HWlines  hwl ;
     assignports( &hwl );
@@ -46,12 +49,14 @@
      
       AD5384 dac[2]={AD5384(&spi,hwl.dac_cs[0]), AD5384(&spi2,hwl.dac_cs[1]) };
       
+      adt7320 temp[2][3]= { adt7320(&spi, hwl.t_cs[0]),adt7320(&spi, hwl.tc_cs1[0]),adt7320(&spi, hwl.tc_cs2[0]),
+                            adt7320(&spi2, hwl.t_cs[1]),adt7320(&spi2, hwl.tc_cs1[1]),adt7320(&spi2, hwl.tc_cs2[1]) };
       //float humi;
       
       
       
       DEBUGPF("start");
-      printf(" version  %d.%02d  compiled %s %s \n\r" , VERSION , SUBVERSION, __DATE__, __TIME__ );
+      printf(" version  %s compiled %s %s \n\r" , VERSION , __DATE__, __TIME__ );
       printf(" boardserialnr %d \n\r", get_serialnr(&hwl));
       u8 consel1=0;
       u8 consel2=1;
@@ -69,46 +74,55 @@
         adc[cc][1].getDevInfo(id,grade);printf(" %d %d ",id, grade);
         
       }*/
+      // init parts
+      for (u8 cc= conls; cc < conle ; cc++) {
+          if( testDAC) { dac[cc].init1();
+        }
+      }
+      
       u32 count =0;
       while(1)   {
         for (u8 cc= conls; cc < conle ; cc++) {
-        u16 rb,rb2;      
-        adc[cc][0].getDevId(id);
-        adc[cc][0].getGrade(grade);
-        //adc[cc][0].getDevInfo(id,grade,rb);
-        printf("id %02X grade %02X",id, grade );
-        printf("\n\r");
-        adc[cc][0].setPattern1(0x1235);
-        adc[cc][0].setPattern2(0xA5FF);
-        adc[cc][0].readPattern1(rb);       
-        adc[cc][0].readPattern2(rb2);
-        printf("pattern1 %04X  pattern2 %04X",rb,rb2);
-        printf("\n\r");
-       // dac[cc].set_volt(count%32,count%163834);
-       }
-        wait(.5);count++;
-        
+            u16 rb,rb2; 
+            if( testADC) {     
+                adc[cc][0].getDevId(id);
+                adc[cc][0].getGrade(grade);
+                //adc[cc][0].getDevInfo(id,grade,rb);
+                printf("id %02X grade %02X",id, grade );
+                printf("\n\r");
+                adc[cc][0].setPattern1(0x1235);
+                adc[cc][0].setPattern2(0xA5FF);
+                adc[cc][0].readPattern1(rb);       
+                adc[cc][0].readPattern2(rb2);
+                printf("pattern1 %04X  pattern2 %04X",rb,rb2);
+                printf("\n\r");
+             }
+            if( testDAC ) {   
+                u16 dataread,dr2;
+                u8 ch =  count%32;
+                float value=2.742; // count%16383;
+                u16 gain=(count)%16383;//0x1235; 
+               //dataread=dac[cc].set_volt(ch,value);
+                dr2=dac[cc].set_dac(ch,gain);
+                wait(0.001);
+                dataread=dac[cc].get_dac(ch);
+                printf("ch %02X offset set to %04X ",ch,dr2);  
+                printf("readback %04X",dataread);
+                dataread=dac[cc].get_ctrl(); 
+                printf(" cntrl %04X\n\r",dataread);
+            }
+            if( testTEMP) {
+                u16 dataread ;
+                u8 id;
+                id=temp[cc][0].getId();
+                dataread=temp[cc][0].get_TcritSP();
+                printf( "temp chip ID %02X , Tcrit %04X \n\r", id, dataread);
+            }
+        }
+        wait(.25);count++;
         /*
-        DEBUGPF("spi2\n\r");
-        spi.format(8, 0);
-        spi.frequency(10000000);
-        cs.write(0);
-        spi.write(0x9f);
-        jedecid = (spi.write(0) << 16) | (spi.write(0) << 8) | spi.write(0);
-        cs.write(1);      
-        printf( "Jedec %d /n/r", jedecid);
+        flash.write(0,&c,1);
         
-        DEBUGPF("spi3\n\r");      
-        spi_adc.format(8,0);
-        spi_adc.frequency(10000000);
-        cs_adc.write(0);
-        spi_adc.write(0x9f);
-        jedecid = (spi_adc.write(0) << 16) | (spi_adc.write(0) << 8) | spi_adc.write(0);
-        cs_adc.write(1);
-        char c=0x12;
-        flash.write(0,&c,1);
-        DEBUGPF("dacset");
-        (void) dac.set_dac(4,2.21);  
         humi=ain1.read();
         printf("humid %f \n ",humi);   
         */