aboutsummaryrefslogtreecommitdiff
path: root/waffle/raw.py
diff options
context:
space:
mode:
Diffstat (limited to 'waffle/raw.py')
-rw-r--r--waffle/raw.py47
1 files changed, 47 insertions, 0 deletions
diff --git a/waffle/raw.py b/waffle/raw.py
new file mode 100644
index 0000000..08ed06f
--- /dev/null
+++ b/waffle/raw.py
@@ -0,0 +1,47 @@
+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] * 33 #hidapi doesn't send first byte to host
+ 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)
+ ])