
Projet S5 Lecture de l'accelerometre avec interruption
Dependencies: mbed PowerControl
Fork of Projet_S5 by
accelerometer.h@6:ef8bfca9e69b, 2014-04-03 (annotated)
- Committer:
- joGenie
- Date:
- Thu Apr 03 15:04:49 2014 +0000
- Revision:
- 6:ef8bfca9e69b
- Parent:
- 5:6313ddd0dfdd
- Child:
- 9:40197c24ce2c
signed char
Who changed what in which revision?
User | Revision | Line number | New contents of line |
---|---|---|---|
joGenie | 0:d80295a0bcc2 | 1 | #ifndef ACCELERATOR_H |
joGenie | 0:d80295a0bcc2 | 2 | #define ACCELERATOR_H |
joGenie | 0:d80295a0bcc2 | 3 | |
joGenie | 0:d80295a0bcc2 | 4 | #include "mbed.h" |
joGenie | 0:d80295a0bcc2 | 5 | |
joGenie | 0:d80295a0bcc2 | 6 | /******************************************************** |
joGenie | 0:d80295a0bcc2 | 7 | * DEFINES |
joGenie | 0:d80295a0bcc2 | 8 | ********************************************************/ |
joGenie | 0:d80295a0bcc2 | 9 | |
joGenie | 0:d80295a0bcc2 | 10 | #define DELAY 0.5 |
joGenie | 0:d80295a0bcc2 | 11 | |
joGenie | 0:d80295a0bcc2 | 12 | #define MMA8452_WRITE_ADDRESS 0x3A |
joGenie | 0:d80295a0bcc2 | 13 | #define MMA8452_READ_ADDRESS 0x3B |
joGenie | 0:d80295a0bcc2 | 14 | #define WHO_AM_I 0x0D |
joGenie | 0:d80295a0bcc2 | 15 | #define OUT_X_MSB 0x01 |
joGenie | 0:d80295a0bcc2 | 16 | #define OUT_X_LSB 0x02 |
joGenie | 0:d80295a0bcc2 | 17 | #define OUT_Y_MSB 0x03 |
joGenie | 0:d80295a0bcc2 | 18 | #define OUT_Y_LSB 0x04 |
joGenie | 0:d80295a0bcc2 | 19 | #define OUT_Z_MSB 0x05 |
joGenie | 0:d80295a0bcc2 | 20 | #define OUT_Z_LSB 0x06 |
joGenie | 0:d80295a0bcc2 | 21 | #define CTRL_REG1 0x2A |
joGenie | 0:d80295a0bcc2 | 22 | #define CTRL_REG2 0x2B |
joGenie | 0:d80295a0bcc2 | 23 | #define XYZ_DATA_CFG 0x0E |
joGenie | 0:d80295a0bcc2 | 24 | |
joGenie | 0:d80295a0bcc2 | 25 | class Accelerometer |
joGenie | 0:d80295a0bcc2 | 26 | { |
joGenie | 0:d80295a0bcc2 | 27 | public: |
joGenie | 0:d80295a0bcc2 | 28 | Accelerometer(); |
joGenie | 0:d80295a0bcc2 | 29 | ~Accelerometer(); |
joGenie | 0:d80295a0bcc2 | 30 | |
joGenie | 6:ef8bfca9e69b | 31 | signed char* getAccelValue(); |
joGenie | 0:d80295a0bcc2 | 32 | |
joGenie | 0:d80295a0bcc2 | 33 | private: |
joGenie | 0:d80295a0bcc2 | 34 | void writeToRegister(int address, int startingRegister, int data2Write); |
joGenie | 0:d80295a0bcc2 | 35 | int readRegister(int address, int startingRegister); |
joGenie | 0:d80295a0bcc2 | 36 | char i2c_read_reg(char address); |
joGenie | 0:d80295a0bcc2 | 37 | bool initAccel(); |
joGenie | 0:d80295a0bcc2 | 38 | |
joGenie | 0:d80295a0bcc2 | 39 | I2C i2c; // I2C port (sda, scl) |
joGenie | 0:d80295a0bcc2 | 40 | }; |
joGenie | 0:d80295a0bcc2 | 41 | |
joGenie | 0:d80295a0bcc2 | 42 | // Define function in C for interruption |
joGenie | 0:d80295a0bcc2 | 43 | #ifdef __cplusplus |
joGenie | 0:d80295a0bcc2 | 44 | extern "C" { |
joGenie | 0:d80295a0bcc2 | 45 | #endif |
joGenie | 0:d80295a0bcc2 | 46 | |
joGenie | 0:d80295a0bcc2 | 47 | extern void *Accelerometer_C_new(); |
joGenie | 0:d80295a0bcc2 | 48 | extern void Accelerometer_C_delete(void *accelerometer); |
joGenie | 6:ef8bfca9e69b | 49 | extern signed char* Accelerometer_C_getAccelValue(void *accelerometer); |
joGenie | 0:d80295a0bcc2 | 50 | |
joGenie | 0:d80295a0bcc2 | 51 | #ifdef __cplusplus |
joGenie | 0:d80295a0bcc2 | 52 | } |
joGenie | 0:d80295a0bcc2 | 53 | #endif |
joGenie | 0:d80295a0bcc2 | 54 | |
joGenie | 0:d80295a0bcc2 | 55 | #endif |