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

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)

Personnalisation obligatoire

Pour ceux qui ne connaissent pas C ou C++
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

Compilation
:méthode sophistiquée, pour la mise au point du programme
  1. connecter le câble USB - après quelques secondes le disque "MBED" apparait
  2. démarrer un terminal sur le PC (115200 Bauds, 8 bits, no parity ,1 stop  / j'utilise GtkTerm)
  3. 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)
  4. allumer l'émetteur
  5. à 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
  6. tester, en disposant du terminal pour des messages "printf"
  7. utiliser le menu power-off  après test , corriger le programme et revenir au point 3
  8. 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