Skip to content

Instantly share code, notes, and snippets.

@pcaddict
Created January 17, 2019 03:08
Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save pcaddict/a1f57a13ba38b455bb814d6985a8d645 to your computer and use it in GitHub Desktop.
Save pcaddict/a1f57a13ba38b455bb814d6985a8d645 to your computer and use it in GitHub Desktop.
How to handle multiple types as function parameter
//template<typename T>struct bme280_data
//{
// T pressure;
// T temperature;
// T humidity;
//};
struct bme280_data_float
{
float pressure;
float temperature;
float humidity;
};
struct bme280_data
{
uint32_t pressure;
int32_t temperature;
uint32_t humidity;
};
//template<>struct bme280_data<int32_t>
//{
// uint32_t pressure;
// int32_t temperature;
// uint32_t humidity;
//};
ret_code_t getSensorData(SensorComponents components, bme280_data &sensorReadings, bool forcedMeasurement);
ret_code_t getSensorDataFloat(SensorComponents components, bme280_data_float &sensorReadings, bool forcedMeasurement);
void compensateData(SensorComponents components, const bme280_uncomp_data &p_ucomp_data, bme280_data &comp_data);
void compensateData(SensorComponents components, const bme280_uncomp_data &p_ucomp_data, bme280_data_float &comp_data);
int32_t compensateTemperature(const bme280_uncomp_data &p_ucomp_data);
float compensateTemperatureFloat(const bme280_uncomp_data &p_ucomp_data);
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment