Main /
AuroraProtocolManualFind the PDF Version at: http://www.nledshop.com/downloads/documents/nled-aurora-command-manual-v2i.pdf Northern Lights Electronic Design, LLC – NLED Aurora Protocol Manual – v.2i Please also read the NLED Aurora Control Manual for definitions and more info. This document covers the NLED command protocol. These commands can be issued to compatible NLED controllers and devices to initiate functions. These functions include things like Sequence Change, Color Swap, Device Identification, and more. Native USB devices will accept commands over emulated USB serial port, the USB serial port can be accessed by any software or language that can access standards serial ports. Such as serial terminals, Processing, C languages, .NET, Java, etc. Some USB controllers offer the “Dual Command mode” hardware configuration, that allows the controller to accept commands over it's UART from devices such as an FTDI, ESP8266, X-Bee, or other serial based transceiver at any baud rate, but always 8-N-1. Sending Commands to a NLED Device: Contact Support@NLEDshop.com for assistance. NOTE: Command requests are sent and received as ASCII characters. The command and data bytes are sent as numbers(8-bit). To Request a Command: Host Sends (ASCII Characters): “NLED11” As Hex: 0x4E -> 0x4C -> 0x45 -> 0x44 -> 0x31 -> 0x31 Device Responds(ASCII Characters): “a9” As Hex: 0x61 -> 0x39 As Decimal: 97 -> 57 Host Sends(ASCII Characters): “nled99” As Hex: 0x6E -> 0x6C -> 0x65 -> 0x64 -> 0x39 -> 0x39 Device Responds(ASCII Characters): “f0” As Hex: 0x66 -> 0x30 As Decimal: 102 -> 48 The device is now ready to receive the command. To Send a Command Once Request is Acknowledged: Host Sends(As Numbers): Command ID(Byte) → Data1(Byte) → Data2(Byte) → Data3(Byte) → Data4(Byte) Command Reception Acknowledge: After the device receives the command it will respond As ASCII characters “cmd” then as numbers: 0 -> Issued Command ID Number If the issued command was an invalid ID number the device will respond as ASCII “ERR” Sample code with command examples can be found at: https://github.com/NLED/aurora-interface-example Optional Manual Serial Terminal Command Issuing: 1. Open your serial terminal software of choice. 2. Open the device's serial port(or FTDI or similar serial port), USB devices accept any baud rate. Serial devices require the correct baud rate to be selected. Other settings are usually default, 8-N-1 3. Prepare the command request string. Waiting for the device responses is not necessary. Sending “NLED11nled99” as ASCII characters is acceptable to request a command. 4. The device will respond as ASCII “a9” & “f0”, the device is now waiting for the command bytes. 5. Send as Numbers the: Command ID followed by 4 data bytes. See later pages for command ID and data values. Command Name: Command ID: Data Dump 3 Connect Device 4 Set Pixel Packet Clone Value 10 Device Output Dimming 15 Bulk Live Control - Hold Outputs 60 Blank Outputs, Set Live Option 61 Single Channel Live Control Update 62 Single Channel Live Control Release 63 Release All Live Control Channels 64 Dot Correction Upload 65 Report Channel Values 69 Speed Over Ride 70 Speed Decrease by 1 or Value 71 Speed Increase by 1 or Value 72 Toggle Pause Device 75 Toggle Device On/Off 76 Color Swap/Shift 81 Instant Stepping 82 Fade Control 85 Select Sequence by ID Number 90 Sequence Down 91 Sequence Up 92 Hardware Preview Sequence Upload 99 Full Upload 100 Enable Serial Pass Through 110 - NOT DOCUMENTED YET Upload Configurations 101 Gamma Correction Upload 102 Request Configurations 120 Reset to Default Configurations Options 121 Device Bootloader Mode 140 External Device Bootloader Mode 141 Sync Pulse Reception/Slave 200 The following pages describe each command, the commands are in order of their ID# Command Name: Data Dump Description: Not for use by user. Do not issue. Usage: Not Defined Command ID: 3 Data Byte 1: Not Defined Data Byte 2: Not Defined Data Byte 3: Not Defined Data Byte 4: Not Defined Command Name: Connect Device Description: Controller responds with its hardware/firmware details Usage: Responds with, HardwareID → Firmware Version → Firmware Revision -> Bootloader HardwareID -> Bootloader Version -> UserID Number Command ID: 4 Data Byte 1: Not Defined Data Byte 2: Not Defined Data Byte 3: Not Defined Data Byte 4: Not Defined Command Name: Set Pixel Packet Clone Value Description: For pixel controllers only, allows the packet clone feature to be started by commands. Does not save to memory. Usage: Only enabled on pixel controllers, sets packet clone value, could be overwritten by sequences changes, including linked sequence changes. Does not save. Command ID: 10 Data Byte 1: Packet Clone Value(1-255), 0 = off Data Byte 2: 0 Data Byte 3: 0 Data Byte 4: 0 Command Name: Device Output Dimming Description: Indicates to the controller to apply intensity control to all outputs, with the option to use the intensity temporarily or to save it, once saved it will be applied to all compatible modes, including stand-alone. Usage: Data1 indicates the intensity to apply to all the outputs. Not available on all devices. Command ID: 15 Data Byte 1: 0 - 255 (equates to 0% - 100%) Data Byte 2: 0 = temporary, 1 = Save Value Data Byte 3: 0 Data Byte 4: 0 Command Name: Bulk Live Control - Hold Outputs Description: Starts direct live control of the outputs using bulk method. Once the command is initiated it the outputs will hold their values until updated with a full packet of bytes equal to Channel Amount Usage: Once Initiated, send Channel Amount of bytes. Latches sent data values to outputs once Channel Amount has been received. Command ID: 60 Data Byte 1: 1 for on, 0 for off Data Byte 2: 1 for 16-bit Mode, 0 or any for 8-bit mode Data Byte 3: Channel Amount MSB Data Byte 4: Channel Amount LSB Command Name: Blank Outputs, Set Live Option Description: Sets to Live Control mode and blanks(set to %0) the Outputs. Usage: Blanks(0%) all outputs, optional enter Bulk Live Control mode or Stall/Pause Command ID: 61 Data Byte 1: 1 for Bulk Live Control, 0 for Stall/Pause Data Byte 2: 0 Data Byte 3: 0 Data Byte 4: 0 Command Name: Single Channel Live Control Update Description: Sets a single channel to live control mode and specifies the output value. Can be used concurrently with stand-alone color sequences. Usage: Sets a single output channel to the specified value, puts it into per channel live control mode if not already. Command ID: 62 Data Byte 1: ChanMSB Data Byte 2: ChanLSB Data Byte 3: ValueMSB Data Byte 4: ValueLSB Command Name: Single Channel Live Control Release Description: Releases a single channel from live control mode back to default/stand-alone usage. Can be used concurrently with stand-alone color sequences. Usage: Releases a single output channel from per channel live control. Command ID: 63 Data Byte 1: ChanMSB Data Byte 2: ChanLSB Data Byte 3: 0 Data Byte 4: 0 Command Name: Release All Live Control Channels Description: Releases all output channels from live control mode. Returning them to default usage. Usage: Releases all channels from per sequence live control. Command ID: 64 Data Byte 1: 0 Data Byte 2: 0 Data Byte 3: 0 Data Byte 4: 0 Command Name: Dot Correction Upload Description: For Compatible Controllers, see hardware info for details Usage: Send bytes equal to channel amount, values 0 – 63 Command ID: 65 Data Byte 1: 0 Data Byte 2: 0 Data Byte 3: 0 Data Byte 4: 0 Command Name: Release All Live Control Channels Description: Returns the output channel value(s), either a range or a single channel value. Max 255 bytes can be reported, if more are requested 0 will be returned. Returns 8-bit or 16-bit MSB first numbers Usage: 0 values in Data1 and Data2 will report all channel values up to MaxChanNumber, 0's in Data3 & Data4 will report back a single value indicated by Channel Number MSB & LSB Command ID: 69 Data Byte 1: Channel Number MSB Data Byte 2: Channel Number LSB Data Byte 3: MaxChanNumber MSB Data Byte 4: MaxChanNumber LSB Command Name: Speed Over Ride Description: Alters the Speed for current stand-alone sequence Sent as Unsigned Integer. Usage: Send an unsigned integer(0 to 65,535) to set the Speed for stand-alone sequences. Does not save, and a sequence change over rides. Command ID: 70 Data Byte 1: New Speed MSB Data Byte 2: New Speed LSB Data Byte 3: 0 Data Byte 4: 0 Command Name: Speed Decrease by 1 or Value Description: Decrease the Speed by a single value, or up to 255. Affects current stand-alone sequence, does not save. Usage: If Data1 is 0, it will subtract 1 from the speed, if its 1-255 it will subtract that value Command ID: 71 Data Byte 1: 0 = Subtract 1, Or Subtract 1-255 Data Byte 2: 0 Data Byte 3: 0 Data Byte 4: 0 Command Name: Speed Increase by 1 or Value Description: Increase the Speed by a single value, or up to 255. Affects current stand-alone sequence, does not save. Usage: If Data1 is 0, it will add 1 to the speed, if its 1-255 it will add that value. Command ID: 72 Data Byte 1: 0 = Add 1, Or Add 1-255 Data Byte 2: 0 Data Byte 3: 0 Data Byte 4: 0 Command Name: Toggle Pause Device Description: Toggles device pausing of the current stand-alone sequence, with optional fade down to 0% Usage: Each command issued toggles Pause state with options. Note: Setting the Pause with Fade down will not continue the sequence correctly after un-pausing. Command ID: 75 Data Byte 1: 0 to toggle, 1 to pause, 2 to play Data Byte 2: 1 = Fade Down all outputs to 0%, 0 = None Fade Down Data Byte 3: Fade Down Speed MSB - Lower is faster Data Byte 4: Fade Down Speed LSB - Lower is faster Command Name: Toggle Output On/Off Description: Usage: Send Data Byte 1 as '0' to enable the outputs for normal usage, restores the previous color sequence when issued. Send Data Byte 1 as '1' to disable the outputs and clear them(turn the outputs off. Send Data Byte 1 as any other number to toggle enable/disable outputs. Command ID: 76 Data Byte 1: 0 = Toggle Enable/Disable, 1 = Enable Outputs, 2 = Disable Outputs Data Byte 2: 0 Data Byte 3: 0 Data Byte 4: 0 Command Name: Color Swap/Shift Description: Swaps the colors based on 6 methods(including unaltered) See documentation for details. Data 2 should be 0 to run the function, or to reset Color Swap send anything but 0 in Data 2 Usage: Send 0 to increment Color Swap Mode, or send 1 – 6 to set the mode, See image below for details. Command ID: 81 Data Byte 1: 0 - 6, see image for ID number Data Byte 2: 0 Data Byte 3: 0 Data Byte 4: 0 Command Name: Flash Stepping Description: Allows commands to step through a Instant sequence frame by frame, either forwards or backwards. Usage: First run CMD: 90, to load the Instant setting and prepare it for stepping. Then pause the sequence. Then use this command to step either forwards or backwards through the stand-alone Instant sequence. Command ID: 82 Data Byte 1: 1 for Forward, 0 for Backward Data Byte 2: 0 Data Byte 3: 0 Data Byte 4: 0 Command Name: Flash Stepping Description: Stalls a Fade sequence and waits for command to allow it to cycle a variable amount of times. Variable should be a unsigned integer. Sending 200 will let each channel cycle normally 200 times. It takes 255 x (Amount Of Frames) for a full rotation of the setting's colors. No Linked sequences are supported. Usage: First run CMD: 90, to load the Fade sequence and prepare it for Fade Control by Pausing it. Then issue this command to to fade the sequence forwards a defined amount of steps. Command ID: 85 Data Byte 1: Amount MSB Data Byte 2: Amount LSB Data Byte 3: 0 Data Byte 4: 0 Command Name: Select Sequence by ID Number Description: Selects a stand-alone Sequence by ID number. The ID number is the the sequence's position in the Index. Usage: Loads a sequence by ID indexed ID number, with mode. Start playing or start paused. Data2 with a value of 1 will start the Idle Sequence, otherwise send 0. Command ID: 90 Data Byte 1: Sequence Number(0-255, base zero, means #0 is the first sequence) Data Byte 2: 0 = Ignore, 1 = Idle Sequence Data Byte 3: 1 for Pause, 0 for play Data Byte 4: 0 Command Name: Sequence Down Description: Decrement Sequence, as if the button was pressed. Usage: Send command, instantly changes sequence, saves to memory. Command ID: 91 Data Byte 1: 0 Data Byte 2: 0 Data Byte 3: 0 Data Byte 4: 0 Command Name: Sequence Up Description: Increment Sequence, as if the button was pressed. Usage: Send command, instantly changes sequence, saves to memory. Command ID: 92 Data Byte 1: 0 Data Byte 2: 0 Data Byte 3: 0 Data Byte 4: 0 Command Name: Hardware Preview Sequence Upload Description: Uploads a single sequence to the controller for Hardware Previewing. Usage: Not for user, details proprietary. Command ID: 99 Data Byte 1: 0 Data Byte 2: 0 Data Byte 3: 0 Data Byte 4: 0 Command Name: Full Sequence and Index Upload Description: Uploads the index and all indexed color sequences. Usage: Not for user, details proprietary. Command ID: 100 Data Byte 1: 0 Data Byte 2: 0 Data Byte 3: 0 Data Byte 4: 0 Command Name: Upload Configurations Description: Uploads the index and all indexed color sequences. Usage: Not for user, details proprietary. Command ID: 101 Data Byte 1: 0 Data Byte 2: 0 Data Byte 3: 0 Data Byte 4: 0 Command Name: Gamma Correction Upload Description: Uploads the optional Gamma Correction/Dot Correction table values. Not available on all devices. Usage: Depends on controller, contact for assistance. More details released in the future. Command ID: 102 Data Byte 1: 0 Data Byte 2: 0 Data Byte 3: 0 Data Byte 4: 0 Command Name: Request Configurations Description: Asks controller to send it's current configuration flags. More info available in the future. Usage: Responds with the 16 bits of device configuration flags. Sent as two 8-bit numbers, MSB first. Command ID: 120 Data Byte 1: 0 Data Byte 2: 0 Data Byte 3: 0 Data Byte 4: 0 Command Name: Reset to Default Configurations Options Description: Resets configuration bits and most configuration bytes to default or 0. This will remove any configuration options the user has applied to the device. Usage: Instantly updates to device's configurations flags and bytes to default Command ID: 121 Data Byte 1: 0 Data Byte 2: 0 Data Byte 3: 0 Data Byte 4: 0 Command Name: Enter Bootloader Mode Description: Enters device into bootloader mode, will need to close serial/USB port connection and open the separate bootloader software. Note: After bootloading some devices may re-enter bootloader mode when reset, if your device keeps entering bootloader mode after bootloading new firmware, power cycle the device. Usage: Immediately after issuing command the controller will enter bootloader mode. USB connection will be dropped or stalled. Command ID: 140 Data Byte 1: 0 Data Byte 2: 0 Data Byte 3: 0 Data Byte 4: 0 Command Name: External Device Bootloader Mode Description: For compatible devices with onboard modules or secondary microcontrollers. This command enters the device into transparent bridge serial mode which allows other devices to be bootloaded through the USB connection. Used for ESP WiFi modules, more function to be added in the future. Usage: After issuing the command the Aurora device will enter a bridge mode. Disconnect from the Aurora USB port and open the third-party bootloading software for the external device. Such as NodeMCU flasher. Set it up and begin the flashing process. Once complete unplug the controller's USB port, and Command ID: 141 Data Byte 1: 0 Data Byte 2: 0 Data Byte 3: 0 Data Byte 4: 0 Command Name: Sync Pulse Reception/Slave Description: Used for syncing multiple controllers together. One controller is the master that can be connected to multiple slaves. Slave devices receives the sync command will immediately set the color sequence to the received ID# and sets the frame number. The actual color data is not sent from the master to the slave, all the connected controllers must have the color sequences in memory and indexed the same. They don't need to be the same color sequences, they could be different color sequences, or could be a part of a larger amount of pixels. Such as synchronizing two of the same LED screens that are too large for a single controller. Or dividing a large screen into smaller sections and controlling each section with a single controller. Usage: Set one controller as a Sync Master, create, index and load the color sequences into memory. Set one or more controllers as a Sync Slave, create, index, and load the color sequences into memory. Connect the controller's together as described in their datasheets. Command ID: 200 Data Byte 1: Sequence ID Number Data Byte 2: 0 - No Usage Data Byte 3: Frame Number MSB Data Byte 4: Frame Number LSB Contact Support@NLEDshop.com for assistance. |