A software for windows to control and patch DMX 512 lighting equipment.
Based on ANSI E1.20 (remote device management) and the FT232R.
Categories
HMILicense
GNU General Public License version 2.0 (GPLv2)Follow Open_RDM
nel_h2
Secure User Management, Made Simple | Frontegg
Frontegg powers modern businesses with a user management platform that’s fast to deploy and built to scale. Embed SSO, multi-tenancy, and a customer-facing admin portal using robust SDKs and APIs – no complex setup required. Designed for the Product-Led Growth era, it simplifies setup, secures your users, and frees your team to innovate. From startups to enterprises, Frontegg delivers enterprise-grade tools at zero cost to start. Kick off today.
Rate This Project
Login To Rate This Project
User Reviews
-
Great start point for playing with RDM. Doesn't require any expensive stuff. Only problem I had is multiple devices Discovery didn't work, could find only single RDM devices. After some editing of Discovery function I have three devices (just didn't try more, I only have three slaves at hand) successfully found and operating. Here's modified Discovery response parsing which works with multiple slaves on line: if (FT_Read(ftHandle, &RxField, 26, &ByteCnt) == FT_OK) //receive response { i = 0; /* if no response, ByteCnt = 0 */ if (0 < ByteCnt) { /* something received, at least a collision */ res = 1; } if (ByteCnt >= 18) /* minimum length of a full Discovery response, see * RDM specs on dropping 0xFE preamble bytes */ { while ((RxField[i++] != 0xAA) && (i < 26)); //find preamble separator if (i < 20) { res = 1; Form1->LogMemo->Lines->Add("Discovery Response received"); long long tst; tst = (RxField[i] & RxField[i + 1]); tst = (tst << 8) + (RxField[i + 2] & RxField[i+3]); tst = (tst << 8) + (RxField[i + 4] & RxField[i + 5]); tst = (tst << 8) + (RxField[i + 6] & RxField[i + 7]); tst = (tst << 8) + (RxField[i + 8] & RxField[i + 9]); tst = (tst << 8) + (RxField[i + 10] & RxField[i + 11]); if ((LoVal == tst) || (HiVal == tst)) { FoundDev = tst; res = 2; //target identified } } } }