Subversion Repositories svn.mios

Rev

Rev 1200 | Details | Compare with Previous | Last modification | View Log | RSS feed

Rev Author Line No. Line
1096 tk 1
HEADER 3 ChangeLog of MIDIbox NG
2
 
3
<CENTER><H1>MIDIbox NG Change Log</H1></CENTER>
1228 tk 4
<CENTER><H3>Last Release: 2016-02-08</H3></CENTER>
1096 tk 5
 
6
<P CLASS=DESC>Current firmware, schematics, additional infos are located at <A HREF="midibox_ng.html">http://www.uCApps.de/midibox_ng.html</A>.</P>
7
 
8
<IMG SRC="images/1x1dot.gif" height=10 ALT=""><BR>
9
 
10
<UL CLASS=CL>
11
 
12
<IMG SRC="images/1x1dot.gif" height=20 ALT=""><BR>
1228 tk 13
<LI><I>V1.035</I>
14
  <UL CLASS=CL>
15
   <LI> Support for secure keyboard handling if patch is switched: keep original
16
     MIDI port, note, channel when playing Note Off
17
     (this feature is not supported for LPC17 due to high memory consumption)
18
 
19
    <LI> Fixed encoder incrementer in absolute mode
20
  </UL>
21
</LI>
22
 
23
<IMG SRC="images/1x1dot.gif" height=20 ALT=""><BR>
24
<LI><I>V1.034</I>
25
  <UL CLASS=CL>
26
   <LI> Support for interpolation tables:<BR>
27
     MAPs can now apply linear interpolation between data points.<BR>
28
     This allows to quickly define curves without the need to enter the values for the complete range.
29
     E.g. previously it was required to enter 128 values to create a curve for a CC controller,
30
     now it's mostly sufficient to define the same with 3..4 data points. MBNG will interpolate
31
     the values between these points.<BR>
32
 
33
     Interpolation tables can be defined with following commands:
34
     MAP&lt;n&gt;/BYTEI and MAP&lt;n&gt;/HWORDI<BR>
35
 
36
     A BYTEI map can define up to 64 datapoints with 8bit resultion,
37
     and a HWORDI map can define up to 32 datapoints with 16bit resolution.<BR>
38
 
39
     Usage examples can be found under cfg/test/map* and cfg/test/kb_2.ngc<BR>
40
 
41
     See the user manual for further explanations.
42
 
43
   <LI> Support for 16bit maps: with MAP&lt;n&gt;/HWORD 16bit values can be mapped.
44
 
45
   <LI> label "std_rgbled" renamed to "std_rgb" to avoid error message
46
 
47
   <LI> Cursor handling on SysEx based GLCD output should now work correctly if the big font is activated
48
  </UL>
49
</LI>
50
 
51
<IMG SRC="images/1x1dot.gif" height=20 ALT=""><BR>
1200 tk 52
<LI><I>V1.033</I>
53
  <UL CLASS=CL>
54
   <LI> with this release, .NGR scripts running on a STM32F4 are directly executed from RAM in a compressed
55
     format, and therefore they are significantly faster, so that they could even be used for timing
56
     critical operations.</LI>
57
 
58
   <LI> added basic support for SPI_MIDI<BR>
59
     This feature requires an update to MIOS32 bootloader v1.018<BR>
60
     In the bootloader update app, enter "set spi_midi 1" to enable the SPI MIDI device at J16 (RC2 chip select line).
61
     This will also disable the OSC ports via MBHP_ETH module, which is normally connected to this port.</LI>
62
 
63
   <LI> support for WS2812 LED strips (currently only for the MBHP_CORE_STM32F4 module).<BR>
64
     The data input has to be connected to J4B.SC, ground to J4B.VS and +5V to an external PSU (required, since
65
     each RGB LED can consume up to 20 mA!)<BR>
66
 
67
     Following meta event commands are available:
68
     <UL CLASS=CL>
69
       <LI> RgbLedClearAll (clears all LEDs)
70
       <LI> RgbLedSetRgb:&lt;led&gt;:&lt;r&gt;:&lt;g&gt;:&lt;b&gt; (led=1..64, r/g/b=0..255)
71
       <LI> RgbLedSetHsv:&lt;led&gt;:&lt;h&gt;:&lt;s&gt;:&lt;v&gt; (led=1..64, h=0..359, s=0..100, v=0..100)
72
       <LI> RgbLedRainbow:&lt;speed&gt;:&lt;brightness&gt; (speed=1..255, brightness=0..100)
73
    </UL>
74
 
75
    Most simple way to test a LED strip: enter following command in MIOS Terminal<BR>
76
       ngr exec_meta RgbLedRainbow:9:100<BR>
