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:
- 11:01dcfb29fbc4
- Parent:
- 10:6c3233b03658
- Child:
- 12:fd1fd1857628
--- a/src/main.cpp Fri Dec 07 17:39:01 2018 +0000 +++ b/src/main.cpp Fri Dec 07 20:42:41 2018 +0000 @@ -38,66 +38,49 @@ #include "boards.h" #include "command.h" -unsigned int boardsActive; -unsigned int boardMults; -unsigned short v48, v24, v12; // Voltage divide ratio is a little low due to substituting 10k resistors in place of the 100k. The 100k caused the opamps to oscillate. -unsigned short i48, i24, i12; -unsigned int binCode[WEIGHT_BIN_WIDTH+1]; -unsigned int thermCode[BOARDS_THERMCODE_WIDTH+1]; unsigned int en_out_code; unsigned int wr_out_code; -unsigned int commandData; unsigned short my12=0; -unsigned int updateRefreshTicks=0; volatile bool updateReady = FALSE; unsigned int loopTime = 0; bool raw = FALSE; +bool running = FALSE; Timer masterTimer; int main() { - //int stopExecuted = 0; myled = 0; extchlat = OFF; wr_out_code = setBoardEnables(ALLOFF); + en_out_code = setBoardWeights(ALLOFF); // RK: Maybe? Use hex value for boardWeights to highlight that it's an encoded value. running = FALSE; - //setBoardEnables((unsigned int *)alloff); - en_out_code = setBoardWeights(ALLOFF); // RK: Maybe? Use hex value for boardWeights to highlight that it's an encoded value. - + initSerial(); - - //sendCRLF(); - //menuPrompt(MENU_DCM1); initDRT(); // Display Refresh Timer initADC(); - //getADCvolts(); - //getADCamps(); - getADCresults(); + + struct adcValues avals = getADCresults(); splash_screen(); sprintf(strbuf, "\r\nPress Enter to continue"); sendSerial(strbuf); - while(waitCommand()){ + while(waitCommand()){ // Wait for user to press Enter } menuRedraw(WITH_PROMPT); - - //masterTimer.start(); - //int count=0; + while (1) { processCommand(); - - //getADCvolts(); - //getADCamps(); - getADCresults(); + + avals = getADCresults(); if(updateReady){ updateReady = FALSE; - updateTerminal(); // May want to gate this call when we run a headless system. + updateTerminal(avals); // May want to gate this call when we run a headless system. //loopTime = masterTimer.read_ms();// - loopTime; myled = !myled; //sprintf(strbuf, "\r\nupdateControls ran %d times.\r\n", count); @@ -106,40 +89,11 @@ } if(running){ - updateControls(i12); + updateControls(avals.i12); //count++; }else{ updateControls(my12); } - - //myled = 1; - //wait(1.0); - //myled = 0; - //wait(1.0); - - /*if (hv_cmptr1 == 1 && hv_cmptr2 == 1 && (hv_en == ON)) - { - led_hv = ON; - } - else - { - led_hv = OFF; - }*/ - - /* Emergency Off Switch code - if ((stop_switch == 0) && (stopExecuted == 0)) - { - resetOutput(); - setBoardEnables(ALLOFF); - hv_en = OFF; - stopExecuted = 1; - } - - if (stop_switch == 1) - { - stopExecuted = 0; - } - */ - } -} + }//end while(1) +}//end void main(void)