Mini Kabibi Habibi
-- ���Ǹ��ױ���Quaddrix��̨Э��
local Protocol = {};
-- ��ʾ�ֵ������16��10����(��Сֵ�����ֵ)
Protocol.Attr =
{
-- Э�����ʾ���,���ܳ���16�ַ���Ŀǰ�ݲ�֧������
Name = "QT-2XXD",
-- ָ�����̨Э�黹�Ǿ���Э�飬ʹ��"PTZ", "MATRIX"��ʾ
Type = "PTZ",
-- ��msΪ��λ
Internal = 200,
-- û�ж�Ӧ�ĵ�ַ��Χ���붼���0xff
-- ��̨��ַ��Χ
CamAddrRange = {0x01, 0xFF},
-- ���ӵ�ַ��Χ
MonAddrRange = {0x00, 0xFF},
-- Ԥ�õ㷶Χ
PresetRange = {0x01, 0xff},
-- �Զ�Ѳ����·��Χ
TourRange = {0x00, 0xff},
-- �켣��·��Χ
PatternRange = {0x01, 0x8},
-- ��ֱ�ٶȷ�Χ
TileSpeedRange = {0x01, 0x8},
-- ˮƽ�ٶȷ�Χ
PanSpeedRange = {0x01, 0x8},
-- �����Χ
AuxRange = {0x01, 0xff},
}
Protocol.CommandAttr =
{
-- Э������Ҫ���ĵ�λ�ã���LUA�±��ʾ�����±�ӣ���ʼ,��10���Ʊ�ʾ
AddrPos = 2,
PresetPos = 6,
TileSpeedPos = 6,
PanSpeedPos = 5,
--AuxPos = 5,
}
Protocol.Command =
{
-- д����Э��ʱֻ����16���ƻ��ַ���ʾ,û�еĻ���ע�͵�
Start=
{
--д��������, ���ϣ����£����ϣ�����
TileUp = "0xFF, 0x01, 0x00, 0x08, 0x00, 0x08, 0x11",
TileDown = "0xFF, 0x01, 0x00, 0x10, 0x00, 0x08, 0x19",
PanLeft = "0xFF, 0x01, 0x00, 0x04, 0x08, 0x00, 0x0D",
PanRight = "0xFF, 0x01, 0x00, 0x02, 0x08, 0x00, 0x0B",
LeftUp = "0xFF, 0x01, 0x00, 0x0C, 0x08, 0x08, 0x1D",
LeftDown = "0xFF, 0x01, 0x00, 0x14, 0x08, 0x08, 0x25",
RightUp = "0xFF, 0x01, 0x00, 0x0A, 0x08, 0x08, 0x1B",
RightDown = "0xFF, 0x01, 0x00, 0x12, 0x08, 0x08, 0x23",
ZoomWide = "0xFF, 0x01, 0x00, 0x40, 0x00, 0x00, 0x41",
ZoomTele = "0xFF, 0x01, 0x00, 0x20, 0x00, 0x00, 0x21",
FocusNear = "0xFF, 0x01, 0x01, 0x00, 0x00, 0x00, 0x02",
FocusFar = "0xFF, 0x01, 0x00, 0x80, 0x00, 0x00, 0x81",
IrisSmall = "0xFF, 0x01, 0x04, 0x00, 0x00, 0x00, 0x05",
IrisLarge = "0xFF, 0x01, 0x02, 0x00, 0x00, 0x00, 0x03",
-- Ԥ�õ��������ã�����ת��)
SetPreset = "0xFF, 0x01, 0x00, 0x03, 0x00, 0x00, 0x04",
ClearPreset = "0xFF, 0x01, 0x00, 0x05, 0x00, 0x00, 0x06",
GoToPreset = "0xFF, 0x01, 0x00, 0x07, 0x00, 0x00, 0x08",
SetLeftLimit = "0xFF, 0x01, 0x00, 0x07, 0x00, 0x5D, 0x65",
SetRightLimit = "0xFF, 0x01, 0x00, 0x07, 0x00, 0x5C, 0x64",
AutoScanOn = "0xFF, 0x01, 0x00, 0x07, 0x00, 0x61, 0x69",
-- �켣Ѳ��, һ��ָģʽ(���ÿ�ʼ�����ý�������У�ֹͣ����ģʽ
SetPatternStart = "0xFF, 0x01, 0x00, 0x1F, 0x00, 0x00, 0x20",
SetPatternStop = "0xFF, 0x01, 0x00, 0x21, 0x00, 0x00, 0x22",
StartPattern = "0xFF, 0x01, 0x00, 0x23, 0x00, 0x00, 0x24",
-- �˵���ز��
Menu = "0xFF, 0x01, 0x00, 0x07, 0x00, 0x5F, 0x67",
MenuUp = "0xFF, 0x01, 0x00, 0x08, 0x00, 0x08, 0x11",
MenuDown = "0xFF, 0x01, 0x00, 0x10, 0x00, 0x08, 0x19",
MenuLeft = "0xFF, 0x01, 0x00, 0x04, 0x08, 0x00, 0x0D",
MenuRight = "0xFF, 0x01, 0x00, 0x02, 0x08, 0x00, 0x0B",
-- ����������������Լ������ض���Ϣ���������ض���Ϣ������
--Position = "0x3a, 0x00, 0x10, 0x00, 0x00, 0x00, 0x00,0x00, 0xff",
},
Stop =
{
TileUp = "0xFF, 0x01, 0x00, 0x00, 0x00, 0x00, 0x01",
TileDown = "0xFF, 0x01, 0x00, 0x00, 0x00, 0x00, 0x01",
PanLeft = "0xFF, 0x01, 0x00, 0x00, 0x00, 0x00, 0x01",
PanRight = "0xFF, 0x01, 0x00, 0x00, 0x00, 0x00, 0x01",
LeftUp = "0xFF, 0x01, 0x00, 0x00, 0x00, 0x00, 0x01",
LeftDown = "0xFF, 0x01, 0x00, 0x00, 0x00, 0x00, 0x01",
RightUp = "0xFF, 0x01, 0x00, 0x00, 0x00, 0x00, 0x01",
RightDown = "0xFF, 0x01, 0x00, 0x00, 0x00, 0x00, 0x01",
ZoomWide = "0xFF, 0x01, 0x00, 0x00, 0x00, 0x00, 0x01",
ZoomTele = "0xFF, 0x01, 0x00, 0x00, 0x00, 0x00, 0x01",
FocusNear = "0xFF, 0x01, 0x00, 0x00, 0x00, 0x00, 0x01",
FocusFar = "0xFF, 0x01, 0x00, 0x00, 0x00, 0x00, 0x01",
IrisSmall = "0xFF, 0x01, 0x00, 0x00, 0x00, 0x00, 0x01",
IrisLarge = "0xFF, 0x01, 0x00, 0x00, 0x00, 0x00, 0x01",
},
}
Protocol.Checksum = function (s)
s[7] = math.mod((s[2] + s[3] + s[4] + s[5] + s[6]), 256);
return s;
end;
Protocol.SpeedProcess = function(s, tile, pan)
local speed = {0x00,0x08,0x10,0x18,0x20,0x27,0x2F,0x37,0x3F};
s[5] = speed[math.abs(pan+1)];
s[6] = speed[math.abs(tile+1)];
return s;
end;
Protocol.PresetProcess = function(s, preset)
s[6] = preset;
return s;
end;
Protocol.PatternProcess = function(s, num)
return s;
end;
--[[
����ĺ���ǿ�ѡ�ģ�������������̲Ŵ�û�еĻ���ǧ��Ҫ���������ɽ������
Protocol.MonAddrProcess = function(s, addr)
return s;
end;
Protocol.SpeedProcess = function(s, arg1, arg2)
return s;
end;
Protocol.PresetProcess = function(s, arg)
return s;
end;
--]]
return Protocol;