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: mbed
Fork of Nucleo_PS3_Jikken3 by
Revision 15:c941d06092ec, committed 2015-10-05
- Comitter:
- nodoame
- Date:
- Mon Oct 05 08:12:15 2015 +0000
- Parent:
- 14:aaf2ae25e508
- Child:
- 16:457bb8cc409b
- Commit message:
- 20151005;
Changed in this revision
| main.cpp | Show annotated file Show diff for this revision Revisions of this file |
--- a/main.cpp Sun Oct 04 07:34:44 2015 +0000
+++ b/main.cpp Mon Oct 05 08:12:15 2015 +0000
@@ -133,40 +133,41 @@
return val;
}
-void detectPole()
+void detectPole(int scVector)
{
- bool btFlag=false,scFlag=false;
- int vector=TD;
+ int vector=TD,laser=0;
+ bool btFlag=false;
Blue=0.0f;Green=0.0f,Red=0.8f;
- double deg=32;
while(true)
{
//スイッチが押された時
- if(((int)DATA[1]&12)==12&&!btFlag){
+ if((int)DATA[1]&12==12&&!btFlag){
wait(0.001f);
Mechanum.putc(64);
btFlag=true;
Blue=0.0f;Green=0.8f;Red=0;
- vector=64;
+ vector=scVector;
}
- //方向選択
- else if((int)deg==devideNum)
- {
- deg=devidePoint((double)DATA[3],(double)DATA[2],15,360/devideNum);
- pc.printf("deg%lf\r\n",deg);
- if((int)deg!=devideNum){
- vector=(deg<17)?(TNL):(TNR);
- pc.printf("vector%d\r\n",vector);
- scFlag=true;
+ //片方のレーザーが反応したとき
+ if(btFlag){
+ if(!(int)DATA[1]&2){
+ laser=1;
+ vector=0;
+ }
+ else if((int)DATA[1]&1){
+ laser=2;
+ vector=0;
}
}
- //レーザーが反応した時
- else if(!(int)(DATA[1]&0x02)&&btFlag&&scFlag/*!((int)DATA[1]&2==2)&&btFlag*/){
- vector=64;
+
+ //もう片方のレーザーが反応した時
+ else if(!(int)DATA[1]&laser&&laser){
+ Mechanum.putc(64);
break;
}
+ //pc.printf("%d\r\n",DATA[1]);
Mechanum.putc(vector);
wait(0.001f);
}
@@ -221,7 +222,10 @@
{
//ポール検出モード
if(getBt(btTri)&&getBt(btSph)){
- detectPole();
+ if(deg<17)
+ detectPole(TNL);
+ else
+ detectPole(TNR);
//printf("DetectMode\r\n");
}
