Hardware Support: Maple Systems
Maple Systems makes several series of touchscreen panels that can be very useful on model railroads.
Each panel is really a standalone (Windows) computer. It's configured and loaded using the EZware configuration program provided by Maple Systems. That configuration defines the displays, button labels and locations, etc.
JMRI interacts with the Maple panel through input and output bits (called "coils", as in relay coils) within the panel. The panel configuration can set these in response to various events. JMRI provides Sensor objects that make them available for triggering actions within JMRI. JMRI can defines Turnout objects which can set them, in which case the panel configuration can change what's being displayed.
You have to configure a Maple Systems Node into JMRI with the "Configure Nodes" button on the JMRI Preferences pane. On the pane that opens, enter the Node number (e.g. 1 or 2, etc) into the "UA" field, and click "Add". Leave all the rest alone; the Maple Support was created from the JMRI C/MRI support, and as of JMRI version 2.3.7 the migration is not complete.
The default system letter for Maple connections in JMRI is "K".
You configure the Maple Systems device to use one of the supported speeds (set on the JMRI Preferences pane for Maple connections), and to use the "Simple ASCII Protocol". More information on the protocol and how to configure the Maple Systems device is on Maple PDF data sheet.
JMRI communicates with the Maple Systems device by reading and writing "discrete memory" locations, otherwise known as "LB" registers.
LB registers 1 through 48 are available to JMRI as input "Sensors" 1 to 48.
LB registers 1001 through 1048 are available to JMRI as output "Turnouts" 1 through 48.
The Maple Systems node number (programmed into "Parameter 5", the "HMI station ID #") can be 1 through 99. It appears as the thousands digit of JMRI Sensors and Turnouts System Names. For example, KS3001 is the 1st sensor on node 3, and would therefore be LB 1 in that Maple Systems unit. KT3001 is the 1st turnout on that node, and would therefore be LB 101 in that unit.
Here's a summary of the options per Connection, split up for outputs (eg. Turnouts) and inputs (eg. Sensors):
|In/Out||Entry||Meaning||makes System Name||Mask||Equivalent||Minimum||Maximum|
|i||2010||Node 2 Input bit 10||KS2010||1||1000|
|o||1016||Node 1 Output (Turnout) 16||KT1016||1||8000|
It is very likely that we will rework and improve the addressing soon.