📄
SPAD.neXt
  • SPAD.neXt Manual
  • About SPAD.neXt
  • Getting Started
    • System Requirements
    • Supported hardware
      • Check Hardware
    • Installation
      • Simulation Specifc Steps
        • SimConnect Configuration
        • MSFS: Enable PMDG data access
        • X-Plane Configuration
    • First Start
      • Configuration Wizard
    • Common Tasks and Issues
      • SPAD
        • Online Services
        • Fresh reinstall
        • Move SPAD.neXt to new Computer
        • License Issues
      • MSFS Specific Topics
      • X-Plane specific Topics
      • Saitek/Logitech MP/RP blinking
      • USB Powermanagement
  • Guides and Videos
    • New User Series
    • MSFS SimConnect
    • L:Vars / H:Events and B:Events
    • Features & Functions
    • Device Specific
      • Arduino / SPAD Serial
      • Authentikit
      • Cockpit Simulator CDU
      • Honeycomb
      • Joystick (Generic HID)
      • miniCockpit
      • RealSimGear
      • Saitek/Logitech
      • Script Panel
      • Stream Deck
      • Thrustmaster TCA
      • vFIP
      • Virtual Avionics
      • vJoy
      • VRinsight
      • X-Touch MC Mode
      • X-Touch Midi Mode
    • Simulation Specific
      • ATR 600 (MSFS)
      • AS CRJ 550/700/900/1000 (MSFS)
      • FBW A32NX (MSFS)
      • FFX/MG HJet (MSFS)
      • FFX Vision Jet (MSFS)
      • FSW C414AW (MSFS)
      • PMDG 737 (MSFS)
      • PMDG 777 (MSFS)
      • SWS Kodiak (MSFS)
      • WT CJ4 (MSFS)
      • WT G1000 NXi (MSFS)
      • PMDG 777 (P3D)
  • User Interface
    • UI Familiarization
      • Home Page
      • Profiles Page
  • Features
    • Expressions
      • Values
      • Referencing Simulation Data
      • Operators
      • Functions
      • Examples
    • Tuner Acceleration
    • Event Execution Order
  • Simulations
    • MSFS 2024
    • MSFS 2020
    • X-Plane
      • Pre-Requisites
      • Dataref Tool
      • Helping Spad Help You
      • Dataref vs. Command: Know Your Copilots
      • Basic Flight Controls – Axis Setup
    • P3d and FSX
    • Other
  • Hardware specific
    • USB HUB Requirements
    • CPFlight Devices
    • Saitek FIP (Flight Instrument Panel)
      • Saitek FIP: Driver & Function Check
    • Loupedeck Image Devices
    • Midi Devices
      • X-Touch Mini
    • Serial (COM) Devices
    • Skalarki
    • VRInsight Overhead
  • Extending and API's
    • Gauges and Extensions
      • SPAD Gauges: GaugeSettings
    • C# Scripting Interface
      • C# Scripting: ScriptStub
      • C# Scripting: Provide Values
      • C# Scripting: PreCompile
    • Device Interface
      • Device Communication Flow
        • Device INIT-Phase
        • Device CONFIG-Phase
          • Device options
          • Device COLORSET configuration
          • Device PROFILE configuration
          • Device OUTPUT Configuration
          • Device INPUT configuration
            • Device input AXIS
            • Device input ENCODER
            • Device input PUSHBUTTON
            • Device input ROTARY
            • Device input SWITCH
            • Device input SWITCH3
            • Device LABEL
          • Device config: Advanced topics
        • Device STATESCAN-Phase
      • Device General Commands
      • Device commands
        • Page-Control
      • Device SPAD.neXt Events (2)
      • Device Simulation Events (Channel 4)
      • Device Data (Channel 5)
      • Device LED Update (Channel 6)
      • Device Display Update (Channel 7)
      • Device Input Updates (Channel 8)
      • Device Virtual Power
      • Device Custom UI
      • Device HTML UI
      • Device preconfigured definition
      • Serial V2
        • Command 1,RAISE
        • Command: 0,AUTH
    • X-Plane Datarefs & Commands
    • FSUIPC: Custom Offsets
    • RestAPI
    • HTML Rendering API
    • Other API's
  • FAQ
    • General FAQ
    • MSFS: Lost profile aircraft assigments
  • Changes
    • 0.9.21
    • 0.9.14.0
    • 0.9.13.39
  • Glossar
  • Old-Docs
    • Old-Getting-Started-Guide
Powered by GitBook
On this page
  • INIT-Options
  • AUTHOR
  • ALLOWLOCAL
  • VID
  • PID
  • SERIAL
  • Device variables
  • INIT Examples

Was this helpful?

  1. Extending and API's
  2. Device Interface
  3. Device Communication Flow

Device INIT-Phase

PreviousDevice Communication FlowNextDevice CONFIG-Phase

Last updated 2 years ago

Was this helpful?

When starting SPAD.neXt will send an INIT Request to the device and expects a response within 5 seconds, else the device will be marked as offline/unavailable.

