3 #define SERIAL_VERSION 0x01 //3 bits 4 #define SERIAL_ID 0x04 //5 bits 5 #define SERIAL_HEAD ((SERIAL_ID<<3) | (SERIAL_VERSION)) 7 #define SERIALCOM_ERR 0x18 8 #define SERIALCOM_OK 0x20 10 #define MAX_FTDI_MANAGED 16 12 #define AMPLI_MAX_GATED_mV 8000 13 #define AMPLI_MAX_FR_mV 5000 14 #define AMPLI_MIN_mV 2000 16 #define HOLD_OFF_MIN 1000 17 #define HOLD_OFF_MAX 100000000 20 #define FREQ_MAX 100000000 23 #define TON_MAX 100000000000 25 #define TRIGGER_TH_MAX 2000 26 #define TRIGGER_TH_MIN -2000 31 #define INT_TIME_MIN 10 32 #define INT_TIME_MAX 60000 35 PDM_COMMAND_SetAmpiTemp = 1,
36 PDM_COMMAND_SetHoldOff = 2,
37 PDM_COMMAND_SetGateMode = 3,
38 PDM_COMMAND_SetGateShape = 4,
39 PDM_COMMAND_SetTriggerInEdge = 5,
40 PDM_COMMAND_SetTriggerInTh = 6,
41 PDM_COMMAND_SetTriggerAuxEdge = 7,
42 PDM_COMMAND_SetTriggerAuxTh = 8,
43 PDM_COMMAND_SetTriggerFunction = 9,
44 PDM_COMMAND_SetFrequency = 10,
45 PDM_COMMAND_SetTon = 11,
46 PDM_COMMAND_SetTonFrequency = 12,
47 PDM_COMMAND_SetTtlOut = 13,
48 PDM_COMMAND_SetNimOut = 14,
49 PDM_COMMAND_SetDelayTriggerIn = 15,
50 PDM_COMMAND_SetDelayTriggerInternal = 16,
51 PDM_COMMAND_SetDelayTriggerAux = 17,
52 PDM_COMMAND_SetDelayGate = 18,
53 PDM_COMMAND_SetDelayNimOut = 19,
54 PDM_COMMAND_SetDelayTtlOut = 20,
55 PDM_COMMAND_SetCounterIntTime = 21,
56 PDM_COMMAND_SetCounter1Enable = 22,
57 PDM_COMMAND_SetCounter2Enable = 23,
58 PDM_COMMAND_SetCounter3Enable = 24,
59 PDM_COMMAND_SetModuleOnOff = 25,
61 PDM_COMMAND_GetAmpi = 64,
62 PDM_COMMAND_GetTemp = 65,
63 PDM_COMMAND_GetHoldOff = 66,
64 PDM_COMMAND_GetGateMode = 67,
65 PDM_COMMAND_GetGateShape = 68,
66 PDM_COMMAND_GetTriggerInEdge = 69,
67 PDM_COMMAND_GetTriggerInTh = 70,
68 PDM_COMMAND_GetTriggerAuxEdge = 71,
69 PDM_COMMAND_GetTriggerAuxTh = 72,
70 PDM_COMMAND_GetTriggerFunction = 73,
71 PDM_COMMAND_GetFrequency = 74,
72 PDM_COMMAND_GetTon = 75,
73 PDM_COMMAND_GetTtlOut = 77,
74 PDM_COMMAND_GetNimOut = 78,
75 PDM_COMMAND_GetDelayTriggerIn = 79,
76 PDM_COMMAND_GetDelayTriggerInternal = 80,
77 PDM_COMMAND_GetDelayTriggerAux = 81,
78 PDM_COMMAND_GetDelayGate = 82,
79 PDM_COMMAND_GetDelayNimOut = 83,
80 PDM_COMMAND_GetDelayTtlOut = 84,
81 PDM_COMMAND_GetCounterIntTime = 85,
82 PDM_COMMAND_GetCounter1Enable = 86,
83 PDM_COMMAND_GetCounter2Enable = 87,
84 PDM_COMMAND_GetCounter3Enable = 88,
85 PDM_COMMAND_GetCounter1Value = 89,
86 PDM_COMMAND_GetCounter2Value = 90,
87 PDM_COMMAND_GetCounter3Value = 91,
88 PDM_COMMAND_GetCounter1ValueAtIter = 92,
89 PDM_COMMAND_GetCounter2ValueAtIter = 93,
90 PDM_COMMAND_GetCounter3ValueAtIter = 94,
91 PDM_COMMAND_GetCurrentConfigPart1 = 95,
92 PDM_COMMAND_GetCurrentConfigPart2 = 96,
93 PDM_COMMAND_GetModuleConfigCounters = 97,
94 PDM_COMMAND_GetModuleInfoSN = 98,
95 PDM_COMMAND_GetModuleInfoSPADType = 99,
96 PDM_COMMAND_GetModuleInfoSPADName = 100,
97 PDM_COMMAND_GetModuleInfoFpgaHWver = 101,
98 PDM_COMMAND_GetModuleInfoFpgaSWver = 102,
99 PDM_COMMAND_GetModuleInfoMCUHWver = 103,
100 PDM_COMMAND_GetModuleInfoMCUSWver = 104,
101 PDM_COMMAND_GetModuleStatus = 105,
102 PDM_COMMAND_GetPowerVoltages = 106,
103 PDM_COMMAND_GetModuleConfigXPart1 = 107,
104 PDM_COMMAND_GetModuleConfigXPart2 = 108,
107 static int SendCommandLength[128] = {
134 255,255,255,255,255,255,255,255,255,
135 255,255,255,255,255,255,255,255,255,255,
136 255,255,255,255,255,255,255,255,255,255,
137 255,255,255,255,255,255,255,255,255,
138 1,1,1,1,1,1,1,1,1,1,
139 1,1,255,1,1,1,1,1,1,1,
140 1,1,1,1,1,1,1,1,2,2,
141 2,1,1,1,1,1,1,1,1,1,1,1,1,
144 255,255,255,255,255,255,255,255,255,
145 255,255,255,255,255,255,255,255,255,255
149 static int ReceivedCommandLength[127] = {
176 255,255,255,255,255,255,255,255,255,
177 255,255,255,255,255,255,255,255,255,255,
178 255,255,255,255,255,255,255,255,255,255,
179 255,255,255,255,255,255,255,255,255,
225 255,255,255,255,255,255,255,255,255,
226 255,255,255,255,255,255,255,255,255,255