diff --git a/py/hexagram/app.pyx b/py/hexagram/app.pyx index 867cb7a..9b60c63 100755 --- a/py/hexagram/app.pyx +++ b/py/hexagram/app.pyx @@ -40,6 +40,19 @@ cdef cluster_update(cluster: Cluster, fg: cairo.Context, hexagram_window *window, can_frame *frame): + if frame.can_id == 0x280: + cluster.tacho.value = 0.25 * float(frame.data[2] | (frame.data[3] << 8)) + elif frame.can_id == 0x288: + cluster.thermo.value = 0.75 * float(frame.data[1] - 48) + elif frame.can_id == 0x320: + cluster.fuel.value = frame.data[2] & 0xf + elif frame.can_id == 0x5a0: + rps = 0.001 * float(frame.data[1] | (frame.data[2] << 8)) + kph = (2.00152 * rps * 3600) / 1000.0 + mph = kph * 0.621371 + + cluster.speedo.value = mph + hexagram_window_refresh_bg(window) cluster.draw_fg(fg) hexagram_window_swap_buffer(window)