;; outdated (defun ev3-forward-dec () (interactive) (set-motor-both (get-speed-forward-dec) )) (defun ev3-reverse-dec () (interactive) (set-motor-both (get-speed-reverse-dec) )) (defun already-rotates-opposite-reset (way) (let ((reset-speed 100)) (when (rotates-p way) reset-speed) )) ;; works (defun color-stop-on-color (&optional col) (or col (setq col (color-number "none"))) (when (and (= col (color-get-color)) (moving-forward-p) ) (ev3-stop) (ev3-reverse-inc) (sleep-for 0 200) )) ;; doesn't work for perhaps several reasons (let ((color-stop-on-color-timer)) (defun color-stop-on-color-enable () (interactive) (let ((how-often-secs 1)) (setq color-stop-on-color-timer (run-with-idle-timer how-often-secs t #'color-stop-on-color) ))) (declare-function color-stop-on-color-enable nil) (defun color-stop-on-color-disable () (interactive) (cancel-timer color-stop-on-color-timer) ) (declare-function color-stop-on-color-disable nil) )