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.
Revision 2:e609cd999fd2, committed 2013-11-04
- Comitter:
- DanAuhust
- Date:
- Mon Nov 04 20:09:22 2013 +0000
- Parent:
- 1:1ffb9e3ae00f
- Child:
- 3:117c0bb09513
- Commit message:
- nu met gains en thresholds
Changed in this revision
| main.cpp | Show annotated file Show diff for this revision Revisions of this file |
--- a/main.cpp Mon Nov 04 13:26:18 2013 +0000
+++ b/main.cpp Mon Nov 04 20:09:22 2013 +0000
@@ -91,18 +91,18 @@
sig_out=sqrt(sum/size);
sum=0;
break;
- /*case 3:
+ case 3:
keeper_flexoren[count_flexoren]=input;
count_flexoren++;
if(count_flexoren==size) count_flexoren=0;
- size=sizeof(keeper_flexoren)/sizeof(float);
- for(int i; i < size; i++){
+ //size=sizeof(keeper_flexoren)/sizeof(float);
+ for(int i=0; i < size; i++){
sum+=keeper_flexoren[i];
}
mean=sum/size;
sum=0;
- for(int i; i < size; i++){
+ for(int i=0; i < size; i++){
sum+=(keeper_flexoren[i]-mean)*(keeper_flexoren[i]-mean);
}
sig_out=sqrt(sum/size);
@@ -113,18 +113,18 @@
count_extensoren++;
if(count_extensoren==size) count_extensoren=0;
- size=sizeof(keeper_extensoren)/sizeof(float);
- for(int i; i < size; i++){
+ //size=sizeof(keeper_extensoren)/sizeof(float);
+ for(int i=0; i < size; i++){
sum+=keeper_extensoren[i];
}
mean=sum/size;
sum=0;
- for(int i; i < size; i++){
+ for(int i=0; i < size; i++){
sum+=(keeper_extensoren[i]-mean)*(keeper_extensoren[i]-mean);
}
sig_out=sqrt(sum/size);
sum=0;
- break;*/
+ break;
} // einde switch
return sig_out;
} // einde if startcount ...
@@ -140,9 +140,21 @@
case 2:
keeper_triceps[count_triceps]=input;
count_triceps++;
- if(count_triceps>=size)
+ if(count_triceps >= size)
count_triceps=0;
break;
+ case 3:
+ keeper_flexoren[count_flexoren]=input;
+ count_flexoren++;
+ if(count_flexoren >= size)
+ count_flexoren=0;
+ break;
+ case 4:
+ keeper_extensoren[count_extensoren]=input;
+ count_extensoren++;
+ if(count_extensoren >= size)
+ count_extensoren=0;
+ break;
} // einde switch
} // einde else
} // einde std_dev
@@ -282,27 +294,36 @@
float dy;
//static int sig_count = 1;
emg_value_biceps=std_dev(filter(1),1);
-emg_value_triceps=std_dev(filter(2),2);
-dy = emg_value_biceps-emg_value_triceps;
-
+emg_value_triceps=std_dev(filter(2),2);
+/*emg_value_flexoren = (100*filter(3)-44);
+emg_value_extensoren = (100*filter(4)-44);*/
+
+ if(emg_value_biceps < 4.5)
+ emg_value_biceps=0;
+ else if (emg_value_biceps > 13)
+ emg_value_biceps = 13;
+ //emg_value_biceps = emg_value_biceps;
- /*emg_value_flexoren = (100*filter(3)-44);
- emg_value_extensoren = (100*filter(4)-44);*/
-
- /*if(emg_value_biceps < 0.10){
+ if(emg_value_triceps < 2.5)
emg_value_biceps=0;
- }
- else {
- emg_value_biceps = emg_value_biceps;
- }
- if(emg_value_triceps < 0.10){
- emg_value_triceps=0;
- }
- else {
- emg_value_triceps=emg_value_triceps;
- }
- */
- //dy = emg_value_biceps-emg_value_triceps;
+ else if (emg_value_biceps > 10)
+ emg_value_biceps = 10;
+ //emg_value_triceps = emg_value_triceps;
+
+ if(emg_value_flexoren < 2)
+ emg_value_flexoren=0;
+ else if (emg_value_flexoren > 8)
+ emg_value_flexoren = 8;
+ emg_value_flexoren = 2*emg_value_flexoren;
+
+ if(emg_value_extensoren < 5)
+ emg_value_extensoren=0;
+ else if (emg_value_extensoren > 13)
+ emg_value_extensoren = 13;
+
+dy = emg_value_biceps - emg_value_triceps;
+dx = 2*(emg_value_flexoren - emg_value_extensoren);
+
if(pc.rxBufferGetSize(0)-pc.rxBufferGetCount() > 30)
pc.printf("%.6f, %.6f, %.6f\n",emg_value_biceps, emg_value_triceps, dy);
/**When not using the LED, the above could also have been done this way: