ジャイロ
Dependents: 00_yotsuba 103_JY901_practice 200_yotsuba_21 200_yotuba_21_uiChange
Diff: jy901.cpp
- Revision:
- 8:a5ce2d3c49ac
- Parent:
- 7:9fa716a2100a
diff -r 9fa716a2100a -r a5ce2d3c49ac jy901.cpp --- a/jy901.cpp Thu Mar 04 11:57:19 2021 +0000 +++ b/jy901.cpp Fri Mar 05 05:03:19 2021 +0000 @@ -28,21 +28,32 @@ write(IICADDR,calibrationRegistar,3,false); } -void JY901::calibrateAll(int time) +void JY901::yawcalibrate() +{ + char calibrationRegistar[3]= {CALSW,0x04,0x00}; + write(IICADDR,calibrationRegistar,3,false); +} + +void JY901::algorithmtrasition() +{ + char calibrationRegistar[3]= {0x24,0x01,0x00}; + write(IICADDR,calibrationRegistar,3,false); +} + +void JY901::calibrateAll(int time_ms) { calibrateGyroAccel(); - thread_sleep_for(time); + thread_sleep_for(time_ms); calibrateMagnetic(); - thread_sleep_for(time); + thread_sleep_for(time_ms); calibrateHeight(); - thread_sleep_for(time); + thread_sleep_for(time_ms); endCalibrate(); -} - -void JY901::jyroReset() -{ - char calibrationRegistar[3]= {0x01,0x04,0x00}; - write(IICADDR,calibrationRegistar,3,false); + thread_sleep_for(time_ms); + algorithmtrasition(); + thread_sleep_for(time_ms); + yawcalibrate(); + } float JY901::getXaxisAcceleration() @@ -117,8 +128,6 @@ return (float)((*(data+1) << 8) | *data) / 32768 * 180; } - - char *JY901::getdata(char registar) { char data[2] = {};