Personaliser
le programme et compiler
V4
Vous recevez le Mbed avec un cable USB.
A l'arrière de la boite vous trouvez le numéro de série ....à garder !
Allez sur le site http://mbed.org
Suivez le guide: d'abord l'exemple "Helloworld". D'abord le fichier compilé
.bin, ensuite le programme source.
Ceci vous conduit à compiler ce petit programme et à le charger.
Download
- Les programmes de RCCL V4 sont dans un fichier RCCL.zip
- les fichiers
"son" dans des fichiers RCCL_xx.zip (par exemple RCCL_FR.zip).
- un copie de quelques modèles et de tous mes modules se trouve dans RCCL_mod.zip
- RCCLEXP.txt pour la télémétrie Jeti
- simul.zip pour le simulateur (3
programmes main.py, Calc.py et Gui.py à charger dans un folder)
Chargez ces fichiers zip sur votre ordinateur.
La dernière version des programmes est sur BitBucket avec un accès public;
https://bitbucket.org/robertspil/rccl_v4
Vous pouvez extraire un fichier zip ou consulter le détail des
modifications.
Le fichier RCCL.zip est directement utilisable par le compilateur on-line.
Mes modules sont disponibles https://bitbucket.org/robertspil/rccl_v4_mod
Le simulateur est https://bitbucket.org/robertspil/rccl_v4_simulator
Prenez la carte SD (mini) du Lcd et copiez tous les fichiers sons. Vous y
ajouterez vos propres messages d'alarme .
Connecter le Mbed et chargez si vous le souhaitez les exemples de modèles et
de modules . Chargez RCCLEXP.TXT sur le Mbed.
Connecter le Mbed, Allez sur le site http://mbed.org
et ouvrir le compilateur.
Ensuite choisir "Import", choisir
d'importer ( "as Program") depuis la "Local machine".Le "Browse"
vous permet de choisir le
fichier RCCL.zip (NON dézippé !)
Il crée dans le "Program Workspace" un projet RCCL, qui comporte un fichier
rccl.cpp et 3 folders.
Il vous reste à importer dans ce programme la library Mbed
http://mbed.org/projects/libraries/svn/mbed/trunk/
De nouveau "Import" , depuis Mbed.org , as "library" et vous copier
cette adresse URL http://mbed.org/projects/libraries/svn/mbed/trunk/
Ceci ajoute un folder "mbed".
Une autre façon d'ajouter cette librairie: créer un nouveau
programme: l comporte un seul fichier main.cpp et le folder de la
librairie Mbed. Copier cette librairie (ctrl-C ) et ensuite allez dans
le projet RCCL et faite ctrl-V . C'est ce que je fais.
Importer un
fichier zip créé par BitBucket.
Il a un nom du genre robertspil-rccl_v4-9ac841a8907d.zip , le dernier code
identifie la version.
Importer ce fichier comme décrit ci-dessus...mais pensez à renommer ce
programme à RCCL.
Vous verrez que dans le programme il y a un folder
robertspil-rccl_v4-9ac841a8907d qui comporte les folders core, hwmed etc
Ceci ne perturbe pas le compilateur.
Messages de Debug
Il y a plusieurs options de compilation pour émettre des messages, utiles
pour résoudre certains problèmes.
J'utilise Linux (Ubuntu) avec le terminal Gtkterm (115200 Bauds, 8
bits, no parity ,1 stop ). Il permet d'envoyer un "break" pour faire le
reset du Mbed et on peut sauver les messages dans un fichier.
J'ai essayé en XP le terminal Teraterm conseillé sur le site de mbed aux
utilisateurs de Windows .
L'installation de teraterm.exe se fait sans difficulté ( link de
http://mbed.org/handbook/Terminals) .
Le "Mbed Windows serial driver s'installe facilement (nier les
avertisssements de windows).
Configurez Teraterm comme indiqué, pour la vitesse de 115200 bauds.
Les fichiers du Mbed
Lorsque vous connectez le Mbed à votre PC avec un câble USB , vous voyez
apparaître les fichiers, comme une clé USB.
Mais faites attention (détail voir fichiers et
la procédure pour débloquer un Mbed)
- cette clé USB est organisée en FAT16, comme au début du DOS.
Cette organisation de fichiers est fragile: prenez
impérativement des
copies de sauvegarde
- si la LED du Mbed clignote, c'est parce qu'il est occupé à lire ou
écrire des fichiers.
Ne JAMAIS interrompre cette opération...sinon vous aurez à tout
remplacer par votre copie de sauvegarde
- quand le Mbed lit/écrit des fichiers , ce disque USB n'est PLUS
accessible au PC et réciproquement
- ne JAMAIS utiliser le PC
pour modifier des fichiers pendant que l'émetteur est allumé
Vous aurez une perte
de données!
Utilisez régulièrement les outils de votre operationg
system pour vérifier la structure des fichiers.
( chhkdsk /F en windows XP )
Personnalisation obligatoire
Pour ceux qui ne connaissent pas C ou C++
- sur une ligne, tout ce qui suit // est un commentaire
Ceci est une façon très pratique d'activer ou désactiver certaines
lignes et ainsi de personnaliser le programme
- tout ce qui se trouve entre /* et */ est un commentaire
qui peut s'étendre sur plusieurs lignes
- un nombre sera écrit à la façon américaine 125.75 et non pas 125,75
Pour les amateurs de Ipad...le software de Apple ne semble pas
utilisable avec le compilateur on-line.( Safari est non compatible avec
AJAX)
../core/core.h
Une seule ligne de définition sans les // initiales qui mettent une ligne en
commentaire
/*------langue---------------------------------------------------*/
//#define SPEAK_LAN_FR //francais de france
#define SPEAK_LAN_FR_BE //français parle en Belgique (septante,
nonante..)
pensez à vérifier que la compilation se fait avec le compilateur online
/*------compiler choice : select one
option----------------------------------------*/
#define COMPILER_MBED // the normal on-line compiler of
mbed.org
//#define COMPILER_CS // off-line compiler (codesourcery
gcc compiler)
si vous avez utilsé l'utilitaire disp pour afficher les
images
en mode landscape #define DISP_LANDSCAPE
éventuellement supprimer l'option JETI
#define JETI // to include the support of
JETI Duplex; simulation of JetiBox , telemetry, alarms...
../hwmbed/calchw.cpp
qui définit les variables hardware et à quoi elles sont connectées.
Vous pouvez garder une copie du programme original,
- par "right-clic" et export vers un répertoire du PC
- par copier/coller (control-C et control-V entre deux programmes du
"Program Workspace". Une astuce: crer un nouveau programme "Archives"
pour classer ces copies.
Avant de personnaliser le fichier, changez son nom (right-clic +
rename), par exemple calchw_eric.cpp, pour être certain de ne pas
l'écraser.
Compilation :méthode
recommandée
- ne pas allumer l'émetteur
- connectez le Mbed avec le câble USB, ce qui alimente le Mbed mais
PAS le reste. Après quelques secondes vous disposez d'un disque "MBED"
et vous pouvez facilement modifier les fichiers des modèles
- après compilation, sauver le fichier .bin vers le MBED
- "éjecter" pour finaliser le transfert de données ou suivez la
procédure de votre PC pour retirer une clé USB
(Linux: j'utilise la commande sync ou de préférence unmount )
- retirer le câble USB ce qui coupe l'alimentation du Mbed
- Vous pouvez ensuite démarrer normalement l'émetteur.
Compilation :méthode sophistiquée, pour la mise au point du
programme
- connecter le câble USB - après quelques secondes le disque "MBED"
apparait
- démarrer un terminal sur le PC (115200 Bauds, 8 bits, no parity ,1
stop / j'utilise GtkTerm)
- compiler et sauver le fichier. Comme ci-dessus "éjecter" ! Ne pas
déconnecter le câble USB pour garder la liaison avec le terminal
(en Linux, unmount ou eject puis reconnecter mais sync est beaucoup plus
facile )
(compilation offline ou online)
- allumer l'émetteur
- à défaut d'avoir accès au bouton de RESET
interne, envoyer un signal Ctrl-B (Break) depuis le terminal. Ceci
provoque un reset qui démarre le nouveau programme
- tester, en disposant du terminal pour des messages "printf"
- utiliser le menu power-off après test , corriger le programme et
revenir au point 3
- si le programme se bloque, il est utile de disposer d'un bouton
poussoir pour couper l'alimentation
Mise-au point de Calchw
Supprimer les deux // devant #define DEBUGHW , ce qui vous
permettra d'afficher les digital inputs "système" tels que les trims .
Quand ceci est au point, vous remettrez les deux //
Dans la fonction Calc::hwinit() ,vous définissez vos variables . C'est le
moment de choisir vos noms de variables
Modifiez les noms de variables dans les ligne telles que
calc_vars.push_back(Var("@C3",IN,NUM));
(variable numérique)
calc_vars.push_back(Var("@S1",IN,LOGICAL));
(variable logique)
Dans la fonction Calc::hwread vous définissez ce qui est connecté à chaque
variable:
Par exemple:
// gpio from the Lcd
// setVarL("@B1",rc.lcdptr->PinGet(11)) ;
setVarL("@P0",rc.lcdptr->PinGet(0))
; qui connecte la variable @P0 à la pin 0 du lcd
setVarL("@P1",rc.lcdptr->PinGet(1)) ;
Si le sens est mauvais, il suffit de mettre un point d'exclamation
devant le deuxième paramètre : setVarL("@P1",!rc.lcdptr->PinGet(1)) ;
fichier son
Formatter la carte SD en
mode fat16 .
Avec Ubuntu j'ai utilisé gparted.
Vous avez choisi un fichier RCCL_xx.zip avec les sons, par exemple
RCCL_FR pour le français. Extraire tous ces sons et les écrire sur la
carte sd.
Personalisation optionnelle
Couleurs
:Si vous voulez un autre choix de couleur, voyez ../core/lcdcolor.cpp
Sons
Ensuite vous aurez sans doute quelques messages
personnels à ajouter.
Personalisation pour les capteurs de télémétrie
compléter éventuellement le fichier RCCLEXP.txt
pour la télémétrie Jeti et créez un fichier son pour chaque nom de variable
Photos
voir images
Si vous souhaitez modifier le software, en plus des commentaires dans les
programmes ces notes peuvent vous aider.
Retour au sommaire
©
Copyright 2011-2012 Robert Spilleboudt - Tous droits
réservés.
Projet
rcopensource - Licence GPL V2