lqml/examples/meshtastic/lisp/meshtastic-proto.lisp
2023-08-11 15:03:16 +02:00

32 lines
1.2 KiB
Common Lisp

;;; loading protobuf Lisp source files is much faster (especially on mobile)
;;; compared to compiled files, and doesn't seem to impact performance at
;;; runtime (in this use case)
(in-package :qml-user)
(let ((build-app (find :build-app *features*))) ; runtime check needed
(dolist (file (list "xmodem"
"telemetry"
"portnums"
"module-config"
"config"
"channel"
"connection-status"
"admin"
"mesh"
"storeforward"
"apponly"
"localonly"
"clientonly"
"deviceonly"
"remote-hardware"
"cannedmessages"
"mqtt"
"rtttl"))
(if build-app
(load (format nil "examples/meshtastic/lisp/proto/meshtastic/~A.lisp" file))
(let ((file* (format nil "lisp/proto/meshtastic/~A.lisp" file)))
(if #+mobile nil #-mobile (probe-file file*)
(load file*) ; development
(qload-rc file*)))))) ; final app