Important changes to repositories hosted on mbed.com
Mbed hosted mercurial repositories are deprecated and are due to be permanently deleted in July 2026.
To keep a copy of this software download the repository Zip archive or clone locally using Mercurial.
It is also possible to export all your personal repositories from the account settings page.
Dependencies: HIDScope mbed MODSERIAL QEI
Diff: main.cpp
- Revision:
- 3:9c5aea210f1d
- Parent:
- 2:a08bff88216d
- Child:
- 5:4c27dea81e4c
--- a/main.cpp Fri Oct 13 10:16:31 2017 +0000 +++ b/main.cpp Mon Oct 16 08:01:54 2017 +0000 @@ -7,6 +7,7 @@ AnalogIn EMGData_1( A0 ); AnalogIn EMGData_2( A1 ); AnalogIn EMGData_3( A2 ); +AnalogIn EMGData_4( A3 ); HIDScope scope(4); // 4 channels of data Ticker MainTicker; @@ -14,18 +15,25 @@ const double Ts= 0.002; //fs = 500Hz -double EMG_MainsReject_1 = 0; -double EMG_MainsReject_2 = 0; -double EMG_MainsReject_3 = 0; -double EMG_Filtered_1 = 0; -double EMG_Filtered_2 = 0; -double EMG_Filtered_3 = 0; -double EMG_Abs_1 = 0; -double EMG_Abs_2 = 0; -double EMG_Abs_3 = 0; -double EMG_Envelope_1 = 0; -double EMG_Envelope_2 = 0; -double EMG_Envelope_3 = 0; +volatile double EMG_MainsReject_1 = 0; +volatile double EMG_MainsReject_2 = 0; +volatile double EMG_MainsReject_3 = 0; +volatile double EMG_MainsReject_4 = 0; + +volatile double EMG_Filtered_1 = 0; +volatile double EMG_Filtered_2 = 0; +volatile double EMG_Filtered_3 = 0; +volatile double EMG_Filtered_4 = 0; + +volatile double EMG_Abs_1 = 0; +volatile double EMG_Abs_2 = 0; +volatile double EMG_Abs_3 = 0; +volatile double EMG_Abs_4 = 0; + +volatile double EMG_Envelope_1 = 0; +volatile double EMG_Envelope_2 = 0; +volatile double EMG_Envelope_3 = 0; +volatile double EMG_Envelope_4 = 0; //High Pass Filter double a_0_0=1, a_0_1=-1.475480443592646, a_0_2=0.586919508061190, @@ -54,24 +62,28 @@ EMG_MainsReject_1 = MainsReject.step(EMGData_1); EMG_MainsReject_2 = MainsReject.step(EMGData_2); EMG_MainsReject_3 = MainsReject.step(EMGData_3); + EMG_MainsReject_4 = MainsReject.step(EMGData_4); /*****/ //High Pass Filter EMG Data EMG_Filtered_1 = HiPass.step(EMG_MainsReject_1); EMG_Filtered_2 = HiPass.step(EMG_MainsReject_2); EMG_Filtered_3 = HiPass.step(EMG_MainsReject_3); + EMG_Filtered_4 = HiPass.step(EMG_MainsReject_4); /*****/ //Abs Filtered EMG Data EMG_Abs_1 = abs(EMG_Filtered_1); EMG_Abs_2 = abs(EMG_Filtered_2); EMG_Abs_3 = abs(EMG_Filtered_3); + EMG_Abs_4 = abs(EMG_Filtered_4); /*****/ //Low Pass Filter EMG_Envelope_1 = LoPass.step(EMG_Abs_1); EMG_Envelope_2 = LoPass.step(EMG_Abs_2); EMG_Envelope_3 = LoPass.step(EMG_Abs_3); + EMG_Envelope_4 = LoPass.step(EMG_Abs_4); /*****/ //Send scope data