Split up project into multiple crates and use a Cargo workspace.
3.6 KiB
Sensor Panels
The asterctl tool is started in sensor panel mode if the --config command line option is specified.
Sensor panels are dynamic screens showing various sensor values. Multiple rotating panels are supported.
The sensor values must be provided in simple key-value text files from external scripts or tools. The asterctl tool
is only responsible for rendering the panels on the embedded screen.
Example panels from the AOOSTAR-X software, rendered with asterctl using dummy sensor values:
Supported Features
- One or multiple panels rotating in configurable interval (configuration value
setup.switchTime). - Each panel can be configured with multiple sensor fields.
- Text sensor value fields are supported (
sensor.mode: 1), but there are still some text size and positioning issues. - Fan (2), progress (3) and pointer (4) sensor modes are being worked on and not all configuration options are working yet.
- Text sensor value fields are supported (
- Each sensor field can be customized with an individual font, size, color and text alignment.
- Panels are redrawn at a configurable interval (configuration value
setup.refresh).- Only the updated areas of the image are sent to the display for faster updates.
Panel Configuration File
Specify configuration file to use:
asterctl --config monitor.json
- The configuration file is loaded from the configuration directory if not an absolute path is specified.
- The default configuration directory is
./cfgand can be changed with the--config-dircommand line option.
The original AOOSTAR-X json configuration file format is used, but only a subset of the configuration is supported:
- Setup object fields:
switchTime: Optional switch time between panels in seconds, string value interpreted as float and converted to milliseconds. Default: 5refresh: Panel redraw interval in seconds specified as a float number. Default: 1
- Panel object fields in
diy[]:img: Background image filename. Loaded from the specified configuration directory if not an absolute path is specified.sensor: Array of sensor objects.
- Sensor object fields:
label: label identifier, also used as sensor value data source identifierintegerDigits: sensor value format option: number of integer places. Value is 0-prefixed to number of places and set to99if overflown.decimalDigits: sensor value format option: number of decimal places.unit: optional unit label, appended after the sensor valuex: x-positiony: y-positionfontFamily: Font name matching font filename without file extension. Fonts are loaded from the configured font directory.fontSize: Font sizefontColor: Font color in#RRGGBBnotation, or-1if not set. Examples:#ffffff= white,#ff0000= red. Default:#fffffftextAlign: Text alignment:left,right,center- Fields used for the fan (2), progress (3) and pointer (4) sensor modes:
min_valueandmax_valuewidthandheightdirectionpic: progress image, loaded from the specified configuration directory if not an absolute path is specified.min_angleandmax_anglexz_xandxz_y
Example configuration file: cfg/monitor.json.
Sensor values are not read from the configuration file (the sensor.value field is ignored). See data sources below.
More options might be supported later.
See custom sensor panels for including custom panels.