EMG filtering; highpass, notch, abs, moving average
Dependencies: HIDScope MODSERIAL- mbed-dsp mbed
Revision 33:a78ec776dfd5, committed 2014-10-07
- Comitter:
- Hooglugt
- Date:
- Tue Oct 07 11:54:53 2014 +0000
- Parent:
- 32:aaf01b1bf05d
- Child:
- 34:e166187e62ce
- Commit message:
- if statement toegevoegd in de force while, die controleert of direction is gereset of niet
Changed in this revision
Project_main.cpp | Show annotated file Show diff for this revision Revisions of this file |
--- a/Project_main.cpp Tue Oct 07 10:13:12 2014 +0000 +++ b/Project_main.cpp Tue Oct 07 11:54:53 2014 +0000 @@ -16,7 +16,7 @@ PwmOut green(LED_GREEN); PwmOut blue(LED_BLUE); -int8_t direction = 0; +int8_t direction = 0; int8_t force = 0; Ticker log_timer; @@ -53,7 +53,6 @@ direction = 0; force = 0; // WEGHALEN, wanneer in uiteindelijke script na force keuzen niet meer gereset kan worden (voor nu wel handig) pc.printf("reset "); - goto directionchoice; //<--- dit kan NATUURLIJK NIET, dus iets wat vervolgens checked of directionchoice en/of force is bepaald in de mainloop en dan een goto maken } } @@ -135,7 +134,9 @@ red=0; green=1; blue=1; - //TE DOEN een if statement die controleert of direction 0 is (dus of triceps gereset is) + if(direction==0){ //if statement die controleert of direction 0 is (dus of triceps gereset is) + goto directionchoice; + } for (int lag=0; lag<TIMEBETWEENBLINK; lag++) { if(emg_bifloat.read()>0.8) { // 0.8 klopt niet als grenswaarde. #nofilter force = 1; @@ -154,7 +155,9 @@ red =1; green=0; blue=1; - //TE DOEN een if statement die controleert of direction 0 is (dus of triceps gereset is) + if(direction==0){ //if statement die controleert of direction 0 is (dus of triceps gereset is) + goto directionchoice; + } for (int lag=0; lag<TIMEBETWEENBLINK; lag++) { if(emg_bifloat.read()>0.8) { //0.8 klopt niet als grenswaarde. #nofilter force = 2; @@ -173,7 +176,9 @@ red=1; green=1; blue=0; - //TE DOEN een if statement die controleert of direction 0 is (dus of triceps gereset is) + if(direction==0){ //if statement die controleert of direction 0 is (dus of triceps gereset is) + goto directionchoice; + } for (int lag=0; lag<TIMEBETWEENBLINK; lag++) { if(emg_bifloat.read()>0.8) { //0.8 klopt niet als grenswaarde. #nofilter force = 3; @@ -191,9 +196,9 @@ } } choicesmade: - + /* Vanaf hier komt de aansturing van de motor (inclusief de controller)*/ - + if(direction == 1 && force == 1) { // links zwak pc.printf("links zwak"); } @@ -221,10 +226,11 @@ if(direction == 3 && force == 3) { // rechts sterk pc.printf("rechts sterk"); } - if(direction == 0 || force == 0) { // wanneer de triceps in de korte tijd is aangespannen nadat beide keuzes zijn gemaakt + if(direction == 0 || force == 0) { // wanneer de triceps in de korte tijd is aangespannen nadat beide keuzes zijn gemaakt pc.printf("error"); + // mogelijkheid om een goto te maken naar directionchoice (opzich wel handig) } - + red = 0; green = 0; blue = 0; // wit lampje