English Version French Version Spanish Version

MIOS Change Log

Dernière Version : V1.9f @ 2007-09-02


  • V1.9f
    • Timer0 est disponible comme ressource supplémentaire si le pilote AIN n'est pas activé.
      Aucun hook spécifique n'est disponible, mais ce timer peut être utilisé pour des mesures temporelles sur 16 bits.
    • Le pilote AIN fonctionne désormais correctement avec les PIC18F4620/PIC18F4685.
    • La fonction de sauvegarde fonctionne désormais correctement pour les périphériques flash >32k des PIC18F4620 et PIC18F4685 (voir aussidoc/mios_backup.txt).
    • Un nouveau mode pour les encodeurs rotatifs est disponible: "MIOS_ENC_MODE_DETENTED3", il fonctionne de manière similaire à MIOS_ENC_MODE_DETENTED2, mais l'incrémentation de la valeur se fait "pendant le click ", et non plus "aprés le click "

  • V1.9e
    • la priorité du gestionnaire "MIDI Rx Handler" modifiée (il a désormais la plus haute priorité)
    • MIOS_HLP_GetIndex_2bytes tient désormais compte de la limite de 64k (uniquement valable pour les PIC18F4685 et PIC18F4682)
    • le "debouncing" n'est pas effectué (ou les actions DIN sont ignorées) si BSR est modifié pendant un hook USER_SR_Service_Finish.
    • La requête de download pour les Banksticks 64k (24LC512) fonctionne maintenant.

  • V1.9d
    • prise en charge des PIC18F4685 et  PIC18F4682
    • initialisation du mode 4bit CLCD retravaillé
    • mode 4bit CLCD sélectionné par défaut pour les PIC18F4685 et PIC18F4682 pour libérer le pin  ECAN pins sur RB2 et RB3
      Notez que les pins D0-D3 du CLCD ne doivent pas être connectés au PIC dans ce cas, mais reliés à la masse!
    • nouvelle version V1.2b du Bootloader : prise en charge des nouveaux PICs
      les drivers de Sortie du Port B ne sont plus activés pendant la phase d'initialisation.
  • V1.9c
    • Changement dans la méthode de "debouncing" du MIOS pour les boutons. Avant cette modification, c'était toute la procédure de scan des SRIO qui était désactivée, avec comme résultat l'interruption momentanée de la gestion des registres DOUT . Ceci entraînait comme effet secondaire un scintillement des matrices de LEDs et des sauts en cas d'utilisation d'encodeurs haute résolution.
      Avec cette version, seuls les DINs qui ne sont pas assignés à des encodeurs sont debouncés, et le scan des SRIO est maintenu en permanence afin que les registres DOUT soient toujours mis à jour.
    • MIOS_MIDI_InterfaceSet/MIOS_MIDI: le baudrate de l'(E)USART n'est actualisé que lorsque la valeur a été changée, ce qui previent de tout reset du générateur de baudrate - ce qui entraînait des bytes MIDI invalides en cas de basculements rapides entre un port MBHP_IIC externe et le port MIDI interne.

  • V1.9b
      Les changements ne concernent que les PIC18F4620!
    • retour sur la modification de la fonction MIOS_EEPROM_* en raison d'une incompatibilité avec les applications MIOS basées sur les PIC18F452 (elles n'initialisent pas EEADRH) EEADRH doit maintenant être incrémenté/activé depuis l'application si cela est requis.
  • V1.9
    • L'espace alloué au bootloader a été déplacé de 0x7c00-0x7fff à 0x0000-0x0400. Ceci libère le bloc supérieur de 1k pour les applications, et égalise la taille d'allocation mémoire entre les PIC18F452, PIC18F4620 et futurs PICs.
    • La police par défaut pour les écrans graphiques a été déplacée de 0x28fc vers 0x7cfc
    • Ces deux changements assurent une compatibilité avec toutes les applications.
      Des nouvelles versions des applications MIDIbox SID, MIDIbox SEQ, MIDIbox FM, MIDIbox64 et MIDIbox64E vont occupé ce bloc de 1k block dans de trés brefs délais, elles ne seront donc plus compatibles avec les MIOS V1.8 et versions précédentes. De fait, une mise à jour vers le MIOS V1.9 est fortement recommandé!
    • Un nouveau Bootloader a été réalisé (V1.2)
    • Une archive pour la mise à jour vers le MIOS V1.9 et le Bootloader V1.2 est disponible ici: http://www.ucapps.de/mios/mios_update_v1_9.zip.
      Tout est fait pour que la mise à jour se passe sans problème (lisez attentivement le fichier ReadMe).
    • Le MIOS et le Bootloader prennent désormais en charge le module MBHP_IIC_MIDI comme port MIDI Out alternatif. L'adresse du module doit être spécifiée dans l'en-tête ID, byte 5
      Exemple: 0000000000100000 redirige tous les messages MIDI Out vers le premier module MBHP_IIC_MIDI.
      Le but de ce module est de contourner le bug "silicon" des nouveaux PICs comme le PIC18F4620 et qui dispose de l'EUSART. Notez que cette en-tête ID peut être modifié avec l'application "change_id", sans avoir besoin d'un programmateur de PIC .
    • La fonction MIOS_MIDI_InterfaceSet permet maintenant de changer l'interface cible de MIOS_MIDI_TxBufferPut à la volée.
    • La fonction MIOS_IIC_ByteSend renvoie maintenant un flag ACK inversé pour un usage plus simple sous C
    • Ont été ajoutées aux descriptions des fonctions MIOS des déclarations en C et des exemples -> cmios_fun.html
    • Le MIOS n'est plus sous licence GPL. Il reste en Open-Source, mais l'utilisation à des fins commerciales n'est pas possible sans mon autorisation.

  • V1.8
    • Le gestionnaire d'interruption sauvegarde désormais aussi FSR0L et FSR0H. Ceci permet l'utilisation de programme en C compilés avec sdcc
    • Un wrapper pour le compiler SDCC est maintenant disponible dans une archive séparée. Vous trouverez plus d'informations ici: http://www.ucapps.de/mios_c.html
    • Le pilote de faders motorisés a été revu. Le nouveau concept repose sur un principe de "deadband dynamique" et une PWM configurable utilisée lorsque le fader atteint la position cible.
      Plus de détails: http://www.ucapps.de/mbhp_mf.html
    • Lors d'un upload ou download du MIOS, le numéro de BankStick est maintenant sélectionné avec une extension d'adressage qui fait partie de la commande.
    • Le réglage "Brown Out Reset" (BOR) dans le secteur de configuration change automatiquement lorsque le MIOS détecte des réglages incorrects - la partie correspondante du secteur est ré-écrite et la puce est initialisée.
      Nouveau réglages: Brown Out Reset à 4.5V
      Ceci afin de s'assurer que le PIC n'accèdera pas au démarrage à des périphériques qui ne peuvent fonctionner à des voltages < 4.5V (par ex. le BankStick, qui pourrait recevoir une commande d'écriture non souhaitée)
    • Prise en charge des PIC18F4620 (64k flash)
      Malheureusement ce modèle n'est pour l'instant pas vraiment utilisable avec le MIOS en raison d'un bug "sillicon" sur le périphérique EUSART (rev3)
  • V1.7

      cette version requiert quelques légères modifications des connections du module CORE, afin d'améliorer les performances du MIOS. Plus d'information ici.

    • les signaux transmis au DOUT restent stables pendant  la phase d'update.
    • l'accès aux BankStick (IIC) ne "gèle" plus les interruptions.
    • la charge CPU générée par la gestion des encodeurs a été réduite afin d'améliorer le  comportement "temps réel" du MIOS

  • V1.6
    • MIOS_MIDI_TxBufferPut est désormais une "atomic operation" * afin de prévenir  certains disfonctionnements lorsque cette fonction est exécutée et que simultanément le gestionnaire Tx charge de nouvelle données depuis le buffer.                                            (* atomic operation : opération pour laquelle le processeur peut simultanément lire et écrire par le même bus, les autres tâches ne pouvant être exécutée que lorsque celle-ci est terminée.)
    • MIOS_Timer_ReInit peut être utilisé pour ré-initialiser le timer sans demander un reset, afin de pouvoir changer la fréquence du timer progressivement.
    • MIOS_BANKSTICK_ReadPage, MIOS_EEPROM_WritePage et MIOS_EEPROM_ReadPage sont de nouvelles fonctions pour des transferts de données plus rapides.
    • nouvelles fonctions USER_LCD_Data, USER_LCD_Cmd, USER_LCD_SpecialCharInit pour les pilotes d'écran LCD adaptés.

  • V1.5b
    • Bugfix: à cause d'un registre non protégé , le client MIDI renvoyait le mauvais byte vers le buffer MIDI Rx . Cela se produisait lorsque qu'un évènement MIDI avait été reçu en mode Running Status et que l'application avait écrit par dessus l' IRQ_TMP1 dans l'entrée USER_MIDI_NotifyRx . Le client MIDI utilise désormais un registre interne.
    • prise en charge des CLCDs avec une interface 4bit, référez-vous à la description de la fonction MIOS_LCD_TypeSet

  • V1.5 - la première version en OPEN SOURCE
    • lorsque MIOS_SRIO_TS_SensitivitySet est appellé avec WREG == 0x00, le Pin RD.4 "touch sensor" (J14 of the core module) ne sera plus piloté par le MIOS désormais et du coup sera disponible pour d'autres utilisations.
    • le gestionnaire AIN a été optimisé en machine "deux états" (two-step state) avec une fréquence d'échantillonage de 200 uS.
    • les décrochages de USER_MPROC_NotifyTimeout ont été fixés.
    • les registres internes ont été réorganisés pour une meilleure lisibilité. Les applications ne devraient pas être affectées par ces changements.

  • V1.4b
    • le curseur de mappage LCD  (MIOS_LCD_YAddressSet en conjonction avec MIOS_LCD_CursorSet) ne fonctionne pas correctement avec les écrans 4 lignes (cursor pos >= 0x80 est renvoyée vers un second écran, bien que les troisième et quatrième lignes soit mappées vers la position < 0x80).
    • USER_MPROC_NotifyReceivedEvent et USER_MPROC_NotifyFoundEvent: aux évènements MIDI sur 2 byte (program change et channel pressure), le second byte, copié dans MIOS_PARAMETER2, est maintenant aussi copié vers le troisième byte (MIOS_PARAMETER3) pour une meilleure prise en charge dans certaines applications MIDIbox.
    • nouvelle fonction MIOS_MF_TouchDetectionReset: effectue un reset de la fonction logicielle de détection tactile de sorte que le fader soit correctement repositionné qu'il ait été manuellement déplacé ou non.
    • les interruptions ne sont plus gelées pendant une opération d'écriture vers le BankStick afin d'améliorer la capacité temps réel du MIOS et plus spécialement pour éviter la perte de données MIDI lors des cycles d'écriture.

  • V1.4
    • les fonctions IIC sont désormais accessibles, elle peuvent être utilisées pour accéder à tous les composants compatibles IIC  via le port J4 en parallèle des BankSticks. Exemple: voir le pilote lcd7_iic .
    • deux nouvelles entrées (hook) sont disponibles : elles permettent de monitorer le trafic MIDI entrant et sortant : USER_MIDI_NotifyRx et USER_MIDI_NotifyTx.
    • Le pilote de faders motorisés fonctionne mieux désormais lorsque des faders Panasonic sont utilisés. Nouvelles valeurs de calibration recommandées: Alps: 0x0e@8V, Panasonic: 0x0c@8V
    • "debouncing" automatique ajouté au pilote SRIO qui compense les pics momentanés générés par certains boutons bon marché. Référez-vous à la description détaillée de la fonction MIOS_SRIO_DebounceSet . Ajoutez simplement cette fonction au début de votre application (aprés USER_Init) si nécessaire.
    • un nouveau type d'écran #6 a été ajouté, il redirige les caractères simples et les requètes vers l'interface MIDI. Le protocole utilisé est documenté à la page : http://www.ucapps.de/mios/mios_sysex_implementation.txt
    • un client de message LCD a été ajouté au processeur MIDI . les caractères entrés seront affichés pendant 2 secondes sur l'écran. Par ailleurs le même protocole sera supporté par MBHP_TV dans les jours à venir.
    • il est désormais possible d'écrire directement sur le BankStick via MIDI. Ceci permet d'intégrer le contenu du BankStick à l'application en allouant ces données dans la tranche d'adresses  0x400000-0x407fff (24LC256; 32k) à  0x400000-0x40ffff (24LC512; 64k). De même l'upload depuis différents BankSticks est pris en charge par la fonction BankStick select.
    • il est désormais possible de lire directement sur la Flash/EEPROM interne et le BankStick externe via MIDI. C'est une bonne aide au déboguage, mais aussi un moyen de faire des sauvegardes et de copier (cloner) le contenu d'un BankStick.

  • V1.3
    • il est maintenant possible d'intégrer un pilote LCD personnalisé qui n'est pas supporté d'origine par le MIOS. Référez-vous à la documentation MBHP->LCD.
    • jusqu'à 8 BankSticks peuvent être accessible via le même bus IIC en utilisant la fonction MIOS_BANKSTICK_CtrlSet . Notez que cette option ne fonctionne pas avec les  EEPROM M24256 de ST, uniquement avec les EEPROM 24LC256 de Microchip. Référez-vous à la documentation MBHP->BankStick.
    • la fonction MIOS_HLP_Dec2BCD peut être utilisée pour convertir des valeurs décimales 16 bit en BCD (par exemple pour renvoyer les chiffres d'un nombre décimal par l'interface MIDI ou pour afficher des nombres sur un écran à segment LED ).
    • MIOS_LCD_PrintBCD4 et MIOS_LCD_PrintBCD5 peuvent être utilisés pour afficher des valeurs 16 bit sous forme décimale.
    • la fonction MIOS_MF_StartupSpeedSet permets de donner un "kick" au faders motorisés lorsqu'ils démarrent (peut être testé avec l'application mf_calibration. L'application MIDIbox LC dispose d'un menu calibration ).
    • les modes "speed" du pilote encodeurs ont été re-écrit, référez-vous à la description de la fonction MIOS_ENC_SpeedSet pour plus de détails. L'application "enc_speed_v1_3" vous permettra de tester les différents réglages.

  • V1.2
    • MIOS_LCD_TypeSet offre des paramètres additionnels.
    • la selection de lignes pour les écrans basés sur les KS0108 ou HD61202 peut maintenant être inversée.
    • pilote GLCD pour les écrans à base de T6963c . Les performances de cet écran sont vraiment mauvaises, il est de fait conseillé de ne pas l'utiliser pour les applications qui doivent réagir en temps réel, comme par exemple la MIDIbox LC et autre "récepteur" ou moniteur MIDI.
    • le pin "enable" des LCDs à caractères peut désormais être changé en cours de fonctionnement. Il est de fait possible de connecter plusieurs LCDs sur un module CORE, le nombre maximum de LCDs pouvant être pris en charge par l'application est limité par le nombre de pins restant libres.
    • écriture rapide sur le BankStick et l' EEPROM sans vérification.
    • écriture par page sur le BankStick (64 bytes d'un coup).
    • allocation dynamique du sampling pour les potentiomètre multiplexés (latence améliorée, notament pour les MIDIbox Plus et MIDIbox64).

  • V1.1
    • des imperfections dans les gestionnaires SRIO et MF ont été fixées dans cette version.
    • MIOS_HLP_16bitAddSaturate:  addition 16 bit avec saturation. Utile en conjonction avec les encodeurs. Cette fonction sera utilisée dans les applications à venir (MIDIbox HN en fait déjà usage dans hn_enc.inc).
    • prise en charge des encodeurs "avec détente" (voir mios_tables.inc).
    • MIOS_DIN_PinAutoRepeatEnable, MIOS_DIN_PinAutoRepeatDisable, MIOS_DIN_PinAutoRepeatGet: une fonction "auto-repeat" assignable pour n'importe quel bouton. Excellent pour l'entrée de données.
    • MIOS_CLCD_SpecialCharInit, MIOS_CLCD_SpecialCharsInit: permet d'initialiser les huit caractères spéciaux des LCDs.
    • MIOS_LCD_YAddressSet: permet d'activer un second LCD à caractères.

  • V1.0
    • version initiale.


Last update: 2015-09-24

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