Jump to content

MBLC recompilation


gégé33
 Share

Recommended Posts

Bonjour a tous les midiboxers.

Je suis sur la construction d'une midibox lc,je me base uniquement sur les schemas de TK,rien de plus, rien de moins.

Tout mes modules sont reliés au core,les boutons,les faders,les leds ,bref, la chaine complette de DIN et DOUT du schema.

En gros, tout fonctionne........les boutons avec leur led,les faderset les ledring.........sauf que:

les ledmetres et les leddigits ne fonctionnent pas.

Qu'a cela ne tienne, une petit recompilation de l'appli en changeant dans le fichier /setup_midibox_lc/

#define LEDRINGS_ENABLED 1 ; if 1, ledrings are enabled

#define METERS_ENABLED 0 ; if 1, meters are enabled

en

#define LEDRINGS_ENABLED 1 ; if 1, ledrings are enabled

#define METERS_ENABLED 1 ; if 1, meters are enabled

meme chose pour

#define LEDDIGITS_ENABLED 0 ; if 1, leddigits are enabled

en

#define LEDDIGITS_ENABLED 1 ; if 1, leddigits are enabled

la recompilation se passe sans probleme,j'upload l'appli via mios studio 2, le core reboot et la,............. :blink: surprise

le probleme est qu'en ouvrant cubase 4 ou ableton live, ledmetre et leddigit fonctionnent, mais malheureusement, mes encodeurs et le jog data eux ne fonctionnent plus .

N'est il pas possible pour cette application d'avoir les deux en meme temps?

Est ce que je me suis trompé lors de la compilation ?

Si vous avez la reponse a ses questions,vous serez vraiment des dieux, si si ,j'insiste..... :angel:

merci d'avance.

Link to comment
Share on other sites

Bizarre ton problème ... tu as vérifié que les jogs/encodeurs envoient du MIDI déjà ?

Pour mettre l'interface midi hors cause, tu peux configurer l'appli pour allumer des leds de ta midibox lors des E/S midi, c'est dans le fichier de config

Link to comment
Share on other sites

merci de vos reponses

nILS

i can't Post in english because my english is really bad.sorry

Pour te repondre Lorcan, mes encodeurs et ma jog wheel fonctionnent parfaitement avant que je recompile mon appli

Ils revoient des evenements midi dans mios studio.

L'orsque j'ouvre mon DAW(cubase 4) mes ledmetres affichent la meme chose que mes ledrings et je n'ai pas d'affichage sur le digit.

Apres recompilation de l'appli MBLC,c'est exactement l'inverse.

Dans mios studio,je n'ai plus d'evenement midi quand j'utilise mes encodeurs, mais ,par contre, quand j'ouvre cubase ou ableton,le digit mtc suit mon morceau sans probleme et les ledmetres indiquent les cretes du niveau de volume .

je ne pense pas que l'interface midi soit en cause mais plutot a un probleme lors de la compilation de l'appli.

Et la ,dans ce domaine,je suis une buse certifiée.... :getlost:

je suis de ton avis quand tu dis que c'est bizzare.

Link to comment
Share on other sites

Excusez mon manque de patience, mais ça fait bientot 2 ans que je galere sur ce projet :drool: .

Vous n'etes en rien responsables c'est juste que c'est rageant de se casser la gueule

a deux meztres du buffet........sans savoir pourquoi.

merci deja de vos reponses et si vous avez d'autres idées,je suis preneur.

Edited by gégé33
Link to comment
Share on other sites

Excusez mon manque de patience, mais ça fait bientot 2 ans que je galere sur ce projet :drool: .

Vous n'etes en rien responsables c'est juste que c'est rageant de se casser la gueule

a deux meztres du buffet........sans savoir pourquoi.

merci deja de vos reponses et si vous avez d'autres idées,je suis preneur.

On sait bien qu'on est pas responsables, pas la peine de préciser :frantics:

En ce qui concerne ton problème, je vois deux pistes:

