Tipro API
Communicate with Tipro devices
FwDefines.h
1
/****************************************************************************/
2
/* Firmware commands/addresses */
3
/****************************************************************************/
4
//
5
// Supports only newer firmware versions with HIDAPI support
6
//
7
8
/****************************************************************************/
9
/* Module addresses */
10
/****************************************************************************/
11
12
#define I2C_ADR_BROADCAST 0x00 // Broadcase addr.
13
#define I2C_ADR_MASTER 0x02 // Master module addr.
14
#define I2C_ADR_NONE 0x3F // impossible/undefined addr.
15
16
#define I2C_ADR_SLAVE_01 0x04 // Slave 1
17
#define I2C_ADR_SLAVE_02 0x06 // Slave 2
18
#define I2C_ADR_SLAVE_03 0x08 // Slave 3
19
#define I2C_ADR_SLAVE_04 0x0A // Slave 4
20
#define I2C_ADR_SLAVE_05 0x0C // Slave 5
21
#define I2C_ADR_SLAVE_06 0x0E // Slave 6
22
#define I2C_ADR_SLAVE_07 0x10 // Slave 7
23
#define I2C_ADR_SLAVE_08 0x12 // Slave 8
24
#define I2C_ADR_SLAVE_09 0x14 // Slave 9
25
#define I2C_ADR_SLAVE_10 0x16 // Slave 10
26
#define I2C_ADR_SLAVE_11 0x18 // Slave 11
27
#define I2C_ADR_SLAVE_12 0x1A // Slave 12
28
#define I2C_ADR_SLAVE_13 0x1C // Slave 13
29
#define I2C_ADR_SLAVE_14 0x1E // Slave 14
30
31
#define I2C_ADR_EXE 0x02 // EXE sub-module addr.
32
#define I2C_ADR_DUMMY 0x20 // dummy addr.
33
#define I2C_ADR_TBM 0x30 // TBM sub-module addr.
34
#define I2C_ADR_PS2 0x32 // PS2 sub-module addr.
35
#define I2C_ADR_SPS 0x34 // SPS sub-module addr.
36
#define I2C_ADR_V24 0x36 // V24 sub-module addr.
37
#define I2C_ADR_MPS 0x38 // MPS sub-module addr.
38
#define I2C_ADR_SPK 0x3A // SPK sub-module addr.
39
#define I2C_ADR_USB 0x3C // USB sub-module addr.
40
41
#define I2C_ADR_ANSWER_FLAG 0x80 // answer is expected
42
43
/****************************************************************************/
44
/* I2C common comands */
45
/****************************************************************************/
46
47
#define I2C_CMD_RESET_DEVICE 0xF1 // Reset device
48
#define I2C_CMD_ENABLE_EVENTS 0xF2 // Enable events
49
#define I2C_CMD_DISABLE_EVENTS 0xF3 // Disable events
50
#define I2C_CMD_RESUME_PENDING 0xF4 // Resume pending
51
#define I2C_CMD_CANCEL_PENDING 0xF5 // Cancel pending
52
#define I2C_CMD_SET_DEFAULTS 0xF6 // Set device defaults
53
#define I2C_CMD_GETVER 0xF7 // Get module version
54
#define I2C_CMD_REPORT_STATUS 0xF8 // Report device status
55
#define I2C_CMD_READ_EEPROM 0xF9 // Read from module EEPROM
56
#define I2C_CMD_WRITE_EEPROM 0xFA // Write to module EEPROM
57
#define I2C_CMD_DEFAULT_DISABLE 0xFB // Device default disable
58
59
// 2-byte command (added Apr-08 for speakerbox module)
60
#define I2C_CMD_EXTENDED 0xF0 // 2-byte command
61
#define I2C_CMD_NULL 0x00 // 2-byte raw command
62
63
/****************************************************************************/
64
/* LCD commands */
65
/****************************************************************************/
66
67
#define LCD_CMD_SET_BACKLIGHT 0x40
/* Set LCD backlight. */
68
#define LCD_CMD_CLEAR_TEXT 0x41
/* Clear text on LCD. */
69
#define LCD_CMD_DISPLAY_TEXT 0x42
/* Display text on LCD. */
70
#define LCD_CMD_MOVE_CURSOR 0x43
/* Move cursor on specified position on LCD. */
71
#define LCD_CMD_GET_TYPE 0x44
/* Get LCD type (Rows, Columns, Backlight). */
72
#define LCD_CMD_SET_DISP_MODE 0x45
/* Set LCD dispaly mode (display/cursor/blink). */
73
#define LCD_CMD_SHIFT_TEXT 0x46
/* Shiftss text on LCD. */
74
#define LCD_CMD_SET_WRITE_MODE 0x47
/* Set LCD write mode. */
75
#define LCD_CMD_SET_CUSTOM_CHAR 0x48
/* Set custom cahracter on LCD. */
76
#define LCD_CMD_SET_DEFAULTS 0x49
/* (SA)Set LCD defaults. */
77
78
/****************************************************************************/
79
/* MCR commands */
80
/****************************************************************************/
81
82
#define MCR_CMD_GET_MODE 0x50
/* Get MCR mode. */
83
#define MCR_CMD_SET_MODE 0x51
/* Set MCR mode. */
84
#define MCR_CMD_SCAN_ENABLE 0x52
/* (SA) MCR scan enable. */
85
#define MCR_CMD_REPORT_STATUS 0x53
/* (SA) MCR report status. */
86
#define MCR_CMD_DATA_READ 0x54
/* (SA) Read MCR data. */
87
88
89
/****************************************************************************/
90
/* Keylock commands */
91
/****************************************************************************/
92
93
#define KEYLOCK_CMD_READ_POSITION 0x60
/* Read current Keylock position. */
94
#define KEYLOCK_CMD_ENABLE_EVENTS 0x61
/* Enable Keylock events. */
95
#define KEYLOCK_CMD_DISABLE_EVENTS 0x62
/* Disable Keylock events. */
96
97
98
/****************************************************************************/
99
/* iButton commands */
100
/****************************************************************************/
101
102
#define IBUTTON_CMD_GET_MODE 0x80
/* Get iButton mode. */
103
#define IBUTTON_CMD_SET_MODE 0x81
/* Set iButton mode. */
104
#define IBUTTON_CMD_ENABLE_EVENTS 0x82
/* Enable iButton Events. */
105
#define IBUTTON_CMD_DISABLE_EVENTS 0x83
/* Disable iButton Events. */
106
#define IBUTTON_CMD_READ_ROM 0x84
/* Read block of data from iButton ROM. */
107
#define IBUTTON_CMD_WRITE_RAM 0x85
/* Write byte to iButton RAM. */
108
#define IBUTTON_CMD_READ_RAM 0x86
/* Read byte from iButton RAM. */
109
110
111
/****************************************************************************/
112
/* Bcr commands */
113
/****************************************************************************/
114
115
#define BCR_CMD_GET_MODE 0x90
/* Get BCR mode. */
116
#define BCR_CMD_SET_MODE 0x91
/* Set BCR mode. */
117
118
/****************************************************************************/
119
/* Chameleon commands */
120
/****************************************************************************/
121
122
#define CHM_CMD_WRITE_FLASH 0x95
123
#define CHM_CMD_READ_FLASH 0x96
124
#define CHM_CMD_GO_ONLINE 0xA0
125
#define CHM_CMD_DISPLAY_ICON 0xA2
126
#define CHM_CMD_DISPLAY_BITMAP 0xA3
127
#define CHM_CMD_CHANGE_BACKLIGHTING 0xA4
128
#define CHM_CMD_GO_TO_PAGE 0x92
129
#define CHM_CMD_GET_PAGE_NUMBER 0x93
130
131
/****************************************************************************/
132
/* Speakerbox commands (EXTENDED) */
133
/****************************************************************************/
134
#define SBX_EXTCMD_LED_CTRL 0x00
135
#define SBX_EXTCMD_MIC_SEL 0x01
136
#define SBX_EXTCMD_MIC_ATT 0x02
137
#define SBX_EXTCMD_MIC_COMP 0x03
138
#define SBX_EXTCMD_MIC_THRS 0x04
139
#define SBX_EXTCMD_MONO_SPK_SEL 0x05
140
#define SBX_EXTCMD_STERO_SPK_SEL 0x06
141
#define SBX_EXTCMD_MONO_SEL 0x07
142
#define SBX_EXTCMD_MONO_SPK_AMP 0x08
143
#define SBX_EXTCMD_A_MIC_FLASH 0x09
144
#define SBX_EXTCMD_MAN_XXX_SEL 0x0A
145
#define SBX_EXTCMD_MONO_SIDETONE 0x0B
146
#define SBX_EXTCMD_HS_STATUS 0x0C
147
#define SBX_EXTCMD_STEREO_SPK_MUTE 0x0D
148
#define SBX_EXTCMD_KEY_CTRL 0x0E
149
150
#if 1
/* NEW FW */
151
#define SBX_EXTCMD_MIC_RANGE 0x0F
152
#endif
153
154
/****************************************************************************/
155
/* Speakerbox 104 commands */
156
/****************************************************************************/
157
#define SBX104_EXTCMD_LED_CTRL 0x00
158
#define SBX104_EXTCMD_MIC_SEL 0x01
159
#define SBX104_EXTCMD_MIC_ATT 0x02
160
#define SBX104_EXTCMD_MIC_COMP 0x03
161
#define SBX104_EXTCMD_MIC_THRS 0x04
162
#define SBX104_EXTCMD_AOUT_AMP 0x08
163
#define SBX104_EXTCMD_SPK_MUTE 0x0D
164
#define SBX104_EXTCMD_MIC_BUF_GAIN 0x0F
165
166
/****************************************************************************/
167
/* New Handset commands (EXTENDED) */
168
/****************************************************************************/
169
/* derived from speakerbox */
170
171
#define HXX_EXTCMD_MIC_ATT 0x02
172
#define HXX_EXTCMD_MIC_COMP 0x03
173
#define HXX_EXTCMD_MIC_THRS 0x04
174
#define HXX_EXTCMD_SPK_AMP 0x08
175
176
177
/****************************************************************************/
178
/* Vu-meter commands (EXTENDED) */
179
/****************************************************************************/
180
#define SBX_VUM_EXTCMD_SPK_ATT 0x10
181
182
/****************************************************************************/
183
/* BF10_SBX commands (EXTENDED) */
184
/****************************************************************************/
185
#define BF10_SBX_EXTCMD_LED_LUMINANCE 0x10
186
#define BF10_SBX_EXTCMD_PTT_LED_CTRL 0x11
187
#define BF10_SBX_EXTCMD_MB_LINE_OUT 0x12
188
#define BF10_SBX_EXTCMD_FW_COM 0x13
189
#define BF10_SBX_EXTCMD_LED_LUMINANCE_SYNC 0x14
190
191
/****************************************************************************/
192
/* BeFreeV3 commands (EXTENDED) */
193
/****************************************************************************/
194
#define BF3_CMD_TOUCH_DISABLE 0x00
195
#define BF3_CMD_LCD_LUMINANCE 0x01
196
#define BF3_CMD_FAN_STATUS 0x02
197
#define BF3_CMD_STATE_LED 0x03
198
#define BF3_CMD_PWR_INT 0x04
199
#define BF3_CMD_PWR_EXT 0x05
200
#define BF3_CMD_LCD_BL 0x06
201
202
#define BF3_LUMINANCE_MIN 0x00
203
#define BF3_LUMINANCE_MAX 0x14
204
205
/****************************************************************************/
206
/* Powered Add-on commands (EXTENDED) */
207
/****************************************************************************/
208
#define PAO_CMD_FUSE_12V 0x00
209
#define PAO_CMD_DCDC_24V 0x01
210
#define PAO_CMD_COM1 0x02
211
#define PAO_CMD_COM2 0x03
212
#define PAO_CMD_USB1 0x04
213
#define PAO_CMD_USB2 0x05
214
#define PAO_CMD_CD_OPEN 0x06
215
#define PAO_CMD_CD_SECURITY 0x07
216
217
/****************************************************************************/
218
/* BeFree07 new commands (EXTENDED) */
219
/****************************************************************************/
220
#define BF07_CMD_TOUCH_DISABLE 0x16
221
222
/****************************************************************************/
223
/* MID master PACKET commands */
224
/****************************************************************************/
225
226
/* Download commands via packets. */
227
#define CMD_FLASH_READ_PACKET 0xB0; //-Reads master flash.
228
#define CMD_FLASH_WRITE_ENABLE 0xB1; //-Write flash enable. {NO RESPONSE}
229
#define CMD_FLASH_WRITE_DISABLE 0xB2; //-Write flash disable. {NO RESPONSE}
230
#define CMD_FLASH_WRITE_PACKET 0xB3; //-Write master flash. {NO RESPONSE}
231
232
/****************************************************************************/
233
/* ATMEGA MID master commands */
234
/****************************************************************************/
235
236
/* data-indications (msg-data always included): */
237
238
#define MID_MSGT_IND_NULL 0x00
/* NULL data (uncoded) */
239
#define MID_MSGT_IND_STATUS 0x01
/* status data */
240
#define MID_MSGT_IND_RAW 0x02
/* raw data */
241
#define MID_MSGT_IND_ASCII 0x03
/* ASCII data */
242
#define MID_MSGT_IND_PRGKEY 0x04
/* programmable key data */
243
#define MID_MSGT_IND_EXTPRG 0x05
/* extended PRGKEY */
244
#define MID_MSGT_IND_IBMKEY 0x06
/* IBM key data (MF1,2,3) */
245
#define MID_MSGT_IND_USBKEY1 0x07
/* USB key (use: 0-7F, make flag: bit7) */
246
#define MID_MSGT_IND_USBKEY2 0x08
/* USB key (use: 0-FE, make prefix: FF) */
247
#define MID_MSGT_IND_MAX 0x0F
/* max type # for indicatons */
248
249
/* EXE (master) commands; (-) obligatory, (*) optional parameter: */
250
251
#define MID_MSGT_CMD_EXE_ROLLOVER 0x10
/* play a rollover-indication */
252
253
#define MID_MSGT_CMD_EXE_RD_CONFIG 0x11
/* read MID (ext) configuration */
254
255
#define MID_MSGT_CMD_EXE_RD_MEM 0x16
/* read from specified memory */
256
/* - buf[0,1]: coded-addr L,H */
257
/* - buf[2]: read-length */
258
259
#define MID_MSGT_CMD_EXE_WR_MEM 0x17
/* write to specified memory */
260
/* - buf[0,1]: coded-addr L,H */
261
/* - buf[2-33]: 32-byte block */
262
263
#define MID_MSGT_CMD_EXE_SOUND 0x18
/* play sounds (even # pars): */
264
/* - buf[0]: note/scale (coded) */
265
/* - buf[1]: sound duration */
266
/* - ... */
268
/* - buf[0]: (TspkBgCmd) cmd */
269
/* - buf[1]: note/scale (coded) */
270
/* - buf[2]: sound duration */
271
272
#define MID_MSGT_CMD_EXE_KEYCLICK 0x19
/* play a key-klick tone: */
273
/* - buf[0]: note/scale (coded) */
274
/* - buf[1]: tone duration */
275
276
#define MID_MSGT_CMD_EXE_DELAY 0x1A
/* delay EXE-processing: */
277
/* - buf[0]: delay [x 20ms] */
278
279
#define MID_MSGT_CMD_EXE_LED_LAYOUT 0x1B
/* LED-layout mode: */
280
/* * buf[0]: mode */
281
/* * buf[1]: timeout [x 20ms] */
282
/* * none: restore to default */
283
284
#define MID_MSGT_CMD_EXE_LAYER_OP 0x1C
/* key-layer operation: */
285
/* - buf[0]: operation-code */
286
/* * buf[1]: operation-value */
287
288
#define MID_MSGT_CMD_EXE_PAGE_OP 0x1D
/* key-page operation: */
289
/* - buf[0]: operation-code */
290
/* * buf[1]: operation-value */
291
292
#define MID_MSGT_CMD_EXE_KEYCLICK_MODE 0x1E
/* set key-klick mode: */
293
/* - buf[0]: mode */
294
295
#define MID_MSGT_CMD_EXE_KSEQ_REPEAT 0x1F
/* set key-seq. repeat-pars: */
296
/* - buf[0]: delay [x 20ms] */
297
/* - buf[1]: rate [x 20ms] */
298
299
#define MID_MSGT_CMD_EXE_IF_SELECT 0x20
/* msg interface select: */
300
/* - buf[0]: destination addr. */
301
/* - none: deselect IF */
303
/* - buf[0]: select USB-IF */
304
/* - none: deselect USB-IF */
305
306
#define MID_MSGT_CMD_EXE_LED_LOCK 0x21
/* LED-lock mode: */
307
/* * buf[0]: mode */
308
/* * buf[1]: blink/running rate */
309
/* * buf[2]: timeout [x 20ms] */
310
/* * none: restore to default */
311
312
#define MID_MSGT_CMD_EXE_SEC_PW_KEY 0x23
/* security log-on; key-PW */
313
/* - buf[0]: # of key-strokes */
314
/* * buf[1]: log-on tout [min] */
315
316
#define MID_MSGT_CMD_EXE_SEC_PW_ASCII 0x24
/* security log-on; ASCII-PW */
317
/* - buf[0]: # of ACSII chars */
318
/* * buf[1]: log-on tout [min] */
319
320
#define MID_MSGT_CMD_EXE_SEC_DEFAULT 0x25
/* restore default security */
321
/* * buf[0]: restore-level */
322
/* * buf[0]: restore-layout */
323
/* * none: default res-level */
324
325
#define MID_MSGT_CMD_EXE_LOCK_OP 0x26
/* lock-keys operation: */
326
/* - buf[0]: operation-code */
327
328
330
// USB common comands
331
//
332
333
#define USB_CMD_RESET 0xF1 // Reset device
334
#define USB_CMD_ENABLE 0xF2 // Enable events
335
#define USB_CMD_DISABLE 0xF3 // Disable events
336
#define USB_CMD_RESUME 0xF4 // Resume pending
337
#define USB_CMD_DEFAULT 0xF6 // Set defaults
338
#define USB_CMD_VERSION 0xF7 // Get module version
339
#define USB_CMD_STATUS 0xF8 // Report device status
340
#define USB_CMD_RD_EEPROM 0xF9 // Read module mem (EEPROM)
341
#define USB_CMD_WR_EEPROM 0xFA // Write module mem (EEPROM)
342
#define USB_CMD_CONFIG 0xFF // Config
343
345
// USB controller comands
346
//
347
348
#define USB_CMD_ROLLOVER 0x10 // Rollover command
349
#define USB_CMD_RD_CONFIG 0x11 // Read configuration
350
#define USB_CMD_RD_MEM 0x16 // Read memory
351
#define USB_CMD_WR_MEM 0x17 // Write memory
352
#define USB_CMD_SOUND 0x18 // Play a sound
353
#define USB_CMD_KEYCLICK 0x19 // Play a key-click tone
354
#define USB_CMD_DELAY 0x1A // Delay (x 20ms)
355
#define USB_CMD_LAYER_OP 0x1C // Layer operation
356
#define USB_CMD_PAGE_OP 0x1D // Page operation
357
#define USB_CMD_KEYCLICK_MODE 0x1E // Set Key-click mode
358
#define USB_CMD_KSEQ_REPEAT 0x1F // Set key-seq. repeat param
359
#define USB_CMD_IF_SELECT 0x20 // Select interface
360
#define USB_CMD_SEC_PW_KEY 0x23 // Security log-on Key
361
#define USB_CMD_SEC_PW_ASCII 0x24 // Security log-on ASCII
362
#define USB_CMD_SEC_DEFAULT 0x25 // Restore to default security
363
#define USB_CMD_LOCK_OP 0x26 // Lock keys operation
364
#define USB_CMD_OVERRIDE_INDICATORS 0x1B // Override indicators
365
#define USB_CMD_EXE_LED_LOCK 0x21 // LED-lock mode
Generated by
1.8.13