Bonjour a tous,
Un petit (plutot gros en fait) update sur le soft. Tout est a 95% termine, ca commence vraiment a etre top.
Une belle usine a gaz mais que je me suis efforce de coder proprement ce qui fait que c'est bullet proof et a priori sans bug mais je vais laisser Eric se charger d'aller chercher les pb eventuels.
On a une grosse machine avec ~400 etats et presque 40KB de code.
Le MCU que j'utilise a 512KB de flash et 128KB de RAM donc on est super large + il coute a peine plus cher qu'un 8-bit sauf qu'on en a bien plus sous le pied et la programmation en C c'est bien plus facile parce qu'en effet comme Eric l'a mentionne, je suis admiratif du boulot de Flat sur l'AI, aller coder la machine d'etat en assembleur et la debugguer a du etre un sacre challenge. Encore bravo Mr. Flat
.
Alors pour l'implementation, j'ai suivi la spec qu'Eric a redigee, si vous jugez qu'il manque des features, il faut vous adresser a lui
.
Je controle les 6 boutons + encodeur en face avant avec appui long ou court configurable + les rotations encodeur.
Preampli OffAppui court sur l'encodeur ou appui sur telecommande boutton standby on demarre l'ampli.
Preampli On- Appui court sur 1,2,3,4 on selectionne les entrees correspondantes.
- Appui long sur 1,2,3,4 on commute le balanced / unblanced sur l'entree selectionee.
- Appui court sur 5 on entre dans le setup du preampli.
- Appui long sur 5 on bypass l'entree selectionnee.
- Appui court sur 6 on bascule entre sortie 1 et sortie 2.
- Appui long sur 6 on selectionne sortie 1 + sortie 2 (pour revenir comme l'UGS AI, les 2 sorties ON en parallele).
- Appui court sur l'encodeur on mute la sortie selectionnee.
- Appui long sur l'encodeur on coupe le preampli.
- Rotation encodeur sens horaire / inverse on ajuste le volume ...(ca parait logique ca ).
Telecommande RC5 100% operationnelle pour faire la meme chose qu'en utilisant les boutons face avant.
Plus interessant, le preampli est 100% utilisable sans telecommande en utilisant les appuis courts / longs ci dessus.
Preampli setup- Rotation encodeur sens horaire / inverse on fait defiler les menus de configuration.
- Appui court sur 5 on entre dans le sous menu.
- Appui long sur 5 on sauvegarde le choix selectionne dans le sous menu.
- Appui court sur 6 on sort des sous menu et si on arrive au top on revient au mode Preampli On.
Les menus de configurationJe ne vais pas aller dans tous les details mais on a des groupes
volume, input, output, trigger, general conf, remote control, save settings.Pour le
volume on peut definir le niveau de mute, la balance D/G, un niveau par defaut et ensuite lorsqu'on demarre le preampli on a donc le choix de demarrer au niveau de mute, au niveau par defaut ou au dernier niveau de volume juste avant la derniere extinction du preampli.
On peut aussi choisir un affichage en dB ou bargraph (TBD) ainsi que la vitesse de montee du volume a la telecommande (normal, fast).
Pour les
entrees on peut definir pour chacune leur nom (directement en utilisant l'encodeur comme UGS AI), si elle sont balanced / unbalanced, si elle sont AC ou DC coupled, le volume trimming eventuel (TBD) pour ajuster son niveau par rapport aux autres entrees et si elles sont bypassees ou non ainsi que l'entree par defaut au demarrage du preampli.
Pour les
sorties on peut definir pour chacune leur nom et si elle sont mutee ou pas ainsi que la sortie par defaut au demarrage du preampli.
Pour le
trigger on peut decider de l'allumer ou pas.
Pour le
menu de configuration on peut choisir la langue (English / Francais), on peut choisir un niveau de contraste du display par defaut et en idle.
On atteind l'idle apres une tempo configurable, le contraste change alors automatiquement vers la valeur idle (moi je reduis le contraste dans ma conf) du coup il baisse tout seul et revient au mode normal des appui sur n'importe quel bouton, encodeur ou telecommande. Ca fait un effet dimming assez sympa.
On peut aussi changer les steps encodeur (mais cela ne sert a rien vu mon implementation de l'encodeur cela marche avec n'importe lequel pas besoin de definir le step, donc je vais supprimer ce menu surement).
On peut definir les messages de bienvenue, bye bye et mute.
Pour la
telecommande, on peut avoir 2 configurations distinctes (donc 2 telecommandes), elles peuvent etre RC5 et a terme NEC, SIRC et NEC Apple (TBD). On peut faire l'apprentissage de toutes les touches de n'importe quelle telecommande RC5 directement a l'ecran du preampli, c'est configurable a souhait, un double appui sur la touche de la telecommande memorise la touche selectionnee pour la fonction voulue.
Pour le
save settings on peut memoriser jusqu'a 4 configurations du preampli (TDB).
Pour les TBD, rien de difficile tout est deja fait, il me faut juste faire quelques nouvelles fonctions mais tout le plus difficile est fait.
Pour les telecommandes, j'avais deja developpe SIRC, NEC et Apple il me faut juste integrer mes anciennes fonctions la dedans.
Pour le Save settings c'est mon prochain boulot, je vais utiliser l'EEPROM mais la aujourd'hui j'en ai un peu marre la de la programmation
Ensuite je me refait mes messages UI pour la translation vers le VFD (car il est bien plus petit que l'OLED donc il faut revoir tous les messages + ce qu'on veut afficher).
Et puis apres c'est fini, enfin.
Au final assez heureux, quand je pense que je n'avais jamais fait de PCB + etais vraiment raz les paquerettes en programmation.
Ca m'aura permis d'apprendre enormement cet UGS Muse et au final c'est aussi cela qui m'a beaucoup plu.
Sinon pour le reste on va vraiment pouvoir se lancer sur une CG car tout est bon maintenant.
Je vais peut etre refaire rapidement un PCB pour la carte MCU avec pourquoi pas 2x OLED + la compatibilite avec le nouveau trigger de Tazz? (Eric qu'en penses tu?)
Je pourrai dans tous les cas poster des firmware update, tout se passe avec un simple cable USB, pas besoin de sonde JTAG.
Autre chose, suite aux mails ci-dessus pas de pb pour une collaboration, comment voulez vous proceder?
Quels sont les compatibilites a assurer, j'ai pas tout compris en fait et en effet de mon cote le preampli est quasi termine.
Nous avons concu le systeme pour pouvoir etre utilise sur plusieurs canaux, il suffirai de repliquer les voies et ensuite tout est une question de programmation du MCU, pour le hardware je dirai que c'est deja pret en fait.
Desole je suis a la ramasse entre le boulot et cet UGS muse a terminer, je me souviens qu'on m'avait pose des questions sur le sujet de Gaelj, il faut que j'aille faire des commentaires sur son UGS multicanal.