77
    (don't forget to wear sunglasses, or start with brightness 20!!! ;-)
78
 
79
   <LI> added EVENT_RGBLED<BR>
80
     See cfg/test/rgbled_1.ngc for usage examples
81
 
82
   <LI> .NGR file: added "set_hsv" command which allows to control the hue parameters of a RGBLED
83
 
84
   <LI> SRIO num_sr=<value> reconfiguration works correctly with DIN/DOUT matrices now
85
 
86
   <LI> added "inverted=1" to EVENT_BUTTON and EVENT_LED
87
 
88
   <LI> .NGR file: added "load <setup>" command which allows to switch to another setup (.NGC, .NGS, .NGR, ... files)
89
 
90
   <LI> implemented new meta command "SendEvent" which allows to remote control one or more events from a single event
91
     within a given value range and direction.<BR>
92
     See cfg/test/metalrn.ngc for a usage example
93
 
94
   <LI> implemented new meta command "LearnEvent" which allows to learn SendEvent based controller assignments during runtime.
95
     See cfg/test/metalrn.ngc for a usage example
96
 
97
   <LI> added new meta command "SaveDelayedSnapshot:<seconds>"<BR>
98
     It will request to store a snapshot after at least the given seconds.
99
 
100
   <LI> added new event type "NoteOnOff", which will send a NoteOff event immediately after NoteOn (resp. actually it will
101
     send Note On with velocity 0 for runtime event optimisation)
102
 
103
   <LI> added possibility to calibrate the delay_slowest values for each individual key of a keyboard.<BR>
104
     New terminal commands:
105
     <UL CLASS=CL>
106
       <LI> set kb <1|2> key_calibration on: delay values will be measured (method described at the MIDIbox KB webpage)
107
       <LI> set kb <1|2> key_calibration off: captured delay values will be used: (<measured-delay> * delay_slowest / 1000)
108
       <LI> set kb <1|2> key_calibration clean: shows the captured measurement values
109
       <LI> set kb <1|2> key_calibration_value <key> <value>: allows to modify a calibration value directly
110
       <LI> kb <1|2> delays: shows the measured delay values
111
     </UL>
112
 
113
   <LI> keyboard calibration values are stored in a new file: .NGK, and can also be edited there
114
 
115
   <LI> bugfix for DELAY_MS
116
 
117
   <LI> bugfix for fwd_id to a non-existing ID with specific value
118
 
119
   <LI> bugfix for maps with duplicated values
120
 
121
   <LI> bugfix for sporadic file access errors reported during snapshot restore
122
  </UL>
123
</LI>
124
 
125
<IMG SRC="images/1x1dot.gif" height=20 ALT=""><BR>
1186 tk 126
<LI><I>V1.032</I>
127
  <UL CLASS=CL>
128
   <LI> support for mathematical operations in .NGR script.
129
     They have to be surrounded with square-brackets ([...])<BR>
130
     Syntax: [&lt;left-operand&gt;&lt;operator&gt;&lt;right-operand&gt;]<BR>
131
     Example:
132
     <UL CLASS=CL>
133
        <LI> set LED:2000 [LED:2000 + 1]<BR>
134
          will increment the value stored in LED:2000
135
        <LI> set LED:2000 [LED:2000 - 1]
136
          will decrement the value stored in LED:2000
137
     </UL>
138
 
139
     Note that nested operations are supported as well, such as:
140
     <UL CLASS=CL>
141
        <LI> send CC USB1 1 [LED:2000 + [LED:2001 + [LED:2002 + LED:2003]]]
142
     </UL>
143
 
144
     More examples in cfg/tests/runscr5.ngc<BR>
145
     Support operators: + - * / % &amp; | ^
146
 
147
 
148
   <LI> number of scanned SRIOs now configurable in .NGC file
149
     with 'SRIO num_sr=&lt;1..32&gt;'<BR>
150
 
151
     By default 32 DIN and DOUT shift registers are scanned, which
152
     result into an update rate of ca. 420 uS on a STM32F4 based core.<BR>
153
 
154
     With (for example) 'sr_num=8' only up to 8 DIN and 8 DOUT SRs will
155
     be scanned anymore, but the update rate is reduced to ca. 110..120 uS
156
     (a little bit more than a quarter due to SR handling overhead)
157
 
158
 
159
    <LI> corrected DebounceCtr parameter (value was not passed to MIOS32).<BR>
160
      Now also part of the SRIO configuration, use: SRIO debounce_cycles=&lt;1..255&gt;
161
 
162
    <LI> added new meta event "KbBreakIsMake:&lt;keyboard-number&gt;" which will
163
      already trigger a note event when the break contact is activated
164
      (nice for playing organ style).<BR>
165
      Trigger it from a toggle button function as shown in cfg/test/kb_5.ngc
166
      Can be optionally set from the terminal as well with following
167
      command: "set kb &lt;keyboard-number&gt; break_is_make &lt;on|off&gt;"
168
      (e.g. "set kb 1 break_is_make on")
169
 
170
   <LI> added ain_mode=Toggle for AIN and AINSER events.<BR>
171
     Similar to ain_mode=Switch it can be used if buttons are connected to analog inputs.
172
     The event will toggle between the min and max value.
173
 
174
   <LI> .NGR: added "set_no_dump" command. It allows to change the "no_dump" flag
175
     which specifies if an EVENT_xxx should be sent during a DumpSnapshot.<BR>
176
     This feature can be used to handle different snapshot setups.
177
 
178
   <LI> STM32F4: support for bootloader "enforce_usb_device" flag
179
  </UL>
180
</LI>
181
 
182
<IMG SRC="images/1x1dot.gif" height=20 ALT=""><BR>
1181 tk 183
<LI><I>V1.031</I>
184
  <UL CLASS=CL>
185
   <LI>the STM32F4 variant of the firmware supports USB Host mode!<BR>
186
     See also <A HREF="http://midibox.org/forums/topic/18906-usb-host-support-for-mbhp-core-stm32f4/" TARGET="_blank">this forum article</A>.
187
 
188
   <LI> MIDI clock input ports now disabled by default to avoid feedback loops
189
     in various setups
190
 
191
   <LI> improved "ain_filter_delay_ms" implementation to support sensors (experimental stage)
192
 
193
   <LI> Covered new use case which allows to transform velocity values of incoming notes.
194
     See cfg/test/conev_6.ngc<BR>
195
     EVENT_RECEIVER and EVENT_SENDER have to be specified with "key=any", so that any
196
     key will be received and sent.
197
 
198
   <LI> support for DIN/DOUT emulation on digital IO ports J10A/J10B (LPC17: J10/J28)<BR>
199
     See examples in cfg/test/diocfg_1.ngc and cfg/test/diocfg_2.ngc
200
  </UL>
201
</LI>
202
 
203
<IMG SRC="images/1x1dot.gif" height=20 ALT=""><BR>
1172 tk 204
<LI><I>V1.030</I>
205
  <UL CLASS=CL>
206
   <LI> increased event pool size to 64k for MBHP_CORE_STM32F4
207
 
208
   <LI> added ain_mode=Switch for AIN and AINSER events.<BR>
209
     Can be used if buttons are connected to analog inputs. The event will send the
210
     min value if a 30% threshold is reached, and the max value if a 70% threshold
211
     is reached.<BR>
212
     Schematic:  Ground |----o Button o-----> analog input + 10k Pull-Up resistor to 3.3V (AIN) resp. 5V (AINSER)
213
 
214
   <LI> .ngr: added "change" command. It works similar to the "set" command, but
215
     only changes the value, and doesn't generate a MIDI event.
216
 
217
   <LI> .ngr: added "set_min" and "set_max" command which allows to modify the
218
     min/max range of a EVENT
219
 
220
   <LI> added new meta events to control the internal MIDI clock generator:
221
     MClkPlay, MClkStop, MClkPlayStop, MClkPause, MClkDecTempo, MClkIncTempo, MClkSetTempo.<BR>
222
     Example can be found under cfg/test/midiclk.ngc
223
 
224
   <LI> added new string formatting items:
225
    <UL CLASS=CL>
226
     <LI>%t to display MIDI clock state (Play/Stop)
227
     <LI>%T to display tempo (BPM)
228
    </UL>
229
 
230
   <LI> added new MClk menu page to SCS to control the tempo w/o dedicated controllers
231
 
232
   <LI> fixed AOUT_NG module communication issue if AINSER was used in addition
233
 
234
   <LI> added new meta events:
235
     <UL CLASS=CL>
236
       <LI> CvPitchBend14Bit:<cv-channel>
237
       <LI> CvPitchBend7Bit:<cv-channel>
238
       <LI> CvPitchRange:<cv-channel>
239
       <LI> CvTransposeOctave:<cv-channel>
240
       <LI> CvTransposeSemitones:<cv-channel>
241
     </UL>
242
     see cfg/test/cvtransp.ngc for usage examples
243
 
244
   <LI> BUTTON toggle function can now also handle with inverted and reduced value ranges
245
  </UL>
246
</LI>
247
 
248
<IMG SRC="images/1x1dot.gif" height=20 ALT=""><BR>
1162 tk 249
<LI><I>V1.029</I>
250
  <UL CLASS=CL>
251
   <LI> added USB MIDI workaround for Windows
252
 
253
   <LI> if a EVENT_SENDER is part of a radio group, and got a new value, it will only
254
     send the MIDI event if the new value is matching with the specified range.<BR>
255
     Usage example: cfg/templates/pg300.ngc
256
 
257
   <LI> if EVENT_RECEIVER forwarded to EVENT_AIN, EVENT_AINSER or EVENT_BUTTON,
258
     send also MIDI event.<BR>
259
     Usage example: cfg/templates/pg300.ngc
260
 
261
   <LI> support for MBHP_CORE_STM32F4 module
262
  </UL>
263
</LI>
264
 
265
<IMG SRC="images/1x1dot.gif" height=20 ALT=""><BR>
266
<LI><I>V1.028</I>
267
  <UL CLASS=CL>
268
   <LI> DOUT_MATRIX n=8 properly supported
269
 
270
   <LI> now up to 16 DOUT_MATRIX and DIN_MATRIX can be configured
271
  </UL>
272
</LI>
273
 
274
<IMG SRC="images/1x1dot.gif" height=20 ALT=""><BR>
1148 tk 275
<LI><I>V1.027</I>
276
  <UL CLASS=CL>
277
   <LI> .NGR: added "set_active" command. It can be alternatively used
278
     instead of the bank mechanism to activate/deactivate events,
279
     e.g. if the same events should be activated in multiple banks under
280
     certain conditions.<BR>
281
     A demo can be found under cfg/tests/multibnk.*
282
 
283
   <LI> it's now possible to set a static forward value independent from the
284
     actual value of the event which initiates the forwarding.<BR>
285
 
286
     E.g. with<BR>
287
<TT><PRE style="margin-left:20px; font-size:8pt">
288
     EVENT_xxx fwd_id=SENDER:1:42
289
</PRE></TT>
290
     the SENDER:1 will always get value 42 for additional processing
291
 
292
   <LI> support for multiple MBHP_MF_NG modules in a chain.<BR>
293
     See cfg/test/mf_multi.ngc for a configuration example
294
 
295
   <LI> support for Logic Control Meters.<BR>
296
     Configuration example: see cfg/templates/logictrl.ngc
297
     (search for "meter")
298
 
299
   <LI> added new GLCD fonts (provided by Pcbatterij): Inverted and Tiny.<BR>
300
     In order to test these fonts, try following commands in the MIOS Terminal:<BR>
301
<TT><PRE style="margin-left:20px; font-size:8pt">
302
     lcd %C&t@(1:1:1)Tiny Font
303
     lcd %C&i@(1:1:1)Inverted Font
304
</PRE></TT>
305
 
306
   <LI> fixed OSC receiver (avoided stack overflow)
307
 
308
   <LI> various minor bugfixes
309
  </UL>
310
</LI>
311
 
312
<IMG SRC="images/1x1dot.gif" height=20 ALT=""><BR>
1130 tk 313
<LI><I>V1.026</I>
314
  <UL CLASS=CL>
315
   <LI>support for nrpn_format=MsbOnly (e.g. for MBSEQ V4 NRPNs)
316
 
317
   <LI> new EVENT parameter ain_sensor_mode:
318
     <UL CLASS=CL>
319
       <LI>With ain_sensor_mode=NoteOnOff, AIN and AINSER events, which are
320
         assigned to Note events, send velocity 0 before a new Note is sent
321
         with velocity > 0 to avoid hanging notes.
322
       <LI>With ain_sensor_mode=None (default if no sensor mode specified),
323
         Note events will be generated as a continuous stream like CCs
324
     </UL>
325
  </UL>
326
</LI>
327
 
328
<IMG SRC="images/1x1dot.gif" height=20 ALT=""><BR>
329
<LI><I>V1.025</I>
330
  <UL CLASS=CL>
331
   <LI> new terminal commands:
332
    <UL CLASS=CL>
333
     <LI> ngc: allows to execute a .NGC command directly
334
     <LI> ngr: allows to execute a .NGR command directly
335
     <LI> ngr_section: sets the ^section for .NGR execution
336
     <LI> ngr_value: sets the ^value for .NGR execution
337
     <LI> run: can now also executed without specified &lt;section&gt; &lt;value&gt;<BR>
338
       (the previously set values will be taken in this case)
339
    </UL>
340
 
341
   <LI> inofficial support for MAX72xx chains - see cfg/tests/max72xx.ngc for
342
     a configuration example (no schematic available yet)
343
 
344
   <LI> .NGR: fixed "delay statements in if branches" issue
345
 
346
   <LI> .NGR: added "set_lock" command. It allows to prevent, that received
347
     events will overwrite a value of an event.
348
 
349
   <LI> .NGR: the "set" command now also allows to change variables, e.g.:<BR>
350
       set ^value 1<BR>
351
       set ^section 2<BR>
352
       set ^bank 3<BR>
353
       (etc...)<BR>
354
     the last one (^bank) will also switch MBNG to the specified bank
355
 
356
   <LI> .NGR: added variables ^dev, ^pat, ^bnk, ^ins, ^chn<BR>
357
     These are the same which can be used in SysEx strings, and which can
358
     be changed in a SCS page (e.g. the variables could also be used for
359
     different purposes)
360
 
361
   <LI> added new SCS menu page to execute the .NGR file with given
362
     ^section and ^value
363
 
364
   <LI> the AIN command now supports the "resolution" parameter
365
 
366
   <LI> the AINSER command now supports the "muxed" parameter.<BR>
367
     Use muxed=1 for the AINSER64 module (default), and muxed=0 for the AINSER8 module.
368
 
369
   <LI> AIN and AINSER events, which are assigned to Note events, send velocity 0
370
     before a new Note is sent with velocity > 0 to avoid hanging notes.
371
 
372
   <LI> added "ain_filter_delay_ms" to support sensors (experimental stage)
373
 
374
   <LI> EVENT_RECEIVER in conjunction with ^txt or ^txt56: if ^cursor is not specified
375
     in the SysEx stream, it will start at offset 0 from the specified lcd_pos=<device>:<x>:<y>
376
 
377
   <LI> EVENT ... syxdumppos now supports the full receiver range 1..4095 (previously
378
     only 1..15)
379
 
380
   <LI> the MIDI router forwards SysEx messages regardless if channels are filtered,
381
     or "All" is used. It's ensured that messages are only sent once if multiple
382
     router nodes forward to the same destination port.
383
  </UL>
384
</LI>
385
 
386
<IMG SRC="images/1x1dot.gif" height=20 ALT=""><BR>
1120 tk 387
<LI><I>V1.024</I>
388
  <UL CLASS=CL>
389
   <LI> bugfix for "single_usb" option
390
 
391
   <LI> support for LED Digits (7-segment displays).<BR>
392
     Configuration examples can be found under cfg/tests/leddig*.ngc
393
 
394
   <LI> the DIN_MATRIX and DOUT_MATRIX configuration command now allows to
395
     mirror the row pattern with "mirrored_row=1"
396
 
397
   <LI> added EVENT_RECEIVER emu_enc_mode and emu_enc_hw_id parameters.<BR>
398
     See cfg/tests/emu_enc.ngc for an usage example
399
 
400
   <LI> .NGR now allows to cast the ID type: (id) or (hw_id).<BR>
401
     E.g. (id)LED:1 will search for the EVENT specified with id=1, and
402
     (hw_id)LED:1 will search for the EVENT specified with hw_id=1<BR>
403
 
404
     if (hw_id) is used (default if no type specified), and no EVENT with
405
     a matching hw_id can be found, a virtual event will access the control
406
     element directly. This is currently only relevant for the SET command.<BR>
407
 
408
     This matches with the behaviour of the "EVENT ... fwd_id=<id>" function.
409
 
410
   <LI> added RunStop meta event to stop the execution of a .NGR file
411
 
412
   <LI> added "runstop" terminal command
413
 
414
   <LI> new .NGR command: set_rgb <id> <r:g:b><BR>
415
     E.g. "set_rgb (id)LED:1001 15:8:4"
416
  </UL>
417
</LI>
418
 
419
<IMG SRC="images/1x1dot.gif" height=20 ALT=""><BR>
420
<LI><I>V1.023</I>
421
  <UL CLASS=CL>
422
   <LI> the current AIN/AINSER pot values can now be taken over by the meta events
423
     RetrieveAinValues and RetrieveAinserValues
424
   <LI> new .NGR command: EXEC_META
425
  </UL>
426
</LI>
427
 
428
<IMG SRC="images/1x1dot.gif" height=20 ALT=""><BR>
1119 tk 429
<LI><I>V1.022</I>
430
  <UL CLASS=CL>
431
   <LI> support for run scripts.<BR>
432
     See also the <A HREF="midibox_ng_manual_ngr.html">new manual page</A>.
433
 
434
   <LI> the new SysEx command ^label has been added. It allows to insert the ASCII code
435
     of a label string into a SysEx stream.<BR>
436
     See also cfg/tests/syxlabel.ngc
437
 
438
   <LI> big GLCD font now correctly handled by ^txt and ^txt56 SysEx command
439
 
440
   <LI> line number now displayed on errors in .NGC, .NGL or .NGR file
441
 
442
   <LI> various bugfixes and improvements
443
  </UL>
444
</LI>
445
 
446
<IMG SRC="images/1x1dot.gif" height=20 ALT=""><BR>
1117 tk 447
<LI><I>V1.021</I>
448
  <UL CLASS=CL>
449
   <LI> support for the "single_usb" option, which can be enabled with the
450
     bootloader update application V1.012 ("set usb_single 1")<BR>
451
 
452
     Use this option if you are working with a Windows PC which can't handle
453
     the 4 USB ports correctly (e.g. stucking MIDI, Filebrowser operations are failing, etc.)
454
 
455
   <LI> added .NGS file which allows to store and restore values into
456
     up to 128 snapshots (0..127).<BR>
457
     The snapshot can be changed in the "Snap" menu in the SCS
458
 
459
   <LI> the "Snap" menu also allows to dump all events (e.g. after a new
460
     snapshot has been loaded)
461
 
462
   <LI> added new (hopefully selfexplaining) meta events:<BR>
463
     SetSnapshot, DecSnapshot, IncSnapshot, CycleSnapshot, LoadSnapshot,
464
     SaveSnapshot and DumpSnapshot<BR>
465
     Note that multiple meta commands can be assigned to an event, e.g.
466
     to set, auto-load and dump a snapshot from an encoder write:<BR>
467
     EVENT_ENC ... type=Meta meta=SetSnapshot meta=LoadSnapshot meta=DumpSnapshot
468
 
469
   <LI> added "no_dump" parameter to EVENT_xxx<BR>
470
     It specifies if an EVENT_xxx should be sent during a DumpSnapshot.<BR>
471
 
472
     no_dump=1 is set for EVENT_RECEIVER and EVENT_KB and events which are using
473
     type=Meta by default.<BR>
474
     If such events should be part of the dump, set no_dump=0
475
 
476
     For all other events/types no_dump=0 is set by default, set no_dump=1 if
477
     they shouldn't send MIDI events on a snapshot dump.
478
 
479
   <LI> new label printf-control "%S" prints the snapshot number 0..127
480
  </UL>
481
</LI>
482
 
483
<IMG SRC="images/1x1dot.gif" height=20 ALT=""><BR>
484
<LI><I>V1.020</I>
485
  <UL CLASS=CL>
486
  <LI>added "rgb" parameter.<BR>
487
     See cfg/tests/rgb_*.ngc for various examples.
488
 
489
  <LI>added "spread_center" option to AIN/AINSER calibration.<BR>
490
     See cfg/tests/kb_1.ngc for an usage example.
491
 
492
  <LI>reduced memory consumption of EVENT_* definitions
493
 
494
  <LI>added MIOS Terminal commands: "show id" and "show hw_id"
495
  </UL>
496
</LI>
497
 
498
<IMG SRC="images/1x1dot.gif" height=20 ALT=""><BR>
499
<LI><I>V1.019</I>
500
  <UL CLASS=CL>
501
   <LI> added "Autoload" function: whenever a .NGC file has been uploaded via the
502
     MIOS Filebrowser, it will be automatically loaded, so that "load &lt;file&gt;"
503
     doesn't need to be entered in the MIOS Terminal anymore.
504
 
505
   <LI> EVENT_LED_MATRIX: now expects the 'colour' parameter to address the
506
     red (colour=0), green (colour=1) or blue (colour=2) LED.<BR>
507
 
508
     Note that it's still possible to control the LEDs from a single incoming
509
     MIDI message, e.g. by assigning the 3 EVENT_LED_MATRIX entries to the
510
     same CC number.
511
 
512
     But now it's also possible to address the LEDs independent from each other.
513
 
514
 
515
   <LI> LEDs can now be dimmed with 16 brightness levels over the value range.<BR>
516
     This feature has to be enabled with dimmed=1 in the EVENT_* definition.<BR>
517
     Configuration example: cfg/tests/dimled.ngc
518
 
519
   <LI> LEDs in a matrix configuration can be dimmed as well. The dim range is the
520
     same (0..15), but the effective dim level is limited by the number of
521
     scanned rows:
522
     <UL CLASS=CL>
523
        <LI> 4  rows: only 8 levels (0..1, 2..3, 4..5, 6..7, 8..9, 10..11, 12..13, 14..15)
524
        <LI> 8  rows: only 4 levels (0..3, 4..7, 8..11, 12..15)
525
        <LI> 16 rows: only 2 levels (0..7, 8..15)
526
     </UL>
527
     Configuration example: cfg/tests/dimled_m.ngc
528
 
529
   <LI> the new MIOS Terminal command "lcd" allows to directly output a (formatted)
530
     string to the LCD(s).<BR>
531
     E.g. try "lcd @(1:1:1)Hello World!"<BR>
532
 
533
     Note that terminal strings can also be sent via SysEx from a DAW:<BR>
534
     F0 00 00 7E 32 00 0D 00 &lt;ascii-text&gt; 0A F7
535
 
536
     Accordingly, this SysEx string will print "Hello World!" as well:<BR>
537
     F0 00 00 7E 32 00 0D 00 6C 63 64 20 40 28 31 3A 31 3A 31 29 48 65 6C 6C 6F 20 57 6F 72 6C 64 21 0A F7
538
  </UL>
539
</LI>
540
 
541
<IMG SRC="images/1x1dot.gif" height=20 ALT=""><BR>
542
<LI><I>V1.018</I>
543
  <UL CLASS=CL>
544
   <LI> added EVENT_KB. See cfg/tests/kb_*.ngc for usage examples
545
 
546
   <LI> new LCD formats: %N prints the note name based on the specified MIDI event,
547
     and %n based on the event value
548
 
549
   <LI> new meta event: SwapValues - it swaps the primary and secondary value of an event.<BR>
550
     E.g. on a note event, velocity can be swapped with the key value.<BR>
551
     A usage example can be found in cfg/tests/kb_4.ngc, where the key and velocity
552
     value should be output by separate CV channels
553
 
554
   <LI> AIN/AINSER configuration: added pinrange parameter.<BR>
555
     It allows to specify individual ranges for the connected pots to calibrate
556
     the physical min/max limits.
557
 
558
   <LI> SCS configuration: added SCS num_items and lcd_pos parameters
559
  </UL>
560
</LI>
561
 
562
<IMG SRC="images/1x1dot.gif" height=20 ALT=""><BR>
563
<LI><I>V1.017</I>
564
  <UL CLASS=CL>
565
   <LI> it's now possible to use the same hw_id in multiple event definitions.
566
     This allows for example to send multiple MIDI events from a single
567
     control element (e.g. from a single button)
568
 
569
   <LI> the fwd_id now forwards to the event(s) with the given hw_id
570
     (which is the same like the "normal id" if not explicitely specified)
571
 
572
   <LI> implemented "conditional events".<BR>
573
     See the <A HREF="midibox_ng_manual_ngc.html">User Manual</A> for details and examples.
574
 
575
   <LI> the new meta event UpdateLcd allows to force a refresh of the complete
576
     LCD content. This is especially useful in conjunction with conditional
577
     events: whenever a source value has been changed (e.g. a button state),
578
     all events which have this value in their condition will print out the
579
     label if the specified condition matches.
580
  </UL>
581
</LI>
582
 
583
<IMG SRC="images/1x1dot.gif" height=20 ALT=""><BR>
584
<LI><I>V1.016</I>
585
  <UL CLASS=CL>
586
   <LI> LPC17: robustness of LCD driver has been improved
587
  </UL>
588
</LI>
589
 
590
<IMG SRC="images/1x1dot.gif" height=20 ALT=""><BR>
1113 tk 591
<LI><I>V1.015</I>
592
  <UL CLASS=CL>
593
   <LI> support for GLCD_SSD1306_ROTATED
594
 
595
   <LI> the ^txt and ^txt56 SysEx command now allows to map incoming characters to
596
     different cursor positions. An example can be found in cfg/templates/logictrl.ngc
597
 
598
   <LI> independent from this map feature, ^txt and ^txt56 now also take lcd_pos=... and
599
     label=... into account to set the initial LCD and cursor position, at which the
600
     message will start. The label can be used to change the GLCD font before the
601
     characters will be print.<BR>
602
     An example can be found in cfg/templates/logictrl.ngc as well.
603
  </UL>
604
</LI>
605
 
606
<IMG SRC="images/1x1dot.gif" height=20 ALT=""><BR>
607
<LI><I>V1.014</I>
608
  <UL CLASS=CL>
609
   <LI> the keyboard handler of MIDIbox KB has been integrated.
610
     The configuration commands are identical "set kb..." as documented at
611
     the <A HREF="http://www.ucapps.de/midibox_kb.html">MIDIbox KB page</A>.
612
 
613
   <LI> keyboard parameters are also stored in the .NGC file, and can be
614
     configured from there.
615
 
616
   <LI> please note that the latency is 10 times higher than in the MIDIbox KB
617
     application! Each row is scanned in 320 uS (instead of 32 uS).<BR>
618
     This has to be considered in the velocity delay configuration.
619
     delay_slowest should be 100 (instead of 1000), and delay_fastest should
620
     be 5 (instead of 50)
621
 
622
   <LI> DOGM and SSD1306 GLCDs: support for more than 12 displays via DOUT shift
623
     registers connected to J28
624
  </UL>
625
</LI>
626
 
627
<IMG SRC="images/1x1dot.gif" height=20 ALT=""><BR>
628
<LI><I>V1.013</I>
629
  <UL CLASS=CL>
630
   <LI> overworked LCD handling: there is no buffer limitation anymore, any LCD and GLCD size
631
     is accepted, which especially means that GLCD fonts are displayed correctly
632
     independent from the specified number of connected devices.
633
 
634
   <LI> this change has freed some RAM which can be used for other purposes in future
635
  </UL>
636
</LI>
637
 
638
<IMG SRC="images/1x1dot.gif" height=20 ALT=""><BR>
639
<LI><I>V1.012</I>
640
  <UL CLASS=CL>
641
   <LI> The application boots a little bit faster now
642
 
643
   <LI> support for more than 2 LCDs.<BR>
644
     A documentation can be found in the <A HREF="midibox_ng_manual_lcd.html">User Manual</A>.
645
  </UL>
646
</LI>
647
 
648
<IMG SRC="images/1x1dot.gif" height=20 ALT=""><BR>
649
<LI><I>V1.011</I>
650
  <UL CLASS=CL>
651
   <LI> EVENT_SENDER and EVENT_RECEIVER can now also be assigned to a radio_group.<BR>
652
     This can not only be used in conjunction with BUTTON/LED radio groups, but also
653
     to distribute MIDI events to from receiver to multiple senders without
654
     forwarding chains (which then can be used for a different purpose)
655
 
656
   <LI> the "sdcard_format" command allows to format the connected SD Card with FAT32
657
     from the MIOS Terminal
658
  </UL>
659
</LI>
660
 
661
<IMG SRC="images/1x1dot.gif" height=20 ALT=""><BR>
662
<LI><I>V1.010</I>
663
  <UL CLASS=CL>
664
   <LI> SysEx: added ^cursor, ^txt and ^txt56 identifiers.<BR>
665
     They allow to send messages to the LCD via SysEx.<BR>
666
     A usage example can be found under cfg/templates/logictrl.ngc
667
 
668
   <LI> Labels: ^# allows to terminate a label.<BR>
669
     E.g. "^label^#MyText" prints "MyText" directly after the specified ^label
670
  </UL>
671
</LI>
672
 
673
<IMG SRC="images/1x1dot.gif" height=20 ALT=""><BR>
674
<LI><I>V1.009</I>
675
  <UL CLASS=CL>
676
   <LI> with a button assigned to 'type=Meta meta=MidiLearn range=0:1' it's now possible
677
     to activate a MIDI Learn mode which allows to assign an incoming MIDI event to any
678
     control element
679
 
680
   <LI> with 'type=Meta meta=MidiLearn range=0:2' also NRPN events can be learned (in this case,
681
     CC#62 and CC#63 will be ignored!)
682
 
683
   <LI> MIDI Learn mode can also be activated in the SCS menu
684
  </UL>
685
</LI>
686
 
687
<IMG SRC="images/1x1dot.gif" height=20 ALT=""><BR>
688
<LI><I>V1.008</I>
689
  <UL CLASS=CL>
690
   <LI> DIN_MATRIX with rows=4 now properly supported
691
 
692
   <LI> DIN_MATRIX/DOUT_MATRIX: it's now possible to invert the rows as well:<BR>
693
     inverted=1 or inverted_sel=1 will invert the selection lines<BR>
694
     inverted_row=1 will invert the row pattern
695
 
696
   <LI> configuration examples for the 16x4 Button/Duo-LED matrix are now
697
     available under cfg/tests/blm16x4*.ngc
698
  </UL>
699
</LI>
700
 
701
<IMG SRC="images/1x1dot.gif" height=20 ALT=""><BR>
702
<LI><I>V1.007</I>
703
  <UL CLASS=CL>
704
   o changed bank concept: the BANK command has been removed, instead the EVENT
705
     command got a new "hw_id" and "bank" parameter.<BR>
706
     A simple configuration example can be found under cfg/tests/encbanks.ngc<BR>
707
     More complex configuration examples under cfg/tests/bnk*.ngc
708
 
709
   <LI> added meta=CycleBank (increments bank, resets to 1 if last bank reached)<BR>
710
 
711
   <LI> additional new metas: SetBankOfHwId, DecBankOfHwId, IncBankOfHwId, CycleBankOfHwId
712
  </UL>
713
</LI>
714
 
715
<IMG SRC="images/1x1dot.gif" height=20 ALT=""><BR>
1107 tk 716
<LI><I>V1.006</I>
717
  <UL CLASS=CL>
718
   <LI> corrected LED pattern output for the case that the selection lines are inverted.
719
 
720
   <LI> the new SCS command allows to assign emulated button/encoder functions if the SCS
721
     shows the mainpage.<BR>
722
     A usage example can be found under cfg/templates/lre8x2.ngc
723
  </UL>
724
</LI>
725
 
726
<IMG SRC="images/1x1dot.gif" height=20 ALT=""><BR>
1101 tk 727
<LI><I>V1.005</I>
728
  <UL CLASS=CL>
729
   <LI> support for value MAPs.<BR>
1107 tk 730
     Various examples can be found under cfg/tests/map*.ngc
1101 tk 731
 
732
   <LI> support for EVENT_CV<BR>
1107 tk 733
     Various examples can be found under cfg/tests/cv*.ngc
1101 tk 734
 
735
   <LI> AINSER modules now disabled after RESET_HW<BR>
736
     They have to be explicitely enabled with the AINSER command
737
 
738
   <LI> the AINSER command now supports the "resolution" and "num_pins" parameters
739
  </UL>
740
</LI>
741
 
742
<IMG SRC="images/1x1dot.gif" height=20 ALT=""><BR>
743
<LI><I>V1.004</I>
744
  <UL CLASS=CL>
745
   <LI>some minor code cleanup
746
  </UL>
747
</LI>
748
 
749
<IMG SRC="images/1x1dot.gif" height=20 ALT=""><BR>
750
<LI><I>V1.003</I>
751
  <UL CLASS=CL>
752
   <LI>added "enc_speed_mode" parameter to EVENT_ENC<BR>
753
     Valid modes are:
754
     <UL CLASS=CL>
755
       <LI>Auto (speed automatically adapted according to the value range),
756
       <LI>Slow:0 .. Slow:7 (divides the increments),
757
       <LI>Normal (no special measure) and
758
       <LI>Fast:0 .. Fast:7 (accelerates the increments)
759
     </UL>
760
     A configuration example can be found under cfg/tests/encspeed.ngc
761
  </UL>
762
</LI>
763
 
764
<IMG SRC="images/1x1dot.gif" height=20 ALT=""><BR>
1097 tk 765
<LI><I>V1.002</I>
766
  <UL CLASS=CL>
767
   <LI> the patterns specified with LED_MATRIX_PATTERN are now reversed so that the
768
     bit orientation matches with the hardware.
769
 
770
   <LI> reversed value ranges (min value greater than max value) now properly supported
771
 
772
   <LI> support for ain_mode Direct/Snap/Relative/Parallax
773
 
774
   <LI> incoming MIDI values can now trigger the output of EVENT labels if the "fwd_to_lcd"
775
     option is set to 1 in the related EVENT_* definitions.
776
 
777
   <LI> support for "Radio Groups": button and LEDs can now be assigned to groups, which
778
     handle the same value over multiple elements.<BR>
779
     A configuration example can be found under: cfg/tests/radiogrp.ngc
780
  </UL>
781
</LI>
782
 
783
<IMG SRC="images/1x1dot.gif" height=20 ALT=""><BR>
1096 tk 784
<LI><I>V1.001</I>
785
  <UL CLASS=CL>
786
   <LI> maximum length of DIN/DOUT shift register chain increased to 32.<BR>
787
     This means that up to 256 digital inputs, and 256 digital outputs are available.
788
 
789
   <LI> Number of virtual button and LED functions increased to 1024
790
 
791
   <LI> New meta event for speeding up ENC movements (EncFast, see .NGC documentation)
792
 
793
   <LI> New meta events for emulating SCS buttons/encoder (see .NGC documentation)
794
 
795
   <LI> Ethernet and OSC setup now stored with ETH/OSC commands in .NGC file
796
 
797
   <LI> SysEx variables are now stored with a SYSEX_VAR command in .NGC file
798
 
799
   <LI> EVENT_BUTTON_MATRIX and EVENT_LED_MATRIX now properly supported<BR>
1097 tk 800
     See cfg/tests/blm8x8.ngc for a simple configuration example
1096 tk 801
  </UL>
802
</LI>
803
 
804
<IMG SRC="images/1x1dot.gif" height=20 ALT=""><BR>
805
<LI><I>V1.000</I>
806
  <UL>
807
    <LI>initial version</LI>
808
  </UL>
809
</LI>
810
 
811
</UL>
812
 
813
 
814
FOOTER