- utiliser les applis de debug pour vérifier que les connections led/DOut sont bonnes et correctement mappées (moi j'ai utilisé celle qui permet de scanner les sorties Dout avec un encodeur, voir dans le repository)

- vérifier que ton setup soft des connections correspond bien aux mapping des E/S hardware dans le fichier setup et dans lc_io_table.inc

Si tu as édité des trucs à la main peut-être que repartir d'une base vierge serait une bonne idée ...

En tous ca à vue de nez je dirais que c'est vraisemblablement soit un problème de config des E/S soit un mauvais routing des leds

De toute façon comme avec la plupart de ces choses là il faut procéder par étapes, du plus simple au plus compliqué, en éliminant les inconnues au fur et à mesure

Link to comment
Share on other sites

Afin de tester mes E/S correctement, j'ai loadé l'appli dout_enc_v1c.zip.

et SR par SR,pin par pin,tout correspond au lc_io_table.inc et les branchement hardware sont corrects..

J'ai ensuite loadé l'appli mblc de base sans recompiler quoi que se soit et,mes encodeurs fonctionnent,la jog wheel aussi

mais les meters m'indiquent la meme chose que les ledrings, quant a eux les digits ne s'affichent pas.

Je n'arrive pas a comprendre pourquoi :logik:

En tout cas,merci Lorcan de tes conseils,je n'avais jamais testé mes dout avant.

Link to comment
Share on other sites

Afin de tester mes E/S correctement, j'ai loadé l'appli dout_enc_v1c.zip.

et SR par SR,pin par pin,tout correspond au lc_io_table.inc et les branchement hardware sont corrects..

J'ai ensuite loadé l'appli mblc de base sans recompiler quoi que se soit et,mes encodeurs fonctionnent,la jog wheel aussi

mais les meters m'indiquent la meme chose que les ledrings, quant a eux les digits ne s'affichent pas.

Je n'arrive pas a comprendre pourquoi :logik:

En tout cas,merci Lorcan de tes conseils,je n'avais jamais testé mes dout avant.

Il y a forcément un problème qq part que tu as raté, ça marche pour tout le monde ici ...

Est-ce que tes vu/rings s'allument alternativement quand tu tournes l'encodeur ? Il y a un multiplexage donc tu verras plusieurs leds à la fois ...

Ensuite si tu es sur que les branchements sont à 100% corrects, ça vient forcément de la config soft

Il faut que les I/O hardware correspondent aux I/O en soft, et crois-moi c'est facile de se gourer

Mettre en mode Mackie Control (universel, dont Cubase), pas LC (pour Logic seulement)

#define LC_EMULATION_ID	0x14		; use 0x10 for Logic Control, 0x14 for Mackie Control
Activer le support soft
#define LEDRINGS_ENABLED	1	; if 1, ledrings are enabled

#define METERS_ENABLED		1	; if 1, meters are enabled
Attention à ce que tu n'aies pas activé ça par hasard ;; NOTE: it's possible to display the meter values with the LEDrings by using ID_MBLC_*LEDMETER* buttons! ;; this feature saves you from adding additional LEDs to your MIDIbox Les connections des ledrings et vumètre multiplexés
#define LEDRINGS_SR_CATHODES 8 ; shift register with cathodes of the 8 LED rings 

#define METERS_SR_CATHODES 9 ; shift register with cathodes of the 8 meters 

#define LEDRINGS_METERS_SR_ANODES_1 10 ; first shift register with anodes of the 8 LED rings (and 8 meters) 

#define LEDRINGS_METERS_SR_ANODES_2 11 ; second shift register with anodes of the 8 LED rings (and 8 meters) 
Les connections du display time codfe avec les afficheurs 7 segments
#define LEDDIGITS_ENABLED 1 ; if 1, leddigits are enabled 

#define LEDDIGITS_SR_SEGMENTS_1 12 ; shift register which drives the segments of digit 7-0 (right side) 

#define LEDDIGITS_SR_SELECT_1 13 ; shift register which selects the digits 7-0 

#define LEDDIGITS_SR_SEGMENTS_2 14 ; shift register which drives the segments of digit 15-8 (left side) 

#define LEDDIGITS_SR_SELECT_2 15 ; shift register which selects the digits 15-8

Edited by Lorcan
Link to comment
Share on other sites

je vais essayer de te repondre dans l'ordre.

Est-ce que tes vu/rings s'allument alternativement quand tu tournes l'encodeur ? Il y a un multiplexage donc tu verras plusieurs leds à la fois ...

avec dout_enc_v1c quand je tourne mon encodeur,une seul led s'allume sur chaque piste,ledring et ledmeter,a chaque cran de l'encodeur,une nouvelle led s'allume,la precedente s'eteind.

Mettre en mode Mackie Control (universel, dont Cubase), pas LC (pour Logic seulement)

#define LC_EMULATION_ID 0x14 ; use 0x10 for Logic Control, 0x14 for Mackie Control

je compile toujours mon appli avec l'emulation de la mackie control

Activer le support soft

#define LEDRINGS_ENABLED 1 ; if 1, ledrings are enabled

#define METERS_ENABLED 1 ; if 1, meters are enabled

c'est le changement que je fais avant compilation pour activer les ledmetres,idem pour les digits.

Les connections des ledrings et vumètre multiplexés

#define LEDRINGS_SR_CATHODES 8 ; shift register with cathodes of the 8 LED rings

#define METERS_SR_CATHODES 9 ; shift register with cathodes of the 8 meters

#define LEDRINGS_METERS_SR_ANODES_1 10 ; first shift register with anodes of the 8 LED rings (and 8 meters)

#define LEDRINGS_METERS_SR_ANODES_2 11 ; second shift register with anodes of the 8 LED rings (and 8 meters)

Les connections du display time codfe avec les afficheurs 7 segments

#define LEDDIGITS_ENABLED 1 ; if 1, leddigits are enabled

#define LEDDIGITS_SR_SEGMENTS_1 12 ; shift register which drives the segments of digit 7-0 (right side)

#define LEDDIGITS_SR_SELECT_1 13 ; shift register which selects the digits 7-0

#define LEDDIGITS_SR_SEGMENTS_2 14 ; shift register which drives the segments of digit 15-8 (left side)

#define LEDDIGITS_SR_SELECT_2 15 ; shift register which selects the digits 15-8

Les shift register des ledring/vumetre et digits correspondent ,je ne change donc rien de ce coté la lors de ma compilation.

La je suis largué.....

Serait il possible que le probleme vienne de la compilation ?

Si je recompile l'appli mblc sans rien y changer,"juste pour voir" ,je perd l'usage de mes encodeurs quand meme.

Je dois vraiment etre un cas a part.... :whistle::twitch:

Link to comment
Share on other sites

voila ce qui est ecris dans l'invite de commande apres compilation.

Est-ce normal ?

C:\MIOS\MBLC\midibox_lc_v1_6d>SET PATH=C:\MSYS\1.0\bin;%programfiles%\gputils\bi

n;%programfiles%\SDCC\bin;%PATH%make

C:\MIOS\MBLC\midibox_lc_v1_6d>make

rm -rf *.cod *.lst *.err

rm -rf *.hex

gpasm -p p18f452 -I./src -I ./include/asm -I ./include/share -I ./modules/app_

lcd/dummy -I ./modules/glcd_font setup_midibox_lc.asm

gpasm -p p18f452 -I./src -I ./include/asm -I ./include/share -I ./modules/app_

lcd/dummy -I ./modules/glcd_font setup_midibox_tk.asm

C:\MIOS\MBLC\midibox_lc_v1_6d>

Link to comment
Share on other sites

Salut gégé33!

La je suis largué.....

Serait il possible que le probleme vienne de la compilation ?

Si je recompile l'appli mblc sans rien y changer,"juste pour voir" ,je perd l'usage de mes encodeurs quand meme.

Je dois vraiment etre un cas a part....

c'est que le hex fournis dans le zip ne doit pas etre le résultat de la compilation du code... Maintenant, si en ne changeant rien, tu n'a pas d'encodeur, ca ouvre des pistes (au moins une).

voila ce qui est ecris dans l'invite de commande apres compilation.

Est-ce normal ?

Oui tout est correct la.

Alors est-ce que la config de tes encoder est correct? (a la fin de setup_midibox_lc.hex) :


MIOS_ENC_PIN_TABLE

	;; encoders 1-16

	;;        SR  Pin  Mode

	ENC_ENTRY 13,  0,  MIOS_ENC_MODE_NON_DETENTED	; V-Pot 1

	ENC_ENTRY 13,  2,  MIOS_ENC_MODE_NON_DETENTED	; V-Pot 2

	ENC_ENTRY 13,  4,  MIOS_ENC_MODE_NON_DETENTED	; V-Pot 3

	ENC_ENTRY 13,  6,  MIOS_ENC_MODE_NON_DETENTED	; V-Pot 4

	ENC_ENTRY 14,  0,  MIOS_ENC_MODE_NON_DETENTED	; V-Pot 5

	ENC_ENTRY 14,  2,  MIOS_ENC_MODE_NON_DETENTED	; V-Pot 6

	ENC_ENTRY 14,  4,  MIOS_ENC_MODE_NON_DETENTED	; V-Pot 7

	ENC_ENTRY 14,  6,  MIOS_ENC_MODE_NON_DETENTED	; V-Pot 8


	ENC_ENTRY 15,  0,  MIOS_ENC_MODE_NON_DETENTED	; Jog-Wheel

	ENC_EOT

A savoir le SR et les pin associé, puis le type d'encodeur (MIOS_ENC_MODE_NON_DETENTED, MIOS_ENC_MODE_DETENTED, etc)?

Pilo

Link to comment
Share on other sites

salut gégé33

j'ai peut etre le solution à ton probleme. cette semaine, je me suis construis un ACSensorizer. Le firmware : j'ai betement utilisé le zip de la page wiki. n'ayant pas les meme affectations de boutons et d'encodeur, j'ai édité les fichiers du zip et recompilé : mes encodeurs et boutons n'étaient pas reconnus.

Je me suis acharné, en vain. Puis éclair de génie je me suis dit que cela devait être dans le SVN. j'ai donc édité les fichiers de l'arborescence / svn, ouvert le terminal, tapé "make" et miracle tout est rentré dans l'ordre :)

il faut donc que tu télécharges toute l'arborescence SVN du mios (pas celle mios32), il faut regarder la procédure exacte dans la section Programmer du forum.

ensuite tu edites les fichiers qui t'interessent (ceux de la MBLC ici), que tu n'oublies pas d'éditer la enc_table.inc (ou un truc dans le genre, dans le dossier /module si mes souvenirs sont justes, puis que tu tapes "make" en te placant dans le dossier MBLC de l'arborescence svn

j'espère que ton probleme est aussi simple que cela :rolleyes:

Edited by julienvoirin
Link to comment
Share on other sites

voila ce qui est ecris dans l'invite de commande apres compilation.

Est-ce normal ?

Au vu de ta question 'est-ce que la config de tes encoder est correct' j'ai la vague impression que tu as raté quelques trucs ... enfin

Bon qu'on soit d'accord, le make est un fichier qui réunit l'ensemble des fichiers sources (assembleur) à compiler en code binaire exécutable par ton PIC.

Le make génère deux .hex (fichier binaire exe), chacun pour une config différente, une de 'référence', une autre pour le setup de Thorsten.

Tu dois charger dans MIOS le .hex compilé qui correspond à ta config (fichier setup ...), que tu édites via le fichier source

Il FAUT que les sorties matérielles auxquelles tu as connecté tes encodeurs, leds, etc correspondent à la définition dans le setup, sinon c'est le bronx, voire un gros plat de spaghetti trop cuits. En effet, rien ne dit que tu as connecté ton biniou comme Thorsten, moi ou un autre, c'est pour ça que c'est configurable d'ailleurs, afin de permettre une certaine souplesse au niveau du cablage et des fonctionnalités offertes

Donc étape suivante: identifier les correspondances des E/S software<->hardware dans le fichier source

Et si tes encodeurs marchent dans une config, laisse la définition des E/S des encodeurs comme ça et édite ce qui ne marche pas, pas à pas.

Link to comment
Share on other sites

Il est pas impossible en effet que le code sur le svn soit plus récent que celui du zip de l'appli LC, toute fois si les binaires contenus dedans te permete d'utilise les encodeur, c'est que ca doit etre un pb de config (a moins que les hex du zip est été compilé a partir des souces SVN, plus récentes, mais j'en doute).

