Important changes to repositories hosted on mbed.com
Mbed hosted mercurial repositories are deprecated and are due to be permanently deleted in July 2026.
To keep a copy of this software download the repository Zip archive or clone locally using Mercurial.
It is also possible to export all your personal repositories from the account settings page.
Dependencies: mbed
Diff: src/main.cpp
- Revision:
- 52:2b3b194144da
- Parent:
- 49:65c714a5def2
- Child:
- 53:004a9674e922
--- a/src/main.cpp Wed Mar 13 19:10:40 2019 +0000 +++ b/src/main.cpp Thu Mar 14 00:21:35 2019 +0000 @@ -40,7 +40,10 @@ #include "boards.h" #include "command.h" #include "clocks.h" +#include "th_rtz.h" +#define IS_MASTER +//#define IS_SLAVE //DigitalOut myled(LED1); Ticker slowClk; @@ -48,6 +51,7 @@ unsigned short my12=0; volatile bool updateReady = FALSE; +volatile bool pulseReady = FALSE; unsigned int loopTime = 0; bool raw = FALSE; bool running = FALSE; @@ -55,6 +59,8 @@ bool buck = TRUE; bool pcConnected = FALSE; //New for 1U5 bool master = FALSE; //New for 1U5 +bool slave1 = FALSE; //New for 1U5 +bool slave2 = FALSE; //New for 1U5 unsigned int max_rows = 2048; unsigned int bCodeRow[13]; @@ -62,12 +68,13 @@ unsigned short row = 0; short row_test = 0; unsigned short slave_code = 0; +unsigned short new_slave_code = 0; double CURRENT_48_OFFSET = 33940; double CURRENT_24_OFFSET = 33580; double CURRENT_12_OFFSET = 33256; - +unsigned int temperatureVal; //void fastFlip(unsigned short numFast){ // if(numFast >= 1){ec0 = ~ec0;} @@ -89,11 +96,22 @@ int main() { if(MS){ //New for 1U5 - master = TRUE; + #ifdef IS_MASTER + master = TRUE; + #endif + #ifdef IS_SLAVE + slave1 = TRUE; + slave2 = FALSE; + #endif }else{ - master = FALSE; + #ifdef IS_SLAVE + slave1 = FALSE; + slave2 = TRUE; + #endif } + Slave_Init(); + initOut(); slowClk.attach(&slowFlip, 2.5); @@ -129,7 +147,12 @@ while (1) { + #ifdef IS_MASTER + adcVals = getADCresults(); + + temperatureVal = getTEMPERATUREresults(); + setFan(temperatureVal); dispVals = calcDisplayValues(adcVals); @@ -137,8 +160,6 @@ processCommand(); - checkFlip(); - // Select RUN from menu to activate running mode. // BRDS, MULT activate testing mode. MY12 emulates running mode wthout being in running mode. // CAL and UNCAL do not change state of running or testing. @@ -150,6 +171,15 @@ buck = FALSE; } row_test = abs((int)(row-old_row)); + + if(updateReady && pcConnected){ + updateReady = FALSE; + updateTerminal(adcVals, statVals); // May want to gate this call when we run a headless system. + + } + #endif + + checkFlip(); if(running && master){ //New for 1U5 //The current sensors results are single-ended. Results below the midpoint are for buck mode, above is for boost mode. if(row_test>ROW_HYSTERESIS){ @@ -160,8 +190,11 @@ } } else if(running && !master){ //New for 1U5 - slave_code = getMasterCommands(); //New for 1U5 - updateSlaveControls(slave_code); //New for 1U5 + new_slave_code = getMasterCommands(); //New for 1U5 + if(new_slave_code != slave_code){ + slave_code = new_slave_code; + updateSlaveControls(slave_code); //New for 1U5 + } } }else if(!testing){ row_test = abs((int)(my12-old_row)); @@ -172,11 +205,5 @@ } } } - - if(updateReady && pcConnected){ - updateReady = FALSE; - updateTerminal(adcVals, statVals); // May want to gate this call when we run a headless system. - - } }//end while(1) }//end void main(void) \ No newline at end of file