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
src/main.cpp
- Committer:
- mfwic
- Date:
- 2018-12-05
- Revision:
- 7:860b3a8275cb
- Parent:
- 6:39442d493098
- Child:
- 8:d3d7dca419b3
File content as of revision 7:860b3a8275cb:
//------------------------------------------------------------------------------- // // Treehouse Designs Inc. // Colorado Springs, Colorado // // Copyright (c) 2016 by Treehouse Designs Inc. // Copyright (c) 2018 by Agility Power Systems Inc. // // This code is the property of Treehouse Designs, Inc. (Treehouse) and // Agility Power Systems Inc. (Agility) and may not be redistributed // in any form without prior written permission from // both copyright holders, Treehouse and Agility. // // The above copyright notice and this permission notice shall be included in // all copies or substantial portions of the Software. // // //------------------------------------------------------------------------------- // // REVISION HISTORY: // // $Author: $ // $Rev: $ // $Date: $ // $URL: $ // //------------------------------------------------------------------------------- #include "mbed.h" #include "globals.h" #include "parameters.h" #include "all_io.h" #include "stdio.h" #include "stdlib.h" #include "serial.h" #include "adc.h" #include "menu.h" #include "boards.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[6]; unsigned int en_out_code; unsigned int thermCode[17]; unsigned int wr_out_code; unsigned int commandData; unsigned short my12=0; unsigned int updateRefreshTicks=0; volatile bool updateReady = FALSE; unsigned int loopTime = 0; Timer masterTimer; int main() { //int stopExecuted = 0; myled = 0; extchlat = OFF; wr_out_code = setBoardEnables(ALLOFF); 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(); sprintf(strbuf, "\r\nAgility Power Systems DCM1 Rev 0.35"); sendSerial(strbuf); //sendCRLF(); menuPrompt(MENU_DCM1); initDRT(); // Display Refresh Timer initADC(); getADCvolts(); getADCamps(); menuRedraw(); masterTimer.start(); while (1) { processCommand(); getADCvolts(); getADCamps(); if(updateReady){ updateReady = FALSE; updateTerminal(); // May want to gate this call when we run a headless system. //loopTime = masterTimer.read_ms();// - loopTime; myled = !myled; } if(running){ //updateControls(); updateControls(i12); }else{ //wr_out_code = setBoardEnables(ALLOFF); //setBoardEnables((unsigned int *)alloff); 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; } */ } }