NIT Fukui / Serial6050Yaw

Dependents:   R1Arobo_Maika_B 2021Arobo_UMAPYOI 2021Arobo_YUMIPYOI

Committer:
yopcyuuu
Date:
Thu Sep 20 01:13:45 2018 +0000
Revision:
0:c3d09c97649b
Child:
1:97a3a91ce950
yaw only

Who changed what in which revision?

UserRevisionLine numberNew contents of line
yopcyuuu 0:c3d09c97649b 1 #include "Serial6050.h"
yopcyuuu 0:c3d09c97649b 2
yopcyuuu 0:c3d09c97649b 3 Serial6050::Serial6050(PinName tx, PinName rx, PinName resetPin)
yopcyuuu 0:c3d09c97649b 4 : serial(tx, rx, 38400), rst(resetPin)
yopcyuuu 0:c3d09c97649b 5 {
yopcyuuu 0:c3d09c97649b 6 }
yopcyuuu 0:c3d09c97649b 7
yopcyuuu 0:c3d09c97649b 8 void Serial6050::init()
yopcyuuu 0:c3d09c97649b 9 {
yopcyuuu 0:c3d09c97649b 10 rst = 0;
yopcyuuu 0:c3d09c97649b 11 wait(0.2);
yopcyuuu 0:c3d09c97649b 12 rst = 1;
yopcyuuu 0:c3d09c97649b 13 while(1) {
yopcyuuu 0:c3d09c97649b 14 serial.putc(100);
yopcyuuu 0:c3d09c97649b 15 if(serial.readable()) {
yopcyuuu 0:c3d09c97649b 16 if(serial.getc() == 0x80) break;
yopcyuuu 0:c3d09c97649b 17 }
yopcyuuu 0:c3d09c97649b 18 }
yopcyuuu 0:c3d09c97649b 19 serial.attach(this, &Serial6050::intReceive, RawSerial::RxIrq);
yopcyuuu 0:c3d09c97649b 20 wait(0.1);
yopcyuuu 0:c3d09c97649b 21 reset();
yopcyuuu 0:c3d09c97649b 22 }
yopcyuuu 0:c3d09c97649b 23
yopcyuuu 0:c3d09c97649b 24 void Serial6050::reset()
yopcyuuu 0:c3d09c97649b 25 {
yopcyuuu 0:c3d09c97649b 26 resetValue = higher >> 7 + lower - 8192;
yopcyuuu 0:c3d09c97649b 27 }
yopcyuuu 0:c3d09c97649b 28
yopcyuuu 0:c3d09c97649b 29
yopcyuuu 0:c3d09c97649b 30
yopcyuuu 0:c3d09c97649b 31 float Serial6050::read()
yopcyuuu 0:c3d09c97649b 32 {
yopcyuuu 0:c3d09c97649b 33 int value = higher >> 7 + lower;
yopcyuuu 0:c3d09c97649b 34 return (value - 8192 - resetValue) / 10.0;
yopcyuuu 0:c3d09c97649b 35 }