Comment on page
Device commands
The 1-Command is used by the device to send commands to SPAD.neXt.
Request:
1,<SUBCOMMAND>,...;
Reply: none or 2,ERRORThe subcommand
ADD
informs SPAD.neXt about a data value the device will provide. This data can be used in events or expressions like any simulation data in the SPAD.neXt UI.1,ADD,<CHANNELID>,<path>,<valuetype>,<access>,<name>[[,description][,options]];
Parameter | Description | Limits |
---|---|---|
<CHANNELID> | the Channel the device/SPAD.neXt will use to send updates for that data | >= 10 |
<path> | name of the data value.
To place it in a tree "//" can be used to separate the nodes. e.g. buttons//button1 (note the escaped "/" !!
If using CmdMessenger-Lib the escaping will be done automatically for you) | name must not start with / |
<valuetype> | type of the data (Signed/Unsigned) | S8 S16 S32 S64 U8 U16 U32 U64 FLT32 FLT64 ASCIIZ |
<acces> | RO for readonly, RW for readwrite | |
<name> | human readable name of the data for the UI | |
<description> | optional description for the UI | |
PERSIST | 0|1 | 0 create LOCAL variable (default) 1 Create a persistent DEVICE variable |
Within SPAD.neXt the data will be available in Device->Devicename.
Internally the Data is referenced as
DEVICE:{DeviceId}/<path>
e.g. DEVICE:A8AA15C5-7BB6-4AC6-A558-A88CAFB78729/buttons/button1
Device Data is only available within the profile of the device.
SPAD.neXt will send data updates to the device and expect data using the given CHANNELID channel using the 5-Channel: 5,
<CHANNELID>,<value>;
1,ADD,11,pages//activepage,U8,RW,Active device page,My cool description,PERSIST=1;
creates a variable
DEVICE:VID/PID/pages/activepage
available only within the deviceperofile of the device. outside of the deviceprofile this variable will always have the value 01,ADD,11,pages//activepage,U8,RW,Active device page;
creates a variable
LOCAL:VID/PID/SERIAL/pages/activepage
available to all deviceprofiles within SPAD.neXtDEVICE variables are persitent per connected devices and the values will be loaded and saved from/to the profile.
LOCAL variables will not be saved and default to 0
the subcommand
SUBSCRIBE
with subscribe the device to a data value from SPAD.neXt or the simulation
1,SUBSCRIBE,<index>,<path>[,<unit>[,<epsilon>]];
<index> | the index associated with the data |
<path> | internal name of the data value to subscribe to. E.g. SIMCONNECT:AUTOPILOT HEADING LOCK DIR XPLANE:SIM/COCKPIT/AUTOPILOT/HEADING_MAG |
<unit> | desired unit, if not default (e.g. 'degrees','radians','Hz','kHz','MHz') |
<epsilon> | minimum change that must happen before an update will be sent to the device. If it's omitted the default value for the data will be used |
SPAD.neXt will send the subscribed data on the 5-Channel in the format
5,<index>,<value>;
Example
1,SUBSCRIBE,12,SIMCONNECT:AUTOPILOT HEADING LOCK DIR
1,SUBSCRIBE,12,SIMCONNECT:AUTOPILOT HEADING LOCK DIR,radians
1,SUBSCRIBE,12,XPLANE:sim//cockpit//autopilot//heading_mag,,5You can get the internal name of a data value, by selecting it in the data browser and pressing
CTRL-C
or clicking on "book"-icon in the data monitor. It will be copied to the clipboardThe subcommand
UNSUBSCRIBE
will unsubscribe from a previously subscribed data value
Syntax: 1,UNSUBSCRIBE,<index>;
The subcommand
EMULATE
will emulate an event from another device. (E.g. a dial turned on radio panel)
1,EMULATE,<TARGET_DEVICE>,<TARGET_SWITCH>,<TARGET_EVENT>;
<TARGET_DEVICE>
is either the internal id VID:PID:COUNTER
or VID:PID:SERIAL
<TARGET_SWITCH>
is the internal name of the switch/dial/led etc (e.g. FIP_LEFTDIAL)
<TARGET_EVENT>
is name of the event to emulate (e.g. TUNER_CLOCKWISE)To get the TARGET_SWITCH and TARGET_EVENT you can program the event in the UI and then copy the complete event to the clipboard, pasting to a texteditor.
The TARGET_SWITCH will be the "BOUNDTO" and the TARGET_EVENT the "Trigger"
Alternatively you can get a list of all devices and events at Settings->Application->Expert->Available Remote Events
1,LABEL,<index>,<newlabel>;
Updates the labeltext of a input/led (DYNLABEL=1 !) or a label pseudo input
1,REFRESHDATA;
SPAD.neXt will send all currently subscribed data
Last modified 1yr ago