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

Public Member Functions

 ~BatteryChargingSensor ()
 
 BatteryChargingSensor (BatteryChargingSensor const &)=delete
 
void operator= (BatteryChargingSensor 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, 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

 BatteryChargingSensor (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)
 
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 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

◆ BatteryChargingSensor() [1/2]

BatteryChargingSensor ( 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 
)
protected

Constructor.

◆ ~BatteryChargingSensor()

Destructor.

◆ BatteryChargingSensor() [2/2]

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,
const std::map< uint16_t, std::vector< uint8_t > > &  manufacturer_data 
)
static

Builds the instances of the Battery Charging sensor 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.

◆ getParameters()

std::map<std::string, const void*> getParameters ( )
protectedvirtual

Get the current configured parameters.

Returns
The current configured parameter map.

Implements SensorImpl.

◆ isAvailable() [1/2]

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

Checks if the Battery Charging sensor is available using the manufacturer data.

Parameters
identifierInstance of the battery SoC sensor.
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 Battery Charging sensor 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 battery SoC sensor.
bluetooth_dispatcherBLE operations dispatcher.
Returns
True if the Accelerometer is present and enabled in the device.

◆ onNotification()

void onNotification ( std::string  address,
std::string  service_uuid,
std::string  characteristic_uuid,
const std::vector< unsigned char > &  values 
)
protectedvirtual

Called when there is a new notification of a characteristic.

Parameters
addressThe mac address of the device that generated this event.
serviceUuidThe UUID of the service that contains the characteristic that generated this event.
characteristicUuidThe UUID of the characteristic that generated this event.
valuesA byte buffer with the new values of the characteristics.

Implements BluetoothDispatcher::NotificationListener.

◆ operator=()

void operator= ( BatteryChargingSensor const &  )
delete

Remove attribution.

◆ start()

error::KallistoDetailedResult start ( std::map< std::string, const void *>  parameters,
InternalSensorEventListener  internal_listener 
)
protectedvirtual

Called when the sensor should be enabled and start reporting data.

See also
registerListener for parameter informations.
Parameters
parametersMap of abstract parameters. The map follows a key/value structure where the key determines how the object should be parsed.
internal_listenerAll sensor events should be sent to this listener.
Returns
A detailed result.

Implements SensorImpl.

◆ stop()

error::KallistoDetailedResult stop ( bool  link_loss)
protectedvirtual

Called when the sensor should be disabled and stop reporting data.

Parameters
link_lossTrue if the device is in link loss and there is no BLE connection. Should only clear data in this case. If it is false, BLE communication can be conducted to disable the sensor in the peripheral side.
Returns
A detailed result.

Implements SensorImpl.

◆ update()

error::KallistoDetailedResult update ( std::map< std::string, const void *>  parameters)
protectedvirtual

Called when when the sensor is already enabled and should update its' configurations.

See also
registerListener for parameter informations.
Parameters
parametersMap of abstract parameters. The map follows a key/value structure where the key determines how the object should be parsed.
Returns
A detailed result.

Implements SensorImpl.


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