From 5304ab5f84f130b7ff61dd5ad4d91ce9303a7608 Mon Sep 17 00:00:00 2001 From: Jack Sangdahl Date: Wed, 15 Jan 2025 13:50:29 -0700 Subject: Various updates across userspace and keymaps * Add clang-format configuration * Autocorrect dictionary updates * Remove RGB Colour implementation * Tidy combos code * More space saving techniques * OLED byte array pretty-ing * Remove uneeded OLED shutdown code * Remove and rearrange keyboards/keymaps * Custom async tap code implementation * Update license years * ...and more --- util/raw.py | 49 +++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 49 insertions(+) create mode 100644 util/raw.py (limited to 'util/raw.py') 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 jack@pngu.org +# 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)]) -- cgit v1.2.3