Projet S5 Lecture de l'accelerometre avec interruption

Dependencies:   mbed PowerControl

Fork of Projet_S5 by Jonathan Tousignant

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?

UserRevisionLine numberNew 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