![](/media/cache/img/default_profile.jpg.50x50_q85.jpg)
test program to test / develop the SOLID slow control
Dependencies: AD5384 SWSPI S25FL216K S_SCTRL_SMlib T_adt7320 adc_ad9249 sscm_comm mbed
Diff: main.cpp
- Revision:
- 2:51bbbc3fc8c2
- Parent:
- 0:35e1c447c9e8
- Child:
- 3:8b181fe62a39
--- 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); */