
Interference current stimulation program with kaji-lab ES device.
Dependencies: mbed SerialInputReactionHandler AMPulseTrain SwArr16MOSFET StrCommandHandler KajiLabES
Diff: main.cpp
- 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; + } + } +}