#! /usr/bin/python3

import can
import time

class print_range(can.Printer):
    def on_message_received(self, msg):
        meters=msg.data[4]+256*msg.data[5]
        km=meters/100.0
        miles=meters/160.9
        print(int(miles*10)/10, int(km*10)/10)

filters=[{"can_id": 0x440, "can_mask": 0x7FF}]
bus=can.interface.Bus(channel='can0', bustype='socketcan_native', can_filters=filters)
notifier=can.Notifier(bus, [print_range()], timeout=0.1)

try:
    while True:
        time.sleep(1)
except KeyboardInterrupt:
    bus.shutdown()
    notifier.stop()
