suguang_fan.py 803 B

12345678910111213141516171819202122232425262728293031323334
  1. #!/usr/bin/python3
  2. import os, time, sys
  3. FAN1 = (0x67, 0x68)
  4. FAN2 = (0x6B, 0x6C)
  5. TEMP_ADDR = 0x65
  6. def read_reg(add):
  7. cmd = "./ecx86_64 -a %s -r" % hex(add)
  8. f = os.popen(cmd)
  9. return int(f.read(), 16)
  10. def main():
  11. while True:
  12. f1_h = read_reg(FAN1[0])
  13. f1_l = read_reg(FAN1[1])
  14. f1_speed = ((f1_h & 0xFF) << 8) | (f1_l & 0xFF)
  15. f2_h = read_reg(FAN2[0])
  16. f2_l = read_reg(FAN2[1])
  17. f2_speed = ((f2_h & 0xFF) << 8) | (f2_l & 0xFF)
  18. temp = read_reg(TEMP_ADDR)
  19. sys.stdout.write("\r")
  20. sys.stdout.write("temp: %s fan1 rpm: %s \t fan2 rpm: %s " % (temp, f1_speed, f2_speed))
  21. sys.stdout.flush()
  22. time.sleep(1)
  23. if __name__ == '__main__':
  24. os.system("chmod +x ./ecx86_64")
  25. main()