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
Other Useful Business Software
Network Discovery Software | JDisc Discovery
JDisc Discovery is a comprehensive network inventory and IT asset management solution designed to help organizations gain clear, up-to-date visibility into their IT environment. It automatically scans and maps devices across the network, including servers, workstations, virtual machines, and network hardware, to create a detailed inventory of all connected assets. This includes critical information such as hardware configurations, software installations, patch levels, and relationshipots between devices.
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 } } } }