A collection of Analog Devices drivers for the mbed platform
For additional information check out the mbed page of the Analog Devices wiki: https://wiki.analog.com/resources/tools-software/mbed-drivers-all
Diff: libraries/cn0357/cn0357.h
- Revision:
- 1:c1f0670bb370
- Child:
- 3:1a8c14043a4e
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/libraries/cn0357/cn0357.h Wed Mar 30 17:35:04 2016 +0300
@@ -0,0 +1,62 @@
+/**
+* @file CN0357.h
+* @brief Header file for CN0357 toxic gas sensor shield
+* @version V0.1
+* @author ADI
+* @date March 2015
+**/
+
+#ifndef CN0357_H
+#define CN0357_H
+
+#include "mbed.h"
+#include "ad7790.h"
+#include "ad5270.h"
+
+/**
+ * @brief EVAL-CN0357 toxic gas sensor shield
+ */
+class CN0357
+{
+public:
+
+ /// CN0357 shield jumper configuration
+ typedef enum {
+ INTERNAL_AD7790 = 0, ///< The shield's AD7790 is used
+ EXTERNAL_ADC ///< Sensor analog output is routed to A1 pin of the shield
+ } JumperConfig_t;
+
+ CN0357(PinName CSAD7790=D8, PinName CSAD5270=D6, PinName MOSI=SPI_MOSI,PinName MISO=SPI_MISO,PinName SCK=SPI_SCK);
+ void init(float range, float sensitivity,JumperConfig_t jp = INTERNAL_AD7790, uint8_t mode_val = _DEFAULT_MODE_VAL, uint8_t filter_val = _DEFAULT_FILTER_VAL);
+
+ uint8_t read_adc_status(void);
+ uint16_t read_sensor(void);
+ float read_sensor_voltage(void);
+ float data_to_voltage(uint16_t data);
+ float calc_ppm(float adcVoltage);
+ float read_ppm(void);
+
+ void set_RDAC_value(float resistor_val);
+ float get_RDAC_value(void);
+ float set_sensor_parameters(float range, float sensitivity);
+ float get_sensor_range(void);
+ float get_sensor_sensitivity(void);
+
+
+ AD7790 ad7790; ///< AD7790 instance - can be used for manual overriding
+ AD5270 ad5270; ///< AD5270 instance - can be used for manual overriding
+
+private:
+ const static int _RESET = 0xff;
+ const static int _DEFAULT_MODE_VAL = 0x00;
+ const static int _DEFAULT_FILTER_VAL = 0x07;
+ float _sensor_sensitivity;
+ float _sensor_range;
+ float _RDACvalue;
+ void _rdac_init(float resistanceValue);
+ void _AD7790_init(uint8_t mode_val, uint8_t filter_val);
+
+
+};
+
+#endif // CN0357_H
CN0357 - Toxic gas measurement
CN0216 - Weight Scale