public class BrickletDMX extends Device
Modifier and Type | Class and Description |
---|---|
static interface |
BrickletDMX.FrameAvailableListener
This listener is triggered in slave mode when a new frame was received from the DMX master
and it can be read out.
|
class |
BrickletDMX.FrameCallbackConfig |
class |
BrickletDMX.FrameErrorCount |
static interface |
BrickletDMX.FrameErrorCountListener
This listener is called if a new error occurs.
|
static interface |
BrickletDMX.FrameListener
This listener is called as soon as a new frame is available
(written by the DMX master).
|
static interface |
BrickletDMX.FrameLowLevelListener |
static interface |
BrickletDMX.FrameStartedListener
This listener is triggered as soon as a new frame write is started.
|
class |
BrickletDMX.ReadFrame |
class |
BrickletDMX.ReadFrameLowLevel |
class |
BrickletDMX.SPITFPErrorCount |
Device.Identity
Constructor and Description |
---|
BrickletDMX(String uid,
IPConnection ipcon)
Creates an object with the unique device ID \c uid.
|
Modifier and Type | Method and Description |
---|---|
void |
addFrameAvailableListener(BrickletDMX.FrameAvailableListener listener)
Adds a FrameAvailable listener.
|
void |
addFrameErrorCountListener(BrickletDMX.FrameErrorCountListener listener)
Adds a FrameErrorCount listener.
|
void |
addFrameListener(BrickletDMX.FrameListener listener)
Adds a Frame listener.
|
void |
addFrameLowLevelListener(BrickletDMX.FrameLowLevelListener listener)
Adds a FrameLowLevel listener.
|
void |
addFrameStartedListener(BrickletDMX.FrameStartedListener listener)
Adds a FrameStarted listener.
|
int |
getBootloaderMode()
Returns the current bootloader mode, see
setBootloaderMode(int) . |
int |
getChipTemperature()
Returns the temperature as measured inside the microcontroller.
|
int |
getCommunicationLEDConfig()
Returns the configuration as set by
setCommunicationLEDConfig(int) |
int |
getDMXMode()
Returns the DMX mode, as set by
setDMXMode(int) . |
int |
getErrorLEDConfig()
Returns the configuration as set by
setErrorLEDConfig(int) . |
BrickletDMX.FrameCallbackConfig |
getFrameCallbackConfig()
Returns the frame listener config as set by
setFrameCallbackConfig(boolean, boolean, boolean, boolean) . |
int |
getFrameDuration()
Returns the frame duration as set by
setFrameDuration(int) . |
BrickletDMX.FrameErrorCount |
getFrameErrorCount()
Returns the current number of overrun and framing errors.
|
Device.Identity |
getIdentity()
Returns the UID, the UID where the Bricklet is connected to,
the position, the hardware and firmware version as well as the
device identifier.
|
BrickletDMX.SPITFPErrorCount |
getSPITFPErrorCount()
Returns the error count for the communication between Brick and Bricklet.
|
int |
getStatusLEDConfig()
Returns the configuration as set by
setStatusLEDConfig(int) |
BrickletDMX.ReadFrame |
readFrame()
Returns the last frame that was written by the DMX master.
|
BrickletDMX.ReadFrameLowLevel |
readFrameLowLevel()
Returns the last frame that was written by the DMX master.
|
long |
readUID()
Returns the current UID as an integer.
|
void |
removeFrameAvailableListener(BrickletDMX.FrameAvailableListener listener)
Removes a FrameAvailable listener.
|
void |
removeFrameErrorCountListener(BrickletDMX.FrameErrorCountListener listener)
Removes a FrameErrorCount listener.
|
void |
removeFrameListener(BrickletDMX.FrameListener listener)
Removes a Frame listener.
|
void |
removeFrameLowLevelListener(BrickletDMX.FrameLowLevelListener listener)
Removes a FrameLowLevel listener.
|
void |
removeFrameStartedListener(BrickletDMX.FrameStartedListener listener)
Removes a FrameStarted listener.
|
void |
reset()
Calling this function will reset the Bricklet.
|
int |
setBootloaderMode(int mode)
Sets the bootloader mode and returns the status after the requested
mode change was instigated.
|
void |
setCommunicationLEDConfig(int config)
Sets the communication LED configuration.
|
void |
setDMXMode(int dmxMode)
Sets the DMX mode to either master or slave.
|
void |
setErrorLEDConfig(int config)
Sets the error LED configuration.
|
void |
setFrameCallbackConfig(boolean frameStartedCallbackEnabled,
boolean frameAvailableCallbackEnabled,
boolean frameCallbackEnabled,
boolean frameErrorCountCallbackEnabled)
Enables/Disables the different listeners.
|
void |
setFrameDuration(int frameDuration)
Sets the duration of a frame.
|
void |
setStatusLEDConfig(int config)
Sets the status LED configuration.
|
void |
setWriteFirmwarePointer(long pointer)
Sets the firmware pointer for
writeFirmware(int[]) . |
int |
writeFirmware(int[] data)
Writes 64 Bytes of firmware at the position as written by
setWriteFirmwarePointer(long) before. |
void |
writeFrame(int[] frame)
Writes a DMX frame.
|
void |
writeFrameLowLevel(int frameLength,
int frameChunkOffset,
int[] frameChunkData)
Writes a DMX frame.
|
void |
writeUID(long uid)
Writes a new UID into flash.
|
getAPIVersion, getResponseExpected, setResponseExpected, setResponseExpectedAll
public static final int DEVICE_IDENTIFIER
public static final String DEVICE_DISPLAY_NAME
public static final byte FUNCTION_SET_DMX_MODE
public static final byte FUNCTION_GET_DMX_MODE
public static final byte FUNCTION_WRITE_FRAME_LOW_LEVEL
public static final byte FUNCTION_READ_FRAME_LOW_LEVEL
public static final byte FUNCTION_SET_FRAME_DURATION
public static final byte FUNCTION_GET_FRAME_DURATION
public static final byte FUNCTION_GET_FRAME_ERROR_COUNT
public static final byte FUNCTION_SET_COMMUNICATION_LED_CONFIG
public static final byte FUNCTION_GET_COMMUNICATION_LED_CONFIG
public static final byte FUNCTION_SET_ERROR_LED_CONFIG
public static final byte FUNCTION_GET_ERROR_LED_CONFIG
public static final byte FUNCTION_SET_FRAME_CALLBACK_CONFIG
public static final byte FUNCTION_GET_FRAME_CALLBACK_CONFIG
public static final byte FUNCTION_GET_SPITFP_ERROR_COUNT
public static final byte FUNCTION_SET_BOOTLOADER_MODE
public static final byte FUNCTION_GET_BOOTLOADER_MODE
public static final byte FUNCTION_SET_WRITE_FIRMWARE_POINTER
public static final byte FUNCTION_WRITE_FIRMWARE
public static final byte FUNCTION_SET_STATUS_LED_CONFIG
public static final byte FUNCTION_GET_STATUS_LED_CONFIG
public static final byte FUNCTION_GET_CHIP_TEMPERATURE
public static final byte FUNCTION_RESET
public static final byte FUNCTION_WRITE_UID
public static final byte FUNCTION_READ_UID
public static final byte FUNCTION_GET_IDENTITY
public static final int DMX_MODE_MASTER
public static final int DMX_MODE_SLAVE
public static final int COMMUNICATION_LED_CONFIG_OFF
public static final int COMMUNICATION_LED_CONFIG_ON
public static final int COMMUNICATION_LED_CONFIG_SHOW_HEARTBEAT
public static final int COMMUNICATION_LED_CONFIG_SHOW_COMMUNICATION
public static final int ERROR_LED_CONFIG_OFF
public static final int ERROR_LED_CONFIG_ON
public static final int ERROR_LED_CONFIG_SHOW_HEARTBEAT
public static final int ERROR_LED_CONFIG_SHOW_ERROR
public static final int BOOTLOADER_MODE_BOOTLOADER
public static final int BOOTLOADER_MODE_FIRMWARE
public static final int BOOTLOADER_MODE_BOOTLOADER_WAIT_FOR_REBOOT
public static final int BOOTLOADER_MODE_FIRMWARE_WAIT_FOR_REBOOT
public static final int BOOTLOADER_MODE_FIRMWARE_WAIT_FOR_ERASE_AND_REBOOT
public static final int BOOTLOADER_STATUS_OK
public static final int BOOTLOADER_STATUS_INVALID_MODE
public static final int BOOTLOADER_STATUS_NO_CHANGE
public static final int BOOTLOADER_STATUS_ENTRY_FUNCTION_NOT_PRESENT
public static final int BOOTLOADER_STATUS_DEVICE_IDENTIFIER_INCORRECT
public static final int BOOTLOADER_STATUS_CRC_MISMATCH
public static final int STATUS_LED_CONFIG_OFF
public static final int STATUS_LED_CONFIG_ON
public static final int STATUS_LED_CONFIG_SHOW_HEARTBEAT
public static final int STATUS_LED_CONFIG_SHOW_STATUS
public BrickletDMX(String uid, IPConnection ipcon)
public void setDMXMode(int dmxMode) throws TinkerforgeException
TinkerforgeException
public int getDMXMode() throws TinkerforgeException
setDMXMode(int)
.TinkerforgeException
public void writeFrameLowLevel(int frameLength, int frameChunkOffset, int[] frameChunkData) throws TinkerforgeException
BrickletDMX.FrameStartedListener
listener was called. The frame
is double buffered, so a new frame can be written as soon as the writing of the prior frame
starts.
The data will be transfered when the next frame duration ends, see setFrameDuration(int)
.
Generic approach:
* Set the frame duration to a value that represents the number of frames per second you want to achieve.
* Set channels for first frame.
* Wait for the BrickletDMX.FrameStartedListener
listener.
* Set channels for next frame.
* Wait for the BrickletDMX.FrameStartedListener
listener.
* and so on.
This approach ensures that you can set new DMX data with a fixed frame rate.
This function can only be called in master mode.TinkerforgeException
public BrickletDMX.ReadFrameLowLevel readFrameLowLevel() throws TinkerforgeException
BrickletDMX.FrameAvailableListener
listener was called.
Generic approach:
* Call readFrame()
to get first frame.
* Wait for the BrickletDMX.FrameAvailableListener
listener.
* Call readFrame()
to get second frame.
* Wait for the BrickletDMX.FrameAvailableListener
listener.
* and so on.
Instead of polling this function you can also use the BrickletDMX.FrameListener
listener.
You can enable it with setFrameCallbackConfig(boolean, boolean, boolean, boolean)
.
The frame number starts at 0 and it is increased by one with each received frame.
This function can only be called in slave mode.TinkerforgeException
public void setFrameDuration(int frameDuration) throws TinkerforgeException
TinkerforgeException
public int getFrameDuration() throws TinkerforgeException
setFrameDuration(int)
.TinkerforgeException
public BrickletDMX.FrameErrorCount getFrameErrorCount() throws TinkerforgeException
TinkerforgeException
public void setCommunicationLEDConfig(int config) throws TinkerforgeException
TinkerforgeException
public int getCommunicationLEDConfig() throws TinkerforgeException
setCommunicationLEDConfig(int)
TinkerforgeException
public void setErrorLEDConfig(int config) throws TinkerforgeException
BrickletDMX.FrameErrorCountListener
callback). If you call this function with the Show-Error option again, the LED
will turn off until the next error occurs.
You can also turn the LED permanently on/off or show a heartbeat.
If the Bricklet is in bootloader mode, the LED is off.TinkerforgeException
public int getErrorLEDConfig() throws TinkerforgeException
setErrorLEDConfig(int)
.TinkerforgeException
public void setFrameCallbackConfig(boolean frameStartedCallbackEnabled, boolean frameAvailableCallbackEnabled, boolean frameCallbackEnabled, boolean frameErrorCountCallbackEnabled) throws TinkerforgeException
BrickletDMX.FrameStartedListener
listener and BrickletDMX.FrameAvailableListener
listener are enabled while
the BrickletDMX.FrameListener
listener and BrickletDMX.FrameErrorCountListener
listener are disabled.
If you want to use the BrickletDMX.FrameListener
listener you can enable it and disable
the cb:`Frame Available` listener at the same time. It becomes redundant in
this case.TinkerforgeException
public BrickletDMX.FrameCallbackConfig getFrameCallbackConfig() throws TinkerforgeException
setFrameCallbackConfig(boolean, boolean, boolean, boolean)
.TinkerforgeException
public BrickletDMX.SPITFPErrorCount getSPITFPErrorCount() throws TinkerforgeException
TinkerforgeException
public int setBootloaderMode(int mode) throws TinkerforgeException
TinkerforgeException
public int getBootloaderMode() throws TinkerforgeException
setBootloaderMode(int)
.TinkerforgeException
public void setWriteFirmwarePointer(long pointer) throws TinkerforgeException
writeFirmware(int[])
. The pointer has
to be increased by chunks of size 64. The data is written to flash
every 4 chunks (which equals to one page of size 256).
This function is used by Brick Viewer during flashing. It should not be
necessary to call it in a normal user program.TinkerforgeException
public int writeFirmware(int[] data) throws TinkerforgeException
setWriteFirmwarePointer(long)
before. The firmware is written
to flash every 4 chunks.
You can only write firmware in bootloader mode.
This function is used by Brick Viewer during flashing. It should not be
necessary to call it in a normal user program.TinkerforgeException
public void setStatusLEDConfig(int config) throws TinkerforgeException
TinkerforgeException
public int getStatusLEDConfig() throws TinkerforgeException
setStatusLEDConfig(int)
TinkerforgeException
public int getChipTemperature() throws TinkerforgeException
TinkerforgeException
public void reset() throws TinkerforgeException
TinkerforgeException
public void writeUID(long uid) throws TinkerforgeException
TinkerforgeException
public long readUID() throws TinkerforgeException
TinkerforgeException
public Device.Identity getIdentity() throws TinkerforgeException
getIdentity
in class Device
TinkerforgeException
public void writeFrame(int[] frame) throws TinkerforgeException
BrickletDMX.FrameStartedListener
listener was called. The frame
is double buffered, so a new frame can be written as soon as the writing of the prior frame
starts.
The data will be transfered when the next frame duration ends, see setFrameDuration(int)
.
Generic approach:
* Set the frame duration to a value that represents the number of frames per second you want to achieve.
* Set channels for first frame.
* Wait for the BrickletDMX.FrameStartedListener
listener.
* Set channels for next frame.
* Wait for the BrickletDMX.FrameStartedListener
listener.
* and so on.
This approach ensures that you can set new DMX data with a fixed frame rate.
This function can only be called in master mode.TinkerforgeException
public BrickletDMX.ReadFrame readFrame() throws TinkerforgeException
BrickletDMX.FrameAvailableListener
listener was called.
Generic approach:
* Call readFrame()
to get first frame.
* Wait for the BrickletDMX.FrameAvailableListener
listener.
* Call readFrame()
to get second frame.
* Wait for the BrickletDMX.FrameAvailableListener
listener.
* and so on.
Instead of polling this function you can also use the BrickletDMX.FrameListener
listener.
You can enable it with setFrameCallbackConfig(boolean, boolean, boolean, boolean)
.
The frame number starts at 0 and it is increased by one with each received frame.
This function can only be called in slave mode.TinkerforgeException
public void addFrameStartedListener(BrickletDMX.FrameStartedListener listener)
public void removeFrameStartedListener(BrickletDMX.FrameStartedListener listener)
public void addFrameAvailableListener(BrickletDMX.FrameAvailableListener listener)
public void removeFrameAvailableListener(BrickletDMX.FrameAvailableListener listener)
public void addFrameLowLevelListener(BrickletDMX.FrameLowLevelListener listener)
public void removeFrameLowLevelListener(BrickletDMX.FrameLowLevelListener listener)
public void addFrameErrorCountListener(BrickletDMX.FrameErrorCountListener listener)
public void removeFrameErrorCountListener(BrickletDMX.FrameErrorCountListener listener)
public void addFrameListener(BrickletDMX.FrameListener listener)
public void removeFrameListener(BrickletDMX.FrameListener listener)
Copyright © 2021 Tinkerforge GmbH. All rights reserved.