Juan Salazar / robotic_fish_7

Dependencies:   mbed ESC mbed MODDMA

Embed: (wiki syntax)

« Back to documentation index

Show/hide line numbers MS5837.h Source File

MS5837.h

00001 #include "mbed.h"
00002 
00003 #ifndef MS5837_H
00004 #define MS5837_H
00005 
00006 #define MS5837_RX_DEPTH 3 //
00007 #define MS5837_TX_DEPTH 2 //
00008 
00009 // choose your connection here
00010 #define ms5837_addr_no_CS  0x76 //0b1110110
00011 
00012 #define ms5837_reset       0x1E // Sensor Reset
00013 
00014 #define ms5837_convD1_256  0x40 // Convert D1 OSR 256
00015 #define ms5837_convD1_512  0x42 // Convert D1 OSR 512
00016 #define ms5837_convD1_1024 0x44 // Convert D1 OSR 1024
00017 #define ms5837_convD1_2048 0x46 // Convert D1 OSR 2048
00018 #define ms5837_convD1_4096 0x48 // Convert D1 OSR 4096
00019 #define ms5837_convD1_8192 0x4A // Convert D1 OSR 8192
00020 
00021 #define ms5837_convD1 ms5837_convD1_4096 // choose your sampling rate here
00022 
00023 #define ms5837_convD2_256  0x50 // Convert D2 OSR  256
00024 #define ms5837_convD2_512  0x52 // Convert D2 OSR  512
00025 #define ms5837_convD2_1024 0x54 // Convert D2 OSR 1024
00026 #define ms5837_convD2_2048 0x56 // Convert D2 OSR 2048
00027 #define ms5837_convD2_4096 0x58 // Convert D2 OSR 4096
00028 #define ms5837_convD2_8192 0x5A // Convert D2 OSR 8192
00029 
00030 #define ms5837_convD2 ms5837_convD2_4096 // choose your sampling rate here
00031 
00032 #define ms5837_ADCread     0x00 // read ADC command
00033 #define ms5837_PROMread    0xA0 // read PROM command base address
00034 
00035 class MS5837{
00036 private:
00037     int D1, D2, Temp, C[8];
00038     float T_MS5837, P_MS5837;
00039     /* Data buffers */
00040     char ms5837_rx_data[MS5837_RX_DEPTH];
00041     char ms5837_tx_data[MS5837_TX_DEPTH];
00042 
00043 public:
00044     MS5837 (PinName sda, PinName scl,
00045             char ms5837_addr = ms5837_addr_no_CS  )
00046             : i2c( sda, scl ), device_address( ms5837_addr << 1 ) {
00047     }
00048     void MS5837Init(void);
00049     void MS5837Reset(void);
00050     void MS5837ReadProm(void);
00051     void MS5837ConvertD1(void);
00052     void MS5837ConvertD2(void);
00053     int32_t MS5837ReadADC(void);
00054     float MS5837_Pressure (void);
00055     float MS5837_Temperature (void);
00056     void Barometer_MS5837(void);
00057 
00058 
00059 private:
00060     I2C     i2c;
00061     char    device_address;
00062 
00063 };
00064 #endif