Kallisto Linux API
Library for interacting with Kallisto devices
Bme280Thermometer Class Reference
Inheritance diagram for Bme280Thermometer:
Collaboration diagram for Bme280Thermometer:

Public Member Functions

 ~Bme280Thermometer ()
 
 Bme280Thermometer (Bme280Thermometer const &)=delete
 
void operator= (Bme280Thermometer const &)=delete
 
- Public Member Functions inherited from KallistoSensor
virtual ~KallistoSensor ()
 
 KallistoSensor (KallistoSensor const &)=delete
 
void operator= (KallistoSensor const &)=delete
 
- Public Member Functions inherited from SensorImpl
virtual ~SensorImpl ()
 
 SensorImpl (SensorImpl const &)=delete
 
 SensorImpl (SensorImpl &&)=delete
 
void operator= (SensorImpl const &)=delete
 
void operator= (SensorImpl &&)=delete
 
error::KallistoDetailedResult registerListener (std::map< std::string, const void *> parameters, SensorEventListener &listener)
 
error::KallistoDetailedResult unregisterListener (SensorEventListener &listener)
 
bool getEnabled ()
 
void onLinkLoss ()
 
error::KallistoDetailedResult onLinkRecovered ()
 
- Public Member Functions inherited from Sensor
unsigned int getHandle () const
 
std::string getName () const
 
std::string getAddress () const
 
std::string getVendor () const
 
unsigned int getVersion () const
 
SensorType getType () const
 
std::string getStringType () const
 
ReportingMode getReportingMode () const
 
unsigned int getIdentifier () const
 
float getMaximumRange () const
 
float getResolution () const
 
float getPower () const
 
std::chrono::microseconds getMinDelay () const
 
std::chrono::microseconds getMaxDelay () const
 
std::string toString ()
 
bool operator== (const Sensor &other) const
 
bool operator!= (const Sensor &other) const
 

Static Public Member Functions

static bool isAvailable (unsigned int identifier, const std::map< uint16_t, std::vector< uint8_t > > &manufacturer_data)
 
static bool isAvailable (unsigned int identifier, bluetooth::BluetoothDispatcher &bluetooth_dispatcher)
 
static std::vector< std::unique_ptr< SensorImpl > > build (std::string address, util::Executor &event_dispatcher, bluetooth::BluetoothDispatcher &bluetooth_dispatcher, TimeSynchronizer &sensor_synchronizer, const std::map< uint16_t, std::vector< uint8_t > > &manufacturer_data)
 
- Static Public Member Functions inherited from SensorImpl
static unsigned int generateHandle ()
 
static const std::string & KEY_DELAY ()
 
static unsigned char getTypeFromManufacturerData (unsigned char byte)
 
static unsigned char getIdFromManufacturerData (unsigned char byte)
 
- Static Public Member Functions inherited from Sensor
static unsigned int getValueArraySize (SensorType type)
 

Protected Member Functions

 Bme280Thermometer (std::string name, std::string address, std::string vendor, unsigned int version, SensorType type, std::string string_type, ReportingMode reporting_mode, unsigned int identifier, float max_range, float resolution, float power, std::chrono::microseconds min_delay, std::chrono::microseconds max_delay, util::Executor &event_dispatcher, bluetooth::BluetoothDispatcher &bluetooth_dispatcher, TimeSynchronizer *sensor_synchronizer)
 
std::vector< unsigned char > parseConfiguration (bool enable, std::chrono::microseconds delay)
 
std::vector< SensorEventparseData (const std::vector< unsigned char > &data)
 
- Protected Member Functions inherited from KallistoSensor
 KallistoSensor (std::string name, std::string address, std::string vendor, unsigned int version, SensorType type, std::string string_type, ReportingMode reporting_mode, unsigned int identifier, float max_range, float resolution, float power, std::chrono::microseconds min_delay, std::chrono::microseconds max_delay, util::Executor &event_dispatcher, bluetooth::BluetoothDispatcher &bluetooth_dispatcher, TimeSynchronizer *sensor_synchronizer, std::string service_uuid, std::string configuration_char_uuid, std::string data_char_uuid)
 
error::KallistoDetailedResult start (std::map< std::string, const void *> parameters, InternalSensorEventListener internal_listener)
 
error::KallistoDetailedResult update (std::map< std::string, const void *> parameters)
 
std::map< std::string, const void * > getParameters ()
 
error::KallistoDetailedResult stop (bool link_loss)
 
void onNotification (std::string address, std::string service_uuid, std::string characteristic_uuid, const std::vector< unsigned char > &values)
 
- Protected Member Functions inherited from SensorImpl
 SensorImpl (std::string name, std::string address, std::string vendor, unsigned int version, SensorType type, std::string string_type, ReportingMode reporting_mode, unsigned int identifier, float max_range, float resolution, float power, std::chrono::microseconds min_delay, std::chrono::microseconds max_delay, util::Executor &event_dispatcher, bluetooth::BluetoothDispatcher &bluetooth_dispatcher, TimeSynchronizer *sensor_synchronizer)
 
- Protected Member Functions inherited from Sensor
 Sensor (unsigned int handle, std::string name, std::string address, std::string vendor, unsigned int version, SensorType type, std::string string_type, ReportingMode reporting_mode, unsigned int identifier, float max_range, float resolution, float power, std::chrono::microseconds min_delay, std::chrono::microseconds max_delay)
 
