Skip to content

[FEATURE] Add a Component to Collect Pico Temperature #322

@Mikefly123

Description

@Mikefly123

Short summary

We want to add a new component driver that lets us collect data from the RP2350's built in temperature sensor.

Motivation and user story

Knowing the temperature of our CPU die is useful for ensuring that we are operating within the safe limits of what the microcontroller has been designed for.

For the initial setup of this component, we would want to capture the temperature data and then telemeter it when the run handler is called. The developer may also want to check the RP2350 datasheet and add events to the component that would warn us when we are getting close to or exceeding the operational temperature limits.

Proposed implementation

We will probably want to start by analyzing the existing temperature sensors managers in the Components>DRV folder. The FPP used for the TMP112 can be used as a template for what needs to be done for this new temperature sensor.

module Drv {
    @ Manager for TMP112 device
    passive component Tmp112Manager {

        #### Ports ####
        @ Port to read the temperature in degrees Celsius
        sync input port temperatureGet: temperatureGet

        @ Port to initialize and deinitialize the device on load switch state change
        sync input port loadSwitchStateChanged: Components.loadSwitchStateChanged

        #### Commands ####
        @ Command to get the temperature in degrees Celsius
        sync command GetTemperature()

        #### Telemetry ####
        @ Telemetry channel for temperature in degrees Celsius
        telemetry Temperature: F64

Link to Pico Temperature Driver Source Code
Link to TMP112 Temperature Sensor PR
Link to RP2350 Datasheet

Image

Priority

Low

Metadata

Metadata

Assignees

Labels

Projects

Status

Done

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions