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/menu.cpp
- Revision:
- 11:01dcfb29fbc4
- Parent:
- 9:816b9a4e4f21
- Child:
- 12:fd1fd1857628
--- a/src/menu.cpp Fri Dec 07 17:39:01 2018 +0000
+++ b/src/menu.cpp Fri Dec 07 20:42:41 2018 +0000
@@ -26,6 +26,7 @@
#include "globals.h"
#include "serial.h"
#include "menu.h"
+#include "adc.h"
#include "Ticker.h"
Ticker drt;
@@ -52,37 +53,17 @@
/*******************************************************************************
refreshData - Refresh voltage and current readings to the terminal
*******************************************************************************/
-void refreshData(void){
+void refreshData(struct adcValues avals){
//loopTime = masterTimer.read_ms() - oldTime;
//oldTime = masterTimer.read_ms();
- double v48f = 0.0;
- double v24f = 0.0;
- double v12f = 0.0;
- double i48f = 0.0;
- double i24f = 0.0;
- double i12f = 0.0;
+ struct displayValues dvals = calcDisplayValues(avals);
- if(!raw){
- v48f = VOLTAGE_48_FACTOR*v48;
- v24f = VOLTAGE_24_FACTOR*v24;
- v12f = VOLTAGE_12_FACTOR*v12;
- i48f = (i48-CURRENT_48_OFFSET)/CURRENT_48_DIV_FACTOR;
- i24f = (i24-CURRENT_24_OFFSET)/CURRENT_24_DIV_FACTOR;
- i12f = (i12-CURRENT_12_OFFSET)/CURRENT_12_DIV_FACTOR;
- }else{
- v48f = 1.0*v48;
- v24f = 1.0*v24;
- v12f = 1.0*v12;
- i48f = 1.0*i48;
- i24f = 1.0*i24;
- i12f = 1.0*i12;
- }
- double pwr_out=v12f*i12f;
- double pwr_in=v48f*(i48f-CURRENT_CONTROL_OFFSET);
+ double pwr_out=dvals.v12f*dvals.i12f;
+ double pwr_in=dvals.v48f*(dvals.i48f-CURRENT_CONTROL_OFFSET);
double pwr_eff=100*pwr_out/pwr_in;
- sprintf(strbuf, "V48=%2.1f, I48=%3.1f | V24=%2.1f, I24=%3.1f | V12=%2.1f, I12=%3.1f \r\n", v48f, i48f, v24f, i24f, v12f, i12f);
+ sprintf(strbuf, "V48=%2.1f, I48=%3.1f | V24=%2.1f, I24=%3.1f | V12=%2.1f, I12=%3.1f \r\n", dvals.v48f, dvals.i48f, dvals.v24f, dvals.i24f, dvals.v12f, dvals.i12f);
//sprintf(strbuf, "V48=%2.1f, I48=%2.2f | V24=%2.1f, I24=%2.2f | V12=%2.1f, I12=%2.2f || loop=%d \r\n", v48f, i48f, v24f, i24f, v12f, i12f, loopTime);
sendSerial(strbuf);
sprintf(strbuf, "Power Out = %4.1f W, Power In = %4.1f W \r\n", pwr_out, pwr_in);
@@ -93,7 +74,6 @@
sendSerial(strbuf);
sprintf( strbuf, "%c[30m", 27 ); // ESC=27, White Text
sendSerial(strbuf);
- //sprintf(strbuf, "thermCode=%d, binCode=%d", thermCode[17], binCode[6]);
sprintf(strbuf, "wr_out_code=%d, en_out_code=%d ", wr_out_code, en_out_code);
sendSerial(strbuf);
}
@@ -101,7 +81,7 @@
/*******************************************************************************
updateTerminal - Save cursor, write data, restore cursor.
*******************************************************************************/
-void updateTerminal(void){
+void updateTerminal(struct adcValues avals){
//get cursor pos, store in CUR_POS
sprintf( strbuf, "%c7", 27 ); // ESC=27, Save cursor position = [s
sendSerial(strbuf);
@@ -109,7 +89,7 @@
sprintf( strbuf, "%c[3;0f", 27 ); // ESC=27, Move cursor position = [line;columnf
sendSerial(strbuf);
//write data
- refreshData();
+ refreshData(avals);
//move cursor to CUR_POS
sprintf( strbuf, "%c8", 27 ); // ESC=27, Save cursor position = [s
sendSerial(strbuf);
@@ -144,7 +124,8 @@
sprintf( strbuf, "%c[30m", 27 ); // ESC=27, White Text
sendSerial(strbuf);
- refreshData();
+ struct adcValues avals = getADCresults();
+ refreshData(avals);
sprintf(strbuf, "\r\n MULT");
sendSerial(strbuf);
@@ -173,14 +154,6 @@
switch(menuType)
{
case MENU_DCM1: strcpy(strMenu,"DCM1"); break;
- //case MENU_DIFFERENTIAL: strcpy(strMenu,"DIFF"); break;
- //case MENU_SINGLE: strcpy(strMenu,"SINGLE"); break;
- //case MENU_DUAL: strcpy(strMenu,"DUAL"); break;
- //case MENU_INVERT: strcpy(strMenu,"INVERT"); break;
- //case MENU_SETTINGS: strcpy(strMenu,"SET"); break;
- //case MENU_SETTINGS_CHAN1: strcpy(strMenu,"SET CHAN1"); break;
- //case MENU_SETTINGS_CHAN2: strcpy(strMenu,"SET CHAN2"); break;
- //case MENU_SETTINGS_CLOCK: strcpy(strMenu,"SET CLOCK"); break;
case MENU_CALIBRATE: strcpy(strMenu,"CAL"); break;
case MENU_TEST: strcpy(strMenu,"TEST"); break;
case MENU_MAIN: strcpy(strMenu,"MAIN"); break;