Subversion Repositories svn.mios

Rev

Rev 52 | Rev 379 | Go to most recent revision | Details | Compare with Previous | Last modification | View Log | RSS feed

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