具有标准512个通道输出,可以多个控制器进行组合,比如2个盒子组合成1024通道,4个盒子组合成2048通道。支持 XP /VISAT/Win7 /Win8 /Win10… x32和X64系统,我们免费提供有SDK及VB、VC、C++ builder、Delphi、C#源代码,你可以在几分钟内编出自己的DMX512控制程序,用于沙盘灯光展示、展厅自动灯光控制,喷泉控制,或者3D控制程序。这些源代码可以在光盘的SDK目录下面找到。
//—————-include this head file——————————————–
#ifndef HD512DLL_H
#define HD512DLL_H
#define Decl extern “C” __declspec(dllimport)
//————————————————————-
// ShowAbout and Version
//————————————————————-
Decl void ShowAbout();
//————————————————————————-
// Check DMX Dongle
// True have Dongle
// HD512 box push to PC, will auto open ,so in your programm, don’t call this function, only for check.
//————————————————————————-
Decl bool isDMXOpen();
//—————————————————————————————–
// Close Dongle
//—————————————————————————————–
Decl void DMXClose();
//———Send Single Channel Value to Dongle—————————
// Channel(1~512)
// Value(0~255)
//———————————————————————-
Decl bool DMXSend(long Channel, unsigned char Value);
//—————————Bulk send—————————————————-
// ChannelCount(1~512)
// ChannelIndex(1~512) First Channel Value
// Value=buff datas
// DMXSends(512,1,buff); //Send All 512 channels data to HD512 (data in buff)
//—————————————————————————————-
Decl bool DMXSends(long ChannelCount, long ChannelIndex, unsigned char* Value);
//———Other way Send Single Channel Value to Dongle—————————
// Channel(1~512)
// Value(0~255)
//———————————————————————-
Decl bool DMXSendSingleChannel(long Channel, unsigned char Value);
//————————–send DMX data to 0~3 universe ID box——————————
// Value=buff[512] datas
// Box = 0~3 universe ID
// DMXSendBox(2,buff); //Send All 512 channels data to universe2[box3] HD512 box (data in buff)
// new for HD512 box, in your programm, only call this function then will ok
//——————————————————————————————–
Decl bool DMXSendBox(long Box, unsigned char* Value);
//————————————–Change Box Number———————————————————-
//when want 1~4 box combinations work 1024~2048 channels, must changer box number, one box don’t use this function,
// Box = 0~3 box number
// ChangeBoxNumber(1); //have two box make 1024 channels.
//—————————————————————————————————————–
Decl bool ChangeBoxNumber(long Box);
//———————–Get Box Number———————————————–
// Get box number
//————————————————————————————
Decl int GetBoxNumber();
//———————–Get Box Universe ID——————————————
// only for one box, Get Box Universe ID
//————————————————————————————
Decl char GetBoxUniverseID();
//———————–Get Box Refresh Rate——————————————
// only for one box
//————————————————————————————-
Decl int GetBoxRefreshRate();
//———————–Set Box Refresh Rate——————————————
// only for one box
// DlyTime = 1000 / Rate , 22ms = 1000 / 44Hz
//————————————————————————————-
Decl bool SetBoxRefreshRate(int DlyTime);
//========================For example=====================================
/*
//HD512 box push to PC, will auto open, so only call DMXSendBox() function then will ok ;
//example 1
//For example you need two box work 1024 channels:
unsigned char U0_DMXData[512], U1_DMXData[512]; //save two box data, each is 512 channels
ChangeBoxNumber(1); // First to Change box number,0 is 1 box, 1 is two box, 2 is three box, 3 is four box,if only one box you needn’t to call this function,default is one box.
DMXSendBox(0,U0_DMXData); //Send 512 byte(channels) DMX data to box 1 (universe0)
DMXSendBox(1,U1_DMXData); //Send 512 byte(channels) DMX data to box 2 (universe1)
//————————————————————-
//examlpe 2
//one box work 512 channels, only call DMXSendBox() function then will ok:
unsigned char U0_DMXData[512]; //save one box data,U0_DMXData[512] is 512 channels data
DMXSendBox(0,U0_DMXData); //Send 512 byte(channels) DMX data to box 1
*/