M-Dialz, CAN-Bus Driven Virtual instrumentation
The M-Dialz System is designed to display CAN-Bus data in graphical form.
Features include:
- Plugin system and API to accept custom/third party module code, allows you to add functionality with minimal effort.
- Configurable through a simple LUA script.
- n page paging mechanism allows you to place dials on different pages. including a global page who's dials display on all pages
- M-Dialz is written for Linux, and uses the socket-can netdev interface.
- M-Dialz can display any CAN-Data.
- M-Dialz can display svgs, pngs, and jpegs
Here is a screen-shot showing a configuration in conjunction with a WSO100 weather station from maretron. Data is routed from the CAN-Bus (or other source) into 'channels'. Modules can be configured to access channels, and draw on the screen. When a module draws to the screen we call it a dial.

Modules need not display to the screen... A module may hook into the update event of a channel, read from one or many channels and write to any other. In this example we hook both the temperature, and the humidity channel, when one is updated we read the other, calculate the dewpoint and update the dewpoint channel;
instructing the bar dial to display an extra indicator, conveniently displays dewpoint temperature. Likewise the trend indicator for pressure (up and down arrows to the right of the pressure bar dial) utilizes hooks and timers to display the past hours trend pressure.
Other examples of when a hook could be used include:
- Accumulating history.
- Calculating averages or smoothing sensor data.
- Calculating derived data.
Here is an example of a history graph (configured on page 2, and accessible by pressing F2).

Whats next?
- Color control.
- Font control.
- Dynamic scaling. optionally alter y scaling in history dial to dynamically fit data range.





