firmware for the SOLID Slow Control Module for SM1
Dependencies: S_SCTRL_SMlib adc_ad9249 mbed sscm_comm AD5384 SWSPI T_adt7320
Diff: main.cpp
- Revision:
- 7:5f8abd383a7d
- Parent:
- 6:3a92f9f93d80
- Child:
- 8:03f20aed4214
diff -r 3a92f9f93d80 -r 5f8abd383a7d main.cpp --- a/main.cpp Thu Oct 23 17:42:54 2014 +0000 +++ b/main.cpp Wed Nov 19 23:18:18 2014 +0000 @@ -22,9 +22,10 @@ * v 1.65 added heartbeat on / off, added set cal level * v 1.66 implemented real temperature readout * v 1.70 implemented set_volt and get_volt commands + * v 1.72 implemented setbias , get bias volt */ -#define VERSION "1.71" +#define VERSION "1.72" #include "SWSPI_BI.h" @@ -163,6 +164,17 @@ // set output register bias channel if (!strcmp( cmd.cmd, "sbid")) { cmd.ch=DACBIASCH;dac[cmd.con-1][cmd.devnr-1].set_dac(cmd.ch-1,cmd.datain);cmd.dataout=cmd.datain;cmd.status=0;goto DACENDCMD;} if (!strcmp( cmd.cmd, "gbid")) {cmd.ch=DACBIASCH;do16=dac[cmd.con-1][cmd.devnr-1].get_dac(cmd.ch-1);cmd.dataout=do16;cmd.status=0;goto DACENDCMD;} + if (!strcmp( cmd.cmd, "sbia")) { + float biasvolt= u162float( cmd.dataout , cmd.datain); biasvolt=Bias2Dac(biasvolt); + cmd.ch=DACBIASCH; + dac[cmd.con-1][cmd.devnr-1].set_volt(cmd.ch-1,biasvolt);cmd.dataout=cmd.datain;cmd.status=0;goto DACENDCMD; + } + if (!strcmp( cmd.cmd, "gbia")) { + cmd.ch=DACBIASCH; + float volt=dac[cmd.con-1][cmd.devnr-1].get_volt(cmd.ch-1); + float2_2u16( volt , cmd.dataout , cmd.datain); + cmd.status=0;goto DACENDCMD; + } // set CAL level values if (!strcmp( cmd.cmd, "scll")) { if( cmd.ch !=0) { stch=cmd.ch+DACCAL1CH-1; endch=cmd.ch+DACCAL1CH; } else { stch=DACCAL1CH; endch=DACCAL1CH+4;};