PX4 Firmware
PX4 Autopilot Software http://px4.io
MS5611.hpp File Reference
#include <drivers/device/i2c.h>
#include <drivers/device/device.h>
#include <drivers/device/ringbuffer.h>
#include <drivers/device/spi.h>
#include <drivers/drv_baro.h>
#include <lib/cdev/CDev.hpp>
#include <lib/perf/perf_counter.h>
#include <px4_platform_common/getopt.h>
#include <px4_platform_common/px4_work_queue/ScheduledWorkItem.hpp>
#include <systemlib/err.h>
#include <uORB/uORB.h>
#include "ms5611.h"
Include dependency graph for MS5611.hpp:
This graph shows which files directly or indirectly include this file:

Go to the source code of this file.

Classes

class  MS5611
 

Macros

#define INCREMENT(_x, _lim)   do { __typeof__(_x) _tmp = _x+1; if (_tmp >= _lim) _tmp = 0; _x = _tmp; } while(0)
 
#define POW2(_x)   ((_x) * (_x))
 
#define ADDR_CMD_CONVERT_D1_OSR256   0x40 /* write to this address to start pressure conversion */
 
#define ADDR_CMD_CONVERT_D1_OSR512   0x42 /* write to this address to start pressure conversion */
 
#define ADDR_CMD_CONVERT_D1_OSR1024   0x44 /* write to this address to start pressure conversion */
 
#define ADDR_CMD_CONVERT_D1_OSR2048   0x46 /* write to this address to start pressure conversion */
 
#define ADDR_CMD_CONVERT_D1_OSR4096   0x48 /* write to this address to start pressure conversion */
 
#define ADDR_CMD_CONVERT_D2_OSR256   0x50 /* write to this address to start temperature conversion */
 
#define ADDR_CMD_CONVERT_D2_OSR512   0x52 /* write to this address to start temperature conversion */
 
#define ADDR_CMD_CONVERT_D2_OSR1024   0x54 /* write to this address to start temperature conversion */
 
#define ADDR_CMD_CONVERT_D2_OSR2048   0x56 /* write to this address to start temperature conversion */
 
#define ADDR_CMD_CONVERT_D2_OSR4096   0x58 /* write to this address to start temperature conversion */
 
#define ADDR_CMD_CONVERT_D1   ADDR_CMD_CONVERT_D1_OSR1024
 
#define ADDR_CMD_CONVERT_D2   ADDR_CMD_CONVERT_D2_OSR1024
 
#define MS5611_CONVERSION_INTERVAL   10000 /* microseconds */
 
#define MS5611_MEASUREMENT_RATIO   3 /* pressure measurements per temperature measurement */
 
#define MS5611_BARO_DEVICE_PATH_EXT   "/dev/ms5611_ext"
 
#define MS5611_BARO_DEVICE_PATH_INT   "/dev/ms5611_int"
 

Enumerations

enum  MS56XX_DEVICE_TYPES { MS56XX_DEVICE = 0, MS5611_DEVICE = 5611, MS5607_DEVICE = 5607 }
 

Macro Definition Documentation

◆ ADDR_CMD_CONVERT_D1

#define ADDR_CMD_CONVERT_D1   ADDR_CMD_CONVERT_D1_OSR1024

Definition at line 82 of file MS5611.hpp.

Referenced by MS5611::measure().

◆ ADDR_CMD_CONVERT_D1_OSR1024

#define ADDR_CMD_CONVERT_D1_OSR1024   0x44 /* write to this address to start pressure conversion */

Definition at line 67 of file MS5611.hpp.

◆ ADDR_CMD_CONVERT_D1_OSR2048

#define ADDR_CMD_CONVERT_D1_OSR2048   0x46 /* write to this address to start pressure conversion */

Definition at line 68 of file MS5611.hpp.

◆ ADDR_CMD_CONVERT_D1_OSR256

#define ADDR_CMD_CONVERT_D1_OSR256   0x40 /* write to this address to start pressure conversion */

Definition at line 65 of file MS5611.hpp.

◆ ADDR_CMD_CONVERT_D1_OSR4096

#define ADDR_CMD_CONVERT_D1_OSR4096   0x48 /* write to this address to start pressure conversion */

Definition at line 69 of file MS5611.hpp.

◆ ADDR_CMD_CONVERT_D1_OSR512

#define ADDR_CMD_CONVERT_D1_OSR512   0x42 /* write to this address to start pressure conversion */

Definition at line 66 of file MS5611.hpp.

◆ ADDR_CMD_CONVERT_D2

#define ADDR_CMD_CONVERT_D2   ADDR_CMD_CONVERT_D2_OSR1024

Definition at line 83 of file MS5611.hpp.

Referenced by MS5611::measure().

◆ ADDR_CMD_CONVERT_D2_OSR1024

#define ADDR_CMD_CONVERT_D2_OSR1024   0x54 /* write to this address to start temperature conversion */

Definition at line 72 of file MS5611.hpp.

◆ ADDR_CMD_CONVERT_D2_OSR2048

#define ADDR_CMD_CONVERT_D2_OSR2048   0x56 /* write to this address to start temperature conversion */

Definition at line 73 of file MS5611.hpp.

◆ ADDR_CMD_CONVERT_D2_OSR256

#define ADDR_CMD_CONVERT_D2_OSR256   0x50 /* write to this address to start temperature conversion */

Definition at line 70 of file MS5611.hpp.

◆ ADDR_CMD_CONVERT_D2_OSR4096

#define ADDR_CMD_CONVERT_D2_OSR4096   0x58 /* write to this address to start temperature conversion */

Definition at line 74 of file MS5611.hpp.

◆ ADDR_CMD_CONVERT_D2_OSR512

#define ADDR_CMD_CONVERT_D2_OSR512   0x52 /* write to this address to start temperature conversion */

Definition at line 71 of file MS5611.hpp.

◆ INCREMENT

#define INCREMENT (   _x,
  _lim 
)    do { __typeof__(_x) _tmp = _x+1; if (_tmp >= _lim) _tmp = 0; _x = _tmp; } while(0)

Definition at line 57 of file MS5611.hpp.

◆ MS5611_BARO_DEVICE_PATH_EXT

#define MS5611_BARO_DEVICE_PATH_EXT   "/dev/ms5611_ext"

Definition at line 92 of file MS5611.hpp.

◆ MS5611_BARO_DEVICE_PATH_INT

#define MS5611_BARO_DEVICE_PATH_INT   "/dev/ms5611_int"

Definition at line 93 of file MS5611.hpp.

◆ MS5611_CONVERSION_INTERVAL

#define MS5611_CONVERSION_INTERVAL   10000 /* microseconds */

Definition at line 90 of file MS5611.hpp.

Referenced by MS5611::init(), MS5611::ioctl(), MS5611::read(), and MS5611::Run().

◆ MS5611_MEASUREMENT_RATIO

#define MS5611_MEASUREMENT_RATIO   3 /* pressure measurements per temperature measurement */

Definition at line 91 of file MS5611.hpp.

Referenced by MS5611::collect().

◆ POW2

#define POW2 (   _x)    ((_x) * (_x))

Definition at line 60 of file MS5611.hpp.

Enumeration Type Documentation

◆ MS56XX_DEVICE_TYPES

Enumerator
MS56XX_DEVICE 
MS5611_DEVICE 
MS5607_DEVICE 

Definition at line 50 of file MS5611.hpp.