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/cn0216/CN0216.h
- Revision:
- 17:b8356808e8ad
- Parent:
- 13:66c8e4ce4ff1
- Child:
- 18:7d35420ff4aa
--- a/libraries/cn0216/CN0216.h Fri Apr 29 17:16:55 2016 +0300 +++ b/libraries/cn0216/CN0216.h Fri Apr 29 17:34:07 2016 +0300 @@ -8,33 +8,32 @@ class CN0216 { public: - typedef enum - { - ZERO_SCALE_CALIBRATION, - FULL_SCALE_CALIBRATION, - COMPUTE_GRAM_PER_BIT - } CalibrationStep_t; + typedef enum { + ZERO_SCALE_CALIBRATION, ///< Calibration of the zero scale value + FULL_SCALE_CALIBRATION, ///< Calibration of the full scale value + COMPUTE_UNITS_PER_BIT ///< Units per LSB computation + } CalibrationStep_t; - CN0216(PinName CSAD7791 = D8, PinName MOSI = SPI_MOSI, PinName MISO = SPI_MISO, PinName SCK = SPI_SCK); - void init(float cal_weight = _DEFAULT_CAL_WEIGHT, uint8_t mode_val = _DEFAULT_MODE_VAL, uint8_t filter_val = _DEFAULT_FILTER_VAL); - void calibrate(CalibrationStep_t cal); - float compute_weight(uint32_t data); - uint32_t read_u32(); - float read_weight() ; + CN0216(PinName CSAD7791 = D8, PinName MOSI = SPI_MOSI, PinName MISO = SPI_MISO, PinName SCK = SPI_SCK); + void init(float cal_weight = _DEFAULT_CAL_WEIGHT, uint8_t mode_val = _DEFAULT_MODE_VAL, uint8_t filter_val = _DEFAULT_FILTER_VAL); + void calibrate(CalibrationStep_t cal); + float compute_weight(uint32_t data); + uint32_t read_u32(); + float read_weight(); private: - const static int _DEFAULT_MODE_VAL = AD7791::MD1 | AD7791::MD0; // POWERDOWN MODE - const static int _DEFAULT_FILTER_VAL = AD7791::FS0 | AD7791::FS1 | AD7791::FS2; - const static int _NUMBER_OF_SAMPLES = 50; - const static int _DEFAULT_CAL_WEIGHT = 1000.0; + const static int _NUMBER_OF_SAMPLES = 20; ///< Number of samples used in calibration + const static int _DEFAULT_MODE_VAL = AD7791::MD1 | AD7791::MD0; // POWERDOWN MODE + const static int _DEFAULT_FILTER_VAL = AD7791::FS0 | AD7791::FS1 | AD7791::FS2; + const static int _DEFAULT_CAL_WEIGHT = 1000.0; - AD7791 ad7791; - float _cal_weight; - uint32_t _zero_scale_value; - uint32_t _full_scale_value; - float _grams_per_bit; - + AD7791 ad7791; + float _cal_weight; + uint32_t _zero_scale_value; + uint32_t _full_scale_value; + float _weight_units_per_bit; + }; #endif