Important changes to repositories hosted on mbed.com
Mbed hosted mercurial repositories are deprecated and are due to be permanently deleted in July 2026.
To keep a copy of this software download the repository Zip archive or clone locally using Mercurial.
It is also possible to export all your personal repositories from the account settings page.
Fork of MCP342x by
Diff: mcp342x.h
- Revision:
- 1:bc877c37027c
- Parent:
- 0:78c512aa4d18
- Child:
- 2:96d9bfe25b03
--- a/mcp342x.h Fri Apr 29 16:38:37 2016 +0000
+++ b/mcp342x.h Fri Apr 29 23:53:18 2016 +0000
@@ -83,7 +83,15 @@
PGA_4X, /**< Gain 4x. */
PGA_8X, /**< Gain 8x. */
} PgaSetting;
-
+
+ /**
+ * AD result data.
+ */
+ typedef struct {
+ DataStatus st;
+ int16_t value;
+ } Data;
+
/**
* Constructor.
*
@@ -145,16 +153,10 @@
PgaSetting getPgaSetting();
/**
- * Checks availability of new data.
- * @return Returns true if new data is available. Returns false if no new data is available.
- */
- bool isNewDataAvailable();
-
- /**
* Gets the AD value.
* @return AD value.
*/
- int16_t getValue();
+ Status getData(Data *pt);
/**
* Trigger AD conversion.
@@ -170,18 +172,24 @@
private:
typedef struct {
- DataStatus dataStatus;
- ConversionMode conversionMode;
- SampleSetting sampleSetting;
- AdcChannel adcChannel;
- PGASetting pgaSetting;
+ MeasurementTrigger measurementTrigger;
+ DataStatus dataStatus;
+ ConversionMode conversionMode;
+ SampleSetting sampleSetting;
+ AdcChannel adcChannel;
+ PgaSetting pgaSetting;
} Config;
I2C *connection; /**< Pointer to an I2C object. */
uint8_t slaveAddress; /**< Slave address. */
- uint8_t dataBuffer[3]; /**< Data buffer including configuration register. */
- uint8_t Config config; /**< Stores the latest configuration. */
+ Config currentConfig; /**< Stores the latest configuration. */
+
+ /**
+ * Initialize this device.
+ * @return SUCCESS when succeeded. Other value will be returned when error.
+ */
+ Status init();
/**
* Reads the data registers including the configuration register.
@@ -189,7 +197,7 @@
* @param currentConfig Pointer to the structure which stores the current configuration.
* @return SUCCESS when succeeded. Other value will be returned when error.
*/
- Status readData(int16_t *val, Config *currentConfig);
+ Status readData(int16_t *val, Config *config);
/**
* Sets the configuration register.
@@ -197,6 +205,13 @@
* @return SUCCESS when succeeded. Other value will be returned when error.
*/
Status setConfig(const Config *config);
+
+ /**
+ * Decodes a configuration register value and put them into the specified Config structure.
+ * @param config Pointer to a Config structure to store the result.
+ * @param regVal Register value of the configuration register.
+ */
+ void decodeConfigurationRegister(Config *config, uint8_t regVal);
};
#endif
