Usage
The IS3720 is very simple to use. It has been designed to minimize the time required to implement the DMX+RDM protocol.
Your microcontroller only needs to configure the RDM registers at startup and, once done, retrieve the desired DMX Channels.
Example: Designing an underwater RGB light with RDM
During startup, perform the following steps:
Write the Unique Identification Number (6 bytes) of the device to the memory map register block UID. This number uniquely identifies your RDM product from all other RDM products on the market.
For prototyping, leave the default UID and skip this step.
Refer to the UID section for more information on how to acquire a UID.
When the UID data changes, it is automatically stored in the IS3720’s internal non-volatile memory and reloaded each time the chip powers up.
Write the category code (2 byes) of the device to the CATEGORY register block in the memory map. In this example, a fixed RGB light corresponds to 0x01, 0x01: PRODUCT_CATEGORY_FIXTURE_FIXED. This information defines the type of product your device is, such as a light, fog machine, projector, dimmer, etc. It does not affect the operation of the device but helps the lighting operator perform their tasks. The values of this register are standardized and recognized by all RDM controllers, according to Table 2: RDM Standardized Product Categories.
Write the DMX footprint (2 bytes) of the device to the DMX_FOOTPRINT register block in the memory map.
In this example, a fixed RGB light corresponds to 0x00, 0x03, as it uses three DMX channels.
This information tells the lighting operator how many channels the device needs.
This register is especially useful because it enables the autopatch feature in RDM controllers, making setup much faster, particularly in large DMX installations.
Optionally, you can write your company name, product model number and name, software version and name by writing to the MANUFACTURER_LBL, MODEL_NUM, MODEL_LBL, SOFT_NUM, SOFT_LBL register blocks in the memory map.
This information doesn’t affect how your product works but helps the lighting operator identify your device.
You’re ready! Bring the RDM device online by writing a 1 to the RDM_ONLINE register.
In the main loop of your code, perform the following steps:
Keep monitoring DMX_START_ADDRESS and IDENTIFY_DEVICE register by reading its values or monitoring changes on the IS3720’s INT pin.
Occasionally, the lighting operator may change the DMX_START_ADDRESS of your device, usually when an underwater light is first installed, or during a stage setup for a show.
During these initial tasks, the operator may set the IDENTIFY_DEVICE register to 1, which tells your device to “show itself” overriding the current DMX data it is receiving. This is very useful, for example, in our underwater scenario, it helps to identify a specific light among the rest of the lights.
Keep reading the DMX data assigned to the light and dim the RGB LEDs accordingly.
The IS3720 stores all DMX data in its DMX_CHx registers, but you should read only the channels assigned to your device. Reading all the DMX_CHx registers takes more time and can reduce the light’s refresh rate.
The DMX_START_ADDRESS register tells you in which DMX_CHx start reading from, and the DMX_FOOTPRINT register tells you how many channels to read.
Continuously perform steps 6 and 7 in your main code to keep your light responsive to the DMX data.
Last updated
Was this helpful?