Working on rewriting how we acquire data from LTC chip and sending all temp data over serial for python logging
Fork of TCTF_Control_Main by
Diff: main.cpp
- Revision:
- 4:168a446bd0da
- Parent:
- 3:0c9476da0cad
- Child:
- 5:0f38a0bd4f86
--- a/main.cpp Thu Feb 08 23:13:35 2018 +0000 +++ b/main.cpp Tue Feb 13 20:30:59 2018 +0000 @@ -1,5 +1,4 @@ -// MBED SCRIPT FOR CONTROLLING THE TEMPERATURE CONTROLLED TEST FIXTURE -// AUTHOR: JUSTIN RODENBURG +// MBED SCRIPT FOR CONTROLLING THE TEMPERATURE CONTROLLED TEST FIXTURE (TCTF) // DATE: SEPTEMBER 2017 #include "mbed.h" @@ -9,7 +8,8 @@ #include <string> //DEFINITIVE VARIABLES -#define DEBUG 1 +#define DEBUG 0 +#define DEBUG1 1 #define CHN_COUNT 48 #define MIN_TEMP 15 #define MAX_TEMP 60 @@ -33,7 +33,7 @@ float setTemp; }; -CHNL_DATA channelLUT[] = { +CHNL_DATA chnlStatus[] = { {0, NULL}, {0, NULL}, {0, NULL}, @@ -198,10 +198,6 @@ LTC2487 ltc2487(PTC11, PTC10, 0x23, 100000); //sda, scl //GLOBAL VARIABLES -//channel status variables: init. to off and 0 degrees -float chTemps[CHN_COUNT] = {}; -float chGoalTemps[CHN_COUNT] = {}; -int chStatus[CHN_COUNT] = {}; volatile bool dataRecieved = false; //used to check if data has been recieved char rxBuf[50]; int chnlSel; @@ -251,12 +247,12 @@ } } else if(pCount == 2){ //get channel temperature - channelLUT[chnl].setTemp = atoi(data.c_str()); - if(DEBUG) pc.printf("CHANNEL TEMP: %f \r\n", channelLUT[chnl].setTemp); + chnlStatus[chnl].setTemp = atoi(data.c_str()); + if(DEBUG) pc.printf("CHANNEL TEMP: %f \r\n", chnlStatus[chnl].setTemp); } else if(pCount == 3){ //get channel status - channelLUT[chnl].status = atoi(data.c_str()); - if(DEBUG) pc.printf("CHANNEL STATUS: %f \r\n", channelLUT[chnl].status); + chnlStatus[chnl].status = atoi(data.c_str()); + if(DEBUG) pc.printf("CHANNEL STATUS: %f \r\n", chnlStatus[chnl].status); } data = ""; } @@ -295,6 +291,9 @@ if(DEBUG) pc.printf("ADC VAL: %f TEMP: %f \r\n", ADC_val, y); + //if(chn == chnlSel) + pc.printf("%f \r\n", y); + return y; } @@ -419,14 +418,24 @@ */ void test_ltc2487(int chn){ - if(DEBUG) pc.printf("TEMPERATURE READING: %f \r\n", get_temp(1)); + get_temp(chn); + //if(DEBUG1) pc.printf("TEMPERATURE READING: %f \r\n", get_temp(chn)); } int main() { + pc.baud(9600); + pc.autoDetectChar('E'); + pc.attach(&rxInterrupt, MODSERIAL::RxAutoDetect); + myled = 1; + /* + //test_mcp23008(1); + while(1){ + test_ltc2487(1); + }*/ while(1) { if(DEBUG) pc.printf("THE PROGRAM STARTED \r\n"); @@ -444,14 +453,14 @@ float currentTemp = get_temp(chnl); //CONTROL LOOP: - if(chStatus[chnl] == 1){ - if(chTemps[chnl] > ((chGoalTemps[chnl])+HYST)){ + if(chnlStatus[chnl].status == 1){ + if(currentTemp > ((chnlStatus[chnl].setTemp)+HYST)){ //Turn chiller on turn_valve_on(chnl); //Turn heater off turn_heater_off(chnl); } - else if (chTemps[chnl] < ((chGoalTemps[chnl])-HYST)){ + else if (currentTemp < ((chnlStatus[chnl].setTemp)-HYST)){ //Turn chiller off turn_valve_off(chnl); //Turn heater on