ra8-firmware 0.1.0
Bare-metal firmware for the Renesas RA8 family (RA8D2 / RA8P1)
Loading...
Searching...
No Matches
ra8_tsn.h
Go to the documentation of this file.
1
62
63#pragma once
64
65#ifdef __cplusplus
66extern "C" {
67#endif
68
69#include <stdint.h>
70
71#include "ra8_err.h"
72#include "ra8_tsn_regs.h"
73
103
126
180[[nodiscard]] ra8_err_t ra8_tsn_init(const ra8_tsn_config_t* cfg);
181
202[[nodiscard]] ra8_err_t ra8_tsn_deinit(void);
203
239[[nodiscard]] ra8_err_t ra8_tsn_read_raw(uint16_t raw, uint16_t* out_code);
240
276[[nodiscard]] ra8_err_t ra8_tsn_convert_to_milli_c(uint16_t raw_code, int32_t* out_milli_c);
277
310[[nodiscard]] ra8_err_t ra8_tsn_read_die_temp_milli_c(int32_t* out_milli_c);
311
330[[nodiscard]] ra8_err_t ra8_tsn_get_status(uint8_t* out_tscr);
331
346[[nodiscard]] ra8_err_t ra8_tsn_clear_status(void);
347
365[[nodiscard]] ra8_err_t ra8_tsn_enter_stop(void);
366
384[[nodiscard]] ra8_err_t ra8_tsn_exit_stop(void);
385
386#ifdef __cplusplus
387}
388#endif
Error Code Definitions for ra8-firmware.
ra8_err_codes_t ra8_err_t
Canonical error-return type used by every ra8-firmware API.
Definition ra8_err.h:546
ra8_err_t ra8_tsn_convert_to_milli_c(uint16_t raw_code, int32_t *out_milli_c)
Convert a raw 12-bit TSN code to milli-degrees-Celsius.
Definition ra8_tsn.c:214
ra8_err_t ra8_tsn_init(const ra8_tsn_config_t *cfg)
Power on the TSN block and enable its ADC output path.
Definition ra8_tsn.c:149
ra8_tsn_cal_temp_t
Factory calibration reference temperatures (degC).
Definition ra8_tsn.h:98
@ k_ra8_tsn_cal_temp_high_125
125 degC Tj_max parts.
Definition ra8_tsn.h:99
@ k_ra8_tsn_cal_temp_low_n40
Always -40 degC on RA8D2.
Definition ra8_tsn.h:101
@ k_ra8_tsn_cal_temp_high_105
95 / 105 degC parts.
Definition ra8_tsn.h:100
ra8_err_t ra8_tsn_exit_stop(void)
Clear MSTPD22 to re-power the TSN block.
Definition ra8_tsn.c:297
ra8_err_t ra8_tsn_get_status(uint8_t *out_tscr)
Read TSCR (TSEN + TSOE bits).
Definition ra8_tsn.c:274
ra8_err_t ra8_tsn_read_die_temp_milli_c(int32_t *out_milli_c)
Read the die temperature end-to-end through the HAL.
Definition ra8_tsn.c:249
ra8_err_t ra8_tsn_clear_status(void)
Clear TSCR (drive both TSEN and TSOE low).
Definition ra8_tsn.c:283
ra8_err_t ra8_tsn_read_raw(uint16_t raw, uint16_t *out_code)
Pass through a raw ADC sample of the TSN channel.
Definition ra8_tsn.c:202
ra8_err_t ra8_tsn_enter_stop(void)
Re-assert MSTPD22 to clock-gate the TSN block.
Definition ra8_tsn.c:291
ra8_err_t ra8_tsn_deinit(void)
Tear down the TSN block.
Definition ra8_tsn.c:180
Temperature Sensor (TSN) register layout for the Renesas RA8D2.
Configuration descriptor for ra8_tsn_init.
Definition ra8_tsn.h:121
uint16_t stab_us
tTSTBL in microseconds.
Definition ra8_tsn.h:124
ra8_tsn_cal_temp_t low_ref_degc
Always -40 degC on RA8D2.
Definition ra8_tsn.h:123
ra8_tsn_cal_temp_t high_ref_degc
105 or 125 degC.
Definition ra8_tsn.h:122