Si tu trouve rien au niveau de la config, il faudra demander sur un forum anglais (je pense qu'on pourra te filer un coup de main). Comme tu le dis y'a aucune raison que ca ne marche pas, et ta misibox est bien trop impresionante pour qu'elle reste comme ca ;)

Bon qu'on soit d'accord, le make est un fichier qui réunit l'ensemble des fichiers sources (assembleur) à compiler en code binaire exécutable par ton PIC.

Je pense qu'il voulait savoir si il n'y avait aucun message d'erreur du compilateur.

Link to comment
Share on other sites

Bonjour a tous

J'ai passé la journée d'hier a verifier mes E/S entre le soft et le hard.

Je n'ai pas trouvé de mauvaises assignations de SR ou de pin.

J'ai aussi chargé l'arborescence SVN,compilé son appli mblc et ça ne donne rien.

Les encodeurs fonctionnent,pas les vumetres et digits.

Si j'edite le /setup_midibox_lc.asm/ en activant les ledmeters et digits,apres recompilation,j'ai bien les deux qui s'affichent mais plus d'encodeurs....

Cette partie de cache cache entre ces fonctions commence a me faire bouillir la cafetiere...au sans propre

Je crois que je vais en rester sur une midibox sans encodeurs et jog wheel, ça me fais ch--r mais plus je cherche et moins je comprend.

En tout cas merci a tous de votre aide .

PS

Pilo merci une fois de plus de ton soutien,j'espere que de ton coté,les choses avancent surtout au niveau des boutons que tu voulait faire.

Edited by gégé33
Link to comment
Share on other sites

A mon avis tu as un simplement conflit entre les entrées des encodeurs et des assignations de boutons.

Il faut que tu regardes la valeur du SR et du pin pour les encodeurs dans le setup qui marche, tu la reportes dans ton fichier setup édité, puis tu vas dans lc_io_table.inc et pour les registres SR correspondants, tu mets 'ID_IGNORE' pour ceux-là dans la colonne 'button'.

Fais pareil pour les ledrings/vu et ça roule

Ce serait dommage de s'arrêter là, une midibox sans encodeurs ca ne sert pas à grand chose ...

Ceci dit ça fait du bien de regarder à nouveau la tête reposée quand on bloque

Link to comment
Share on other sites

  • 2 weeks later...

Bonjour a tous

Excusez mon silence quelque peu prolongé, mais ma connection internet etait en panne. :getlost:

pas de bol avec l'electronique moi.......

alors concernant mon petit probleme,y'a pas vraiment de mieux...

J'ai comparé avec "Compare Suite" les setup_midibox_lc.asm et tous les fichiers .inc de mes deux applis

celle avec vumetre et digits et celle avec encodeurs.

Ben figurez vous que la comparaison est exact a 100% (sauf activation des vumetres et digits dans setup_midibox_lc.asm )

C'est a devenir fou cette histoire.

Je pense de plus en plus que cela viens de ma compilation.

Si une bonne ame pouvait essayer de recompiler l'appli en activant juste ledring et digits dans setup_midibox_lc.asm

et poster un upload,j'en aurai enfin le coeur net.

d'avance,merci de vos reponses.

Link to comment
Share on other sites

Salut gégé!

Si tout est pareil, c'est que le hex fournis dans le zip n'a pas été compilé a partir de ces sources, je vais aller posté sur un forum anglais pour demander si quelqu'un en sait plus sur le sujet.

Sinon tu me demandais si j'avais trouvé de quoi faire mes bouttons, et bien je pense que oui! et pour un prix relativement bas : je pensais utiliser des battons de pistoler à colle... ca coute rien du tout, ca se coupe assez facilement, ca a un "touché" sympa, et des propriété lumineuse interessante!!

/edit:

le liens vers le forum troubleshooting

Edited by pilo
Link to comment
Share on other sites

Re,

alors ca pourrait venir d'un problème de version de MIOS (le code pour les encodeur a été modifié dernièrement, et le hex fournis dans le zip des sources du code pour la LC est peut etre toujours compilé avec l'ancienne version).

