(def last-speed-erpm 0) (defun proc-sid (id data) (if (= id 0x690) { (var target-erpm (+ (* (bufget-u8 data 2) 256) (bufget-u8 data 3))) (if (and (> target-erpm 0) (!= target-erpm last-speed-erpm)) { (def last-speed-erpm target-erpm) (conf-set 'l-max-erpm (to-float target-erpm)) }) }) ) (defun event-handler () (loopwhile t (recv ((event-can-sid . ((? id) . (? data))) (proc-sid id data)) (_ nil) ) ) ) (def event-handler-thread (spawn event-handler)) (event-register-handler event-handler-thread) (event-enable 'event-can-sid)