-
Notifications
You must be signed in to change notification settings - Fork 1
/
hasakProperties110.js
410 lines (410 loc) · 41.9 KB
/
hasakProperties110.js
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
342
343
344
345
346
347
348
349
350
351
352
353
354
355
356
357
358
359
360
361
362
363
364
365
366
367
368
369
370
371
372
373
374
375
376
377
378
379
380
381
382
383
384
385
386
387
388
389
390
391
392
393
394
395
396
397
398
399
400
401
402
403
404
405
406
407
408
409
410
// parameter map for hasak version 110
// generated with .../hasak/doc/nrpn.tcl from .../hasak/config.h
// do not edit, regenerated from .../hasak/config.h by .../hasak/doc/nrpn.tcl output js
export const hasakProperties110 = {
"KYR_IDENT": {type: "def", value: 2773, title: "identifier of the device"},
"KYR_VERSION": {type: "def", value: 110, title: "version number of the device"},
"KYR_ENABLE_HDW_OUT": {type: "def", value: 1, title: "Should we start with the hardware audio out channel enabled"},
"KYR_ENABLE_HDW_IN": {type: "def", value: 0, title: "Should we start with the hardware input channel enabled"},
"KYR_ENABLE_SERIAL": {type: "def", value: 1, title: "Should we start with the serial device enabled"},
"KYR_N_PIN": {type: "def", value: 8, title: "number of digital input pins that can be configured"},
"KYR_N_PADC": {type: "def", value: 8, title: "number of analog input pins that can be configured"},
"KYR_N_POUT": {type: "def", value: 8, title: "number of digital output pins that can be configured"},
"KYR_N_SKEY": {type: "def", value: 3, title: "number of straight key inputs that can be configured"},
"KYR_N_PADDLE": {type: "def", value: 3, title: "number of iambic keyer inputs that can be configured"},
"KYR_N_TEXT": {type: "def", value: 2, title: "number of text keyer outputs that can be configured"},
"KYR_N_AUDIO": {type: "def", value: 16, title: "number of audio components"},
"KYR_CHANNEL": {type: "def", value: 10, title: "default MIDI channel for all keyer MIDI"},
"KYR_N_NOTE": {type: "def", value: 55, title: "number of note states maintained in the keyer"},
"KYR_N_CTRL": {type: "def", value: 120, label: "N_CTRL", title: "Number of control change messages handled"},
"KYR_N_ENDP": {type: "def", value: 7, title: "number of defined endpoints"},
"KYR_N_NRPN": {type: "def", value: 226, title: "number of nrpns defined"},
"AUDIO_USB_IN": {type: "audio", value: 0, title: "audio in from usb"},
"AUDIO_I2S_IN": {type: "audio", value: 1, title: "audio in from i2s"},
"AUDIO_HDW_IN": {type: "audio", value: 2, title: "audio in from analog pin"},
"AUDIO_ST_KEY": {type: "audio", value: 3, title: "sidetone key logic signal"},
"AUDIO_KEY_OUT": {type: "audio", value: 4, title: "transmitter key logic signal"},
"AUDIO_ST_OSC": {type: "audio", value: 5, title: "sidetone oscillator"},
"AUDIO_IQ_OSC": {type: "audio", value: 6, title: "IQ oscillator"},
"AUDIO_L_USB_OUT": {type: "audio", value: 7, title: "left channel mixer for usb output"},
"AUDIO_R_USB_OUT": {type: "audio", value: 8, title: "right channel mixer for usb output"},
"AUDIO_L_I2S_OUT": {type: "audio", value: 9, title: "left channel mixer for i2s output"},
"AUDIO_R_I2S_OUT": {type: "audio", value: 10, title: "right channel mixer for i2s output"},
"AUDIO_L_HDW_OUT": {type: "audio", value: 11, title: "left channel mixer for hardware mqs output"},
"AUDIO_R_HDW_OUT": {type: "audio", value: 12, title: "right channel mixer for hardware mqs output"},
"AUDIO_USB_OUT": {type: "audio", value: 13, title: "audio out to usb"},
"AUDIO_I2S_OUT": {type: "audio", value: 14, title: "audio out to i2s"},
"AUDIO_HDW_OUT": {type: "audio", value: 15, title: "audio out to hardware mqs"},
"NOTE_MIDI_OUT_KEY": {type: "note", value: 0, title: "tx key out midi signal"},
"NOTE_MIDI_OUT_PTT": {type: "note", value: 1, title: "tx ptt out midi signal"},
"NOTE_MIDI_IN_TUNE": {type: "note", value: 2, title: "tune key in midi signal"},
"NOTE_MIDI_OUT_ST": {type: "note", value: 3, title: "sidetone out midi signal"},
"NOTE_MIDI_VOL": {type: "note", value: 4, title: "volume leak in/out midi"},
"NOTE_MIDI_ST_VOL": {type: "note", value: 5, title: "sidetone volume leak in/out midi"},
"NOTE_MIDI_ST_FREQ": {type: "note", value: 6, title: "sidetone frequency leak in/out midi"},
"NOTE_MIDI_SPEED": {type: "note", value: 7, title: "keyer speed leak in/out midi"},
"NOTE_PIN0": {type: "nrpn", value: 8, title: "input hardware pin note"},
"NOTE_PIN1": {type: "nrpn", value: 9, title: "input hardware pin note"},
"NOTE_PIN2": {type: "nrpn", value: 10, title: "input hardware pin note"},
"NOTE_PIN3": {type: "nrpn", value: 11, title: "input hardware pin note"},
"NOTE_PIN4": {type: "nrpn", value: 12, title: "input hardware pin note"},
"NOTE_PIN5": {type: "nrpn", value: 13, title: "input hardware pin note"},
"NOTE_PIN6": {type: "nrpn", value: 14, title: "input hardware pin note"},
"NOTE_PIN7": {type: "nrpn", value: 15, title: "input hardware pin note"},
"NOTE_POUT0": {type: "nrpn", value: 16, title: "output hardware pin note"},
"NOTE_POUT1": {type: "nrpn", value: 17, title: "output hardware pin note"},
"NOTE_POUT2": {type: "nrpn", value: 18, title: "output hardware pin note"},
"NOTE_POUT3": {type: "nrpn", value: 19, title: "output hardware pin note"},
"NOTE_POUT4": {type: "nrpn", value: 20, title: "output hardware pin note"},
"NOTE_POUT5": {type: "nrpn", value: 21, title: "output hardware pin note"},
"NOTE_POUT6": {type: "nrpn", value: 22, title: "output hardware pin note"},
"NOTE_POUT7": {type: "nrpn", value: 23, title: "output hardware pin note"},
"NOTE_HW_L_PAD": {type: "note", value: 8, title: "1st left paddle switch"},
"NOTE_HW_R_PAD": {type: "note", value: 9, title: "1st right paddle switch"},
"NOTE_HW_S_KEY": {type: "note", value: 10, title: "1st straight key switch"},
"NOTE_HW_EXT_PTT": {type: "note", value: 11, title: "1st external ptt switch"},
"NOTE_HW_KEY_OUT": {type: "note", value: 16, title: "hardware key out"},
"NOTE_HW_PTT_OUT": {type: "note", value: 17, title: "hardware ptt out"},
"NOTE_HW_TUNE": {type: "note", value: 24, title: "tune switch"},
"NOTE_HW_L_PAD2": {type: "note", value: 25, title: "2nd left paddle switch"},
"NOTE_HW_R_PAD2": {type: "note", value: 26, title: "2nd right paddle switch"},
"NOTE_HW_S_KEY2": {type: "note", value: 27, title: "2nd straight key switch"},
"NOTE_HW_EXT_PTT2": {type: "note", value: 28, title: "2nd external ptt switch"},
"NOTE_HW_L_PAD3": {type: "note", value: 29, title: "3rd left paddle switch"},
"NOTE_HW_R_PAD3": {type: "note", value: 30, title: "3rd right paddle switch"},
"NOTE_HW_S_KEY3": {type: "note", value: 31, title: "34d straight key switch"},
"NOTE_HW_KEY_OUT2": {type: "note", value: 32, title: "2nd hardware key out"},
"NOTE_HW_PTT_OUT2": {type: "note", value: 33, title: "2nd hardware ptt out"},
"NOTE_AU_ST_KEY": {type: "note", value: 34, title: "keying sidetone in audio graph"},
"NOTE_AU_IQ_KEY": {type: "note", value: 35, title: "keying transmit in audio graph"},
"NOTE_AU_DECODE": {type: "note", value: 36, title: "receiving tone signal from audio graph"},
"NOTE_ST_S_KEY": {type: "note", value: 37, title: "straight keyed sidetone"},
"NOTE_ST_S_KEY2": {type: "note", value: 38, title: "2nd straight keyed sidetone"},
"NOTE_ST_S_KEY3": {type: "note", value: 39, title: "3rd straight keyed sidetone"},
"NOTE_ST_PAD": {type: "note", value: 40, title: "paddle keyed sidetone"},
"NOTE_ST_PAD2": {type: "note", value: 41, title: "2nd paddle keyed sidetone"},
"NOTE_ST_PAD3": {type: "note", value: 42, title: "3rd paddle keyed sidetone"},
"NOTE_ST_TUNE": {type: "note", value: 43, title: "tune switch sidetone"},
"NOTE_ST_TEXT": {type: "note", value: 44, title: "text keyed sidetone"},
"NOTE_ST_TEXT2": {type: "note", value: 45, title: "2nd text keyed sidetone"},
"NOTE_ST_NONE": {type: "note", value: 46, title: "no keyed sidetone"},
"NOTE_KEY_ST": {type: "note", value: 47, title: "key sidetone"},
"NOTE_PTT_ST": {type: "note", value: 48, title: "sidetone ptt"},
"NOTE_KEY_OUT": {type: "note", value: 49, title: "key transmitter"},
"NOTE_PTT_OUT": {type: "note", value: 50, title: "keyed transmitter ptt"},
"NOTE_TXT_TEXT": {type: "note", value: 51, title: "note containing 7 bit ascii text for text channel"},
"NOTE_TXT_TEXT2": {type: "note", value: 52, title: "note containing 7 bit ascii text for 2nd text channel"},
"NOTE_ELT_DEC": {type: "note", value: 53, title: "note containing 7 bit ascii element decoded from sidetone"},
"NOTE_TXT_DEC": {type: "note", value: 54, title: "note containing 7 bit ascii text decoded from sidetone"},
"CTRL_MSB": {type: "ctrl", value: 6, title: "MIDI control change Data Entry (MSB)"},
"CTRL_MASTER_VOLUME": {type: "ctrl", value: 7, title: "set master volume"},
"CTRL_MASTER_BALANCE": {type: "ctrl", value: 8, title: "TODO: stereo balance"},
"CTRL_MASTER_PAN": {type: "ctrl", value: 10, title: "TODO: stereo position of CW tone"},
"CTRL_SIDETONE_VOLUME": {type: "ctrl", value: 12, title: " set sidetone volume"},
"CTRL_SIDETONE_FREQUENCY": {type: "ctrl", value: 13, title: "set sidetone frequency"},
"CTRL_INPUT_LEVEL": {type: "ctrl", value: 16, title: "TODO: set input level"},
"CTRL_LSB": {type: "ctrl", value: 38, title: "MIDI control change Data Entry (LSB)"},
"CTRL_ENABLE_POTS": {type: "ctrl", value: 64, title: "enable/disable potentiometers"},
"CTRL_KEYER_AUTOPTT": {type: "ctrl", value: 65, title: "enable/disable auto-PTT from CW keyer"},
"CTRL_RESPONSE": {type: "ctrl", value: 66, title: "enable/disable reporting back to SDR and MIDI controller"},
"CTRL_MUTE_CWPTT": {type: "ctrl", value: 67, title: "enable/disable muting of RX audio during auto-PTT"},
"CTRL_MICPTT_HWPTT": {type: "ctrl", value: 68, title: "enable/disable that MICIN triggers the hardware PTT output"},
"CTRL_CWPTT_HWPTT": {type: "ctrl", value: 69, title: "enable/disable that CWPTT triggers the hardware PTT output"},
"CTRL_KEYER_HANG": {type: "ctrl", value: 72, title: "set Keyer hang time (if auto-PTT active)"},
"CTRL_KEYER_LEADIN": {type: "ctrl", value: 73, title: "set Keyer lead-in time (if auto-PTT active)"},
"CTRL_CW_SPEED": {type: "ctrl", value: 74, title: "set CW speed"},
"CTRL_INPUT_SELECT": {type: "ctrl", value: 75, title: "TODO:"},
"CTRL_NRPN_LSB": {type: "ctrl", value: 98, title: "MIDI control change Non-registered Parameter (LSB)"},
"CTRL_NRPN_MSB": {type: "ctrl", value: 99, title: "MIDI control change Non-registered Parameter (MSB)"},
"CTRL_SET_CHANNEL": {type: "ctrl", value: 119, title: "Change the default channel to use"},
"NRPN_FIRST": {type: "rel", value: 0, title: "base of nrpns"},
"NRPN_NOTHING": {type: "nrpn", value: 0, sub: "cmd", title: "nothng parameter value, zero is not a valid parameter"},
"NRPN_ID_DEVICE": {type: "nrpn", value: 1, sub: "cmd", title: "identify this keyer for the correspondent"},
"NRPN_ID_VERSION": {type: "nrpn", value: 2, sub: "cmd", title: "identify this keyer version for the correspondent"},
"NRPN_NNRPN": {type: "nrpn", value: 3, sub: "cmd", title: "return how many NRPNs are allocated - obsolete"},
"NRPN_NRPN_QUERY": {type: "nrpn", value: 4, sub: "cmd", title: "take the value as a nrpn number and send that nrpns value"},
"NRPN_NRPN_UNSET": {type: "nrpn", value: 5, sub: "cmd", title: "take the value as a nrpn number and make that nrpn NRPNV_NOTSET - obsolete"},
"NRPN_STRING_START": {type: "nrpn", value: 6, sub: "cmd", title: "start a string transfer"},
"NRPN_STRING_END": {type: "nrpn", value: 7, sub: "cmd", title: "finish a string transfer"},
"NRPN_STRING_BYTE": {type: "nrpn", value: 8, sub: "cmd", title: "transfer a byte for a string"},
"NRPN_GAP_9": {type: "nrpn", value: 9, sub: "cmd", title: "gap"},
"NRPN_GAP_10": {type: "nrpn", value: 10, sub: "cmd", title: "gap"},
"NRPN_WM8960_ENABLE": {type: "nrpn", value: 11, sub: "cmd", title: "wm8960 codec command"},
"NRPN_WM8960_INPUT_LEVEL": {type: "nrpn", value: 12, sub: "cmd", title: "wm8960 codec command"},
"NRPN_WM8960_INPUT_SELECT": {type: "nrpn", value: 13, sub: "cmd", title: "wm8960 codec command"},
"NRPN_WM8960_VOLUME": {type: "nrpn", value: 14, sub: "cmd", title: "wm8960 codec command"},
"NRPN_WM8960_HEADPHONE_VOLUME": {type: "nrpn", value: 15, sub: "cmd", title: "wm8960 codec command"},
"NRPN_WM8960_HEADPHONE_POWER": {type: "nrpn", value: 16, sub: "cmd", title: "wm8960 codec command"},
"NRPN_WM8960_SPEAKER_VOLUME": {type: "nrpn", value: 17, sub: "cmd", title: "wm8960 codec command"},
"NRPN_WM8960_SPEAKER_POWER": {type: "nrpn", value: 18, sub: "cmd", title: "wm8960 codec command"},
"NRPN_WM8960_DISABLE_ADCHPF": {type: "nrpn", value: 19, sub: "cmd", title: "wm8960 codec command"},
"NRPN_WM8960_ENABLE_MICBIAS": {type: "nrpn", value: 20, sub: "cmd", title: "wm8960 codec command"},
"NRPN_WM8960_ENABLE_ALC": {type: "nrpn", value: 21, sub: "cmd", title: "wm8960 codec command"},
"NRPN_WM8960_MIC_POWER": {type: "nrpn", value: 22, sub: "cmd", title: "wm8960 codec command"},
"NRPN_WM8960_LINEIN_POWER": {type: "nrpn", value: 23, sub: "cmd", title: "wm8960 codec command"},
"NRPN_WM8960_RAW_MASK": {type: "nrpn", value: 24, sub: "cmd", title: "wm8960 codec command"},
"NRPN_WM8960_RAW_DATA": {type: "nrpn", value: 25, sub: "cmd", title: "wm8960 codec command"},
"NRPN_WM8960_RAW_WRITE": {type: "nrpn", value: 26, sub: "cmd", title: "wm8960 codec command"},
"NRPN_KEYDOWN_NOTE": {type: "nrpn", value: 27, sub: "cmd", title: "CWKeyer Shield nrpn"},
"NRPN_PTT_NOTE": {type: "nrpn", value: 28, sub: "cmd", title: "CWKeyer Shield nrpn"},
"NRPN_MIDI_INPUTS": {type: "nrpn", value: 29, sub: "info", title: "number of midi input messages received"},
"NRPN_MIDI_OUTPUTS": {type: "nrpn", value: 30, sub: "info", title: "number of midi output messages sent"},
"NRPN_MIDI_ECHOES": {type: "nrpn", value: 31, sub: "info", title: "number of midi automatic echo messages sent"},
"NRPN_MIDI_SENDS": {type: "nrpn", value: 32, sub: "info", title: "number of midi explicit send messages"},
"NRPN_MIDI_NOTES": {type: "nrpn", value: 33, sub: "info", title: "number of midi notes"},
"NRPN_MIDI_CTRLS": {type: "nrpn", value: 34, sub: "info", title: "number of midi notes"},
"NRPN_MIDI_NRPNS": {type: "nrpn", value: 35, sub: "info", title: "number of midi notes"},
"NRPN_LISTENER_NODES": {type: "nrpn", value: 36, sub: "info", title: "number of listener nodes allocated"},
"NRPN_LISTENER_LISTS": {type: "nrpn", value: 37, sub: "info", title: "number of listener lists allocated"},
"NRPN_LISTENER_CALLS": {type: "nrpn", value: 38, sub: "info", title: "number of listener nodes called"},
"NRPN_LISTENER_FIRES": {type: "nrpn", value: 39, sub: "info", title: "number of listener lists called"},
"NRPN_LISTENER_LOOPS": {type: "nrpn", value: 40, sub: "info", title: "number of listener loops detected"},
"NRPN_STATS_RESET": {type: "nrpn", value: 41, sub: "cmd", title: "reset MIDI and listener counts"},
"NRPN_SAVED": {type: "rel", value: 42, title: "base of saved NRPN parameters"},
"NRPN_SECOND": {type: "rel", value: 42, title: "base of persistent midi.h parameters"},
"NRPN_CHANNEL": {type: "nrpn", value: 42, label: "Channel", title: "the MIDI channel"},
"NRPN_INPUT_ENABLE": {type: "nrpn", value: 43, label: "MIDI Input", title: "enable input from the MIDI channel"},
"NRPN_OUTPUT_ENABLE": {type: "nrpn", value: 44, label: "MIDI Output", title: "enable output to the MIDI channel"},
"NRPN_ECHO_ENABLE": {type: "nrpn", value: 45, label: "MIDI Echo", title: "enable echo to the MIDI channel"},
"NRPN_LISTENER_ENABLE": {type: "nrpn", value: 46, label: "MIDI Listen", title: "enable listening to note, ctrl, and nrpn values"},
"NRPN_STRING_THROTTLE": {type: "nrpn", value: 47, label: "Str Throttle", title: "pause between bytes of a string", unit: "us", range: "0 16383"},
"NRPN_ENABLE": {type: "rel", value: 48, title: "base of keyer enable nrpns"},
"NRPN_PIN_ENABLE": {type: "nrpn", value: 48, label: "Pin Input", title: "enable input pin processing"},
"NRPN_POUT_ENABLE": {type: "nrpn", value: 49, label: "Pin Output", title: "enable output pin processing"},
"NRPN_PADC_ENABLE": {type: "nrpn", value: 50, label: "Adc Input", title: "enable adc input pin processing"},
"NRPN_ST_ENABLE": {type: "nrpn", value: 51, label: "ST Gen", title: "enable sidetone generation", range: "0 1"},
"NRPN_TX_ENABLE": {type: "nrpn", value: 52, label: "TX Gen", title: "enable TX ouputs", range: "0 1"},
"NRPN_IQ_ENABLE": {type: "nrpn", value: 53, label: "IQ Gen", title: "enable IQ generation", range: "0 1"},
"NRPN_PTT_REQUIRE": {type: "nrpn", value: 54, label: "PTT Req", title: "require EXT_PTT to transmit", range: "0 1"},
"NRPN_RKEY_ENABLE": {type: "nrpn", value: 55, label: "Remote", title: "enable direct remote control of tune by midi note", range: "0 1"},
"NRPN_CW_AUTOPTT": {type: "nrpn", value: 56, label: "CWPtt Gen", title: "enable auto-PTT from CW keyer, (should always generate, but where does it go?"},
"NRPN_RX_MUTE": {type: "nrpn", value: 57, label: "RX Mute", title: "enable muting of RX audio during CW PTT"},
"NRPN_MIC_HWPTT": {type: "nrpn", value: 58, label: "MIC HWPTT", title: "enable that MICIN triggers the hardware PTT output"},
"NRPN_CW_HWPTT": {type: "nrpn", value: 59, label: "CW HWPTT", title: "enable that CWPTT triggers the hardware PTT output"},
"NRPN_HDW_IN_ENABLE": {type: "nrpn", value: 60, label: "HdwIn", title: "enable hardware input audio channel", range: "0 1", obsolete: "true"},
"NRPN_HDW_OUT_ENABLE": {type: "nrpn", value: 61, label: "HdwOut", title: "enable hardware output audio channel", range: "0 1"},
"NRPN_LVL": {type: "rel", value: 62, title: "base of keyer level setting nrpns"},
"NRPN_VOLUME": {type: "nrpn", value: 62, label: "Vol", title: "output volume", unit: "dB/10", range: "-320 60"},
"NRPN_LEVEL": {type: "nrpn", value: 63, label: "ST Level", title: "sidetone volume", range: "-320 60", unit: "dB/10"},
"NRPN_USB_LEVEL": {type: "nrpn", value: 64, label: "USB Level", title: "sidetone volume", range: "-320 60", unit: "dB/10"},
"NRPN_I2S_LEVEL": {type: "nrpn", value: 65, label: "I2S Level", title: "I2S level", range: "-320 60", unit: "dB/10"},
"NRPN_HDW_LEVEL": {type: "nrpn", value: 66, label: "Hdw Level", title: "HDW level", range: "-320 60", unit: "dB/10"},
"NRPN_ST_BALANCE": {type: "nrpn", value: 67, label: "ST Pan", title: "sidetone pan left or right", range: "0 100", unit: "%"},
"NRPN_RX_PTT_LEVEL": {type: "nrpn", value: 68, label: "RX Mute", title: "RX mute level during keying", range: "-320 60", unit: "dB/10"},
"NRPN_KEYER": {type: "rel", value: 69, title: "base of keyer parameters"},
"NRPN_TONE": {type: "nrpn", value: 69, label: "Freq", title: "sidetone and IQ oscillator frequency", range: "-8192 8191", unit: "Hz"},
"NRPN_SPEED": {type: "nrpn", value: 70, label: "Speed", title: "keyer speed control", range: "0 16384", unit: "WPM"},
"NRPN_WEIGHT": {type: "nrpn", value: 71, label: "Weight", title: "keyer mark/space weight", range: "25 75", unit: "%"},
"NRPN_RATIO": {type: "nrpn", value: 72, label: "Ratio", title: "keyer dit/dah ratio", range: "25 75", unit: "%"},
"NRPN_FARNS": {type: "nrpn", value: 73, label: "Farns", title: "Farnsworth keying speed", range: "0 127", unit: "WPM"},
"NRPN_COMP": {type: "nrpn", value: 74, label: "Comp", title: "keyer compensation", range: "-8192 8191", unit: "sample"},
"NRPN_SPEED_FRAC": {type: "nrpn", value: 75, label: "Frac", title: "keyer speed fraction", range: "0 127", unit: "WPM/128"},
"NRPN_PTT": {type: "rel", value: 76, title: "PTT timing parameters"},
"NRPN_HEAD_TIME": {type: "nrpn", value: 76, label: "PTTHead", title: "time ptt should lead key, key delay", range: "0 16383", unit: "sample"},
"NRPN_TAIL_TIME": {type: "nrpn", value: 77, label: "PTTTail", title: "time ptt should linger after key", range: "0 16383", unit: "sample"},
"NRPN_HANG_TIME": {type: "nrpn", value: 78, label: "PTTHang", title: "time in dits ptt should linger after key", range: "0 127", unit: "dit"},
"NRPN_RAMP": {type: "rel", value: 79, title: "base of the keyer ramp parameters"},
"NRPN_RISE_TIME": {type: "nrpn", value: 79, label: "riseTime", title: "key rise ramp length", range: "0 16383", unit: "sample"},
"NRPN_FALL_TIME": {type: "nrpn", value: 80, label: "fallTime", title: "key fall ramp length", range: "0 16383", unit: "sample"},
"NRPN_RISE_RAMP": {type: "nrpn", value: 81, label: "riseRamp", title: "key rise ramp", values: "VAL_RAMP_*"},
"NRPN_FALL_RAMP": {type: "nrpn", value: 82, label: "fallRamp", title: "key fall ramp", values: "VAL_RAMP_*"},
"NRPN_PAD": {type: "rel", value: 83, title: "base of paddle keyer parameters"},
"NRPN_PAD_MODE": {type: "nrpn", value: 83, title: "iambic keyer mode A/B/S", values: "VAL_MODE_*"},
"NRPN_PAD_SWAP": {type: "nrpn", value: 84, label: "Swap", title: "swap paddles", range: "0 1"},
"NRPN_PAD_ADAPT": {type: "nrpn", value: 85, label: "Adaptor", title: "paddle adapter normal/ultimatic/single lever", values: "VAL_ADAPT_*"},
"NRPN_AUTO_ILS": {type: "nrpn", value: 86, label: "Letter Space", title: "automatic letter space timing", range: "0 1"},
"NRPN_AUTO_IWS": {type: "nrpn", value: 87, label: "Word Space", title: "automatic word space timing", range: "0 1"},
"NRPN_PAD_KEYER": {type: "nrpn", value: 88, label: "Keyer", title: "paddle keyer implementation", values: "VAL_KEYER_*"},
"NRPN_MISC": {type: "rel", value: 89, title: "base of miscellaneous parameters"},
"NRPN_MIXER_SLEW_RAMP": {type: "nrpn", value: 89, title: "slew ramp for mixer changes", values: "VAL_RAMP_*"},
"NRPN_MIXER_SLEW_TIME": {type: "nrpn", value: 90, title: "slew time for mixer changes", range: "0 16383", unit: "sample"},
"NRPN_FREQ_SLEW_RAMP": {type: "nrpn", value: 91, title: "slew ramp for frequency changes", values: "VAL_RAMP_*"},
"NRPN_FREQ_SLEW_TIME": {type: "nrpn", value: 92, title: "slew time for frquency changes", range: "0 16383", unit: "sample"},
"NRPN_MIX_ENABLE": {type: "nrpn", value: 93, sub: "short", label: "OutMix", title: "output mixer enable bits, shorthand", range: "0 4095"},
"NRPN_MIX_ENABLE_L": {type: "nrpn", value: 94, sub: "short", label: "OutMixL", title: "output mixer left enable bits, shorthand", range: "0 4095"},
"NRPN_MIX_ENABLE_R": {type: "nrpn", value: 95, sub: "short", label: "OutMixR", title: "output mixer right enable bits, shorthand", range: "0 4095"},
"NRPN_PIN_DEBOUNCE": {type: "nrpn", value: 96, label: "Deb", title: "debounce period", range: "0 16383", unit: "samples"},
"NRPN_POUT_LOGIC": {type: "nrpn", value: 97, label: "OutLog", title: "output pin logic", range: "0 1"},
"NRPN_PADC_RATE": {type: "nrpn", value: 98, label: "AdcRate", title: "sample rate for analog sampling", range: "0 16383", unit: "ms"},
"NRPN_XTONE": {type: "nrpn", value: 99, sub: "ext", title: "extended tone", unit: "hz/1000", range: "-134217728 134217727"},
"NRPN_CODEC": {type: "rel", value: 101, title: "base of codec nrpns"},
"NRPN_CODEC_VOLUME": {type: "nrpn", value: 101, label: "Vol", title: "output volume", unit: "dB/10", range: "-320 60"},
"NRPN_INPUT_SELECT": {type: "nrpn", value: 102, label: "InSel", title: "input select", values: "VAL_INPUT_*"},
"NRPN_INPUT_LEVEL": {type: "nrpn", value: 103, label: "InLvl", title: "input level", range: "-320 60", unit: "dB/10"},
"NRPN_PIN": {type: "rel", value: 104, title: "base of hardware digital input pin common block"},
"NRPN_PIN0_PIN": {type: "nrpn", value: 104, label: "Pin", title: "input hardware pin to read", range: "-1 127"},
"NRPN_PIN1_PIN": {type: "nrpn", value: 105, label: "Pin", title: "input hardware pin to read", range: "-1 127"},
"NRPN_PIN2_PIN": {type: "nrpn", value: 106, label: "Pin", title: "input hardware pin to read", range: "-1 127"},
"NRPN_PIN3_PIN": {type: "nrpn", value: 107, label: "Pin", title: "input hardware pin to read", range: "-1 127"},
"NRPN_PIN4_PIN": {type: "nrpn", value: 108, label: "Pin", title: "input hardware pin to read", range: "-1 127"},
"NRPN_PIN5_PIN": {type: "nrpn", value: 109, label: "Pin", title: "input hardware pin to read", range: "-1 127"},
"NRPN_PIN6_PIN": {type: "nrpn", value: 110, label: "Pin", title: "input hardware pin to read", range: "-1 127"},
"NRPN_PIN7_PIN": {type: "nrpn", value: 111, label: "Pin", title: "input hardware pin to read", range: "-1 127"},
"NRPN_POUT": {type: "rel", value: 112, title: "base of hardware digital output pin block"},
"NRPN_POUT0_PIN": {type: "nrpn", value: 112, label: "Pin", title: "output hardware pin to latch", range: "-1 127"},
"NRPN_POUT1_PIN": {type: "nrpn", value: 113, label: "Pin", title: "output hardware pin to latch", range: "-1 127"},
"NRPN_POUT2_PIN": {type: "nrpn", value: 114, label: "Pin", title: "output hardware pin to latch", range: "-1 127"},
"NRPN_POUT3_PIN": {type: "nrpn", value: 115, label: "Pin", title: "output hardware pin to latch", range: "-1 127"},
"NRPN_POUT4_PIN": {type: "nrpn", value: 116, label: "Pin", title: "output hardware pin to latch", range: "-1 127"},
"NRPN_POUT5_PIN": {type: "nrpn", value: 117, label: "Pin", title: "output hardware pin to latch", range: "-1 127"},
"NRPN_POUT6_PIN": {type: "nrpn", value: 118, label: "Pin", title: "output hardware pin to latch", range: "-1 127"},
"NRPN_POUT7_PIN": {type: "nrpn", value: 119, label: "Pin", title: "output hardware pin to latch", range: "-1 127"},
"NRPN_PADC": {type: "rel", value: 120, title: "base of hardware analog input pin block"},
"NRPN_PADC0_PIN": {type: "nrpn", value: 120, label: "adc0Pin", title: "hardware pin for adc0", range: "-1 127"},
"NRPN_PADC0_VAL": {type: "nrpn", value: 121, label: "adc0Val", title: "analog value for adc0", range: "0 1023"},
"NRPN_PADC0_NRPN": {type: "nrpn", value: 122, label: "adc0Nrpn", title: "nrpn connected to adc0", values: "VAL_PADC_*"},
"NRPN_PADC1_PIN": {type: "nrpn", value: 123, label: "adc1Pin", title: "hardware pin for adc1", range: "-1 127"},
"NRPN_PADC1_VAL": {type: "nrpn", value: 124, label: "adc1Val", title: "analog value for adc1", range: "0 1023"},
"NRPN_PADC1_NRPN": {type: "nrpn", value: 125, label: "adc1Nrpn", title: "nrpn connected to adc1", values: "VAL_PADC_*"},
"NRPN_PADC2_PIN": {type: "nrpn", value: 126, label: "adc2Pin", title: "hardware pin for adc2", range: "-1 127"},
"NRPN_PADC2_VAL": {type: "nrpn", value: 127, label: "adc2Val", title: "analog value for adc2", range: "0 1023"},
"NRPN_PADC2_NRPN": {type: "nrpn", value: 128, label: "adc2Nrpn", title: "nrpn connected to adc2", values: "VAL_PADC_*"},
"NRPN_PADC3_PIN": {type: "nrpn", value: 129, label: "adc3Pin", title: "hardware pin for adc3", range: "-1 127"},
"NRPN_PADC3_VAL": {type: "nrpn", value: 130, label: "adc3Val", title: "analog value for adc3", range: "0 1023"},
"NRPN_PADC3_NRPN": {type: "nrpn", value: 131, label: "adc3Nrpn", title: "nrpn connected to adc3", values: "VAL_PADC_*"},
"NRPN_PADC4_PIN": {type: "nrpn", value: 132, label: "adc4Pin", title: "hardware pin for adc4", range: "-1 127"},
"NRPN_PADC4_VAL": {type: "nrpn", value: 133, label: "adc4Val", title: "analog value for adc4", range: "0 1023"},
"NRPN_PADC4_NRPN": {type: "nrpn", value: 134, label: "adc4Nrpn", title: "nrpn connected to adc4", values: "VAL_PADC_*"},
"NRPN_PADC5_PIN": {type: "nrpn", value: 135, label: "adc5Pin", title: "hardware pin for adc5", range: "-1 127"},
"NRPN_PADC5_VAL": {type: "nrpn", value: 136, label: "adc5Val", title: "analog value for adc5", range: "0 1023"},
"NRPN_PADC5_NRPN": {type: "nrpn", value: 137, label: "adc5Nrpn", title: "nrpn connected to adc5", values: "VAL_PADC_*"},
"NRPN_PADC6_PIN": {type: "nrpn", value: 138, label: "adc6Pin", title: "hardware pin for adc6", range: "-1 127"},
"NRPN_PADC6_VAL": {type: "nrpn", value: 139, label: "adc6Val", title: "analog value for adc6", range: "0 1023"},
"NRPN_PADC6_NRPN": {type: "nrpn", value: 140, label: "adc6Nrpn", title: "nrpn connected to adc6", values: "VAL_PADC_*"},
"NRPN_PADC7_PIN": {type: "nrpn", value: 141, label: "adc7Pin", title: "hardware pin for adc7", range: "-1 127"},
"NRPN_PADC7_VAL": {type: "nrpn", value: 142, label: "adc7Val", title: "analog value for adc7", range: "0 1023"},
"NRPN_PADC7_NRPN": {type: "nrpn", value: 143, label: "adc7Nrpn", title: "nrpn connected to adc7", values: "VAL_PADC_*"},
"NRPN_LAST_SAVED": {type: "rel", value: 144, title: "end of persistent params"},
"NRPN_EPHEMERA": {type: "rel", value: 144, title: "base of ephemeral nrpns"},
"NRPN_EXEC": {type: "rel", value: 144, title: "base of command nrpns"},
"NRPN_WRITE_EEPROM": {type: "nrpn", value: 144, sub: "cmd", label: "Write EEPROM", title: "write nrpn+msgs to eeprom"},
"NRPN_READ_EEPROM": {type: "nrpn", value: 145, sub: "cmd", label: "Read EEPROM", title: "read nrpn+msgs from eeprom"},
"NRPN_SET_DEFAULT": {type: "nrpn", value: 146, sub: "cmd", label: "Reset to default", title: "load nrpn with default values"},
"NRPN_ECHO_ALL": {type: "nrpn", value: 147, sub: "cmd", label: "Echo all", title: "echo all set nrpns to midi"},
"NRPN_SEND_TEXT": {type: "nrpn", value: 148, sub: "cmd", label: "Send to Text", title: "send character value to primary text keyer"},
"NRPN_SEND_TEXT2": {type: "nrpn", value: 149, sub: "cmd", label: "Send to Text2", title: "send character value to secondary text keyer"},
"NRPN_MSG_INDEX": {type: "nrpn", value: 150, sub: "cmd", label: "Message byte index", title: "set index into msgs"},
"NRPN_MSG_WRITE": {type: "nrpn", value: 151, sub: "cmd", label: "Message write byte", title: "set msgs[index++] to value"},
"NRPN_MSG_READ": {type: "nrpn", value: 152, sub: "cmd", label: "Message reqd byte", title: "read msgs[index++] and echo the value"},
"NRPN_INFO": {type: "rel", value: 153, title: "base of information nrpns"},
"NRPN_NRPN_SIZE": {type: "nrpn", value: 153, sub: "info", title: "size of nrpn array"},
"NRPN_MSG_SIZE": {type: "nrpn", value: 154, sub: "info", title: "send the size of msgs array"},
"NRPN_SAMPLE_RATE": {type: "nrpn", value: 155, sub: "info", title: "sample rate of audio library", unit: "sps/100"},
"NRPN_EEPROM_LENGTH": {type: "nrpn", value: 156, sub: "info", title: "result of EEPROM.length()", unit: "bytes"},
"NRPN_ID_CPU": {type: "nrpn", value: 157, sub: "info", title: "which teensy microprocessor are we running"},
"NRPN_ID_CODEC": {type: "nrpn", value: 158, sub: "info", title: "which codec are we running"},
"NRPN_SCRATCH": {type: "rel", value: 159, title: "base of scratch nrpns"},
"NRPN_XPER_DIT": {type: "nrpn", value: 159, sub: "ext", title: "samples per dit"},
"NRPN_XPER_DAH": {type: "nrpn", value: 161, sub: "ext", title: "samples per dah"},
"NRPN_XPER_IES": {type: "nrpn", value: 163, sub: "ext", title: "samples per inter element space"},
"NRPN_XPER_ILS": {type: "nrpn", value: 165, sub: "ext", title: "samples per inter letter space"},
"NRPN_XPER_IWS": {type: "nrpn", value: 167, sub: "ext", title: "samples per inter word space"},
"NRPN_LOOP": {type: "nrpn", value: 169, sub: "info", title: "loop counter, ?1.5MHz"},
"NRPN_SAMPLE": {type: "nrpn", value: 170, sub: "info", title: "sample counter, 48000Hz"},
"NRPN_UPDATE": {type: "nrpn", value: 171, sub: "info", title: "buffer update counter, 1500Hz "},
"NRPN_MILLI": {type: "nrpn", value: 172, sub: "info", title: "millisecond counter, 1000Hz"},
"NRPN_10MILLI": {type: "nrpn", value: 173, sub: "info", title: "10 millisecond counter, 100Hz"},
"NRPN_100MILLI": {type: "nrpn", value: 174, sub: "info", title: "100 millisecond counter, 10Hz"},
"NRPN_ACTIVE_ST": {type: "nrpn", value: 175, sub: "info", title: "note number of active sidetone source"},
"NRPN_XPTT_TAIL_TIME": {type: "nrpn", value: 176, sub: "info", title: "max of TAIL_TIME and HANG_TIME in samples"},
"NRPN_MIXER": {type: "rel", value: 178, title: "base of output mixer level block"},
"NRPN_MIX_USB_L0": {type: "nrpn", value: 178, title: "i2s_in left to usb_out left", range: "-320 60", unit: "dB/10"},
"NRPN_MIX_USB_L1": {type: "nrpn", value: 179, title: "sidetone left to usb_out left", range: "-320 60", unit: "dB/10"},
"NRPN_MIX_USB_L2": {type: "nrpn", value: 180, title: "IQ left to usb_out left", range: "-320 60", unit: "dB/10"},
"NRPN_MIX_USB_L3": {type: "nrpn", value: 181, title: "usb_in left to usb_out left", range: "-320 60", unit: "dB/10"},
"NRPN_MIX_USB_R0": {type: "nrpn", value: 182, title: "i2s_in right to usb_out right", range: "-320 60", unit: "dB/10"},
"NRPN_MIX_USB_R1": {type: "nrpn", value: 183, title: "sidetone right to usb_out right", range: "-320 60", unit: "dB/10"},
"NRPN_MIX_USB_R2": {type: "nrpn", value: 184, title: "IQ right to usb_out right", range: "-320 60", unit: "dB/10"},
"NRPN_MIX_USB_R3": {type: "nrpn", value: 185, title: "usb_in right to usb_out right", range: "-320 60", unit: "dB/10"},
"NRPN_MIX_I2S_L0": {type: "nrpn", value: 186, title: "usb_in left to i2s_out left", range: "-320 60", unit: "dB/10"},
"NRPN_MIX_I2S_L1": {type: "nrpn", value: 187, title: "sidetone left to i2s_out left", range: "-320 60", unit: "dB/10"},
"NRPN_MIX_I2S_L2": {type: "nrpn", value: 188, title: "IQ left to i2s_out left", range: "-320 60", unit: "dB/10"},
"NRPN_MIX_I2S_L3": {type: "nrpn", value: 189, title: "i2s_in right to i2s_out right", range: "-320 60", unit: "dB/10"},
"NRPN_MIX_I2S_R0": {type: "nrpn", value: 190, title: "usb_in right to i2s_out right", range: "-320 60", unit: "dB/10"},
"NRPN_MIX_I2S_R1": {type: "nrpn", value: 191, title: "sidetone right to i2s_out right", range: "-320 60", unit: "dB/10"},
"NRPN_MIX_I2S_R2": {type: "nrpn", value: 192, title: "IQ right to i2s_out right", range: "-320 60", unit: "dB/10"},
"NRPN_MIX_I2S_R3": {type: "nrpn", value: 193, title: "i2s_in right to i2s_out right", range: "-320 60", unit: "dB/10"},
"NRPN_MIX_HDW_L0": {type: "nrpn", value: 194, title: "usb_in left to hdw_out left", range: "-320 60", unit: "dB/10"},
"NRPN_MIX_HDW_L1": {type: "nrpn", value: 195, title: "sidetone left to hdw_out left", range: "-320 60", unit: "dB/10"},
"NRPN_MIX_HDW_L2": {type: "nrpn", value: 196, title: "IQ left to hdw_out left", range: "-320 60", unit: "dB/10"},
"NRPN_MIX_HDW_L3": {type: "nrpn", value: 197, title: "i2s_in left to hdw_out left", range: "-320 60", unit: "dB/10"},
"NRPN_MIX_HDW_R0": {type: "nrpn", value: 198, title: "usb_in right to hdw_out right", range: "-320 60", unit: "dB/10"},
"NRPN_MIX_HDW_R1": {type: "nrpn", value: 199, title: "sidetone right to hdw_out right", range: "-320 60", unit: "dB/10"},
"NRPN_MIX_HDW_R2": {type: "nrpn", value: 200, title: "IQ right to hdw_out right", range: "-320 60", unit: "dB/10"},
"NRPN_MIX_HDW_R3": {type: "nrpn", value: 201, title: "i2s_in right to hdw_out right", range: "-320 60", unit: "dB/10"},
"NRPN_MIXER2": {type: "rel", value: 202, title: "base of output mixer enable block"},
"NRPN_MIX_EN_USB_L0": {type: "nrpn", value: 202, title: "enable i2s_in left to usb_out left", range: "0 1"},
"NRPN_MIX_EN_USB_L1": {type: "nrpn", value: 203, title: "enable sidetone left to usb_out left", range: "0 1"},
"NRPN_MIX_EN_USB_L2": {type: "nrpn", value: 204, title: "enable IQ left to usb_out left", range: "0 1"},
"NRPN_MIX_EN_USB_L3": {type: "nrpn", value: 205, title: "enable usb_in left to usb_out left", range: "0 1"},
"NRPN_MIX_EN_USB_R0": {type: "nrpn", value: 206, title: "enable i2s_in right to usb_out right", range: "0 1"},
"NRPN_MIX_EN_USB_R1": {type: "nrpn", value: 207, title: "enable sidetone right to usb_out right", range: "0 1"},
"NRPN_MIX_EN_USB_R2": {type: "nrpn", value: 208, title: "enable IQ right to usb_out right", range: "0 1"},
"NRPN_MIX_EN_USB_R3": {type: "nrpn", value: 209, title: "enable usb_in right to usb_out right", range: "0 1"},
"NRPN_MIX_EN_I2S_L0": {type: "nrpn", value: 210, title: "enable usb_in left to i2s_out left", range: "0 1"},
"NRPN_MIX_EN_I2S_L1": {type: "nrpn", value: 211, title: "enable sidetone left to i2s_out left", range: "0 1"},
"NRPN_MIX_EN_I2S_L2": {type: "nrpn", value: 212, title: "enable IQ left to i2s_out left", range: "0 1"},
"NRPN_MIX_EN_I2S_L3": {type: "nrpn", value: 213, title: "enable i2s_in right to i2s_out right", range: "0 1"},
"NRPN_MIX_EN_I2S_R0": {type: "nrpn", value: 214, title: "enable usb_in right to i2s_out right", range: "0 1"},
"NRPN_MIX_EN_I2S_R1": {type: "nrpn", value: 215, title: "enable sidetone right to i2s_out right", range: "0 1"},
"NRPN_MIX_EN_I2S_R2": {type: "nrpn", value: 216, title: "enable IQ right to i2s_out right", range: "0 1"},
"NRPN_MIX_EN_I2S_R3": {type: "nrpn", value: 217, title: "enable i2s_in right to i2s_out right", range: "0 1"},
"NRPN_MIX_EN_HDW_L0": {type: "nrpn", value: 218, title: "enable usb_in left to hdw_out left", range: "0 1"},
"NRPN_MIX_EN_HDW_L1": {type: "nrpn", value: 219, title: "enable sidetone left to hdw_out left", range: "0 1"},
"NRPN_MIX_EN_HDW_L2": {type: "nrpn", value: 220, title: "enable IQ left to hdw_out left", range: "0 1"},
"NRPN_MIX_EN_HDW_L3": {type: "nrpn", value: 221, title: "enable i2s_in left to hdw_out left", range: "0 1"},
"NRPN_MIX_EN_HDW_R0": {type: "nrpn", value: 222, title: "enable usb_in right to hdw_out right", range: "0 1"},
"NRPN_MIX_EN_HDW_R1": {type: "nrpn", value: 223, title: "enable sidetone right to hdw_out right", range: "0 1"},
"NRPN_MIX_EN_HDW_R2": {type: "nrpn", value: 224, title: "enable IQ right to hdw_out right", range: "0 1"},
"NRPN_MIX_EN_HDW_R3": {type: "nrpn", value: 225, title: "enable i2s_in right to hdw_out right", range: "0 1"},
"NRPN_LAST": {type: "rel", value: 226, title: "end of all nrpns"},
"ENDP_JSON_TO_HOST": {type: "endp", value: 0, title: "transfer JSON string to host from device"},
"ENDP_NRPNS_TO_DEV": {type: "endp", value: 1, title: "transfer NRPN settings to device from host"},
"ENDP_NRPNS_TO_HOST": {type: "endp", value: 2, title: "transfer NRPN settings to host from device"},
"ENDP_MESGS_TO_DEV": {type: "endp", value: 3, title: "transfer saved messages to device from host"},
"ENDP_MESGS_TO_HOST": {type: "endp", value: 4, title: "transfer saved messages to host from device"},
"ENDP_TEXT_TO_DEV": {type: "endp", value: 5, title: "transfer text to device from host"},
"ENDP_TEXT_TO_HOST": {type: "endp", value: 6, title: "transfer text to host from device"},
"VAL_EXT_NOTE_OFF": {type: "val", value: 0, title: "external note off velocity"},
"VAL_EXT_NOTE_ON": {type: "val", value: 127, title: "external note on velocity"},
"VAL_NOT_SET": {type: "val", value: -1, title: "16 bit not set value"},
"VAL_MASK": {type: "val", value: 16383, title: "14 bit mask"},
"VAL_BYTE_STOP": {type: "val", value: 256, title: "STRING_BYTE acknowlegement xoff value that signals stop sending"},
"VAL_BYTE_START": {type: "val", value: 257, title: "STRING_BYTE acknowlegement xon value that signals start sending"},
"VAL_RAMP_*": {type: "opts", opts: "VAL_RAMP_HANN VAL_RAMP_BLACKMAN_HARRIS VAL_RAMP_LINEAR"},
"VAL_RAMP_HANN": {type: "val", value: 0, label: "Hann", title: "ramp from Hann window function, raised cosine"},
"VAL_RAMP_BLACKMAN_HARRIS": {type: "val", value: 1, label: "Blackman Harris", title: "ramp from Blackman Harris window function"},
"VAL_RAMP_LINEAR": {type: "val", value: 2, label: "Linear", title: "linear ramp, for clicks"},
"VAL_MODE_*": {type: "opts", opts: "VAL_MODE_A VAL_MODE_B VAL_MODE_S"},
"VAL_MODE_A": {type: "val", value: 0, label: "A", title: "paddle keyer iambic mode A"},
"VAL_MODE_B": {type: "val", value: 1, label: "B", title: "paddle keyer iambic mode B"},
"VAL_MODE_S": {type: "val", value: 2, label: "S", title: "paddle keyer bug mode"},
"VAL_ADAPT_*": {type: "opts", opts: "VAL_ADAPT_NORMAL VAL_ADAPT_ULTIMATIC VAL_ADAPT_SINGLE"},
"VAL_ADAPT_NORMAL": {type: "val", value: 0, label: "Normal", title: "paddle keyer unmodified"},
"VAL_ADAPT_ULTIMATIC": {type: "val", value: 1, label: "Ultimatic", title: "paddle keyer modified to produce ultimatic keyer"},
"VAL_ADAPT_SINGLE": {type: "val", value: 2, label: "Single", title: "paddle keyer modified to simulate single lever paddle"},
"VAL_KEYER_*": {type: "opts", opts: "VAL_KEYER_AD5DZ VAL_KEYER_K1EL VAL_KEYER_ND7PA VAL_KEYER_VK6PH"},
"VAL_KEYER_AD5DZ": {type: "val", value: 0, label: "ad5dz", title: "paddle keyer algorithm by ad5dz"},
"VAL_KEYER_K1EL": {type: "val", value: 1, label: "k1el", title: "paddle keyer algorithm by k1el"},
"VAL_KEYER_ND7PA": {type: "val", value: 2, label: "nd7pa", title: "paddle keyer algorithm by nd7pa"},
"VAL_KEYER_VK6PH": {type: "val", value: 3, label: "vk6ph", title: "paddle keyer algorithm by vk6ph"},
"VAL_INPUT_*": {type: "opts", opts: "VAL_INPUT_MIC VAL_INPUT_LINE"},
"VAL_INPUT_MIC": {type: "val", value: 0, label: "Mic", title: "input select microphone"},
"VAL_INPUT_LINE": {type: "val", value: 1, label: "LineIn", title: "input select line in"},
"VAL_PADC_*": {type: "opts", opts: "VAL_PADC_NOTHING VAL_PADC_VOLUME VAL_PADC_LEVEL VAL_PADC_TONE VAL_PADC_SPEED VAL_PADC_FARNS VAL_PADC_COMP VAL_PADC_HEAD_TIME VAL_PADC_TAIL_TIME VAL_PADC_RISE_TIME VAL_PADC_FALL_TIME VAL_PADC_WEIGHT VAL_PADC_RATIO VAL_PADC_SPEED_FRAC VAL_PADC_CODEC_VOLUME"},
"VAL_PADC_NOTHING": {type: "val", value: 0, label: "None", title: "pot controls nothing"},
"VAL_PADC_VOLUME": {type: "val", value: 62, label: "Volume", title: "pot controls master volume"},
"VAL_PADC_LEVEL": {type: "val", value: 63, label: "Level", title: "pot controls sidetone level"},
"VAL_PADC_TONE": {type: "val", value: 69, label: "Tone", title: "pot controls sidetone pitch"},
"VAL_PADC_SPEED": {type: "val", value: 70, label: "Speed", title: "pot controls keyer speed"},
"VAL_PADC_FARNS": {type: "val", value: 73, label: "Farnsworth", title: "pot controls keyer Farnsworh speed"},
"VAL_PADC_COMP": {type: "val", value: 74, label: "Comp", title: ""},
"VAL_PADC_HEAD_TIME": {type: "val", value: 76, label: "PTTHead", title: "NRPN_HEAD_TIME"},
"VAL_PADC_TAIL_TIME": {type: "val", value: 77, label: "PTTTail", title: "NRPN_TAIL_TIME"},
"VAL_PADC_RISE_TIME": {type: "val", value: 79, label: "Rise", title: "NRPN_RISE_TIME"},
"VAL_PADC_FALL_TIME": {type: "val", value: 80, label: "Fall", title: "NRPN_FALL_TIME"},
"VAL_PADC_WEIGHT": {type: "val", value: 71, label: "Weight", title: "NRPN_WEIGHT"},
"VAL_PADC_RATIO": {type: "val", value: 72, label: "Ratio", title: "NRPN_RATIO"},
"VAL_PADC_SPEED_FRAC": {type: "val", value: 75, label: "Frac", title: "NRPN_SPEED_FRAC"},
"VAL_PADC_CODEC_VOLUME": {type: "val", value: 101, label: "Frac", title: "NRPN_CODEC_VOLUME"}
};