;;; -*- lexical-binding: t -*- ;; ;; this file: ;; https://dataswamp.org/~incal/terror-3/ev3-leds.el (require 'ev3-base) (require 'file-write-to) (defun led-get-file (led col) (format "%s/leds/led%d:%s:brick-status/brightness" ev3-base-path led col) ) (let ((led-max-color 255)) (defun led-sane-color (col) (and (<= 0 col) (<= col led-max-color) )) (declare-function led-sane-color nil) (defun random-color () (random (1+ led-max-color)) ) (declare-function random-color nil) ) (let ((led0-green-file (led-get-file 0 "green"))) (defun led0-set-green (col) (when (led-sane-color col) (write-to-file led0-green-file col) )) (declare-function led0-set-green nil) (defun led0-get-green () (file-to-integer led0-green-file) ) (declare-function led0-get-green nil) ) (let ((led0-red-file (led-get-file 0 "red"))) (defun led0-set-red (col) (when (led-sane-color col) (write-to-file led0-red-file col) )) (declare-function led0-set-red nil) (defun led0-get-red () (file-to-integer led0-red-file) ) (declare-function led0-get-red nil) ) (let ((led1-green-file (led-get-file 1 "green"))) (defun led1-set-green (col) (when (led-sane-color col) (write-to-file led1-green-file col) )) (declare-function led1-set-green nil) (defun led1-get-green () (file-to-integer led1-green-file) ) (declare-function led1-get-green nil) ) (let ((led1-red-file (led-get-file 1 "red"))) (defun led1-set-red (col) (when (led-sane-color col) (write-to-file led1-red-file col) )) (declare-function led1-set-red nil) (defun led1-get-red () (file-to-integer led1-red-file) ) (declare-function led1-get-red nil) ) (defun ev3-led-random () (interactive) (led0-set-green (random-color)) (led0-set-red (random-color)) (led1-set-green (random-color)) (led1-set-red (random-color)) ) (provide 'ev3-leds)