Dependencies: KellerDruck_pressure PID PWM-Coil-driver Sensirion_SF04 VL6180
Fork of PUMP_SCRIPT1 by
Diff: main.cpp
- Revision:
- 7:b385e6a3f622
- Parent:
- 5:f2cb21046678
- Child:
- 8:bf86306ce7bf
diff -r f2cb21046678 -r b385e6a3f622 main.cpp --- a/main.cpp Wed Aug 02 21:08:10 2017 +0000 +++ b/main.cpp Thu Aug 03 19:07:43 2017 +0000 @@ -34,13 +34,14 @@ //----------------------------- void pumpTachTrigger() { + pumpTachCounts++; } void pump_tach_update() { float i = pumpTachCounts; // In case it triggers mid-calculation - pumpTachCounts = 0; + pumpTachCounts=0; pumpRpm = (i/pumpTachPoles)*60; } @@ -48,10 +49,12 @@ { pump.period(.001); // 1kHz PWM pump = 0; + + //ledGrn.period(.001); - InterruptIn pumpTach(pumpTachPin); - pumpTach.rise(&pumpTachTrigger); + + pump_control_PID.setInputLimits(pumpMinPSI, pumpMaxPSI); pump_control_PID.setOutputLimits(0.0, 1.0); // Output is a PWM signal ranging from 0-1 @@ -134,8 +137,8 @@ stdio_m.lock(); timer.reset(); - pc.printf(" %.02fprespsi %.01fsetpsi% .02fHz %.02f\r\n", - pumpPressure.pressurePSI, ((double)pot2-.002)*pumpMaxPSI, + pc.printf(" %.02fprespsi %.01fsetpsi %.0fRPM %.02fHz %.02f\r\n", + pumpPressure.pressurePSI, ((double)pot2-.002)*pumpMaxPSI, pumpRpm, frequency, dutycycle);//, agentlevel; int wait = (1000 - timer.read_ms()); @@ -148,13 +151,16 @@ int main() { pump_init(); + pump_tach_update(); //ledBlu = 1; pc.printf("Serenity Starting up...\n\r"); //-------------------------------------------- dutycycleup.rise(&dutycycleincrease); dutycycledown.rise(&dutycycledecrease); frequencyup.rise(&frequencyincrease); -frequencydown.rise(&frequencydecrease); +frequencydown.rise(&frequencydecrease); +pumpTach.rise(&pumpTachTrigger); +pump_tach_ticker.attach(&pump_tach_update, 1.0); //Thread to execute injector valve control Injector_Valve_Control.set_priority(osPriorityHigh); @@ -176,10 +182,12 @@ // Thread to send process values to serial port print_process_values_t.set_priority(osPriorityLow); print_process_values_t.start(&print_process_values); + + - while (true) { - pump_tach_update(); + + - } + }