mhz16: Split the getData(int* gas, int *temp) function into two separate functions and updated the C++ an Java examples

Signed-off-by: Stefan Andritoiu <stefan.andritoiu@intel.com>
Signed-off-by: Mihai Tudor Panu <mihai.tudor.panu@intel.com>
This commit is contained in:
Stefan Andritoiu
2015-11-10 13:44:42 +02:00
committed by Mihai Tudor Panu
parent f8a105adbf
commit 7f7fdb8441
4 changed files with 45 additions and 19 deletions

View File

@ -183,7 +183,7 @@ bool MHZ16::verifyPacket(uint8_t *pkt, int len)
return true;
}
bool MHZ16::getData(int *gas, int *temp)
bool MHZ16::getData()
{
// the query command
const unsigned char cmd[9] =
@ -214,12 +214,22 @@ bool MHZ16::getData(int *gas, int *temp)
verifyPacket(packet, sizeof(packet));
// pull out the data and return it.
*gas = (packet[2] << 8) | packet[3];
*temp = packet[4] - 40;
gas = (packet[2] << 8) | packet[3];
temp = packet[4] - 40;
return true;
}
int MHZ16::getGas()
{
return gas;
}
int MHZ16::getTemperature()
{
return temp;
}
void MHZ16::calibrateZeroPoint()
{
// the query command

View File

@ -135,14 +135,27 @@ namespace upm {
bool verifyPacket(uint8_t *pkt, int len);
/**
* Queries the sensor and returns gas (CO2) concentration and
* Queries the sensor and gets the gas (CO2) concentration and
* temperature data.
* Should be called before other "get" functions.
*
* @param gas Returned gas concentration
* @param temp Returned temperature in Celsius
* @return True if successful
*/
bool getData(int *gas, int *temp);
bool getData();
/**
* Returns the gas (CO2) concentration data.
*
* @return Gas concentration
*/
int getGas();
/**
* Returns the temperature data.
*
* @return Temperature in Celsius
*/
int getTemperature();
/**
* Sets the zero point of the sensor
@ -156,6 +169,8 @@ namespace upm {
private:
mraa_uart_context m_uart;
int m_ttyFd;
int gas;
int temp;
};
}