Update to test ST accelerometer/magnetomters

This commit is contained in:
Joe Finney 2018-05-29 18:11:48 +01:00
parent f4e7e01c1d
commit a99cf9f725
3 changed files with 29 additions and 16 deletions

3
.gitignore vendored
View File

@ -1,3 +1,6 @@
build
yotta_modules
yotta_targets/*
*.swp
*~

View File

@ -49,7 +49,10 @@ DEALINGS IN THE SOFTWARE.
#include "MicroBitPin.h"
#include "MicroBitCompass.h"
#include "MicroBitCompassCalibrator.h"
#include "MicroBitAccelerometer.h"
#include "MMA8653.h"
#include "MAG3110.h"
#include "LSM303Accelerometer.h"
#include "LSM303Magnetometer.h"
#include "MicroBitThermometer.h"
#include "MicroBitLightSensor.h"
#include "MicroBitMultiButton.h"
@ -104,6 +107,9 @@ class MicroBit
// I2C Interface
MicroBitI2C i2c;
//An object of available IO pins on the device
MicroBitIO io;
// Device level Message Bus abstraction
MicroBitMessageBus messageBus;
@ -112,13 +118,14 @@ class MicroBit
MicroBitButton buttonA;
MicroBitButton buttonB;
MicroBitMultiButton buttonAB;
MicroBitAccelerometer accelerometer;
MicroBitCompass compass;
CoordinateSpace coordinateSpace;
//MMA8653 accelerometer;
//MAG3110 compass;
LSM303Accelerometer accelerometer;
LSM303Magnetometer compass;
MicroBitCompassCalibrator compassCalibrator;
MicroBitThermometer thermometer;
//An object of available IO pins on the device
MicroBitIO io;
// Bluetooth related member variables.
MicroBitBLEManager bleManager;

View File

@ -63,22 +63,25 @@ MicroBit::MicroBit() :
resetButton(MICROBIT_PIN_BUTTON_RESET),
storage(),
i2c(I2C_SDA0, I2C_SCL0),
messageBus(),
display(),
buttonA(MICROBIT_PIN_BUTTON_A, MICROBIT_ID_BUTTON_A),
buttonB(MICROBIT_PIN_BUTTON_B, MICROBIT_ID_BUTTON_B),
buttonAB(MICROBIT_ID_BUTTON_A,MICROBIT_ID_BUTTON_B, MICROBIT_ID_BUTTON_AB),
accelerometer(i2c),
compass(i2c, accelerometer, storage),
compassCalibrator(compass, accelerometer, display),
thermometer(storage),
io(MICROBIT_ID_IO_P0,MICROBIT_ID_IO_P1,MICROBIT_ID_IO_P2,
MICROBIT_ID_IO_P3,MICROBIT_ID_IO_P4,MICROBIT_ID_IO_P5,
MICROBIT_ID_IO_P6,MICROBIT_ID_IO_P7,MICROBIT_ID_IO_P8,
MICROBIT_ID_IO_P9,MICROBIT_ID_IO_P10,MICROBIT_ID_IO_P11,
MICROBIT_ID_IO_P12,MICROBIT_ID_IO_P13,MICROBIT_ID_IO_P14,
MICROBIT_ID_IO_P15,MICROBIT_ID_IO_P16,MICROBIT_ID_IO_P19,
MICROBIT_ID_IO_P20),
MICROBIT_ID_IO_P20, MICROBIT_ID_IO_INT1, MICROBIT_ID_IO_INT2),
messageBus(),
display(),
buttonA(MICROBIT_PIN_BUTTON_A, MICROBIT_ID_BUTTON_A),
buttonB(MICROBIT_PIN_BUTTON_B, MICROBIT_ID_BUTTON_B),
buttonAB(MICROBIT_ID_BUTTON_A,MICROBIT_ID_BUTTON_B, MICROBIT_ID_BUTTON_AB),
coordinateSpace(SIMPLE_CARTESIAN, true, COORDINATE_SPACE_ROTATED_0),
//accelerometer(i2c, io.int1, coordinateSpace),
//compass(i2c, io.int2, coordinateSpace),
accelerometer(i2c, io.P0, coordinateSpace),
compass(i2c, io.P1, coordinateSpace),
compassCalibrator(compass, accelerometer, display),
thermometer(storage),
bleManager(storage),
radio(),
ble(NULL)
@ -211,7 +214,7 @@ void MicroBit::onListenerRegisteredEvent(MicroBitEvent evt)
case MICROBIT_ID_GESTURE:
// A listener has been registered for the accelerometer.
// The accelerometer uses lazy instantiation, we just need to read the data once to start it running.
accelerometer.updateSample();
accelerometer.getSample();
break;
case MICROBIT_ID_THERMOMETER: