Tipro API
Communicate with Tipro devices
SpeakerBox104_IntFn.h
1 #pragma once
2 
3 // SpeakerBox104_IntFn.h :
5 
7 // FW documentation - Onur 2 project
8 
9 
10 /* MID_MSGT_XXX_SBX_LED_CTRL= 0x00 / * LED control (WR/RD) */ /* 0xF0, 0x00 */
11 /* Parameters:
12 
13  -- BYTE 1 --
14  * Mask :
15  Which LEDs will be affected.
16 
17  -- BYTE 2 --
18  * LED :
19  Turn specific LEDs ON or OFF.
20 
21  Return/Read Values:
22  data[0]= MID_MSGT_XXX_SBX_LED_CTRL = 0x00;
23  data[1]= current LED status;
24 */
25 
26 /* MID_MSGT_XXX_SBX_MIC_SEL= 0x01 / * Headset MIC mute / manual mode (WR/RD) */ /* 0xF0 */
27 /* Parameters:
28 
29  -- BYTE 1 --
30  * Microphone mute (bit 0):
31  Mute microphone= xxxx xxx1
32  Un-Mute microphone= xxxx xxx0
33  VOID (no change)= xx11 1111 (0x3F)
34 
35  * Microphone manual mode (bit 6):
36  Manual mode= x1xx xxxx
37  Auto mode= x0xx xxxx
38 
39  * update EEPROM settings (bit 7):
40  Update settings= 1xxx xxxx
41  Don't update settings= 0xxx xxxx
42 
43  Return/Read Values:
44  data[0]= MID_MSGT_XXX_SBX_MIC_SEL = 0x01;
45  data[1]= Last successfully written microphone settings for headset 1
46  data[2]= Current hardware status of microphone settings for headset 1
47  data[3]= EEPROM value of microphone settings for headset 1
48 */
49 
50 /* MID_MSGT_XXX_SBX_MIC_ATT= 0x02 / * MIC attenuation (WR/RD) */ /* 0xF0 */
51 /* Parameters:
52 
53  -- BYTE 1 --
54  * Microphone attenuation (post-amp):
55  SBX_MIC_ATT_p9dB= 0x00
56  SBX_MIC_ATT_p6dB= 0x01
57  SBX_MIC_ATT_p3dB= 0x02
58  SBX_MIC_ATT_0dB= 0x03
59  SBX_MIC_ATT_m3dB= 0x04
60  SBX_MIC_ATT_m6dB= 0x05
61  SBX_MIC_ATT_m9dB= 0x06
62  SBX_MIC_ATT_m12dB= 0x07
63  SBX_MIC_ATT_m15dB= 0x08
64  SBX_MIC_ATT_m18dB= 0x09
65  SBX_MIC_ATT_m21dB= 0x0A
66  SBX_MIC_ATT_m24dB= 0x0B
67  SBX_MIC_ATT_m27dB= 0x0C
68  SBX_MIC_ATT_m30dB= 0x0D
69  SBX_MIC_ATT_m33dB= 0x0E
70  VOID (no change)= 0x7F
71 
72  * update EEPROM settings (bit 7):
73  Update settings= 1xxx xxxx
74  Don't update settings= 0xxx xxxx
75 
76  Return/Read Values:
77  data[0]= MID_MSGT_XXX_SBX_MIC_ATT = 0x02;
78  data[1]= Current attenuation setting of microphone for headset 1
79  data[2]= Current value in digital potentiometer of microphone attenuation for headset 1
80  data[3]= EEPROM attenuation setting of microphone for headset 1
81 */
82 
83 /* MID_MSGT_XXX_SBX_MIC_COMP= 0x03 / * MIC compression (WR/RD) */ /* 0xF0 */
84 /* Parameters:
85 
86  -- BYTE 1 --
87  * Microphone compression:
88  SBX_MIC_COMP2_OFF= 0x10
89  SBX_MIC_COMP2_ON= 0x11
90  VOID (no change)= 0x7F
91 
92  (compatibility mode / not to be used)
93  SBX_MIC_COMP1_OFF0= 0x00
94  SBX_MIC_COMP1_OFF1= 0x01
95  SBX_MIC_COMP1_LOW= 0x02
96  SBX_MIC_COMP1_HIGH= 0x03
97 
98  * update EEPROM settings (bit 7):
99  Update settings= 1xxx xxxx
100  Don't update settings= 0xxx xxxx
101 
102  Return/Read Values:
103  data[0]= MID_MSGT_XXX_SBX_MIC_COMP = 0x03;
104  data[1]= Last successfully written compression settings for headset 1
105  data[2]= Current value of compression settings (compatibility mode) for headset 1
106  data[3]= Current value of compression settings for headset 1
107  data[4]= EEPROM value of compression settings for headset 1
108 */
109 
110 /* MID_MSGT_XXX_SBX_MIC_THRS= 0x04 / * MIC noise threshold (WR/RD) */ /* 0xF0 */
111 /* Parameters:
112 
113  -- BYTE 1 --
114  * Microphone threshold:
115  SBX_MIC_THRS2_HIGH= 0x10
116  SBX_MIC_THRS2_MID= 0x11
117  SBX_MIC_THRS2_LOW= 0x12
118  SBX_MIC_THRS2_LOWER= 0x13
119  SBX_MIC_THRS2_VERY_LOW= 0x14
120  VOID (no change)= 0x7F
121 
122  (compatibility mode / not to be used)
123  SBX_MIC_THRS1_HIGH= 0x00
124  SBX_MIC_THRS1_MID= 0x01
125  SBX_MIC_THRS1_LOW= 0x02
126  SBX_MIC_THRS1_VERY_LOW= 0x03
127 
128  * update EEPROM settings (bit 7):
129  Update settings= 1xxx xxxx
130  Don't update settings= 0xxx xxxx
131 
132  Return/Read Values:
133  data[0]= MID_MSGT_XXX_SBX_MIC_THRS = 0x04;
134  data[1]= Last successfully written threshold settings for headset 1
135  data[2]= Current value of threshold settings (compatibility mode) for headset 1
136  data[3]= Current value of threshold settings for headset 1
137  data[4]= EEPROM value of threshold settings for headset 1
138 
139 */
140 
141 /* MID_MSGT_SBX_XXX_AMP= 0x08 / * Audio output amp (WR/RD) */ /* 0xF0 */
142 /* Parameters:
143 
144  -- BYTE 1 --
145  * Audio output selection:
146  SBX_HS1_STEREO_SPK_AMP= 0x00 // Headset speaker
147  SBX_EXT_MONO_SPK_AMP= 0x02 // External speaker
148  SBX_EXT_MONO_REC_AMP= 0x03 // Recording output
149 
150  -- BYTE 2 --
151  * Audio output amplification:
152  * Headset speaker:
153  SBX_HS_SPK_AMP_p9dB= 0x00
154  SBX_HS_SPK_AMP_p6dB= 0x01
155  SBX_HS_SPK_AMP_p3dB= 0x02
156  SBX_HS_SPK_AMP_0dB= 0x03
157  SBX_HS_SPK_AMP_m6db= 0x04
158  SBX_HS_SPK_AMP_m12dB= 0x05
159  SBX_HS_SPK_AMP_m18dB= 0x06
160  SBX_HS_SPK_AMP_m24dB= 0x07
161  SBX_HS_SPK_AMP_m30dB= 0x08
162  SBX_HS_SPK_AMP_m36dB= 0x09
163  SBX_HS_SPK_AMP_m42dB= 0x0A
164  VOID (no change)= 0x7F
165 
166  * External speaker:
167  SBX_EXT_MONO_SPK_AMP_p10dB= 0x00
168  SBX_EXT_MONO_SPK_AMP_p8dB= 0x01
169  SBX_EXT_MONO_SPK_AMP_p6dB= 0x02
170  SBX_EXT_MONO_SPK_AMP_p4dB= 0x03
171  SBX_EXT_MONO_SPK_AMP_p2dB= 0x04
172  SBX_EXT_MONO_SPK_AMP_0dB= 0x05
173  SBX_EXT_MONO_SPK_AMP_m2dB= 0x06
174  SBX_EXT_MONO_SPK_AMP_m4dB= 0x07
175  SBX_EXT_MONO_SPK_AMP_m6dB= 0x08
176  SBX_EXT_MONO_SPK_AMP_m7dB= 0x09
177  SBX_EXT_MONO_SPK_AMP_m10dB= 0x0A
178  VOID (no change)= 0x7F
179 
180  * Recording output:
181  SBX_EXT_MONO_REC_AMP_p10dB= 0x00
182  SBX_EXT_MONO_REC_AMP_p8dB= 0x01
183  SBX_EXT_MONO_REC_AMP_p6dB= 0x02
184  SBX_EXT_MONO_REC_AMP_p4dB= 0x03
185  SBX_EXT_MONO_REC_AMP_p2dB= 0x04
186  SBX_EXT_MONO_REC_AMP_0dB= 0x05
187  SBX_EXT_MONO_REC_AMP_m2dB= 0x06
188  SBX_EXT_MONO_REC_AMP_m4dB= 0x07
189  SBX_EXT_MONO_REC_AMP_m6dB= 0x08
190  SBX_EXT_MONO_REC_AMP_m8dB= 0x09
191  SBX_EXT_MONO_REC_AMP_m10dB= 0x0A
192  VOID (no change)= 0x7F
193 
194  * update EEPROM settings (bit 7):
195  Update settings= 1xxx xxxx
196  Don't update settings= 0xxx xxxx
197 
198  -- BYTE 3 --
199  * Headset speaker balance (optional):
200  SBX_HS_SPK_AMP_ATT_LR_0= 0x00 // L&R channels are equal (nominal)
201  SBX_HS_SPK_AMP_ATT_LR_1= 0x01 // R/L 1 step attenuated (L/R nominal)
202  SBX_HS_SPK_AMP_ATT_LR_2= 0x02 // R/L 2 steps attenuated (L/R nominal)
203  SBX_HS_SPK_AMP_ATT_LR_2= 0x03 // R/L 3 steps attenuated (L/R nominal)
204  SBX_HS_SPK_AMP_ATT_LR_2= 0x04 // R/L 4 steps attenuated (L/R nominal)
205  SBX_HS_SPK_AMP_ATT_LR_2= 0x05 // R/L 5 steps attenuated (L/R nominal)
206  SBX_HS_SPK_AMP_ATT_LR_2= 0x06 // R/L 6 steps attenuated (L/R nominal)
207  SBX_HS_SPK_AMP_ATT_LR_2= 0x07 // R/L 7 steps attenuated (L/R nominal)
208  SBX_HS_SPK_AMP_ATT_LR_2= 0x08 // R/L 8 steps attenuated (L/R nominal)
209  SBX_HS_SPK_AMP_ATT_LR_2= 0x09 // R/L 9 steps attenuated (L/R nominal)
210  SBX_HS_SPK_AMP_ATT_LR_2= 0x0A // R/L 10 steps attenuated (L/R nominal)
211  VOID (no change)= 0x7F
212 
213  * update EEPROM settings (bit 6):
214  Attenuate R channel= x0xx xxxx // 0x0X
215  Attenuate L channel= x1xx xxxx // 0x4X
216 
217  * update EEPROM settings (bit 7):
218  Update settings= 1xxx xxxx
219  Don't update settings= 0xxx xxxx
220 
221  Return/Read Values:
222  data[0]= MID_MSGT_SBX_XXX_AMP = 0x08;
223  data[1]= Audio output selection
224  data[2]= Current value of amplification for requested audio ouput
225  data[3]= EEPROM value of amplification for requested audio output
226  Only in case of headset spekaker (SBX_HS1_STEREO_SPK_AMP):
227  data[4]= Current value of balance for headset speaker (not returned in other cases)
228  data[5]= EEPROM value of balance for headset speaker (not returned in other cases)
229 
230 */
231 
232 /* MID_MSGT_XXX_SBX_STEREO_SPK_MUTE= 0x0D / * External SPK mute (WR/RD) */ /* 0xF0 */
233 // TODO: Speak with Marijan about the MUTE command ?! What about other speakers? EEPROM settings?
234 /* Parameters:
235 
236  -- BYTE 1 --
237  * External SPK mute
238  Mute external speaker= xxxx xxx1
239  Un-Mute external speaker= xxxx xxx0
240 
241  Return/Read Values:
242  data[0]= MID_MSGT_XXX_SBX_STEREO_SPK_MUTE = 0x0D;
243  data[1]= Current mute settings
244  data[2]= EEPROM mute settings
245 */
246 
247 // MID_MSGT_SBX_KEY_STATUS = 0x0E, /* SBX-keys status (RD) */
248 // Note: Not to be implemented in the API
249 // as it can be used to poll keys which could be potentialy dangerous.
250 // This command can be called with 0xF0 or with 0x00 command.
251 // Version with 0x00 command might be interesting in future as it is used to
252 // define connection between IMX and SBX submodules.
253 
254 
255 /* MID_MSGT_XXX_SBX_HFREE_MIC_BUF_GAIN= 0x0F / * handsfree MIC-buffer gain */ /* 0xF0 */
256 /* Parameters:
257 
258  -- BYTE 1 --
259  * Headset 1
260  * Microphone buffer gain (pre-amp):
261  SBX_MIC_PREAMP_m6dB= 0x00
262  SBX_MIC_PREAMP_m4dB= 0x01
263  SBX_MIC_PREAMP_m2dB= 0x02
264  SBX_MIC_PREAMP_0dB= 0x03
265  SBX_MIC_PREAMP_p2dB= 0x04
266  SBX_MIC_PREAMP_p4dB= 0x05
267  SBX_MIC_PREAMP_p6dB= 0x06
268  SBX_MIC_PREAMP_p8dB= 0x07
269  SBX_MIC_PREAMP_p10dB= 0x08
270  SBX_MIC_PREAMP_p12B= 0x09
271  SBX_MIC_PREAMP_p14B= 0x0A
272  VOID (no change)= 0x7F
273 
274  * update EEPROM settings (bit 7):
275  Update settings= 1xxx xxxx
276  Don't update settings= 0xxx xxxx
277 
278  Return/Read Values:
279  data[0]= MID_MSGT_XXX_SBX_HFREE_MIC_BUF_GAIN = 0x0F;
280  data[1]= Current value for buffer gain of microphone for headset 1
281  data[2]= Current value in digital potentiometer for buffer gain of microphone for headset 1
282  data[3]= EEPROM value for buffer gain of microphone for headset 1
283 
284 */
285 
286 // Audio output level functions
287 int intFn_SBX104SetAudioOutputLevel(TiproHidDevice *device, int nAddress, int nAudioOutput, int nLevel, bool bSaveToEEP = false);
288 int intFn_SBX104GetAudioOutputLevel(TiproHidDevice *device, int nAddress, int nAudioOutput, int *nLevel);
289 
290 // LED controll functions
291 int intFn_SBX104SetLEDState(TiproHidDevice *device, int nAddress, int nLed, int nState);
292 int intFn_SBX104GetLEDState(TiproHidDevice *device, int nAddress, int nLed, int *nState);
293 
294 // Microphone controll functions
295 //20200224 int intFn_SBX104MuteMicrophone(TiproHidDevice *device, int nAddress, int nMute); /* intentionaly DISABLED!! */
296 int intFn_SBX104SetMicrophoneThreshold(TiproHidDevice *device, int nAddress, int nThreshold);
297 int intFn_SBX104GetMicrophoneThreshold(TiproHidDevice *device, int nAddress, int *nThreshold);
298 int intFn_SBX104SetMicrophoneCompression(TiproHidDevice *device, int nAddress, int nCompression);
299 int intFn_SBX104GetMicrophoneCompression(TiproHidDevice *device, int nAddress, int *nCompression);
300 int intFn_SBX104SetMicrophonePreAmp(TiproHidDevice *device, int nAddress, int nPreAmp);
301 int intFn_SBX104GetMicrophonePreAmp(TiproHidDevice *device, int nAddress, int *nPreAmp);
302 int intFn_SBX104SetMicrophoneLevel(TiproHidDevice *device, int nAddress, int nLevel);
303 int intFn_SBX104GetMicrophoneLevel(TiproHidDevice *device, int nAddress, int *nLevel);
304 
305 
306 
308 // FW documentation - Onur 1 project (for reference if needed at later time)
309 
310 /* MID_MSGT_XXX_SBX_LED_CTRL= 0x00 / * LED control (WR/RD) */ /* 0xF0, 0x00 */
311 /* Parameters:
312 
313  -- BYTE 1 --
314  * Mask :
315  Which LEDs will be affected.
316 
317  -- BYTE 2 --
318  * LED :
319  Turn specific LEDs ON or OFF.
320 
321  Return/Read Values:
322  data[0]= MID_MSGT_XXX_SBX_LED_CTRL = 0x00;
323  data[1]= current LED status;
324 */
325 
326 /* MID_MSGT_XXX_SBX_MIC_SEL= 0x01 / * Headset MIC mute / manual mode (WR/RD) */ /* 0xF0 */
327 /* Parameters:
328 
329  -- BYTE 1 --
330  * Headset 1
331  * Microphone mute (bit 0):
332  Mute microphone= xxxx xxx1
333  Un-Mute microphone= xxxx xxx0
334  VOID (no change)= xx11 1111 (0x3F)
335 
336  * Microphone manual mode (bit 6):
337  Manual mode= x1xx xxxx
338  Auto mode= x0xx xxxx
339 
340  * update EEPROM settings (bit 7):
341  Update settings= 1xxx xxxx
342  Don't update settings= 0xxx xxxx
343 
344  -- BYTE 2 --
345  * Headset 2
346  * Microphone mute (bit 0):
347  Mute microphone= xxxx xxx1
348  Un-Mute microphone= xxxx xxx0
349  VOID (no change)= xx11 1111 (0x3F)
350 
351  * Microphone manual mode (bit 6):
352  Manual mode= x1xx xxxx
353  Auto mode= x0xx xxxx
354 
355  * update EEPROM settings (bit 7):
356  Update settings= 1xxx xxxx
357  Don't update settings= 0xxx xxxx
358 
359  Return/Read Values:
360  data[0]= MID_MSGT_XXX_SBX_MIC_SEL = 0x01;
361  data[1]= Last successfully written microphone settings for headset 1
362  data[2]= Last successfully written microphone settings for headset 2
363  data[3]= Current hardware status of microphone settings for headset 1
364  data[4]= Current hardware status of microphone settings for headset 2
365  data[5]= EEPROM value of microphone settings for headset 1
366  data[6]= EEPROM value of microphone settings for headset 2
367 */
368 
369 /* MID_MSGT_XXX_SBX_MIC_ATT= 0x02 / * MIC attenuation (WR/RD) */ /* 0xF0 */
370 /* Parameters:
371 
372  -- BYTE 1 --
373  * Headset 1
374  * Microphone attenuation (post-amp):
375  SBX_MIC_ATT_p9dB= 0x00
376  SBX_MIC_ATT_p6dB= 0x01
377  SBX_MIC_ATT_p3dB= 0x02
378  SBX_MIC_ATT_0dB= 0x03
379  SBX_MIC_ATT_m3dB= 0x04
380  SBX_MIC_ATT_m6dB= 0x05
381  SBX_MIC_ATT_m9dB= 0x06
382  SBX_MIC_ATT_m12dB= 0x07
383  SBX_MIC_ATT_m15dB= 0x08
384  SBX_MIC_ATT_m18dB= 0x09
385  SBX_MIC_ATT_m21dB= 0x0A
386  SBX_MIC_ATT_m24dB= 0x0B
387  SBX_MIC_ATT_m27dB= 0x0C
388  SBX_MIC_ATT_m30dB= 0x0D
389  SBX_MIC_ATT_m33dB= 0x0E
390  VOID (no change)= 0x7F
391 
392  * update EEPROM settings (bit 7):
393  Update settings= 1xxx xxxx
394  Don't update settings= 0xxx xxxx
395 
396 
397  -- BYTE 2 --
398  * Headset 2
399  * Microphone attenuation (post-amp):
400  SBX_MIC_ATT_p9dB= 0x00
401  SBX_MIC_ATT_p6dB= 0x01
402  SBX_MIC_ATT_p3dB= 0x02
403  SBX_MIC_ATT_0dB= 0x03
404  SBX_MIC_ATT_m3dB= 0x04
405  SBX_MIC_ATT_m6dB= 0x05
406  SBX_MIC_ATT_m9dB= 0x06
407  SBX_MIC_ATT_m12dB= 0x07
408  SBX_MIC_ATT_m15dB= 0x08
409  SBX_MIC_ATT_m18dB= 0x09
410  SBX_MIC_ATT_m21dB= 0x0A
411  SBX_MIC_ATT_m24dB= 0x0B
412  SBX_MIC_ATT_m27dB= 0x0C
413  SBX_MIC_ATT_m30dB= 0x0D
414  SBX_MIC_ATT_m33dB= 0x0E
415  VOID (no change)= 0x7F
416 
417  * update EEPROM settings (bit 7):
418  Update settings= 1xxx xxxx
419  Don't update settings= 0xxx xxxx
420 
421 
422  Return/Read Values:
423  data[0]= MID_MSGT_XXX_SBX_MIC_ATT = 0x02;
424  data[1]= Current attenuation setting of microphone for headset 1
425  data[2]= Current attenuation setting of microphone for headset 2
426  data[3]= Current value in digital potentiometer of microphone attenuation for headset 1
427  data[4]= Current value in digital potentiometer of microphone attenuation for headset 2
428  data[5]= EEPROM attenuation setting of microphone for headset 1
429  data[6]= EEPROM attenuation setting of microphone for headset 2
430 */
431 
432 
433 /* MID_MSGT_XXX_SBX_MIC_COMP= 0x03 / * MIC compression (WR/RD) */ /* 0xF0 */
434 /* Parameters:
435 
436  -- BYTE 1 --
437  * Headset 1
438  * Microphone compression:
439  SBX_MIC_COMP2_OFF= 0x10
440  SBX_MIC_COMP2_ON= 0x11
441  VOID (no change)= 0x7F
442 
443  (compatibility mode / not to be used)
444  SBX_MIC_COMP1_OFF0= 0x00
445  SBX_MIC_COMP1_OFF1= 0x01
446  SBX_MIC_COMP1_LOW= 0x02
447  SBX_MIC_COMP1_HIGH= 0x03
448 
449  * update EEPROM settings (bit 7):
450  Update settings= 1xxx xxxx
451  Don't update settings= 0xxx xxxx
452 
453  -- BYTE 2 --
454  * Headset 2
455  * Microphone compression:
456  SBX_MIC_COMP2_OFF= 0x10
457  SBX_MIC_COMP2_ON= 0x11
458  VOID (no change)= 0x7F
459 
460  (compatibility mode / not to be used)
461  SBX_MIC_COMP1_OFF0= 0x00
462  SBX_MIC_COMP1_OFF1= 0x01
463  SBX_MIC_COMP1_LOW= 0x02
464  SBX_MIC_COMP1_HIGH= 0x03
465 
466  * update EEPROM settings (bit 7):
467  Update settings= 1xxx xxxx
468  Don't update settings= 0xxx xxxx
469 
470  Return/Read Values:
471  data[0]= MID_MSGT_XXX_SBX_MIC_COMP = 0x03;
472  data[1]= Last successfully written compression settings for headset 1
473  data[2]= Last successfully written compression settings for headset 2
474  data[3]= Current value of compression settings (compatibility mode) for headset 1
475  data[4]= Current value of compression settings (compatibility mode) for headset 2
476  data[5]= Current value of compression settings for headset 1
477  data[6]= Current value of compression settings for headset 2
478  data[7]= EEPROM value of compression settings for headset 1
479  data[8]= EEPROM value of compression settings for headset 2
480 */
481 
482 /* MID_MSGT_XXX_SBX_MIC_THRS= 0x04 / * MIC noise threshold (WR/RD) */ /* 0xF0 */
483 /* Parameters:
484 
485  -- BYTE 1 --
486  * Headset 1
487  * Microphone threshold:
488  SBX_MIC_THRS2_HIGH= 0x10
489  SBX_MIC_THRS2_MID= 0x11
490  SBX_MIC_THRS2_LOW= 0x12
491  SBX_MIC_THRS2_LOWER= 0x13
492  SBX_MIC_THRS2_VERY_LOW= 0x14
493  VOID (no change)= 0x7F
494 
495  (compatibility mode / not to be used)
496  SBX_MIC_THRS1_HIGH= 0x00
497  SBX_MIC_THRS1_MID= 0x01
498  SBX_MIC_THRS1_LOW= 0x02
499  SBX_MIC_THRS1_VERY_LOW= 0x03
500 
501  * update EEPROM settings (bit 7):
502  Update settings= 1xxx xxxx
503  Don't update settings= 0xxx xxxx
504 
505  -- BYTE 2 --
506  * Headset 2
507  * Microphone threshold:
508  SBX_MIC_THRS2_HIGH= 0x10
509  SBX_MIC_THRS2_MID= 0x11
510  SBX_MIC_THRS2_LOW= 0x12
511  SBX_MIC_THRS2_LOWER= 0x13
512  SBX_MIC_THRS2_VERY_LOW= 0x14
513  VOID (no change)= 0x7F
514 
515  (compatibility mode / not to be used)
516  SBX_MIC_THRS1_HIGH= 0x00
517  SBX_MIC_THRS1_MID= 0x01
518  SBX_MIC_THRS1_LOW= 0x02
519  SBX_MIC_THRS1_VERY_LOW= 0x03
520 
521  * update EEPROM settings (bit 7):
522  Update settings= 1xxx xxxx
523  Don't update settings= 0xxx xxxx
524 
525  Return/Read Values:
526  data[0]= MID_MSGT_XXX_SBX_MIC_THRS = 0x04;
527  data[1]= Last successfully written threshold settings for headset 1
528  data[2]= Last successfully written threshold settings for headset 2
529  data[3]= Current value of threshold settings (compatibility mode) for headset 1
530  data[4]= Current value of threshold settings (compatibility mode) for headset 2
531  data[5]= Current value of threshold settings for headset 1
532  data[6]= Current value of threshold settings for headset 2
533  data[7]= EEPROM value of threshold settings for headset 1
534  data[8]= EEPROM value of threshold settings for headset 2
535 */
536 
537 /* MID_MSGT_XXX_SBX_MONO_SPK_AMP= 0x08 / * mono speaker-amp (WR/RD) */ /* 0xF0 */
538 /* Parameters:
539 
540  -- BYTE 1 --
541  * Headset 1
542  * Speaker amplification:
543  SBX_HS_SPK_AMP_p9dB= 0x00
544  SBX_HS_SPK_AMP_p6dB= 0x01
545  SBX_HS_SPK_AMP_p3dB= 0x02
546  SBX_HS_SPK_AMP_0dB= 0x03
547  SBX_HS_SPK_AMP_m6db= 0x04
548  SBX_HS_SPK_AMP_m12dB= 0x05
549  SBX_HS_SPK_AMP_m18dB= 0x06
550  SBX_HS_SPK_AMP_m24dB= 0x07
551  SBX_HS_SPK_AMP_m30dB= 0x08
552  SBX_HS_SPK_AMP_m36dB= 0x09
553  SBX_HS_SPK_AMP_m42dB= 0x0A
554  VOID (no change)= 0x7F
555 
556  * update EEPROM settings (bit 7):
557  Update settings= 1xxx xxxx
558  Don't update settings= 0xxx xxxx
559 
560  -- BYTE 2 --
561  * Headset 2
562  * Speaker amplification:
563  SBX_HS_SPK_AMP_p9dB= 0x00
564  SBX_HS_SPK_AMP_p6dB= 0x01
565  SBX_HS_SPK_AMP_p3dB= 0x02
566  SBX_HS_SPK_AMP_0dB= 0x03
567  SBX_HS_SPK_AMP_m6db= 0x04
568  SBX_HS_SPK_AMP_m12dB= 0x05
569  SBX_HS_SPK_AMP_m18dB= 0x06
570  SBX_HS_SPK_AMP_m24dB= 0x07
571  SBX_HS_SPK_AMP_m30dB= 0x08
572  SBX_HS_SPK_AMP_m36dB= 0x09
573  SBX_HS_SPK_AMP_m42dB= 0x0A
574  VOID (no change)= 0x7F
575 
576  * update EEPROM settings (bit 7):
577  Update settings= 1xxx xxxx
578  Don't update settings= 0xxx xxxx
579 
580  -- BYTE 3 --
581  * Headset 1
582  * L/R attenuation steps, relative to nominal amp-gain (balance)
583  SBX_HS_SPK_AMP_ATT_LR_xx 0x00 .. 0x0A
584  VOID (no change)= 0x7F
585 
586  * L/R attenuation - SBX_HS_SPK_AMP_ATT_L_F (bit 6)
587  attenuate RIGHT channel x0xx xxxx
588  attenuate LEFT channel x1xx xxxx
589 
590  * update EEPROM settings (bit 7):
591  Update settings= 1xxx xxxx
592  Don't update settings= 0xxx xxxx
593 
594  -- BYTE 4 --
595  * Headset 2
596  * L/R attenuation steps, relative to nominal amp-gain (balance)
597  SBX_HS_SPK_AMP_ATT_LR_xx 0x00 .. 0x0A
598  VOID (no change)= 0x7F
599 
600  * L/R attenuation - SBX_HS_SPK_AMP_ATT_L_F (bit 6)
601  attenuate RIGHT channel x0xx xxxx
602  attenuate LEFT channel x1xx xxxx
603 
604  * update EEPROM settings (bit 7):
605  Update settings= 1xxx xxxx
606  Don't update settings= 0xxx xxxx
607 
608  Return/Read Values:
609  data[0]= MID_MSGT_XXX_SBX_MONO_SPK_AMP = 0x08;
610  data[1]= Last successfully written amplification for headset 1
611  data[2]= Last successfully written amplification for headset 2
612  data[3]= Last successfully written balance settings for headset 1
613  data[4]= Last successfully written balance settings for headset 2
614  data[5]= Current value of amplification for headset 1 in hardware (dig.pot.value to index)
615  data[6]= Current value of amplification for headset 2 in hardware (dig.pot.value to index)
616  data[7]= Current value of balance for headset 1 in hardware (dig.pot.value to index)
617  data[8]= Current value of balance for headset 2 in hardware (dig.pot.value to index)
618  data[9]= Current value written in digital potentiometer for left speaker of headset 1
619  data[10]= Current value written in digital potentiometer for right speaker of headset 1
620  data[11]= Current value written in digital potentiometer for left speaker of headset 2
621  data[12]= Current value written in digital potentiometer for right speaker of headset 2
622  data[13]= EEPROM value of amplification for headset 2
623  data[14]= EEPROM value of amplification for headset 2
624  data[15]= EEPROM value of balance settings for headset 1
625  data[16]= EEPROM value of balance settings for headset 2
626 */
627 
628 /* MID_MSGT_XXX_SBX_STEREO_SPK_MUTE= 0x0D / * stereo SPK mute (WR/RD) */ /* 0xF0 */
629 /* Parameters:
630 
631  -- BYTE 1 --
632  * LEFT channel mute (bit 0,1):
633  Un-Mute L-speaker= xxxx xxx0 (0x0C)
634  Mute L-speaker= xxxx xxx1 (0x0D)
635  VOID (no change)= xxxx xx11 (0x0F)
636 
637  * RIGHT channel mute (bit 2,3):
638  Un-Mute R-speaker= xxxx x0xx (0x03)
639  Mute R-speaker= xxxx x1xx (0x07)
640  VOID (no change)= xxxx 11xx (0x0F)
641 
642  * update EEPROM settings (bit 7):
643  Update settings= 1xxx xxxx
644  Don't update settings= 0xxx xxxx
645 
646  Return/Read Values:
647  data[0]= MID_MSGT_XXX_SBX_STEREO_SPK_MUTE = 0x0D;
648  data[1]= Last successfully written mute settings
649  data[2]= Current mute settings
650  data[3]= EEPROM mute settings
651 */
652 
653 /* MID_MSGT_XXX_SBX_HFREE_MIC_BUF_GAIN= 0x0F / * handsfree MIC-buffer gain */ /* 0xF0 */
654 /* Parameters:
655 
656  -- BYTE 1 --
657  * Headset 1
658  * Microphone buffer gain (pre-amp):
659  SBX_MIC_PREAMP_m6dB= 0x00
660  SBX_MIC_PREAMP_m4dB= 0x01
661  SBX_MIC_PREAMP_m2dB= 0x02
662  SBX_MIC_PREAMP_0dB= 0x03
663  SBX_MIC_PREAMP_p2dB= 0x04
664  SBX_MIC_PREAMP_p4dB= 0x05
665  SBX_MIC_PREAMP_p6dB= 0x06
666  SBX_MIC_PREAMP_p8dB= 0x07
667  SBX_MIC_PREAMP_p10dB= 0x08
668  SBX_MIC_PREAMP_p12B= 0x09
669  SBX_MIC_PREAMP_p14B= 0x0A
670  VOID (no change)= 0x7F
671 
672  * update EEPROM settings (bit 7):
673  Update settings= 1xxx xxxx
674  Don't update settings= 0xxx xxxx
675 
676 
677  -- BYTE 2 --
678  * Headset 2
679  * Microphone buffer gain (pre-amp):
680  SBX_MIC_PREAMP_m6dB= 0x00
681  SBX_MIC_PREAMP_m4dB= 0x01
682  SBX_MIC_PREAMP_m2dB= 0x02
683  SBX_MIC_PREAMP_0dB= 0x03
684  SBX_MIC_PREAMP_p2dB= 0x04
685  SBX_MIC_PREAMP_p4dB= 0x05
686  SBX_MIC_PREAMP_p6dB= 0x06
687  SBX_MIC_PREAMP_p8dB= 0x07
688  SBX_MIC_PREAMP_p10dB= 0x08
689  SBX_MIC_PREAMP_p12B= 0x09
690  SBX_MIC_PREAMP_p14B= 0x0A
691  VOID (no change)= 0x7F
692 
693  * update EEPROM settings (bit 7):
694  Update settings= 1xxx xxxx
695  Don't update settings= 0xxx xxxx
696 
697 
698  Return/Read Values:
699  data[0]= MID_MSGT_XXX_SBX_HFREE_MIC_BUF_GAIN = 0x0F;
700  data[1]= Current value for buffer gain of microphone for headset 1
701  data[2]= Current value for buffer gain of microphone for headset 2
702  data[3]= Current value in digital potentiometer for buffer gain of microphone for headset 1
703  data[4]= Current value in digital potentiometer for buffer gain of microphone for headset 2
704  data[5]= EEPROM value for buffer gain of microphone for headset 1
705  data[6]= EEPROM value for buffer gain of microphone for headset 2
706 */
Definition: TiproHidDevice.h:29