- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
几个简单的问题。我有一个正在尝试控制的 DMX king USB 照明 Controller 。
它基于 Open DMX 协议(protocol)(来自 Entec),提供了一个 c# 类。我已将设备插入 RGB jar 中,如果我使用他们的驱动程序测试 USB 设备,它会连接到 COM4,当我将他们的软件切换到传输模式时,我可以设置单独的 DMX channel 。
使用他们的 OpenDMX 类,进行一些修改(核心是相同的,我只是添加了一些额外的错误检查,我可以定位设备,查询它的信息等。当我打开设备时,我得到一个句柄。我可以使用 FT_Write 写入该设备,但无论我做什么,实际上都没有灯亮起。
以下是一些相关的代码片段:
public static byte[] buffer;
[DllImport("FTD2XX.dll")]
public static extern FT_STATUS FT_Open(UInt32 uiPort, ref uint ftHandle);
[DllImport("FTD2XX.dll")]
public static extern FT_STATUS FT_Write(uint ftHandle, IntPtr lpBuffer, UInt32 dwBytesToRead, ref UInt32 lpdwBytesWritten);
public static void writeData()
{
while (!done)
{
try
{
initOpenDMX();
status = FT_SetBreakOn(handle);
status = FT_SetBreakOff(handle);
bytesWritten = write(handle, buffer, buffer.Length);
if (bytesWritten == 0)
{
break;
}
System.Threading.Thread.Sleep(25);
}
catch (Exception)
{
break;
}
}
Connected = false;
done = false;
}
所有状态返回为 FT_Ok,bytesWritten 返回为 512(此 USB Controller 上的 channel 数)
我一直在想我错过了一些东西,比如将设备设置为传输模式或类似模式(它只有一个 DMX socket )
public static void initOpenDMX()
{
status = FT_ResetDevice(handle);
status = FT_SetDivisor(handle, (char)12); // set baud rate
status = FT_SetDataCharacteristics(handle, BITS_8, STOP_BITS_2, PARITY_NONE);
status = FT_SetFlowControl(handle, (char)FLOW_NONE, 0, 0);
status = FT_ClrRts(handle);
status = FT_SetLatencyTimer(handle, (byte)40);
status = FT_Purge(handle, PURGE_TX);
status = FT_Purge(handle, PURGE_RX);
}
我也试过 Entec OpenDMX 类,我没有做任何修改,但它似乎也没有做任何事情。
只是想强调一下,他们的控制软件运行良好,所以灯和 Controller 是兼容的。我认为我使用 FTD2xx 的方式缺少某些东西。没有出现任何错误(一切都是 FT_OK),所以这表明 DLL 正在工作 - 特别是因为我可以使用 FT_ListDevices 和 FT_GetDeviceInfo 方法查询设备。
有什么想法吗?
加雷思
最佳答案
为了解决这个问题,我给制造商发了邮件。事实证明该设备不是 OpenDMX,实际上它是一个 DMXProUSB该协议(protocol)非常相似,它基于 FTDI 芯片,这就是代码部分工作的原因,但它有一个微 Controller 。我将 C++ 示例 Controller 文件转换为 C# 并使其全部正常工作。如果再次出现这种情况,我很乐意分享为 DMXProUSB 生成的 c# 代码,但没有任何支持。我已将代码通过电子邮件发送给制造商 (dmxking),并在 github 上放置了一份副本:https://github.com/agrath/Sniper.Lighting.Dmx
谢谢你的帮助
关于c# - 灯光 USB OpenDMX FTD2XX DMXking,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5905198/
几个简单的问题。我有一个正在尝试控制的 DMX king USB 照明 Controller 。 它基于 Open DMX 协议(protocol)(来自 Entec),提供了一个 c# 类。我已将设
我是一名优秀的程序员,十分优秀!