From 714eebb88902b5bedec41357a5687f3f26b05652 Mon Sep 17 00:00:00 2001 From: Lightos1 <124387232+Lightos1@users.noreply.github.com> Date: Fri, 20 Mar 2026 21:22:02 +0100 Subject: [PATCH] add temps --- .../sysmodule/src/board/board_temp.cpp | 61 +++++++++++++++++++ .../sysmodule/src/board/board_temp.hpp | 35 +++++++++++ 2 files changed, 96 insertions(+) create mode 100644 Source/rewrite-hoc-clk/sysmodule/src/board/board_temp.cpp create mode 100644 Source/rewrite-hoc-clk/sysmodule/src/board/board_temp.hpp diff --git a/Source/rewrite-hoc-clk/sysmodule/src/board/board_temp.cpp b/Source/rewrite-hoc-clk/sysmodule/src/board/board_temp.cpp new file mode 100644 index 00000000..d102241a --- /dev/null +++ b/Source/rewrite-hoc-clk/sysmodule/src/board/board_temp.cpp @@ -0,0 +1,61 @@ +/* + * Copyright (c) Souldbminer, Lightos_ and Horizon OC Contributors + * + * This program is free software; you can redistribute it and/or modify it + * under the terms and conditions of the GNU General Public License, + * version 2, as published by the Free Software Foundation. + * + * This program is distributed in the hope it will be useful, but WITHOUT + * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or + * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for + * more details. + * + * You should have received a copy of the GNU General Public License + * along with this program. If not, see . + * + */ + +/* -------------------------------------------------------------------------- + * "THE BEER-WARE LICENSE" (Revision 42): + * , , + * wrote this file. As long as you retain this notice you can do whatever you + * want with this stuff. If you meet any of us some day, and you think this + * stuff is worth it, you can buy us a beer in return. - The sys-clk authors + * -------------------------------------------------------------------------- + */ + +#pragma once +#include +#include +#include +#include +#include "board.hpp" + +namespace board { + + u32 GetTemperatureMilli(SysClkThermalSensor sensor) { + u32 millis = 0; + + if (sensor == SysClkThermalSensor_SOC) { + millis = tmp451TempSoc(); + } else if (sensor == SysClkThermalSensor_PCB) { + millis = tmp451TempPcb(); + } else if (sensor == SysClkThermalSensor_Skin) { + if (HOSSVC_HAS_TC) { + Result rc; + rc = tcGetSkinTemperatureMilliC(&millis); + ASSERT_RESULT_OK(rc, "tcGetSkinTemperatureMilliC"); + } + } else if (sensor == HorizonOCThermalSensor_Battery) { + batteryInfoGetChargeInfo(&info); + millis = batteryInfoGetTemperatureMiliCelsius(&info); + /* } else if (sensor == HorizonOCThermalSensor_PMIC) { + millis = 50000; */ + } else { + ASSERT_ENUM_VALID(SysClkThermalSensor, sensor); + } + + return std::max(0, millis); + } + +} diff --git a/Source/rewrite-hoc-clk/sysmodule/src/board/board_temp.hpp b/Source/rewrite-hoc-clk/sysmodule/src/board/board_temp.hpp new file mode 100644 index 00000000..16818b60 --- /dev/null +++ b/Source/rewrite-hoc-clk/sysmodule/src/board/board_temp.hpp @@ -0,0 +1,35 @@ +/* + * Copyright (c) Souldbminer, Lightos_ and Horizon OC Contributors + * + * This program is free software; you can redistribute it and/or modify it + * under the terms and conditions of the GNU General Public License, + * version 2, as published by the Free Software Foundation. + * + * This program is distributed in the hope it will be useful, but WITHOUT + * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or + * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for + * more details. + * + * You should have received a copy of the GNU General Public License + * along with this program. If not, see . + * + */ + +/* -------------------------------------------------------------------------- + * "THE BEER-WARE LICENSE" (Revision 42): + * , , + * wrote this file. As long as you retain this notice you can do whatever you + * want with this stuff. If you meet any of us some day, and you think this + * stuff is worth it, you can buy us a beer in return. - The sys-clk authors + * -------------------------------------------------------------------------- + */ + +#pragma once +#include +#include + +namespace board { + + + +}