CMPS03 Compass library with only PWM support. I2C support will be added shortly, while it will arrive, you may use MBED component library if you wish to use CMPS03 I2C interface

Dependents:   TestBoussole FRC_2018 0hackton_08_06_18 lib_FRC_2019 ... more

Committer:
gvaquette
Date:
Wed Oct 23 11:17:17 2019 +0000
Revision:
5:7bfdf8ff9c5e
Parent:
3:3e9586433ce5
translation : CMPS03;

Who changed what in which revision?

UserRevisionLine numberNew contents of line
haarkon 0:41ff46c0f65a 1 #include "CMPS03.h"
haarkon 0:41ff46c0f65a 2
gvaquette 5:7bfdf8ff9c5e 3 CMPS03::CMPS03(PinName pwm) : _compass(pwm)
haarkon 0:41ff46c0f65a 4 {
gvaquette 5:7bfdf8ff9c5e 5 _compass.rise(callback(this, &CMPS03::rise));
gvaquette 5:7bfdf8ff9c5e 6 _compass.fall(callback(this, &CMPS03::fall));
gvaquette 5:7bfdf8ff9c5e 7 _compass.enable_irq();
haarkon 0:41ff46c0f65a 8 _tim.start();
haarkon 0:41ff46c0f65a 9 }
haarkon 0:41ff46c0f65a 10
haarkon 0:41ff46c0f65a 11 void CMPS03::rise(void)
haarkon 0:41ff46c0f65a 12 {
haarkon 0:41ff46c0f65a 13 _startTime = _tim.read_us();
haarkon 0:41ff46c0f65a 14 }
haarkon 0:41ff46c0f65a 15
haarkon 0:41ff46c0f65a 16 void CMPS03::fall(void)
haarkon 0:41ff46c0f65a 17 {
haarkon 0:41ff46c0f65a 18
haarkon 0:41ff46c0f65a 19 _stopTime = _tim.read_us();
haarkon 3:3e9586433ce5 20 _pwmBearing = ((double)(_stopTime - _startTime - 1000)/100.0);
haarkon 0:41ff46c0f65a 21 }
haarkon 0:41ff46c0f65a 22
haarkon 0:41ff46c0f65a 23
haarkon 1:2507a3379f17 24 double CMPS03::getBearing(void)
haarkon 0:41ff46c0f65a 25 {
haarkon 0:41ff46c0f65a 26 return _pwmBearing;
haarkon 0:41ff46c0f65a 27 }
haarkon 0:41ff46c0f65a 28
haarkon 3:3e9586433ce5 29 CMPS03::operator double()
haarkon 3:3e9586433ce5 30 {
haarkon 1:2507a3379f17 31 return _pwmBearing;
haarkon 1:2507a3379f17 32 }