28 #include <mraa/firmata.h> 32 #define FIRMATA_START_SYSEX 0xF0 33 #define FIRMATA_END_SYSEX 0xF7 34 #define FIRMATA_CURIE_IMU 0x11 35 #define FIRMATA_CURIE_IMU_READ_ACCEL 0x00 36 #define FIRMATA_CURIE_IMU_READ_GYRO 0x01 37 #define FIRMATA_CURIE_IMU_READ_TEMP 0x02 38 #define FIRMATA_CURIE_IMU_SHOCK_DETECT 0x03 39 #define FIRMATA_CURIE_IMU_STEP_COUNTER 0x04 40 #define FIRMATA_CURIE_IMU_TAP_DETECT 0x05 41 #define FIRMATA_CURIE_IMU_READ_MOTION 0x06 85 CurieImu (
int subplatform_offset=512);
169 int16_t getTemperature();
178 int16_t* getMotion();
192 int16_t getDirection();
199 void enableShockDetection(
bool enable);
206 bool isShockDetected();
219 void enableStepCounter(
bool enable);
226 bool isStepDetected();
233 int16_t getStepCount();
240 void enableTapDetection(
bool enable);
247 bool isTapDetected();
268 void waitForResponse();
282 void setResults(uint8_t* buf,
int length);
287 void processResponse();
290 mraa_firmata_context m_firmata;
291 pthread_mutex_t m_responseLock;
292 pthread_cond_t m_responseCond;
295 std::queue<IMUDataItem*> m_shockData;
296 std::queue<int> m_stepData;
297 std::queue<IMUDataItem*> m_tapData;
Definition: curieimu.hpp:54
C++ API wrapper for the bh1749 driver.
Definition: a110x.hpp:29
API for the Curie IMU via Firmata.
Definition: curieimu.hpp:77