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-12
- Revision:
- 16:5791665200cb
- Parent:
- 15:aed8f326c949
- Child:
- 17:454afe56eedb
File content as of revision 16:5791665200cb:
//------------------------------------------------------------------------------- // // 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 "adc_defs.h" #include "menu.h" #include "boards.h" #include "command.h" unsigned int en_out_code; unsigned int wr_out_code; unsigned short my12=0; volatile bool updateReady = FALSE; unsigned int loopTime = 0; bool raw = FALSE; bool running = FALSE; bool testing = FALSE; bool buck = TRUE; Timer masterTimer; int main() { 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; initSerial(); initDRT(); // Display Refresh Timer initADC(); struct adcValues adcVals = getADCresults(); struct statusValues statVals = checkLevels(adcVals); menu_banner(); //initBoards(adcVals); sprintf(strbuf, "\r\nPress Enter to continue"); sendSerial(strbuf); while(waitCommand()){ // Wait for user to press Enter } menuRedraw(WITH_PROMPT); while (1) { adcVals = getADCresults(); statVals = checkLevels(adcVals); processCommand(); // 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. if(running){ //The current sensors results are single-ended. Results below the midpoint are for buck mode, above is for boost mode. if(adcVals.i12 < CURRENT_12_OFFSET){ updateControls(adcVals.i12); buck = TRUE; }else{ updateControls(adcVals.i12-CURRENT_12_OFFSET); buck = FALSE; } //count++; }else if(!testing){ updateControls(my12); } if(updateReady){ updateReady = FALSE; updateTerminal(adcVals, statVals); // 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); //sendSerial(strbuf); //count=0; } }//end while(1) }//end void main(void)