Alors il faudrait que tu test en mettant a jour mios (1.9g) sur le pic, et avec un peu de chance tout va fonctionner (après recompilation de l'appli LC)!

tiens nous au courant ;)

Link to comment
Share on other sites

Salut pilo

merci pour tout ce que tu as fait,c'est genial. :thumbsup:

Merci aussi d'avoir posté sur le fofo anglais

En effet,mes pic sont programmés avec l'update du mios 1.9f, comme tu le dis,ceci expliquant peut etre cela.

Je vais eesayer avec mios 1.9g et je te tiens au courant.

Sinon ,pour ton projet,l'utilisation de batons de colle a chaud pour faire tes boutons,ben la je dis bravo, fallait y penser.

En plus, c'est vrai que ça ne coute pas grand chose.

Super idée.

A+ l'ami et encore merci

Link to comment
Share on other sites

ça fonctionne !!!!!! :frantics:

Merci pilo, tu es vraiment un genie.

J'ai donc chargé le mios 1-9.g dans mon pic,puis mon appli recompilée et la ,dans mios studio,deja les encodeurs renvoyaient des evenements midi.

comble du bonheur, en ouvrant mon DAW (cubase 4),les vumetres et les digits fonctionnent parfaitement,les enciodeurs et la jog wheel aussi ,bref, je crois bien que j'ai du hurler de joie...

j'airai pu chercher longtemps en bidouillant le code source......

Une fois de plus,tu me sauve la mise et la ,je suis loin de la verité en disant ça.

Merci merci et encore merci a toi ainsi qu'a tous ceux qui ont eu la sympathie de me repondre (Lorcan et julienvoirin).

J'espere juste un jour pouvoir vous rendre a tous le meme service.

Link to comment
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Guest
Reply to this topic...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

Loading...
 Share

×
×
  • Create New...