Interference current stimulation program with kaji-lab ES device.

Dependencies:   mbed SerialInputReactionHandler AMPulseTrain SwArr16MOSFET StrCommandHandler KajiLabES

Revision:
0:19a67422961f
Child:
1:b97639dad576
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/main.cpp	Tue Oct 23 15:11:18 2018 +0000
@@ -0,0 +1,58 @@
+#include "mbed.h"
+#include "KajiLabES.h"
+#include "PMRC16ch.h"
+#include "sigbind.h"
+#include <iostream>
+#include <bitset>
+ProcessState   pstate;
+Serial pc(USBTX, USBRX); // tx, rx
+
+DigitalOut  myled1(LED1);
+DigitalOut  myled2(LED2);
+DigitalOut  myled3(LED3);
+DigitalOut  myled4(LED4);
+KajiLabES   stimulator;
+PMRC16ch    pmrc(16);
+uint32_t pw;//pulse width
+uint32_t pp;//pulse period
+uint32_t ph;//pulse hight
+
+int main()
+{
+    stimulator.DAADinit();
+    myled1 = 1;
+    pmrc.allHiZ();
+    myled2 = 1;
+    {
+        using namespace aktk_sigbind;
+        pc.baud(921600);
+        pc.attach(&keyBind);
+        pw = 100;
+        pp = 5000;
+        ph = 0;
+        printKBManual();
+        wait(.5);
+    }
+    while(1) {
+        while (pstate == WAIT_A_CERTAIN_KEY) {
+            myled3  = (!myled3);
+            wait(0.5);
+        }
+        myled3 = 1;
+        pmrc.setPol(PMRC16ch::Cathodic);
+        while (pstate == MAIN_ROUTINE) {
+            for(int i = 0; i < 2; i++) {
+                //pmrc.setTwin(i+1, (i+4)%8+1);
+                pmrc.setTwin(i+1, (i+1)%8+1);
+                //pmrc.setOvsO(i+1);
+                wait_us(pp-pw);
+                stimulator.DAAD(ph);
+                wait_us(pw);
+                stimulator.DAAD(0);
+                //pmrc.allHiZ();
+                //wait_us(pw);
+            }
+            if (pstate == TERMINATED) break;
+        }
+    }
+}