pressures
Dependencies: KellerDruck_pressure PID PWM-Coil-driver Sensirion_SF04 VL6180
Fork of HSPFLOW by
Diff: main.h
- Revision:
- 5:8e47d5323647
- Parent:
- 4:79b23d1fbcd1
- Child:
- 7:fb77fbe65357
--- a/main.h Wed Jul 26 14:03:10 2017 +0000 +++ b/main.h Tue Aug 01 14:48:01 2017 +0000 @@ -7,33 +7,22 @@ #include "PID.h" #include "coil-driver.h" #include "VL6180.h" -/*Start of Where Additional Code was Added ---------------------------------------------------------------------------------------------------*/ -//Coil shutoff(A1, 5000, 40, 6); // Shutoff valve, 5ms spike time, 25kHz PWM at 15% duty cycle -Coil injector(A0, 200, 40, 3); // Injector valve, 200us spike time, 25kHz PWM at 7.5% duty cycle -InterruptIn dutycycleup(A2); -InterruptIn dutycycledown(D4); -InterruptIn frequencyup(A5); -InterruptIn frequencydown(A4); +//Timer From Start of the Script +Timer t1; +float t; -Thread Injector_Valve_Control; - -double frequency=5.00; -double dutycycle=0.75; -float openvalue=(((1/frequency)*dutycycle)); -float offvalue=(1/frequency)-openvalue; - -/* ---------------------------------------------------------------------------------------------------*/ - +//High Speed Pressure +AnalogIn analog_value(A3); +Thread HighSpeedPressure; +float High_Speed_Pressure=0.00; // Mbed application shield display #include "C12832A1Z.h" #include "Small_7.h" #include "Fonts/ArialR12x14.h" -C12832A1Z lcd(D11, D13, D12, D7, D10); // MOSI, SCK, Reset, A0, CS +//C12832A1Z lcd(D11, D13, D12, D7, D10); // MOSI, SCK, Reset, A0, CS // LCD width and height (minus 1) #define lcdWidth 127 #define lcdHeight 31 @@ -45,8 +34,8 @@ //#define pumpHystPSI 2 // Gas flow sensor defines -#define SFM7033_ADDR 0x40 -#define SFM7034_ADDR 0x40 +#define MAINFLOW_ADDR 0x40 +#define LOOPFLOW_ADDR 0x40 // End gas flow sensor defines // Liquid pump defines @@ -55,17 +44,15 @@ float pumpKp = 4.0; float pumpKi = 1.0; #define pumpKd 0 - #define pumpPwmFrequency 1000 // Frequency of PWM signal supplied to pump #define pumpTachPoles 6 // 6 pulses per revolution -#define pumpTachPin PB_15 // Pump tach input (green wire) +#define pumpTachPin PA_10 // Pump tach input (green wire) #define pumpCtrlPin PB_13 // Pump control (white wire) // End Liquid pump defines -Thread print_process_values_t, update_pressures_t, update_flow1_t, update_flow2_t, update_level_t, update_lcd_t, update_shutoff_t; +Thread print_process_values_t, update_pressures_t, update_flow1_t, update_flow2_t, update_shutoff_t; Mutex i2c1_m, i2c2_m, i2c3_m, stdio_m; -//DigitalOut myled(LED2); Serial pc(USBTX, USBRX, 250000); // tx, rx, baud // an I2C sub-class that provides a constructed default @@ -78,34 +65,16 @@ }; //I2CPreInit gI2C1(I2C_SDA, I2C_SCL, I2C frequency); -I2CPreInit i2c1(PB_9, PB_8, 100000); -I2CPreInit i2c2(PB_3, PB_10, 100000); -I2CPreInit i2c3(PB_4, PA_8, 100000); - -KELLER_PRESSURE pumpPressure(i2c1, 0x40); +I2CPreInit i2c1(PB_3, PB_10, 100000); // Sensirion gas flow sensor object (i2c object, i2c address, calibration field, resolution 9-16 bit) -// calibration field 1: Air, 2: O2, 3: N2O -SF04 mainflow(i2c2, SFM7033_ADDR, 0, 9); // Gas flow sensor (SFM7033) -SF04 loopflow(i2c3, SFM7034_ADDR, 0, 9); +SF04 mainflow(i2c1, MAINFLOW_ADDR, 0, 16); // Mbed application shield -//AnalogIn pot1(A0); AnalogIn pot2(A1); - PwmOut pump(pumpCtrlPin); -//pump.period(.001); PID pump_control_PID(pumpKp, pumpKi, pumpKd, pumpPIDRate); -//InterruptIn pumpTach(pumpTachPin); -volatile int pumpTachCounts = 0; -volatile float pumpRpm = 0; - -//PwmOut ledRed(PE_11); -//PwmOut ledGrn(PD_15); -//DigitalOut ledBlu(PF_12); - -// Level sensor -//VL6180 level(i2c1); //I2C object -//float agentlevel = 0; +VL6180 level(i2c1); //I2C object +float agentlevel = 0; #endif \ No newline at end of file