Telematics SDK - Interface Specification
v1.37.0
|
Data Structures | |
class | telux::therm::ThermalFactory |
ThermalFactory allows creation of thermal manager. More... | |
struct | telux::therm::BoundCoolingDevice |
class | telux::therm::IThermalManager |
IThermalManager provides interface to get thermal zone and cooling device information. More... | |
class | telux::therm::ITripPoint |
ITripPoint provides interface to get trip point type, trip point temperature and hysteresis value for that trip point. More... | |
class | telux::therm::IThermalZone |
IThermalZone provides interface to get type of the sensor, the current temperature reading, trip points and the cooling devices binded etc. More... | |
class | telux::therm::ICoolingDevice |
ICoolingDevice provides interface to get type of the cooling device, the maximum throttle state and the currently requested throttle state of the cooling device. More... | |
class | telux::therm::IThermalShutdownListener |
Listener class for getting notifications when automatic thermal shutdown mode is enabled/ disabled or will be enabled imminently. The client needs to implement these methods as briefly as possible and avoid blocking calls in it. The methods in this class can be invoked from multiple different threads. Client needs to make sure that the implementation is thread-safe. More... | |
class | telux::therm::IThermalShutdownManager |
IThermalShutdownManager class provides interface to enable/disable automatic thermal shutdown. Additionally it facilitates to register for notifications when the automatic shutdown mode changes. More... | |
Typedefs | |
using | telux::therm::GetAutoShutdownModeResponseCb = std::function< void(AutoShutdownMode mode)> |
Variables | |
const uint32_t | telux::therm::DEFAULT_TIMEOUT = 30 |
This section contains APIs related to Thermal Management such as read list of thermal zones, cooling devices and binding info.
This section contains APIs related to Thermal Shutdown Management such as set/get thermal auto-shutdown mode, receive notifications on every auto-shutdown update.
class telux::therm::ThermalFactory |
ThermalFactory allows creation of thermal manager.
Public Member Functions | |
std::shared_ptr< IThermalManager > | getThermalManager () |
std::shared_ptr < IThermalShutdownManager > | getThermalShutdownManager () |
Static Public Member Functions | |
static ThermalFactory & | getInstance () |
|
static |
Get Thermal Factory instance.
std::shared_ptr<IThermalManager> telux::therm::ThermalFactory::getThermalManager | ( | ) |
Get thermal manager instance to get list of thermal zones (sensors) and cooling devices supported by the device
std::shared_ptr<IThermalShutdownManager> telux::therm::ThermalFactory::getThermalShutdownManager | ( | ) |
Get thermal shutdown manager instance to control automatic thermal shutdown and get relevant notifications
struct telux::therm::BoundCoolingDevice |
Defines the trip points to which cooling device is bound.
Data Fields | ||
---|---|---|
int | coolingDeviceId |
Cooling device Id associated with trip points |
vector< shared_ptr< ITripPoint > > | bindingInfo |
List of trippoints bound to the cooling device |
class telux::therm::IThermalManager |
IThermalManager provides interface to get thermal zone and cooling device information.
Public Member Functions | |
virtual std::vector < std::shared_ptr < IThermalZone > > | getThermalZones ()=0 |
virtual std::vector < std::shared_ptr < ICoolingDevice > > | getCoolingDevices ()=0 |
virtual std::shared_ptr < IThermalZone > | getThermalZone (int thermalZoneId)=0 |
virtual std::shared_ptr < ICoolingDevice > | getCoolingDevice (int coolingDeviceId)=0 |
virtual | ~IThermalManager () |
|
virtual |
Destructor of IThermalManager
|
pure virtual |
Retrieves the list of thermal zone info like type, temperature and trip points.
|
pure virtual |
Retrieves the list of thermal cooling device info like type, maximum throttle state and currently requested throttle state.
|
pure virtual |
Retrieves the thermal zone details like temperature, type and trip point info for the given thermal zone identifier.
[in] | thermalZoneId | Thermal zone identifier |
|
pure virtual |
Retrieves the cooling device details like type of the device, maximum cooling level and current cooling level for the given cooling device identifier.
[in] | coolingDeviceId | Cooling device identifier |
class telux::therm::ITripPoint |
ITripPoint provides interface to get trip point type, trip point temperature and hysteresis value for that trip point.
Public Member Functions | |
virtual TripType | getType ()=0 |
virtual int | getThresholdTemp ()=0 |
virtual int | getHysteresis ()=0 |
virtual | ~ITripPoint () |
|
virtual |
Destructor of ITripPoint
|
pure virtual |
Retrieves trip point type.
|
pure virtual |
Retrieves the temperature above which certain trip point will be fired.
|
pure virtual |
Retrieves hysteresis value that is the difference between current temperature of the device and the temperature above which certain trip point will be fired. Units: MilliDegree Celsius
class telux::therm::IThermalZone |
IThermalZone provides interface to get type of the sensor, the current temperature reading, trip points and the cooling devices binded etc.
Public Member Functions | |
virtual int | getId ()=0 |
virtual std::string | getDescription ()=0 |
virtual int | getCurrentTemp ()=0 |
virtual int | getPassiveTemp ()=0 |
virtual std::vector < std::shared_ptr< ITripPoint > > | getTripPoints ()=0 |
virtual std::vector < BoundCoolingDevice > | getBoundCoolingDevices ()=0 |
virtual | ~IThermalZone () |
|
virtual |
Destructor of IThermalZone
|
pure virtual |
Retrieves the identifier for thermal zone.
|
pure virtual |
Retrieves the type of sensor.
|
pure virtual |
Retrieves the current temperature of the device. Units: MilliDegree Celsius
|
pure virtual |
Retrieves the temperature of passive trip point for the zone. Default value is 0. Valid values: 0 (disabled) or greater than 1000 (enabled), Units: MilliDegree Celsius
|
pure virtual |
Retrieves trip point information like trip type, trip temperature and hysteresis.
|
pure virtual |
Retrieves the list of cooling device and the associated trip points bound to cooling device in given thermal zone.
class telux::therm::ICoolingDevice |
ICoolingDevice provides interface to get type of the cooling device, the maximum throttle state and the currently requested throttle state of the cooling device.
Public Member Functions | |
virtual int | getId ()=0 |
virtual std::string | getDescription ()=0 |
virtual int | getMaxCoolingLevel ()=0 |
virtual int | getCurrentCoolingLevel ()=0 |
virtual | ~ICoolingDevice () |
|
virtual |
Destructor of ICoolingDevice
|
pure virtual |
Retrieves the identifier of the thermal cooling device.
|
pure virtual |
Retrieves the type of the cooling device.
|
pure virtual |
Retrieves the maximum cooling level of the cooling device.
|
pure virtual |
Retrieves the current cooling level of the cooling device. This value can be between 0 and max cooling level. Max cooling level is different for different cooling devices like fan, processor etc.
class telux::therm::IThermalShutdownListener |
Listener class for getting notifications when automatic thermal shutdown mode is enabled/ disabled or will be enabled imminently. The client needs to implement these methods as briefly as possible and avoid blocking calls in it. The methods in this class can be invoked from multiple different threads. Client needs to make sure that the implementation is thread-safe.
Public Member Functions | |
virtual void | onShutdownEnabled () |
virtual void | onShutdownDisabled () |
virtual void | onImminentShutdownEnablement (uint32_t imminentDuration) |
virtual | ~IThermalShutdownListener () |
Public Member Functions inherited from telux::common::IServiceStatusListener | |
virtual void | onServiceStatusChange (ServiceStatus status) |
virtual | ~IServiceStatusListener () |
|
virtual |
Destructor of IThermalShutdownListener
|
virtual |
This function is called when the automatic shutdown mode changes to ENABLE
|
virtual |
This function is called when the automatic shutdown mode changes to DISABLE
|
virtual |
This function is called when the automatic shutdown mode is about to change to ENABLE. Clients that want to keep the shutdown mode disabled, needs to set it accordingly with in the imminentDuration time. If disabled successfully within imminentDuration time, the system timer for auto-enablement will be reset.
[in] | imminentDuration | Time elapsed(in seconds) for the shutdown mode to be enabled |
class telux::therm::IThermalShutdownManager |
IThermalShutdownManager class provides interface to enable/disable automatic thermal shutdown. Additionally it facilitates to register for notifications when the automatic shutdown mode changes.
Public Member Functions | |
virtual bool | isReady ()=0 |
virtual std::future< bool > | onReady ()=0 |
virtual telux::common::Status | registerListener (std::weak_ptr< IThermalShutdownListener > listener)=0 |
virtual telux::common::Status | deregisterListener (std::weak_ptr< IThermalShutdownListener > listener)=0 |
virtual telux::common::Status | setAutoShutdownMode (AutoShutdownMode mode, telux::common::ResponseCallback callback=nullptr, uint32_t timeout=DEFAULT_TIMEOUT)=0 |
virtual telux::common::Status | getAutoShutdownMode (GetAutoShutdownModeResponseCb callback)=0 |
virtual | ~IThermalShutdownManager () |
|
virtual |
Destructor of IThermalShutdownManager
|
pure virtual |
Checks the status of thermal shutdown management service and if the other APIs are ready for use and returns the result.
|
pure virtual |
Wait for thermal shutdown management service to be ready.
|
pure virtual |
Register a listener for updates on automatic shutdown mode changes
[in] | listener | Pointer of IThermalShutdownListener object that processes the notification |
|
pure virtual |
Remove a previously registered listener.
[in] | listener | Previously registered IThermalShutdownListener that needs to be removed |
|
pure virtual |
Set automatic thermal shutdown mode. When set to DISABLE mode successfully, it remains in DISABLE mode briefly and automatically changes to ENABLE mode after notifying the clients.
[in] | mode | desired AutoShutdownMode to be set |
[in] | callback | Optional callback to get the response of the command |
[in] | timeout | Optional timeout(in seconds) for which auto-shutdown remains disabled. |
|
pure virtual |
Get automatic thermal shutdown mode.
[in] | callback | GetAutoShutdownModeResponseCb to get response of the request |
using telux::therm::GetAutoShutdownModeResponseCb = typedef std::function<void(AutoShutdownMode mode)> |
This function is called with the response to getAutoShutdownMode API.
The callback can be invoked from multiple different threads. The implementation should be thread safe.
[in] | mode | AutoShutdownMode |
|
strong |
|
strong |
Defines the type of trip points, it can be one of the values for ACPI (Advanced Configuration and Power Interface) thermal zone
const uint32_t telux::therm::DEFAULT_TIMEOUT = 30 |
Default time out (in seconds) for thermal auto-shutdown service to re-enable thermal auto-shutdown.