eerie leap / firmware
open-source firmware
The firmware an Eerie Leap unit runs is open source, under the Apache 2.0 license. It is built on Zephyr, so it is not tied to one chip, and all of it runs in a simulator on your computer.
a sensor script, from the firmware docs
function post_process_sensor_value(sensor_id, value)
if value == nil then
return nil
end
local rpm = get_sensor_value("engine_rpm")
if rpm == nil then
return -1 -- the other sensor has no value yet
end
return math.min(value, 100.0) * rpm
endwhat it does
read
Analog and digital inputs, and the frames and signals of every module on the bus.
compute
Calibration tables, math expressions and Lua scripts, running on the unit.
show
Gauge screens built from a configuration, drawn on the unit's display.
log
To MDF4 files, the format analysis tools already open.
send
Any value back onto the bus, in messages you lay out.
where it runs
on the units
One code base, built as the application of each kind of unit.
on other hardware
It is a Zephyr application, with its hardware described by a device tree. A port is a board file, not a rewrite.
in a simulator
The same firmware builds for your computer and runs there with no hardware attached.
the repositories
All on GitHub, under the Eerie Leap organization.
rt_core
The core every unit shares: sensors, CAN, logging, scripting, configuration and updates.
Apache-2.0rt_daq
The application of the unit that reads and logs.
Apache-2.0rt_gauge
The application of the unit with a display.
Apache-2.0expression_engine
The math expression engine a sensor computes with.
Apache-2.0zephyr_lua
Lua, as a Zephyr module.
Apache-2.0the docs
What you need to use a unit is on this site. What you need to change the firmware is beside its code.
how it works, and how to set it up
What a unit does with a value, what each part of a configuration is, and the math expressions and Lua scripts you can write.
the developer reference
rt_core's own documentation: the subsystems, the protocols, the stored formats and the build, kept with the code and written for whoever changes it.
