English Version French Version Spanish Version

Log Cambios MIOS

Última actualización: V1.9d @ 2007-02-04


  • V1.9d
    • soporte para PIC18F4685 y PIC18F4682
    • inicialización de CLCD de 4 bits sobrecargado
    • CLCD de 4bit seleccionado por defecto para PIC18F4685 y PIC18F4682 para liberar los pins ECAN en RB2 y RB3
      Recuerda que los pins D0-D3 del CLCD no deben ser conectados al PIC en este caso, sino fijados a tierra!
    • nuevo Bootloader (cargador de arranque) versión V1.2b: soporte para los nuevos PICs
      Los controladores de salida del Puerto ^B ya no serán activados durante la fase de arranque .

  • V1.9c
    • Cambiada la manera en la que MIOS hace efecto antirrebote(debouncing) en los botones. Antes de este cambio, se saltaba todo el escaneado de SRIO, con el resultado de que los registros DOUT no eran tan bien servidos. Esto provocaba efectos laterales indeseados como el parpadeo de matrices LED y el salto de los rotary encoders de grandes resoluciones. En esta versión, sólo son "antirrebotados" los DINs que no están asignados a encoders, y el SRIO es continuado, así siempre se actualizan los registros DOUT
    • MIOS_MIDI_InterfaceSet/MIOS_MIDI: La tasa de baudios de (E)USART solo se actualiza cuando el valor ha cambiado para asegurar que el generador de tasa de baudios no se reseteará- esto era por los bytes MIDI no válidos en los cambios rápidos entre MBHP_IIC externo y el puerto MIDI interno

  • V1.9b
      Cambios solo relevantes para PIC18F4620!
    • deshecha la modificación de MIOS_EEPROM_*  debido a temas de compatibilidad con  las aplicaciones MIOS basadas en PIC18F452 (no inicializan EEADRH) EEADRH debe incrementarse/establecerse desde la aplicación si es necesario.

  • V1.9
    • la localización del bootloaderse ha movido de 0x7c00-0x7fff a 0x0000-0x0400. Esto libera el bloque superior de 1k para aplicaciones y compara la localización de memoria entre PIC18F452, PIC18F4620 y los futuros dispositivos PIC.
    • la tipografía por defecto para pantallas gráficas se ha movido de 0x28fc a 0x7cfc
    • ambos cambios aseguran una máxima compatibilidad con todas las aplicaciones existentes.
      Las versiones más recientes de aplicaciones como MIDIbox SID, MIDIbox SEQ, MIDIbox FM, MIDIbox64 y MIDIbox64E asignarán el bloque de 1k muy pronto, y ya no serán compatibles con MIOS V1.8 y versiones anteriores. Por eso la actualización a MIOS V1.9  es muy recomendable!
    • ha sido liberado un nuevo Bootloader (V1.2)
    • hay disponible un paquete de actualización para MIOS V1.9 and Bootloader V1.2 aquí: http://www.ucapps.de/mios/mios_update_v1_9.zip.
      hace la actualización tan fácil y segura como es posible.
    • MIOS y Bootloader ahora soportan el módulo MBHP_IIC_MIDI como puerto de salida MIDI alternativo. La dirección del módulo debe ser especificada en el encabezado ID, en el byte 5
      Ejemplo: 0000000000100000 redirige todos los mensajes de salida MIDI (Midi Out) al primer módulo MBHP_IIC_MIDI .
      Esto está hecho como un rodeo para el error silicon de los dispositivos PIC más recientes, como PIC18F4620 que contiene el EUSART. Recuerda que el encabezado de ID puede cambiarse con la aplicación change_id sin necesidad de usar un programador PIC.
    • la función MIOS_MIDI_InterfaceSet ahora permite cambiar al-vuelo la interfaz objetivo de MIOS_MIDI_TxBufferPut 
    • La función MIOS_IIC_ByteSend ahora devuelve la marca ACK invertida para un uso más fácil bajo C.
    • La descripción de funciones MIOS ha sido realzada con declaraciones en C y ejemplos -> cmios_fun.html
    • MIOS ya no está sujeto a licencia GPL . Sigue siendo código abierto, pero su uso comercial no está permitido sin mi consentimiento.

  • V1.8
    • ahora, el handler de interrupción también salva FSR0L y FSR0H. Esto permite el uso de programas C compilados con SDCC.
    • ahora hay disponible un wrapper para el compilador SDCC en un paquete separado. Puedes encontrar más información en http://www.ucapps.de/mios_c.html
    • el controlador de motorfader ha sido rehecho. El nuevo concepto trabaja con una "deadband dinámica" y PWM definible que puede ser usado una vez que el fader alcance la posición objetivo.
      Se describen los detalles en http://www.ucapps.de/mbhp_mf.html
    • en una carga o descarga de MIOS, en número de BankStick es ahora seleccionado con una extensión de dirección, que forma parte del comando SysEx.
    • las configuraciones de "Brown Out Reset" (BOR) en el sector de configuración son cambiadas automáticamente cuando MIOS detecta configuraciones incorrectas- se sobreescribirá la celda apropiada en este sector y el dispositivo se reseteará.
      Nueva configuración: Brown Out Reset a 4.5V
      Esto asegura que el PIC no accederá a dispositivos que no puedan operar a < 4.5V durante el apagado.(por ej. el BankStick, que podría coger un comando de escritura inesperado)
    • soporte para PIC18F4620 (dispositivo flash de 64k)
      Desafortunadamente, este derivado no está cualificado para MIOS debido a un error en el periférico EUSART (rev3)

  • V1.7

      esta versión requiere unos leves cambios en el cableado del módulo core para mejorar el funcionamiento de MIOS. Ver también esta página de información.

    • las señales DOUT son estables durante todo el ciclo de actualización
    • los accesos al BankStick (IIC) ya no bloquean las interrupciones
    • La carga de CPU causada por el handler del rotary encoder ha sido reducida para mejorar el comportamiento de MIOS en tiempo real

  • V1.6
    • MIOS_MIDI_TxBufferPut es una nueva operación atómica para prevenir un posible mal funcionamiento al ejecutar esta función al mismo tiempo que el handler Tx alcanza nuevos datos del buffer
    • MIOS_Timer_ReInit puede usarse para reiniciar el timer y/o resetear para cambios suaves de período de timer.
    • MIOS_BANKSTICK_ReadPage, MIOS_EEPROM_WritePage y MIOS_EEPROM_ReadPage son nuevas funciones para transferencias de datos más veloces
    • Nuevas funciones USER_LCD_Data, USER_LCD_Cmd, USER_LCD_SpecialCharInit para controladores de pantalla personal

  • V1.5b
    • Bugfix: debido a un registro desprotegido el receptor MIDI enviaba el byte equivocado al buffer MIDI Rx. Esto ocurría cuando se había recibido un evento MIDI en el modo Running Status y la aplicación había sobreescrito IRQ_TMP1 dentro del atajo USER_MIDI_NotifyRx. El receptor MIDI ahora usa un registro interno.
    • soporte para CLDCs con interfaz de 4 bits, ver la descripción funcional de  MIOS_LCD_TypeSet

  • V1.5 - la primera versión de código abierto
    • Si se llama a MIOS_SRIO_TS_SensitivitySet con WREG == 0x00,  el Pin de sensor táctil RD.4 (J14  del módulo core) no será gestionado por MIOS y estará libre para otros propósitos.
    • el handler AIN ha sido optimizado a una máquina de dos pasos con frecuencia de sampleado de 200 uS
    • arreglado el retraso de USER_MPROC_NotifyTimeout 
    • registros internos reajustados para una mejor lectura. Las aplicaciones no deberían verse afectadas por estos cambios

  • V1.4b
    • el mapeado de cursor de LCD (MIOS_LCD_YAddressSet en conjunto con MIOS_LCD_CursorSet) no funcionaba correctamente en pantallas de 4 líneas.(cursor pos >= 0x80 era enviado a la segunda pantalla aunque las líneas 3ªy 4ª estaban mapeadas en posición < 0x80)
    • USER_MPROC_NotifyReceivedEvent y USER_MPROC_NotifyFoundEvent: En eventos MIDI de 2 bytes (cambio de programa y presión de canal), el 2º byte, guardado en MIOS_PARAMETER2, ahora se copia también en el 3er byte (MIOS_PARAMETER3) para un mejor mnanejo de algunas aplicaciones MIDIbox.
    • Nueva función MIOS_MF_TouchDetectionReset: resetea la detección táctil implementada por software para que el fader sea reposicionado, esté siendo movido manualmente o no.
    • las interrupciones ya no son bloqueadas durante una escritura en BankStick para mejorar las capacidades en tiempo real de MIOS y, especialmente, evitar pérdidas de datos MIDI durante el ciclo de escritura

  • V1.4
    • Las funciones IIC ahora están abiertas al público, se pueden usar para acceder a cualquier dispositivo compatible con IIC vía puerto J4 en paralelo a los BankSticks. Ejemplo: ver el controlador lcd7_iic
    • Hay dos nuevos atajos disponibles que permiten monitorizar el tráfico MIDI de entrada y salida con lacencia cero: USER_MIDI_NotifyRx y USER_MIDI_NotifyTx.
    • El controlador de motorfader funciona ahora mucho mejor con faders Panasonic.Nuevos valores de calibración recomendados: Alps: 0x0e@8V, Panasonic: 0x0c@8V
    • Se ha añadido efecto antirrebote al controlador SRIO, lo que compensa los picos temporales causados por botones baratos. Ver también la descripción detallada de la función MIOS_SRIO_DebounceSet function. Solo hay que añadir esta función al principio de tu aplicación (bajo USER_Init) si es necesario.
    • Se ha añadido un nuevo tipo de pantalla #6 que redirige caracteres simples y secuencias hacia la interfaz MIDI. El protocolo utilizado está documentado en http://www.ucapps.de/mios/mios_sysex_implementation.txt
    • Se ha añadido al procesador MIDI un receptor de mensajes de LCD. Los caracteres entrantes se imprimirán 2 segundos en la pantalla .Nota:el mismo protocolo será soportado por MBHP_TV en los próximos días
    • Ahora es posible escribir en el BankStick via MIDI. Esto abre la posibilidad de encajar el contenido del BankStick en la aplicación mediante la colocación de los datos en un rango de direcciones 0x400000-0x407fff (24LC256; 32k) resp. 0x400000-0x40ffff (24LC512; 64k). También se soporta la carga en múltiples BankSticks con la función BankStick select
    • Ahora es posible leer directamente de la Flash/EEPROM interna y de BankStik externo vía MIDI. Esto es una estupenda ayuda contra los errores, pero también abre la posibilidad de crear backups y copiar (clonar) el contenido de un BankStick

  • V1.3
    • Ahora es posible integrar un controlador de LCD propio que no esté soportado nativamente por MIOS. Ver también los documentos en MBHP->LCD
    • Se pueden direccionar hasta 8 BankSticks en el mismo bus IIC usando la función MIOS_BANKSTICK_CtrlSet. Recuerda que esta característica no funciona con el EEPROM M24256 de ST, sino sólo con el EEPROM 24LC256 de Microchip . Ver también documentos de MBHP->BankStick
    • la función MIOS_HLP_Dec2BCD puede usarse para convertir un valor decimal de 16 bits en BCD (por ej. enviar los dígitos de un número decimal a través de la interfaz MIDI o mostrar los números en una pantalla digital de LEDs)
    • se pueden usar MIOS_LCD_PrintBCD4 y MIOS_LCD_PrintBCD5 para imprimir valores de 16 bit en forma decimal.
    • MIOS_MF_StartupSpeedSet permite dar a los motorfaders un "empujoncito" cuando empiezan a moverse( se puede probar con la aplicación mf_calibration . La aplicación  MIDIbox LC ahora incluye un menú de calibración)
    • han sido reescritos los modos de velocidad del controlador de encoder, ver la descripción de MIOS_ENC_SpeedSet para más detalles. La aplicación "enc_speed_v1_3" permite testar las diferentes configuraciones.

  • V1.2
    • MIOS_LCD_TypeSet ofrece parámetros adicionales
    • ahora se pueden invertir las líneas de selección de chip de pantallas basadas en KS0108 o HD61202
    • controlador adicional de GLCD para pantallas basadas en T6963c. El funcionamiento es muy pobre, no está recomendado para aplicaciones que deban funcionar en tiempo real como MIDIbox LC o cualquier otro "receptor MIDI"
    • los pins habilitados de LCDs de caracteres pueden ser cambiados sobre la marcha. De esta manera se pueden conectar múltiples LCDs a un solo módulo core. La cantidad de LCDs que pueden ser manejadas por una aplicación sólo está limitada por el número de pines libres.
    • verifica escritura rápida en BankStick y EEPROM w/o 
    • escritura de página en (64 bytes a la vez)
    • prioridad dinámica de sampleado para potes multiplexados.(latencia mejorada, sabido porMIDIbox Plus y MIDIbox64)

  • V1.1
    • Se han arreglado algunas imperfecciones en el SRIO y el handler MF.
    • MIOS_HLP_16bitAddSaturate: adición de 16 bit con saturación. Útil en conjunto con rotary encoders. Se usará en próximas aplicaciones  (MIDIbox HN ya usa esta función en hn_enc.inc)
    • soporte para encoders con retén (ver mios_tables.inc)
    • MIOS_DIN_PinAutoRepeatEnable, MIOS_DIN_PinAutoRepeatDisable, MIOS_DIN_PinAutoRepeatGet: una función de autorrepetición asignable para cada botón. Excelente para entrada de datos.
    • MIOS_CLCD_SpecialCharInit, MIOS_CLCD_SpecialCharsInit: permiten inicializar los 4 caracteres especiales de una LCD.
    • MIOS_LCD_YAddressSet: permiten habilitar una segunda LCD de caracteres.

  • V1.0
    • Versión Inicial


Last update: 2015-09-24

Copyright © 1998-2015, Thorsten Klose. All rights reserved.