LEX_Threaded_Programming

Dependencies:   Heater_V2 MODSERIAL Nanopb FastPWM ADS8568_ADC

Revision:
11:7394f281e845
Parent:
10:f8202e71e765
Child:
12:cadcea541fbf
--- a/main.cpp	Tue Sep 17 15:55:26 2019 +0000
+++ b/main.cpp	Tue Sep 17 16:57:36 2019 +0000
@@ -26,13 +26,15 @@
 
 //Pressure Control
 DigitalOut pump(PA_0);
-float pres_in = 0.0;
-float pres_out = 0.0;
+//AnalogIn pressure_1(PA_3);
+//AnalogIn pressure_2(PA_5);
+float pressure_in = 0.0;
+float pressure_out = 0.0;
 
-//int pressure_setpoint = 2540;
-//int pressure_hysteresis = 48;
-//int pressure_setpoint_low = pressure_setpoint - pressure_hysteresis/2;
-//int pressure_setpoint_high = pressure_setpoint + pressure_hysteresis/2;
+float pressure_set = 0.5;
+float pressure_hys = 0.005;
+float pressure_set_low = pressure_set - pressure_hys/2;
+float pressure_set_high = pressure_set + pressure_hys/2;
 
 //Heater Control
 FastPWM drive_main(PC_9);
@@ -51,7 +53,6 @@
 
 //Illumination LED Control
 
-
 //Indicator LEDs
 DigitalOut hb_led(PC_13);       //Green
 DigitalOut led_0(PC_4);         //Red
@@ -161,13 +162,15 @@
 
 void pressure_control()
 {
-//    if (pressure < pressure_setpoint_low) {
+    //Read pressure values from ADC
+    //Float 0.0 to 1.0 maps to 0 to Vcc
+//    pressure_in = pressure_1.read();
+//    pressure_out = pressure_2.read();
+//    if (pressure_1 < pressure_set_low) {
 //        pump = 1;
-//        valve_pres = 1;
 //        }
-//    else if (pressure > pressure_setpoint_high) {
+//    else if (pressure_1 > pressure_set_high) {
 //        pump = 0;
-//        valve_pres = 0;
 //        }
     led_1 = !led_1;
     pump = !pump;
@@ -191,7 +194,7 @@
     while(1){
         flags.wait_any(0x2,osWaitForever,true);
         //Output time, R_ref, R, error, error_integrated
-        pc.printf("%10d,%10d,%10.6f,%10.6f,%10.6f,%10.6f\n", heater_ID, timer.read_ms(), heater->Get_R(), heater->Get_R_ref(), pres_in, pres_out);
+        pc.printf("%10d,%10d,%10.6f,%10.6f,%10.6f,%10.6f\n", heater_ID, timer.read_ms(), heater->Get_R(), heater->Get_R_ref(), pressure_in, pressure_out);
     }
 }
 
@@ -285,7 +288,7 @@
     log_tick.attach_us(& log_trigger,exp_config.logging_interval_ms * 1000);
 
     pc.printf("# Starting routine...\n");
-    pc.printf("#   heater,  time(ms),         r,      rSet,   pres_in,  pres_out\n");
+    pc.printf("#   heater,  time(ms),         r,      rSet,       pIn,      pOut\n");
     timer.start();
     set_point_routine(profile);