Dependents:   InjectorValveFourthMicro InjectorValveFourthMicro1 InjectorValveFourthMicro2 ReadingInLines_copy

Fork of PWM-Coil-driver by David Wahl

Revision:
1:cdb7aba111ce
Parent:
0:eb16d6847d9e
Child:
2:6df05ae10a1a
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/coil-driver.cpp	Fri Jun 02 17:23:13 2017 +0000
@@ -0,0 +1,25 @@
+#include "valve-driver.h"
+
+// Default constructor
+Valve::Valve(PinName _controlPin, uint16_t _spikeus, uint16_t _holdperiod_us, uint16_t _holdpulse_us)
+    :   controlOut(_controlPin),
+        spikeus(_spikeus),
+        holdperiod_us(_holdperiod_us),
+        holdpulse_us(_holdpulse_us)
+{
+    controlOut.write(0.0); // Ensure valve output is off by default
+    controlOut.period_us(holdperiod_us); // PWM control period (uint16_t microseconds)
+
+};
+
+void Valve::on()
+{
+    controlOut.write(1.0);
+    wait_us(spikeus);
+    controlOut.pulsewidth_us(holdpulse_us);
+}
+
+void Valve::off()
+{
+    controlOut.write(0.0);
+}
\ No newline at end of file