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 {
+
+
+
+}