HD512 USB-DMX512

具有标准512个通道输出,可以多个控制器进行组合,比如2个盒子组合成1024通道,4个盒子组合成2048通道。支持 XP /VISAT/Win7 /Win8 /Win10…  x32和X64系统,我们免费提供有SDK及VB、VC、C++ builder、Delphi、C#源代码,你可以在几分钟内编出自己的DMX512控制程序,用于沙盘灯光展示、展厅自动灯光控制,喷泉控制,或者3D控制程序。这些源代码可以在光盘的SDK目录下面找到。

HD512_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

*/