Telematics SDK - API Reference
v1.63.6
|
Data Structures | |
class | telux::therm::ThermalFactory |
ThermalFactory allows creation of thermal manager. More... | |
class | telux::therm::IThermalListener |
Listener class for getting notifications when thermal service status changes. 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... | |
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... | |
Typedefs | |
using | telux::therm::ThermalNotificationMask = std::bitset< 16 > |
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.
class telux::therm::ThermalFactory |
ThermalFactory allows creation of thermal manager.
Public Member Functions | |
virtual std::shared_ptr< IThermalManager > | getThermalManager (telux::common::InitResponseCb callback=nullptr, telux::common::ProcType operType=telux::common::ProcType::LOCAL_PROC)=0 |
virtual std::shared_ptr< IThermalShutdownManager > | getThermalShutdownManager (telux::common::InitResponseCb callback=nullptr)=0 |
Static Public Member Functions | |
static ThermalFactory & | getInstance () |
|
static |
Get Thermal Factory instance.
|
pure virtual |
Get thermal manager instance associated with a telux::common::ProcType to get list of thermal zones (sensors) and cooling devices supported by the device
On platforms with Access control enabled, Caller needs to have TELUX_THERM_DATA_READ permission to invoke this API successfully.
[in] | callback | Optional callback pointer to get the response of the manager initialization. |
[in] | oprType | Operation type telux::common::ProcType. Local operation type fetches the thermal zones information where the application is running. Remote operation type fetches the thermal zones information of modem if the application is running on external application processor(EAP) and vice versa. |
|
pure virtual |
Get thermal shutdown manager instance to control automatic thermal shutdown and get relevant notifications
On platforms with Access control enabled, Caller needs to have TELUX_THERM_SHUTDOWN_CTRL permission to invoke this API successfully.
[in] | callback | Optional callback pointer to get the response of the manager initialization. |
class telux::therm::IThermalListener |
Listener class for getting notifications when thermal service status changes. 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 | ~IThermalListener () |
virtual void | onCoolingDeviceLevelChange (std::shared_ptr< ICoolingDevice > coolingDevice) |
virtual void | onTripEvent (std::shared_ptr< ITripPoint > tripPoint, TripEvent tripEvent) |
![]() | |
virtual void | onServiceStatusChange (ServiceStatus status) |
virtual | ~IServiceStatusListener () |
|
virtual |
Destructor of IThermalListener
|
virtual |
This function is called at the time of cooling device level update. On platforms with Access control enabled, the client needs to have TELUX_THERM_DATA_READ permission to receive this event.
[in] | coolingDevice | - vector of cooling device for which the level has been updated. |
|
virtual |
This function is called at the time of trip event occurs. On platforms with Access control enabled, the client needs to have TELUX_THERM_DATA_READ permission to receive this event.
[in] | tripInfo | - Vector of the trip point for which trip event has been occured. |
[in] | tripEvent | - Indicates trip event.
|
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 telux::common::ServiceStatus | getServiceStatus ()=0 |
virtual telux::common::Status | registerListener (std::weak_ptr< IThermalListener > listener, ThermalNotificationMask mask=0xFFFF)=0 |
virtual telux::common::Status | deregisterListener (std::weak_ptr< IThermalListener > listener, ThermalNotificationMask mask=0xFFFF)=0 |
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 |
This status indicates whether the object is in a usable state.
|
pure virtual |
Registers the listener for Thermal Manager indications.
[in] | listener | - pointer to implemented listener. |
[in] | mask | - Bit mask representing a set of notifications that needs to be registered - ThermalNotificationType Notifications under IThermalListener that are not listed in ThermalNotificationType would always be registered by default when this API is invoked. In the absence of this optional parameter, all the notifications will be registered. Bits that are not set in the mask are ignored and do not have any effect on registration or deregistration. To deregister, the API deregisterListener should be used. For Example: API invoked with mask: 0x0001 enables onTripEvent notification, next invocation with mask: 0x0002 enables onCoolingDeviceLevelUpdate notification and previous registration for onTripEvent remains intact. |
|
pure virtual |
Deregisters the previously registered listener.
[in] | listener | - pointer to registered listener that needs to be removed. |
[in] | mask | - Bit mask that denotes a set of notifications that needs to be de-registered - ThermalNotificationType Notifications under IThermalListener that are not listed in ThermalNotificationType would not be de-registered by default. If the client does not specifies mask or sets all the bits, this API de-registers all the notifications. Bits that are not set in the mask are ignored and do not have any effect on registration or deregistration,To register, the API registerListener should be used. For Example: API invoked with mask: 0x0001 disables onTripEvent notification, next invocation with mask: 0x0002 disables onCoolingDeviceLevelUpdate notification. mask: 0x0000 is invalid options and API invoked with mask 0x0000 will be ignored. |
|
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 () const =0 |
virtual int | getThresholdTemp () const =0 |
virtual int | getHysteresis () const =0 |
virtual int | getTripId () const =0 |
virtual int | getTZoneId () const =0 |
virtual bool | operator== (const ITripPoint &rHs) const =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
|
pure virtual |
Retrieves the identifier for trip point.
|
pure virtual |
Retrieves associated tzone id for a trip point.
|
pure virtual |
Operator for compare two trip points
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 () const =0 |
virtual std::string | getDescription () const =0 |
virtual int | getCurrentTemp () const =0 |
virtual int | getPassiveTemp () const =0 |
virtual std::vector< std::shared_ptr< ITripPoint > > | getTripPoints () const =0 |
virtual std::vector< BoundCoolingDevice > | getBoundCoolingDevices () const =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 () const =0 |
virtual std::string | getDescription () const =0 |
virtual int | getMaxCoolingLevel () const =0 |
virtual int | getCurrentCoolingLevel () const =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.
using telux::therm::ThermalNotificationMask = typedef std::bitset<16> |
Bit mask that denotes a set of notifications defined in ThermalNotificationType
|
strong |
|
strong |
Defines the type of trip points, it can be one of the values for ACPI (Advanced Configuration and Power Interface) thermal zone
|
strong |
Defines the event of trip.
Defines some of the notifications supported by IThermalListener which can be dynamically disabled/enabled.
Enumerator | |
---|---|
TNT_TRIP_UPDATE | |
TNT_CDEV_LEVEL_UPDATE | |
TNT_MAX_TYPE |
const uint32_t telux::therm::DEFAULT_TIMEOUT = 30 |
Default time out (in seconds) for thermal auto-shutdown service to re-enable thermal auto-shutdown.