Esta versión v6 pasa a ser el nuevo master. Funciona correctamente
Dependencies: ADXL345 Display1602 MSCFileSystem SDFileSystem mbed FATFileSystem
BMA180.h
00001 /** 00002 * @author Jose L. Escalona (virtualmech) 00003 */ 00004 00005 #ifndef BMA180_H 00006 #define BMA180_H 00007 00008 #include "mbed.h" 00009 00010 #define BMA180_ID 0x00 00011 #define VERSION 0x01 00012 #define ACCXLSB 0x02 00013 #define ACCXMSB 0x03 00014 #define ACCYLSB 0x04 00015 #define ACCYMSB 0x05 00016 #define ACCZLSB 0x06 00017 #define ACCZMSB 0x07 00018 #define CTRL_REG0 0x0D 00019 #define DIS_I2C 0x27 // bit 0 must be 1 for SPI 00020 #define CTRL_REG3 0x21 // bit 1= new_data_int 00021 #define RESET 0x10 // soft reset 00022 00023 #define RANGE 0x35 00024 #define FILTER_BW 0x20 00025 #define NOISE_POWER 0x30 00026 00027 /*-------------Hardware connections------------- 00028 VIO----- mbed Vout (3.3 Volt) 00029 SDI----- mbed mosi (p5) 00030 SDO----- mbed miso (p6) 00031 SCK----- mbed sck (p7) 00032 CS------ mbed (p8) // chip select 00033 (Interrupts not used) INT----- mbed (p9) // MBA give a interrupt when ready 00034 GND----- mbed GND (0 Volt) 00035 VDO----- mbed Vout (3.3 Volt) 00036 there are no additional external components used 00037 //----------------------------------------------*/ 00038 00039 /** 00040 * BMA180 triple axis, digital interface, accelerometer. 00041 */ 00042 class BMA180 { 00043 00044 public: 00045 /** 00046 * Constructor. 00047 * 00048 * @param mosi mbed pin to use for MOSI line of SPI interface. 00049 * @param miso mbed pin to use for MISO line of SPI interface. 00050 * @param sck mbed pin to use for SCK line of SPI interface. 00051 * @param cs mbed pin to use for not chip select line of SPI interface. 00052 */ 00053 BMA180(PinName mosi, PinName miso, PinName sck, PinName cs); 00054 00055 void soft_reset(void); 00056 00057 void new_data(void); 00058 void write_bits(char u); 00059 void write_reg(uint8_t address, char data); 00060 char read_reg(uint8_t address); 00061 void disable_int(void); 00062 00063 void ReadAccels_BMA180(int*); 00064 00065 //OJO, NO ESTOY SEGURO DE QUE ESTA FUNCION ESTÉ BIEN IMPLEMENTADA 00066 void AcelerometroSleep(void); //Pone el acelerometro en sleep mode para no consumir energía 00067 //OJO, NO ESTOY SEGURO DE QUE ESTA FUNCION ESTÉ BIEN IMPLEMENTADA 00068 void AcelerometroWakeUp(void); //Pone el acelerometro preparado para medir 00069 void AcelerometroLeeOffsets(int *); //Lee los valores de los 3 offsets: x, y, z 00070 void AcelerometroEscribeOffsets (char *); //Escribe los valores de los 3 offsets: x, y, z 00071 00072 private: 00073 00074 SPI spi_; 00075 DigitalOut nCS_; 00076 00077 }; 00078 00079 #endif /* BMA180_H */
Generated on Thu Jul 14 2022 18:41:53 by 1.7.2