virtual ~Sensor ()
 
 Sensor (Sensor const &)=delete
 
 Sensor (Sensor &&)=delete
 
void operator= (Sensor const &)=delete
 
void operator= (Sensor &&)=delete
 
- Protected Member Functions inherited from BluetoothDispatcher::NotificationListener
 NotificationListener ()
 
virtual ~NotificationListener ()
 
 NotificationListener (NotificationListener const &)=delete
 
 NotificationListener (NotificationListener &&)=delete
 
void operator= (NotificationListener const &)=delete
 
void operator= (NotificationListener &&)=delete
 

Additional Inherited Members

- Public Types inherited from Sensor
enum  SensorType {
  ACCELEROMETER, MAGNETIC_FIELD, GYROSCOPE, PRESSURE,
  RELATIVE_HUMIDITY, AMBIENT_TEMPERATURE, BATTERY_SOC, BATTERY_CHARGING_STATUS,
  RSSI, ANALOG, CO2_CONCENTRATION, TVOC_CONCENTRATION
}
 
enum  ReportingMode { REPORTING_MODE_CONTINUOUS, REPORTING_MODE_ON_CHANGE, REPORTING_MODE_ONE_SHOT, REPORTING_MODE_SPECIAL_TRIGGER }
 
- Protected Attributes inherited from KallistoSensor
std::string m_service_uuid
 
std::string m_configuration_char_uuid
 
std::string m_data_char_uuid
 
std::chrono::microseconds m_delay
 
InternalSensorEventListener m_listener
 
- Protected Attributes inherited from SensorImpl
bool m_link_loss
 
bluetooth::BluetoothDispatcherm_bluetooth_dispatcher
 
TimeSynchronizerm_sensor_synchronizer
 
- Protected Attributes inherited from Sensor
const unsigned int m_handle
 
const std::string m_name
 
const std::string m_address
 
const std::string m_vendor
 
const unsigned int m_version
 
const SensorType m_type
 
const std::string m_string_type
 
const ReportingMode m_reporting_mode
 
const unsigned int m_identifier
 
const float m_max_range
 
const float m_resolution
 
const float m_power
 
const std::chrono::microseconds m_min_delay
 
const std::chrono::microseconds m_max_delay
 

Constructor & Destructor Documentation

◆ Bme280Thermometer() [1/2]

Bme280Thermometer ( std::string  name,
std::string  address,
std::string  vendor,
unsigned int  version,
SensorType  type,
std::string  string_type,
ReportingMode  reporting_mode,
unsigned int  identifier,
float  max_range,
float  resolution,
float  power,
std::chrono::microseconds  min_delay,
std::chrono::microseconds  max_delay,
util::Executor event_dispatcher,
bluetooth::BluetoothDispatcher bluetooth_dispatcher,
TimeSynchronizer sensor_synchronizer 
)
protected

Constructor.

◆ ~Bme280Thermometer()

Destructor.

◆ Bme280Thermometer() [2/2]

Bme280Thermometer ( Bme280Thermometer const &  )
delete

Remove copy.

Member Function Documentation

◆ build()

static std::vector<std::unique_ptr<SensorImpl> > build ( std::string  address,
util::Executor event_dispatcher,
bluetooth::BluetoothDispatcher bluetooth_dispatcher,
TimeSynchronizer sensor_synchronizer,
const std::map< uint16_t, std::vector< uint8_t > > &  manufacturer_data 
)
static

Builds the instances of the BME280 Thermometer that exist in the device.

Parameters
addressThe MAC address of the device under discovery.
event_dispatcherSensor event dispatcher.
bluetooth_dispatcherBLE operations dispatcher.
manufacturer_dataThe advertised manufacturer data of the device. Each key represents an company ID and each value is a byte array of the service data.
Returns
A list of Sensors.

◆ isAvailable() [1/2]

static bool isAvailable ( unsigned int  identifier,
const std::map< uint16_t, std::vector< uint8_t > > &  manufacturer_data 
)
static

Checks if the Thermometer is available using the manufacturer data.

Parameters
identifierInstance of the thermometer.
manufacturer_dataThe advertised manufacturer data of the device. Each key represents an company ID and each value is a byte array of the service data.
Returns
True if the Accelerometer is present and enabled in the device.

◆ isAvailable() [2/2]

static bool isAvailable ( unsigned int  identifier,
bluetooth::BluetoothDispatcher bluetooth_dispatcher 
)
static

Checks if the Thermometer is available using characteristic data. Note: If legacy discovery is not enabled, the service list will be empty so no device will be discovered.

Parameters
identifierInstance of the thermometer.
bluetooth_dispatcherBLE operations dispatcher.
Returns
True if the Accelerometer is present and enabled in the device.

◆ operator=()

void operator= ( Bme280Thermometer const &  )
delete

Remove attribution.

◆ parseConfiguration()

std::vector<unsigned char> parseConfiguration ( bool  enable,
std::chrono::microseconds  delay 
)
protectedvirtual

Parses the passed delay into configuration to be sent to the device configuration characteristic.

Parameters
enableIf the sensor should be enabled or not.
delayThe desired delay, in microseconds.
Returns
A byte array with the configuration to be sent to the device.

Implements KallistoSensor.

◆ parseData()

std::vector<SensorEvent> parseData ( const std::vector< unsigned char > &  data)
protectedvirtual

Parses the received raw data into sensor events.

Parameters
dataThe received raw data.
Returns
An array of sensor events.

Implements KallistoSensor.


The documentation for this class was generated from the following file: