Subversion Repositories svn.mios

Rev

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

Rev Author Line No. Line
833 tk 1
HEADER 3 ChangeLog of MIOS8
163 tk 2
 
833 tk 3
<CENTER><H1>MIOS8 Change Log</H1></CENTER>
1200 tk 4
<CENTER><H3>Last Release: V1.9h @ 2014-12-19</H3></CENTER>
163 tk 5
 
6
<IMG SRC="images/1x1dot.gif" height=5 ALT=""><BR>
7
 
8
<UL CLASS=CL>
9
 
1200 tk 10
<LI><I>V1.9h</I>
11
  <UL CLASS=CL>
12
    <LI>Improved acceleration handling of rotary encoders in FAST mode</LI>
13
  </UL>
163 tk 14
 
1200 tk 15
<IMG SRC="images/1x1dot.gif" height=20 ALT=""><BR>
833 tk 16
<LI><I>V1.9g</I>
17
  <UL CLASS=CL>
18
   <LI> The encoder driver has been overworked based on proposals from Avogra.<BR>
19
     Now it can even handle excotic encoder types without changes in MIOS code.
20
     MIOS_ENC_MODE_DETENTED4 and MIOS_ENC_MODE_DETENTED5 have been added.<BR>
21
 
22
     MIOS_ENC_MODE_DETENTED4 should be used for the so called "cheap Panasonic
23
     encoders" which are available at www.pollin.de<BR>
24
 
25
     The performance of the encoder driver has been improved as well.<BR>
26
 
27
     The new method required a change of the MIOS_ENC_MODE_NON_DETENTED
28
     and MIOS_ENC_MODE_DETENTED* definitions, which unfortunately makes all
29
     previously released applications incompatible.<BR>
30
 
31
     Accordingly, all applications have been re-released. The new
32
     binaries can be downloaded from <A HREF="mios_download.html">the MIOS download page</A>.
33
 
34
   <LI> in order to update MIOS, please download the &lt;derivative&gt;/midi/mios_v1_9g_&lt;derivative&gt;.hex
35
     file first, thereafter the .hex file of the application.
36
  </UL>
37
 
38
 
39
<IMG SRC="images/1x1dot.gif" height=20 ALT=""><BR>
163 tk 40
<LI><I>V1.9f</I>
41
  <UL CLASS=CL>
42
   <LI> Timer0 now free as resource if the AIN driver is not enabled.<BR>
43
     A special interrupt hook is not provided, but this timer can be used for 16bit time measurements</LI>
44
 
45
   <LI> AIN driver now working correctly on PIC18F4620/PIC18F4685</LI>
46
 
47
   <LI> backup function now properly working for >32k flash devices like PIC18F4620 and PIC18F4685 (see also doc/mios_backup.txt)<(LI>
48
 
49
   <LI> a new rotary encoder mode "MIOS_ENC_MODE_DETENTED3" is available, which works similar to MIOS_ENC_MODE_DETENTED2, but increments the value "during the click", and not "after the click"</LI>
50
 
51
  </UL>
52
 
53
<IMG SRC="images/1x1dot.gif" height=20 ALT=""><BR>
54
<LI><I>V1.9e</I>
55
  <UL CLASS=CL>
56
   <LI>priority of MIDI Rx Handler changed (now it has the highest priority)</LI>
57
 
58
   <LI>MIOS_HLP_GetIndex_2bytes now takes the 64k boundary into account
59
     (only relevant for PIC18F4685 and PIC18F4682)</LI>
60
 
61
   <LI>debouncing was skipped (or DIN toggles were ignored) if BSR was
62
     modified within the USER_SR_Service_Finish hook</LI>
63
 
64
   <LI>download request for 64k BankSticks (24LC512) working now</LI>
65
 
66
  </UL>
67
 
68
<IMG SRC="images/1x1dot.gif" height=20 ALT=""><BR>
69
<LI><I>V1.9d</I>
70
  <UL CLASS=CL>
71
    <LI> support for PIC18F4685 and PIC18F4682</LI>
72
 
73
    <LI> initialisation of 4bit CLCD overworked</LI>
74
 
75
    <LI> 4bit CLCD selected by default for PIC18F4685 and PIC18F4682
76
      to free the ECAN pins at RB2 and RB3<BR>
77
      Note that the D0-D3 pins of the CLCD should not be connected
78
      to the PIC in this case, but clamped to ground instead!</LI>
79
 
80
    <LI> new Bootloader version V1.2b: support for the new PICs<BR>
81
      Output drivers of Port B are not enabled during the startup
82
      phase anymore.</LI>
83
  </UL>
84
 
85
<IMG SRC="images/1x1dot.gif" height=20 ALT=""><BR>
86
<LI><I>V1.9c</I>
87
   <UL CLASS=CL>
88
   <LI>Changed the way how MIOS debounces buttons. Before this change,
89
     the whole SRIO scan was skipped, with the result, that DOUT
90
     registers were not serviced as well. This led to the unwanted
91
     side effect, that LED matrices were flickering and rotary encoders
92
     with high resolutions were jumping.<BR>
93
     With this release, only DINs which are not assigned to encoders
94
     are debounced, and the SRIO scan is continued so that the DOUT
95
     registers are always updated</LI>
96
 
97
   <LI>MIOS_MIDI_InterfaceSet/MIOS_MIDI: (E)USART baudrate only updated
98
     when value has changed to ensure, that the baudrate generator
99
     won't be reset - this was leading to invalid MIDI bytes on quick
100
     changes between an external MBHP_IIC and the internal MIDI port</LI>
101
   </UL>
102
 
103
<IMG SRC="images/1x1dot.gif" height=20 ALT=""><BR>
104
<LI><I>V1.9b</I>
105
   <UL CLASS=CL>
106
   Changes are only relevant for PIC18F4620!
107
 
108
   <LI>undone modification of MIOS_EEPROM_* due to compatibility issues
109
     with PIC18F452 based MIOS applications (they don't initialize EEADRH)
110
     EEADRH must now be incremented/set from the application if required.</LI>
111
   </UL>
112
 
113
<IMG SRC="images/1x1dot.gif" height=20 ALT=""><BR>
114
<LI><I>V1.9</I>
115
  <UL CLASS=CL>
116
   <LI> the bootloader location has been moved from 0x7c00-0x7fff
117
     to 0x0000-0x0400. This frees the upper 1k block for
118
     applications, and equates the memory allocation between
119
     PIC18F452, PIC18F4620 and future PIC devices.</LI>
120
 
121
   <LI> the default font for graphical displays has been moved
122
     from 0x28fc to 0x7cfc</LI>
123
 
124
   <LI> both changes ensure compatibility with all existing applications. <BR>
125
     Newer versions of applications like MIDIbox SID, MIDIbox SEQ,
126
     MIDIbox FM, MIDIbox64 and MIDIbox64E will allocate the
127
     upper 1k block very soon, they won't be compatible to
128
     MIOS V1.8 and lower anymore. Therefore an update to MIOS V1.9
931 tk 129
     is strongly recommended!</LI>
163 tk 130
 
131
   <LI> a new Bootloader has been released (V1.2)</LI>
132
 
133
   <LI> an update package for MIOS V1.9 and Bootloader V1.2 is
134
     available under <A HREF="http://www.ucapps.de/mios/mios_update_v1_9.zip">http://www.ucapps.de/mios/mios_update_v1_9.zip</A>.<BR>
135
     It makes the update so comfortable and secure as possible</LI>
136
 
137
   <LI> MIOS and Bootloader now support the MBHP_IIC_MIDI module
138
     as alternative MIDI Out port. The address of the module
139
     has to be specified in the ID header, byte 5<BR>
140
     Example: 0000000000100000 redirects all MIDI Out messages
141
     to the first MBHP_IIC_MIDI module.<BR>
142
     This is intended as workaround for the silicon bug of
171 tk 143
     PIC devices like PIC18F4620 with chip revision A3 and A4<BR>
144
     <A HREF="http://www.midibox.org/dokuwiki/eusart_bug">see also this article</A><BR>
163 tk 145
     Note that the ID header can be changed with the change_id
146
     application without using a PIC programmer.</LI>
147
 
148
   <LI> the MIOS_MIDI_InterfaceSet function now allows to change the
149
     target interface of MIOS_MIDI_TxBufferPut on-the-fly</LI>
150
 
151
   <LI> the MIOS_IIC_ByteSend function now returns the inverted
152
     ACK flag for easier usage under C</LI>
153
 
154
   <LI> the MIOS function description has been enhanced by C
155
     declarations and examples -> <A HREF="cmios_fun.html">cmios_fun.html</A></LI>
156
 
157
   <LI> MIOS is not licensed under GPL anymore. It's still open
158
     source, but commercial use is not allowed without my
159
     permission.</LI>
160
  </UL>
161
 
162
 
163
<IMG SRC="images/1x1dot.gif" height=20 ALT=""><BR>
164
<LI><I>V1.8</I>
165
   <UL CLASS=CL>
166
   <LI> the interrupt handler now also saves FSR0L and FSR0H.
167
     This allows the use of C programs compiled with sdcc</LI>
168
 
169
   <LI> a wrapper for the SDCC compiler is now available in a
379 tk 170
     separate package. More informations can be found under
163 tk 171
     <A HREF="mios_c.html">http://www.ucapps.de/mios_c.html</A></LI>
172
 
173
   <LI> the motorfader driver has been overworked. The new concept
174
     works with a "dynamic deadband" and a definable PWM which will
175
     be used once the fader reaches the target position.<BR>
176
     The details are described at <A HREF="mbhp_mf.html">http://www.ucapps.de/mbhp_mf.html</A></LI>
177
 
178
   <LI> on a MIOS up- or download, the BankStick number is now
179
     selected with an address extension, which is part of the
180
     SysEx command</LI>
181
 
182
   <LI> the "Brown Out Reset" (BOR) settings in the configuration
183
     sector are changed automatically when MIOS detects unproper
184
     settings - the appr. cell in this sector will be overwritten
185
     and the device will be reset.<BR>
186
     New Setting: Brown Out Reset at 4.5V<BR>
187
     This ensures that the PIC won't access devices during
188
     power-off which cannot operate at voltages < 4.5V
189
     (e.g. the BankStick, which could get an unintended write command)</LI>
190
 
191
   <LI> support for PIC18F4620 (64k flash device)<BR>
192
     Unfortunately this derivative is currently not qualified for
193
     MIOS due to a silicon bug in the EUSART peripheral (rev3)</LI>
194
  </UL>
195
</LI>
196
 
197
 
198
<IMG SRC="images/1x1dot.gif" height=20 ALT=""><BR>
199
<LI><I>V1.7</I>
200
   <UL CLASS=CL><P>this version requires slight changes on the core module
201
     wiring to improve the performance of MIOS. See also <A HREF="mios_v1_7_hardware_mods.html">this infopage</A>.</P>
202
 
203
   <LI> DOUT signals are stable over the whole update cycle</LI>
204
 
205
   <LI> BankStick (IIC) accesses don't block the interrupts anymore</LI>
206
 
207
   <LI> the CPU load caused by the rotary encoder handler has
208
     been reduced to improve the realtime behaviour of MIOS</LI>
209
  </UL>
210
</LI>
211
 
212
<IMG SRC="images/1x1dot.gif" height=20 ALT=""><BR>
213
<LI><I>V1.6</I>
214
   <UL CLASS=CL>
215
   <LI>MIOS_MIDI_TxBufferPut is an atomic operation now to prevent
216
     a malfunction which can happen when this function is executed
217
     at the same time where the Tx handler fetches new data from
218
     the buffer</LI>
219
 
220
   <LI>MIOS_Timer_ReInit can be used to re-initialize the timer w/o
221
     a reset for smooth timer period changes</LI>
222
 
223
   <LI>MIOS_BANKSTICK_ReadPage, MIOS_EEPROM_WritePage and MIOS_EEPROM_ReadPage
224
     are new functions for faster data transfers</LI>
225
 
226
   <LI>new functions USER_LCD_Data, USER_LCD_Cmd, USER_LCD_SpecialCharInit
227
     for custom display drivers</LI>
228
  </UL>
229
</LI>
230
 
231
<IMG SRC="images/1x1dot.gif" height=20 ALT=""><BR>
232
<LI><I>V1.5b</I>
233
   <UL CLASS=CL>
234
   <LI> Bugfix: due to an unprotected register the MIDI receiver
235
     forwarded the wrong byte to the MIDI Rx Buffer. This happened
236
     when a MIDI event had been received in Running Status mode
237
     and the application had overwritten IRQ_TMP1 within the
238
     USER_MIDI_NotifyRx hook. The MIDI receiver now uses an
239
     internal register</LI>
240
   <LI> support for CLCDs with 4bit interface, see the functional
241
     description of <A HREF="mios_fun.html#MIOS_LCD_TypeSet">MIOS_LCD_TypeSet</A></LI>
242
  </UL>
243
</LI>
244
 
245
<IMG SRC="images/1x1dot.gif" height=20 ALT=""><BR>
246
<LI><I>V1.5 - the first open source release</I>
247
   <UL CLASS=CL>
248
   <LI>if MIOS_SRIO_TS_SensitivitySet is called with WREG == 0x00, the
249
     touch sensor Pin RD.4 (J14 of the core module) won't be driven
250
     by MIOS anymore and therefore is free for other purposes</LI>
251
 
252
   <LI>the AIN handler has been optimized to a two-step state machine
253
     with a sample frequency of 200 uS</LI>
254
 
255
   <LI>USER_MPROC_NotifyTimeout hang-up has been fixed</LI>
256
 
257
   <LI>the internal registers have been rearranged for a better overview.
258
     Applications shouldn't be affected from these changes</LI>
259
  </UL>
260
</LI>
261
 
262
<IMG SRC="images/1x1dot.gif" height=20 ALT=""><BR>
263
<LI><I>V1.4b</I>
264
   <UL CLASS=CL>
265
   <LI> LCD cursor mapping (MIOS_LCD_YAddressSet in conjunction with
266
     MIOS_LCD_CursorSet) didn't work correctly with 4-line displays
267
     (cursor pos >= 0x80 was forwarded to second display, although
268
     third and fourth lines was mapped to a position < 0x80)</LI>
269
 
270
   <LI> USER_MPROC_NotifyReceivedEvent and USER_MPROC_NotifyFoundEvent:
271
     On 2-byte MIDI events (program change and channel pressure),
272
     the 2nd byte, stored in MIOS_PARAMETER2, is now also copied
273
     to the 3rd byte (MIOS_PARAMETER3) for an easier handling
274
     in some MIDIbox applications</LI>
275
 
276
   <LI> new function MIOS_MF_TouchDetectionReset: it resets the
277
     software implemented touch detection so that the fader is
278
     repositioned regardless if it is currently manually moved or not</LI>
279
 
280
   <LI> interrupts are not blocked during a BankStick write anymore
281
     to improve the realtime capability of MIOS and especially to
282
     avoid MIDI data loss during the write cycle</LI>
283
  </UL>
284
</LI>
285
 
286
<IMG SRC="images/1x1dot.gif" height=20 ALT=""><BR>
287
<LI><I>V1.4</I>
288
   <UL CLASS=CL>
289
   <LI> the IIC functions are now open for public, they can be used
290
     to access any IIC compatible device via port J4 in parallel
291
     to the BankSticks. Example: see the lcd7_iic driver</LI>
292
 
293
   <LI> there are two new hooks available which allow to monitor the
294
     incoming and outgoing MIDI traffic with zero latency:
295
     USER_MIDI_NotifyRx and USER_MIDI_NotifyTx.</LI>
296
 
297
   <LI> The motorfader driver now works much better with panasonic
931 tk 298
     faders. New recommended calibration values: Alps: 0x0e@8V,
163 tk 299
     Panasonic: 0x0c@8V</LI>
300
 
301
   <LI> automatic debouncing has been added to the SRIO driver which
302
     compensates temporal spikes caused by low-cost buttons. See
303
     also the detailed description of the MIOS_SRIO_DebounceSet
304
     function. Just add this function at the beginning of your
305
     application (below USER_Init) if required.</LI>
306
 
307
   <LI> a new display type #6 has been added which redirects single
308
     characters and strings to the MIDI interface. The used protocol
309
     is documented in the <A HREF="http://www.ucapps.de/mios/mios_sysex_implementation.txt">http://www.ucapps.de/mios/mios_sysex_implementation.txt</A></LI>
310
 
311
   <LI> a LCD message receiver has been added to the MIDI processor.
312
     Incoming characters will be print for 2 seconds on screen.
313
     Btw.: the same protocol will be supported by MBHP_TV in the next
314
     days</LI>
315
 
316
   <LI> it's now possible to write directly into a BankStick via MIDI.
317
     This opens the possibility to embed the BankStick content into
318
     the application by locating the data to address range
319
     0x400000-0x407fff (24LC256; 32k) resp. 0x400000-0x40ffff (24LC512; 64k).
320
     Also the upload to multiple BankSticks is supported with the
321
     BankStick select function</LI>
322
 
323
   <LI> it's now possible to read directly from internal Flash/EEPROM and
324
     external BankStick via MIDI. This is a nice debugging help, but
325
     opens also the possibility to create backups and to copy (clone)
326
     the content of a BankStick</LI>
327
 
328
  </UL>
329
</LI>
330
 
331
<IMG SRC="images/1x1dot.gif" height=20 ALT=""><BR>
332
<LI><I>V1.3</I>
333
   <UL CLASS=CL>
334
   <LI> it's now possible to integrate an own LCD driver which is not
335
     natively supported by MIOS. See also the docs under MBHP->LCD</LI>
336
 
337
   <LI> up to 8 BankSticks can now be addressed over the same IIC bus
338
     by using the MIOS_BANKSTICK_CtrlSet function. Note that this
339
     feature doesn't work with the EEPROM M24256 from ST, but only
340
     with Microchip EEPROM 24LC256. See also the docs under
341
     MBHP->BankStick</LI>
342
 
343
   <LI> the MIOS_HLP_Dec2BCD function can be used to convert a 16 bit
344
     decimal value to BCD (for example to send the digits of a
345
     decimal number over the MIDI interface or to display the numbers
346
     on a LED digit display)</LI>
347
 
348
   <LI> MIOS_LCD_PrintBCD4 and MIOS_LCD_PrintBCD5 can be used to print
349
     16 bit values in decimal form</LI>
350
 
351
   <LI> the MIOS_MF_StartupSpeedSet allows to give the motorfaders a
352
     "kick" when they are starting to move (can be tried with the
353
     mf_calibration application. The MIDIbox LC application now
354
     includes a calibration menu)</LI>
355
 
356
   <LI> the speed modes of the encoder driver have been rewritten,
357
     see the MIOS_ENC_SpeedSet description for further details.
358
     The "enc_speed_v1_3" application allows to test the various
359
     settings.</LI>
360
 
361
  </UL>
362
</LI>
363
 
364
<IMG SRC="images/1x1dot.gif" height=20 ALT=""><BR>
365
<LI><I>V1.2</I>
366
   <UL CLASS=CL>
367
   <LI> MIOS_LCD_TypeSet offers additional parameters</LI>
368
 
369
   <LI> the chip select lines of KS0108 or HD61202 based displays can
370
     now be inverted</LI>
371
 
372
   <LI> additional GLCD driver for T6963c based displays. The performance
931 tk 373
     of this display is very poor, it is not recommended for
163 tk 374
     applications which have to react in realtime like the MIDIbox LC
375
     or any other "MIDI receiver"</LI>
376
 
377
   <LI> the enable pins of character LCDs can now be changed during
378
     runtime. In this way it is possible to connect multiple LCDs to
379
     one core module, the maximum number of LCDs which can be handled
380
     by a application is now only limited by the number of free pins</LI>
381
 
382
   <LI> fast write to BankStick and EEPROM w/o verify</LI>
383
 
384
   <LI> page write to BankStick (64 bytes at once)</LI>
385
 
386
   <LI> dynamic priority sampling for muxed pots (improved latency, known
387
     from MIDIbox Plus and MIDIbox64)</LI>
388
 
389
  </UL>
390
</LI>
391
 
392
<IMG SRC="images/1x1dot.gif" height=20 ALT=""><BR>
393
<LI><I>V1.1</I>
394
   <UL CLASS=CL>
395
   <LI> some imperfections in the SRIO and MF handler have been fixed in
396
     this release. </LI>
397
 
398
   <LI> MIOS_HLP_16bitAddSaturate: 16 bit addition with saturation.
399
     Usefull in conjunction with rotary encoders.
400
     Will be used by upcoming applications  (MIDIbox HN already uses
401
     this function in hn_enc.inc)</LI>
402
 
403
   <LI> support for detented encoders (see mios_tables.inc)</LI>
404
 
405
   <LI> MIOS_DIN_PinAutoRepeatEnable, MIOS_DIN_PinAutoRepeatDisable,
406
     MIOS_DIN_PinAutoRepeatGet: an assignable autorepeat function
407
     for every button. Excellent for data entry.</LI>
408
 
409
   <LI> MIOS_CLCD_SpecialCharInit, MIOS_CLCD_SpecialCharsInit:
410
     allows to initialize the 8 special characters of a LCD.</LI>
411
 
412
   <LI> MIOS_LCD_YAddressSet: allows to enable a second character LCD</LI>
413
 
414
 
415
  </UL>
416
</LI>
417
 
418
<IMG SRC="images/1x1dot.gif" height=20 ALT=""><BR>
419
<LI><I>V1.0</I>
420
  <UL CLASS=CL>
421
   <LI>initial version</LI>
422
  </UL>
423
</LI>
424
 
425
</UL>
426
 
427
FOOTER