|
| Demande d'aide Funfoo - Firmware / ByteCode du lapin | |
|
+4wizz.cc funfoo RedoX PlaneteDomo 8 participants | |
Auteur | Message |
---|
rtp Lapin nain
Nbr de messages : 12
| Sujet: Re: Demande d'aide Funfoo - Firmware / ByteCode du lapin Jeu 4 Aoû 2011 - 9:41 | |
| enfin, j'ai reussi a me connecter sur mon serveur OJN. En fait, contrairement au nominal trouve dans Projet-VS qui necessite juste de definir la variable SIMU, pour le nominal avec xmpp, il faut editer le main.mtl dans nominal_splitted et lancer le make_nominal.sh. Definir la variable dans le nominal "non-splitte" est deja trop tard car l'inclusion du code qui va bien se fait dans les commandes lancees par make_nominal.sh. Apres, j'ai peut-etre fait une erreur mais je me suis retrouve avec 2 functions netstart. J'ai supprime celle la: - Code:
-
fun netstart= netCb #net; resetarp; resettcp; resetudp; 0;;
Et hop, le lapin simule par mtl_simu se connecte a mon serveur ojn. | |
| | | totol Lapin nain
Localisation : Paris Nbr de messages : 21 Carottes : 4886
| Sujet: Re: Demande d'aide Funfoo - Firmware / ByteCode du lapin Jeu 4 Aoû 2011 - 10:57 | |
| - rtp a écrit:
- enfin, j'ai reussi a me connecter sur mon serveur OJN. En fait, contrairement au nominal trouve dans Projet-VS qui necessite juste de definir la variable SIMU, pour le nominal avec xmpp, il faut editer le main.mtl dans nominal_splitted et lancer le make_nominal.sh. Definir la variable dans le nominal "non-splitte" est deja trop tard car l'inclusion du code qui va bien se fait dans les commandes lancees par make_nominal.sh.
Apres, j'ai peut-etre fait une erreur mais je me suis retrouve avec 2 functions netstart. J'ai supprime celle la: - Code:
-
fun netstart= netCb #net; resetarp; resettcp; resetudp; 0;;
Et hop, le lapin simule par mtl_simu se connecte a mon serveur ojn. Peux tu indiquer tes modifications avant le make minimal ? | |
| | | rtp Lapin nain
Localisation : paris Nbr de messages : 12 Carottes : 6539
| Sujet: Re: Demande d'aide Funfoo - Firmware / ByteCode du lapin Jeu 4 Aoû 2011 - 23:12 | |
| - totol a écrit:
- rtp a écrit:
- enfin, j'ai reussi a me connecter sur mon serveur OJN. En fait, contrairement au nominal trouve dans Projet-VS qui necessite juste de definir la variable SIMU, pour le nominal avec xmpp, il faut editer le main.mtl dans nominal_splitted et lancer le make_nominal.sh. Definir la variable dans le nominal "non-splitte" est deja trop tard car l'inclusion du code qui va bien se fait dans les commandes lancees par make_nominal.sh.
Apres, j'ai peut-etre fait une erreur mais je me suis retrouve avec 2 functions netstart. J'ai supprime celle la: - Code:
-
fun netstart= netCb #net; resetarp; resettcp; resetudp; 0;;
Et hop, le lapin simule par mtl_simu se connecte a mon serveur ojn. Peux tu indiquer tes modifications avant le make minimal ? Tu vas dans Hardware/bytecode/branches/bc-nominal/nominal_splitted, et edite le main.mtl comme ca: - Code:
-
--- main.mtl (révision 22395) +++ main.mtl (copie de travail) @@ -23,7 +23,7 @@ // streaming debug fun Streamw str = nil;; //Secholn strcatlist "[streaming] " :: str :: nil;; -// #define SIMU +#define SIMU #define NOMINAL // set doPing to something else than nil to activate ping
Tu lances le make_nominal.sh. Ca te produit un nominal.mtl dans Hardware/bytecode/branches/bc-nominal. Il te reste plus qu'a supprimer/commenter le netstart comme indique precedemment et tu auras un nominal.mtl qui va fonctionner avec mtl_simu (tu peux lancer par exemple: ./mtl_simu --source nominal.mtl) Par defaut, les logs n'affichent pas les leds, donc faut jouer avec les arguments (cf --logs). | |
| | | totol Lapin nain
Localisation : Paris Nbr de messages : 21 Carottes : 4886
| Sujet: Re: Demande d'aide Funfoo - Firmware / ByteCode du lapin Ven 5 Aoû 2011 - 0:03 | |
| Salut J'ai donc bien fait la bonne modification. Or, quand je le lance, le dns semble planter ... une idée ? - Code:
-
[vm] Xmpp Session Start on : 192.168.0.24 [vm] XmppGateConnect [vm] gate nil. DNS SRV REQUEST ON : 192.168.0.24 [vm] [dns] requete DNS SRV. dnsid=1 [vm] [dns] (1) - 192.168.1.1 [vm] 00000000 00 01 01 00 00 01 00 00 00 00 00 00 0c 5f 78 6d ............._xm [vm] 00000010 70 70 2d 63 6c 69 65 6e 74 04 5f 74 63 70 03 31 pp-client._tcp.1 [vm] 00000020 39 32 03 31 36 38 01 30 02 32 34 00 00 21 00 01 92.168.0.24..!.. [vm] [dns] 192.168.1.1 [simunet] Sockets : (hack) converting 192.168.1.1 to real dns ip [simunet] Sockets : send 48 bytes on chn 0 [simunet] Sockets : UDP Read 123 bytes on :1597 from 212.27.40.241:53 [vm] [dns] cbnetdns [ [vm] [dns] on recoit une reponse pour une question dns, id 1, ip = nil pour le domaine _xmpp-client._tcp.192.168.0.24 [vm] [dns] cette requete etait avec le serveur numero 0, c'est a dire l'ip 192.168.1.1 [vm] [dns] ip est nil [vm] [dns] DnsSrvCb [vm] [dns] SrvAnswerL nil [vm] XmppTcpOpen, back from dnssrvcb :-1 [vm] No more SRV answears. let's try to connect directly to 192.168.0.24 [vm] [dns] dnsreq( [vm] 192.168.0.24) [vm] 00000000 00 02 01 00 00 01 00 00 00 00 00 00 03 31 39 32 .............192 [vm] 00000010 03 31 36 38 01 30 02 32 34 00 00 01 00 01 .168.0.24..... [vm] [dns] on fait une requete dns pour le domaine 192.168.0.24 [simunet] Sockets : (hack) converting 192.168.1.1 to real dns ip [simunet] Sockets : send 30 bytes on chn 0 [simunet] Sockets : UDP Read 105 bytes on :1597 from 212.27.40.241:53 [vm] [dns] cbnetdns [ [vm] [dns] on recoit une reponse pour une question dns, id 2, ip = nil pour le domaine 192.168.0.24 [vm] [dns] cette requete etait avec le serveur numero 0, c'est a dire l'ip 192.168.1.1 [vm] [dns] ip est nil | |
| | | rtp Lapin nain
Localisation : paris Nbr de messages : 12 Carottes : 6539
| Sujet: Re: Demande d'aide Funfoo - Firmware / ByteCode du lapin Ven 5 Aoû 2011 - 0:36 | |
| - totol a écrit:
J'ai donc bien fait la bonne modification. Or, quand je le lance, le dns semble planter ... une idée ?
euh... non. pas trop. J'ai edite le conf.bin pour pointer vers mon dns interne parce qu'en fait le 192.168.1.1 est deja ajoute par le code du nominal mais ca devrait pas faire de diff vu que tu utilises une IP. Pour le fun, j'ai appris a mon lapin une nouvelle facon de respirer Dans le main.mtl: - Code:
-
fun bottomled= if gSleepState == 0 then ( if !earDetecting then ( let osc time_ms>>4 -> v in ( led LED_BASE v*0x10001; if ((v>>6)>=1) then led LED_BODY_LEFT 0xff0000; if ((v>>6)>=2) then led LED_BODY_MIDDLE 0xff0000; if ((v>>6)>=3) then led LED_BODY_RIGHT 0xff0000) ) // pulse violet ); 0;;
Ce langage est assez pointilleux sur les histoires parentheses et point-virgule quand meme. | |
| | | totol Lapin nain
Localisation : Paris Nbr de messages : 21 Carottes : 4886
| Sujet: Re: Demande d'aide Funfoo - Firmware / ByteCode du lapin Ven 5 Aoû 2011 - 0:58 | |
| - rtp a écrit:
- euh... non. pas trop. J'ai edite le conf.bin pour pointer vers mon dns interne parce qu'en fait le 192.168.1.1 est deja ajoute par le code du nominal mais ca devrait pas faire de diff vu que tu utilises une IP.
En effet , ca coïnciderai parfaitement avec le problème que j'ai eu avec mon lapin réel. Mais comment modifier le conf.bin ? je n'ai trouvé que l'url de vraiment modifiable, pas le reste. | |
| | | totol Lapin nain
Localisation : Paris Nbr de messages : 21 Carottes : 4886
| Sujet: Re: Demande d'aide Funfoo - Firmware / ByteCode du lapin Ven 5 Aoû 2011 - 1:19 | |
| Je confirme que c'est bien ce problème là. En modifiant à la main le hack de switch de dns pour mon ip, ca marche. Reste à savoir pour le conf.bin | |
| | | totol Lapin nain
Localisation : Paris Nbr de messages : 21 Carottes : 4886
| Sujet: Re: Demande d'aide Funfoo - Firmware / ByteCode du lapin Ven 5 Aoû 2011 - 1:41 | |
| J'ai trouvé, sans passer par le conf.bin qui de toutes façon n'a pas l'air d'être pris en compte, sauf pour l'url de base.
Dans le fichier nominal.mtl, dans la fonction "netstart", modifier l'ip de la fonction addnewdns pour coincider avec l'ip hébergeant dnsmasq ( cf l'autre topic avec le problème de la LED orange )
Maintenant, mon simulateur se connecte parfaitement au serveur local OJN \o/ | |
| | | totol Lapin nain
Localisation : Paris Nbr de messages : 21 Carottes : 4886
| Sujet: Re: Demande d'aide Funfoo - Firmware / ByteCode du lapin Sam 6 Aoû 2011 - 1:05 | |
| Bonjour, Voici un petit résumé, sous la forme d'explications détaillées de la dizaines de posts précédent. Le but, après avoir réussi à compiler le compilateur Métal et à compiler le bootc, était de réussir à utiliser le simulateur de Nabaztag présent à coté du compilateur Métal. La procédure est simple : il faut générer le bon nominal.mtl. Dans un premier temps, il faut modifier trois fichiers. Je ne sais pas si ce sont des oublis des développeurs ou simplement que ce le simulateur fonctionnait quand même mais le code en sortie est plus propre. Dans chacun des fichiers que je vais citer, pour chacune des fonctions que je vais préciser, il va faloir l'entourer du code suivant : - Avant : - Code:
-
#ifdef SIMU #else - Après : - Code:
-
#endif Exemple avec la fonction "regudp" du fichier udp.mtl : - Code:
-
fun regudp port cb= set ludp=[port cb]::remudp ludp port;; devient - Code:
-
#ifdef SIMU #else fun regudp port cb= set ludp=[port cb]::remudp ludp port;; #endif Fichiers et fonctions à modifier dans le répertoire Hardware/bytecode/branches/bc-nominal/nominal_splitted : - udp.mtl --- Fonctions "udpsend" et "regudp" - net.mtl --- Fonction "netstart" - tcp.mtl --- fonctions "opentcp", "writetcp" et "closetcp" Maintenant que cette modification est réalisée, il faut activé le mode simulateur pour la génération du nominal.mtl. Pour cela, dans le fichier "main.mtl", toujours dans le même dossier, modifier - Code:
-
// #define SIMU par - Code:
-
#define SIMU Maintenant, tout est prêt, il suffit d'exécuter le script "test_compile.sh" du même dossier. Ce script génère le fichier nominal.mtl. Editer le fichier nominal.mtl généré et modifier dans la fonction "netstart" : - le champ addnewdns par le serveur DNS --- soit celui donné par le DHCP --- soit, suite au même problème que ce post https://nabaztag.forumactif.fr/t13232p150-installation-openjanab page 11, indiquer le DNS personnel. - le champ netip par l'IP d'où vous lancez le simulateur Placer ensuite ce fichier dans le répertoire du compilateur Métal : Hardware/trunk/mtl_linux Dans ce même dossier, copier le fichier "conf.bin.sans_password" vers "conf.bin" et éditer ce dernier. Remplacer - Code:
-
r.nabaztag.com/vl par l'URL du serveur où vous voulez vous connecter. Lancer - Code:
-
./mtl_simu et le simulateur se lance et se connecte au serveur indiqué. Voici l'aide indiquée par le simulateur avec la commande "./mtl_simu --help" : - Code:
-
Usage: mtl_simu [--help] [--mac MACADDR] [--boot] [--source SOURCE] --help: affiche cette aide et quitte --mac MACADDR: permet de preciser une adresse mac pour le lapin --boot: comme si on mettait "BOOT firmware" dans config.txt --source SOURCE: compile et charge le bytecode present dans le fichier SOURCE --logs <log1>,...,<logn>: specifie les types de logs qu'on veut afficher, entre init,vm,simunet,simuleds et simuaudio, separes par des virgules --logfile <filename>: specifie le fichier dans lequel ecrire les logs du lapin --maxlogsize <n>: specifie qu'un fichier de log ne peut depasser <n> octets --maxlogtime <n>: specifie qu'il doit y avoir une rotation du fichier de log au moins toutes les <n> secondes --dologtime: specifie qu'on doit afficher sur chaque ligne de log le nombre de secondes ecoulees depuis le lancement du simulateur Toutes les options sont prioritaires sur les valeurs contenues dans config.txt A savoir : par défaut, tous les logs ne sont pas actifs, par exemple les LEDs. De plus, il n'existe pas pour le moment d'interface graphique au simulateur. Voila, j'espère avoir été utile. bonne soirée. | |
| | | PlaneteDomo Lapin nain
Localisation : Clermont fd Nbr de messages : 24 Carottes : 4916
| Sujet: Re: Demande d'aide Funfoo - Firmware / ByteCode du lapin Dim 7 Aoû 2011 - 2:17 | |
| Bonsoir (ou bonjour ), Voila ma petite contribution sur la compréhension du fonctionnement du lapin et la création d'un "bytecode nominal" alternatif ! http://www.planete-domotique.com/blog/2011/08/07/mindscape-donne-une-seconde-vie-a-nabaztag/ N'hésitez pas pour les commentaires... A++ | |
| | | totol Lapin nain
Localisation : Paris Nbr de messages : 21 Carottes : 4886
| Sujet: Re: Demande d'aide Funfoo - Firmware / ByteCode du lapin Mar 16 Aoû 2011 - 19:34 | |
| Pour ceux qui serait intéressés par le support linux, j'ai sorti des sources officielles du NabazTag la partie compilateur et simulateur pour cet OS. J'en ai profité pour améliorer la propreté / facilité de la compilation / exécution ainsi que de coder la partie simulation audio (pour le moment très succincte). Egalement, il y a une vision graphique de l'état des LEDs du lapin.
Pour l'instant : 0 explication (je n'ai pas encore eu le temps) mais la commande "make" dans le répertoire racine indique les commandes possibles. La configuration se fait dans le fichier "configuration_simu.txt". A venir : meilleur interface graphique, support des moteurs, support du bouton, etc.
URL : https://github.com/ToToL/NabazTag-Sources
Testé avec OJN.
PS : on pourrait tenter des monter en charge sur des serveurs avec cette méthode ... si ce n'est pas déjà fait :-) | |
| | | p1p1 Bronze Nabz
Age : 37 Localisation : Amiens Nabaztag : Alpha V1, Beta V2, Gamma V3 et Delta V2 Nbr de messages : 102 Carottes : 4838
| Sujet: Re: Demande d'aide Funfoo - Firmware / ByteCode du lapin Dim 24 Mar 2013 - 0:09 | |
| Juste un petit lien qui renvoi vers la doc du langage Metal: http://www.sylvain-huet.com/rsc/metal/doc/Metal.html
http://www.sylvain-huet.com/chronology.php#nabv2 | |
| | | Contenu sponsorisé
| Sujet: Re: Demande d'aide Funfoo - Firmware / ByteCode du lapin | |
| |
| | | | Demande d'aide Funfoo - Firmware / ByteCode du lapin | |
|
Sujets similaires | |
|
| Permission de ce forum: | Vous ne pouvez pas répondre aux sujets dans ce forum
| |
| |
| |