Subversion Repositories svn.mios

Rev

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