Request from SPAD.neXt: 0,INIT,<SerialVersion>,<AppVersion>,<AuthToken>

Parameters

<SerialVersion>

Version of the serial protocol supported 2 means SPAD.neXt supports version 1 and version 2 The current version is 2

<AppVersion>

SPAD.neXt version (e.g. 0.9.12.0 )

<AuthToken>

Reply from device: 0,SPAD,<Guid>,<Name>,<SerialVersion>,<DeviceVersion>[,<opt1>,...,<optN>;

<Guid>

<Name>

the human readable name of the device. This will be used throughout the SPAD.neXt UI for everything related to that device

<SerialVersion>

Serialversion the device is supporting (Current Version is 2)

<DeviceVersion>

Version of the device (Major.Minor[.Build.Patch])

<opt1>,...,<optN>

INIT-Options

available only in INIT Command. (all additional can be added as well)

Key
Value

AUTHOR

<your authtorkey>

ALLOWLOCAL

0|1|2

where SPAD.neXt will look for device configuration files (default: 0)

PID

string

A unique short product id for the device.

SERIAL

string

optional serial number of device

If PID option is provided, the AUTHOR option must be provided as well

AUTHOR

To receive your unique authorkey, issue the command "!deviceinfo" on the SPAD.neXt discord. This key will identify the device author and enable author-only functions like e.g. editing the device UI or device configuration database, if the current SPAD.neXt user is the device author.

The authorkey is case-sensitive!

ALLOWLOCAL

The ALLOWLOCAL option controls where SPAD.neXt will search for device configuration files/images etc. before checking the database. Documents refers to the Documents-Directory from SPAD.neXt configuration. Default: "Documents/SPAD.neXt"-Folder of Windows user

SPAD.neXt will search for files/images in the following order

Value = 0 (default)

SPAD.neXt will not search for any local files and will always use

  1. Internal database

  2. Device provided data

Value = 1

  1. Documents/devices/local/<VID>/<PID>/

  2. Internal database

  3. Device provided data

Value = 2

if the current SPAD.neXt user is the author of the device, else it will behave like 0

  1. Documents/devices/<AUTHOR>/<VID>/<PID>/

  2. Documents/devices/local/<VID>/<PID>/

  3. Internal database

  4. Device provided data

if no local configuration exists (or is not allowed), the device sent-configuration will be used always. if a local configuration exists (and is allowed) it will always overwrite any device sent configuration!

VID

The VID (or Vendor ID) defines the author of a device uniquely in a similar manor to USB devices.

The VID cannot be chosen freely, but has to be requested by opening a ticket, to prevent duplicates. The VID is provided and set automatically by SPAD.neXt once it has been assigned.

PID

The PID (or Product ID) defines a device uniquely in a similar manor to USB devices.

The PID can be choosen freely and should be unique per device(type) as it will be also used to find the corresponding device profile within a SPAD.neXt profile.

The PID will be used in SPAD.neXt all over the place (e.g. Variable names), so keep it short and simple. The only allowed characters for the PID are A-Z,0-9 (no spaces, no special chars)

SERIAL

If provided the serial number of the device (unique per device connected!) to identify device variables (ADD Command). If not provided or a duplicate is found, SPAD.neXt will use an internal unique identifier

Device variables

if PID is defined for a device, all its inputs will be available as LOCAL variables within SPAD.neXt as LOCAL:<VID>_<PID>_<TAG>[suffix] [suffix] will only be present if more than one identical device is connected

Examples

LOCAL:SHAKEPRINT_ECHO_BUTTON1 LOCAL:C0NNEX_FCU_I_AP1 LOCAL:C0NNEX_FCU_I_AP1_2 (second FCU device)

INIT Examples

Request from SPAD.neXt: 0,INIT,2,0.9.10.0,73993732632; Reply from device: 0,SPAD,{A8AA15C5-7BB6-4AC6-A558-A88CAFB78729},Altimeter Display,2,1.0; (No one will be able to locally modify the device configuration)

Request from SPAD.neXt: 0,INIT,2,0.9.10.0,73993732632; Reply from device: 0,SPAD,{A8AA15C5-7BB6-4AC6-A558-A88CAFB78729},Demo,2,1.0,AUTHOR=a3dhfc4323dca,PID=Echo The user associated with authorkey a3dhfc4323dca will be able to edit the device configuration. SPAD.neXT will frist search in Documents/SPAD.neXt/devices/a3dhfc4323dca/shakeprint/echo for local configurations

A unique ID identifying the SPAD.neXt instance used as authentication tag in AuthenticationCipher (See for details)

Unique Identifier identifying the device. It should follow the GUID-Registryformat e.g. "{A8AA15C5-7BB6-4AC6-A558-A88CAFB78729}". To create a GUID you can use this site: (enable braces and hyphens)

optional device option Key=Value pairs (see )

options
http://rweather.github.io/arduinolibs/classAuthenticatedCipher.html
https://www.guidgenerator.com/online-guid-generator.aspx
OPTIONS