aboutsummaryrefslogtreecommitdiff
path: root/util/raw.py
diff options
context:
space:
mode:
Diffstat (limited to 'util/raw.py')
-rw-r--r--util/raw.py49
1 files changed, 49 insertions, 0 deletions
diff --git a/util/raw.py b/util/raw.py
new file mode 100644
index 0000000..fe63d49
--- /dev/null
+++ b/util/raw.py
@@ -0,0 +1,49 @@
+# Copyright 2025 [email protected]
+# SPDX-License-Identifier: GPL-2.0-or-later
+import hid
+import sys
+import psutil
+import math
+import time
+import datetime
+
+vendor_id = 0x6A73
+product_id = 0x6B62
+usage_page = 0xFF60
+usage = 0x61
+
+
+def get_raw_hid_interface():
+ device_interfaces = hid.enumerate(vendor_id, product_id)
+ raw_hid_interfaces = [
+ i
+ for i in device_interfaces
+ if i["usage_page"] == usage_page and i["usage"] == usage
+ ]
+ if len(raw_hid_interfaces) == 0:
+ return None
+ interface = hid.Device(path=raw_hid_interfaces[0]["path"])
+ return interface
+
+
+def send_packet(data):
+ interface = get_raw_hid_interface()
+ if interface is None:
+ print("no device found")
+ sys.exit(1)
+ request_data = [0x00] * 32
+ request_data[1 : len(data) + 1] = data
+ request_packet = bytes(request_data)
+ try:
+ interface.write(request_packet)
+ finally:
+ interface.close()
+
+
+if __name__ == "__main__":
+ while True:
+ time.sleep(30)
+ cpu_temp = psutil.sensors_temperatures()["gigabyte_wmi"][2]
+ cur_hour = datetime.datetime.now().strftime("%H")
+ cur_minute = datetime.datetime.now().strftime("%M")
+ send_packet([math.trunc(cpu_temp.current), int(cur_hour), int(cur_minute)])