Drain batteries through an LM324 controlled CEB6030L from a defunct graphics card

Dependencies:   mbed FastAnalogIn PID mbed-rtos

Revision:
1:712b9b5470d4
Parent:
0:e7492a4f4b2f
Child:
2:e7ce63ada1d2
--- a/main.cpp	Tue Jul 05 08:39:20 2016 +0000
+++ b/main.cpp	Tue Jul 05 09:18:48 2016 +0000
@@ -17,27 +17,32 @@
     if (Iset.read() == 0)
         vbat_rest = k * Vbat.read() + (1 - k) * vbat;
 }
+void rest(const void *) {
+    while (true) {
+        Thread::wait(5000);
+        float x = Iset;
+        Iset.write_u16(16);
+        Thread::wait(400);
+        Iset.write_u16(0);
+        Thread::wait(100);
+        Iset = x;
+    }
+}
 int main()
 {
     Ticker t;
-    t.attach(&adjust, 5.0);
+    t.attach(&adjust, 3.0);
     Ticker t2;
     t2.attach_us(&filter, 1000);
+    Thread t3(&rest);
     Iset.write(0.0);
     Serial pc(USBTX, USBRX);
     pc.baud(115200);
-    int i = 0;
 
     while (true) {
         //pc.printf("Iset %f    Iget %6d %f    Vbat %6d %f    \r", Iset.read(), Iget.read_u16(), Iget.read(), Vbat.read_u16(), Vbat.read());
-        float x = Iset.read();
         pc.printf("Iset %f      Iget %8d %f %f", Iset.read(), Iget.read_u16(), Iget.read() * 36.140224, iget * 36.140224);
-        if ((i = (i + 1) % 50) == 0) {
-            Iset = 0;
-            Thread::wait(50);
-        }
         pc.printf("      Vbat %8d %f %f %f\r", Vbat.read_u16(), Vbat.read() * 36.7538, vbat * 36.7538, vbat_rest * 36.7538);
-        Iset = x;
-        Thread::wait(100);
+        Thread::wait(500);
     }
 }