albatross
/
ControlMain2017
2017年度の製作を開始します
Fork of Control_Main_Full_20160608 by
Diff: main.cpp
- Revision:
- 27:1af92a603532
- Parent:
- 26:745735b0479d
- Child:
- 28:056287cb001c
--- a/main.cpp Tue Mar 21 10:34:08 2017 +0000 +++ b/main.cpp Tue Mar 21 10:51:55 2017 +0000 @@ -7,10 +7,9 @@ #define SEND_DATAS_CAN_ID 100 #define SEND_DATAS_TIME 0.5 #define THRESHOLD_OH_VALUE 0.14 -#define SUM_UP_NUM 20 #define SAMPLE_INTERVAL 0.05 -#define PHASE_NUM 6 //偶数にしてください +#define PHASE_NUM 7 //奇数にしてください #define SUM_UP_NUM 10.0 /* roll入力とピッチ入力だとピッチの方が1.5倍効くように @@ -133,7 +132,7 @@ } } return value; - } + } else return value; } //範囲外に値がない場合にエラーが発生するので範囲内に収める @@ -164,7 +163,7 @@ return i; } } else if(value <= min) - return 0; + return 1; else if(value>=max) return PHASE_NUM; } @@ -181,9 +180,10 @@ float FormatedRoll_R = Format2Range((MatchedPitch +MatchedRoll ) / 2.0,(rollNeutral + rollUpperDiff+ pitchNeutral + pitchUpperDiff) / 2.0,(rollNeutral + rollLowerDiff+ pitchNeutral + pitchLowerDiff) / 2.0); *(int *)inputDatas_R =PhaseFloat(FormatedRoll_R,(rollNeutral + rollUpperDiff+ pitchNeutral + pitchUpperDiff) / 2.0,(rollNeutral + rollLowerDiff+ pitchNeutral + pitchLowerDiff) / 2.0); - float FormatedRoll_L = Format2Range((MatchedPitch - MatchedRoll) / 2.0,(pitchNeutral +pitchLowerDiff - rollNeutral - rollUpperDiff) / 2.0,(pitchNeutral + pitchUpperDiff-rollNeutral - rollLowerDiff) / 2.0); - *(int *)inputDatas_L = PhaseFloat(FormatedRoll_L,(pitchNeutral + pitchLowerDiff - rollNeutral - rollUpperDiff) / 2.0,(pitchNeutral + pitchUpperDiff - rollNeutral - rollLowerDiff) / 2.0); - pc.printf("Format:%f max:%f min:%f\n\r",FormatedRoll_L,(pitchNeutral + pitchUpperDiff - rollNeutral - rollLowerDiff) / 2.0,(pitchNeutral + pitchLowerDiff - rollNeutral - rollUpperDiff) / 2.0); + float FormatedRoll_L = Format2Range((MatchedPitch - MatchedRoll) / 2.0,(pitchNeutral + pitchUpperDiff-rollNeutral - rollLowerDiff) / 2.0,(pitchNeutral +pitchLowerDiff - rollNeutral - rollUpperDiff) / 2.0); + //pc.printf("matched:%f max:%f min:%f\n\r",(MatchedPitch - MatchedRoll) / 2.0,(pitchNeutral +pitchLowerDiff - rollNeutral - rollUpperDiff) / 2.0,(pitchNeutral + pitchUpperDiff-rollNeutral - rollLowerDiff) / 2.0); + *(int *)inputDatas_L = PhaseFloat(FormatedRoll_L,(pitchNeutral + pitchUpperDiff - rollNeutral - rollLowerDiff) / 2.0,(pitchNeutral + pitchLowerDiff - rollNeutral - rollUpperDiff) / 2.0); + //pc.printf("Format:%f max:%f min:%f\n\r",FormatedRoll_L,(pitchNeutral + pitchUpperDiff - rollNeutral - rollLowerDiff) / 2.0,(pitchNeutral + pitchLowerDiff - rollNeutral - rollUpperDiff) / 2.0); if(*(int *)inputDatas_R < 0) *(int *)inputDatas_R = 0; else if(*(int *)inputDatas_R > PHASE_NUM * 2) @@ -193,7 +193,7 @@ else if(*(int *)inputDatas_L > PHASE_NUM*2) *(int *)inputDatas_L =PHASE_NUM * 2; - // pc.printf("input_R:%d input_L:%d\n\r",*(int *)inputDatas_R,*(int *)inputDatas_L); + pc.printf("input_R:%d input_L:%d\n\r",*(int *)inputDatas_R,*(int *)inputDatas_L); inputDatas_R[4] = (char)drug_R; led4 =! led4; // pc.printf("%c",*(char *)inputDatas_R[4]);