Forum dédié aux karot:z, nabaztag:tag, mir:ror, dal:dal...


 
AccueilAccueil  FAQFAQ  RechercherRechercher  S'enregistrerS'enregistrer  Connexion  

Demande d'aide Funfoo - Firmware / ByteCode du lapin 5 5 3
Partager | 
 

 Demande d'aide Funfoo - Firmware / ByteCode du lapin

Voir le sujet précédent Voir le sujet suivant Aller en bas 
Aller à la page : Précédent  1, 2, 3
AuteurMessage
rtp
Lapin nain
Lapin nain


Nbr de messages: 10

MessageSujet: Re: Demande d'aide Funfoo - Firmware / ByteCode du lapin   Jeu 4 Aoû 2011 - 8: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.
Revenir en haut Aller en bas
totol
Lapin nain
Lapin nain


Localisation: Paris
Nbr de messages: 21
Points: 316

MessageSujet: Re: Demande d'aide Funfoo - Firmware / ByteCode du lapin   Jeu 4 Aoû 2011 - 9: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 ?
Revenir en haut Aller en bas
rtp
Lapin nain
Lapin nain


Localisation: paris
Nbr de messages: 10
Points: 1967

MessageSujet: Re: Demande d'aide Funfoo - Firmware / ByteCode du lapin   Jeu 4 Aoû 2011 - 22: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).
Revenir en haut Aller en bas
totol
Lapin nain
Lapin nain


Localisation: Paris
Nbr de messages: 21
Points: 316

MessageSujet: Re: Demande d'aide Funfoo - Firmware / ByteCode du lapin   Jeu 4 Aoû 2011 - 23: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
Revenir en haut Aller en bas
rtp
Lapin nain
Lapin nain


Localisation: paris
Nbr de messages: 10
Points: 1967

MessageSujet: Re: Demande d'aide Funfoo - Firmware / ByteCode du lapin   Jeu 4 Aoû 2011 - 23: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 SmileNabz

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.
Revenir en haut Aller en bas
totol
Lapin nain
Lapin nain


Localisation: Paris
Nbr de messages: 21
Points: 316

MessageSujet: Re: Demande d'aide Funfoo - Firmware / ByteCode du lapin   Jeu 4 Aoû 2011 - 23: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.
Revenir en haut Aller en bas
totol
Lapin nain
Lapin nain


Localisation: Paris
Nbr de messages: 21
Points: 316

MessageSujet: Re: Demande d'aide Funfoo - Firmware / ByteCode du lapin   Ven 5 Aoû 2011 - 0: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 SmileNabz
Revenir en haut Aller en bas
totol
Lapin nain
Lapin nain


Localisation: Paris
Nbr de messages: 21
Points: 316

MessageSujet: Re: Demande d'aide Funfoo - Firmware / ByteCode du lapin   Ven 5 Aoû 2011 - 0: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/
Revenir en haut Aller en bas
totol
Lapin nain
Lapin nain


Localisation: Paris
Nbr de messages: 21
Points: 316

MessageSujet: Re: Demande d'aide Funfoo - Firmware / ByteCode du lapin   Sam 6 Aoû 2011 - 0: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 http://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.
Revenir en haut Aller en bas
PlaneteDomo
Lapin nain
Lapin nain


Localisation: Clermont fd
Nbr de messages: 24
Points: 346

MessageSujet: Re: Demande d'aide Funfoo - Firmware / ByteCode du lapin   Dim 7 Aoû 2011 - 1:17

Bonsoir (ou bonjour Wink ),

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++
Revenir en haut Aller en bas
http://www.planete-domotique.com
totol
Lapin nain
Lapin nain


Localisation: Paris
Nbr de messages: 21
Points: 316

MessageSujet: Re: Demande d'aide Funfoo - Firmware / ByteCode du lapin   Mar 16 Aoû 2011 - 18: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 :-)
Revenir en haut Aller en bas
 

Demande d'aide Funfoo - Firmware / ByteCode du lapin

Voir le sujet précédent Voir le sujet suivant Revenir en haut 
Page 3 sur 3Aller à la page : Précédent  1, 2, 3

 Sujets similaires

-
» Demande aide à l' informaticien belge ( et aux autres)
» [ACTU] Firmware 4.5 Maj ps3key spoof 3.55
» Aide Rank
» Aide Croquemotel
» Aide Pour Xp -> Cercle 83 a 100 !

Permission de ce forum:Vous ne pouvez pas répondre aux sujets dans ce forum
Forum dédié aux karot:z, nabaztag:tag, mir:ror, dal:dal... :: Les Nabaztags sont sauvés ! Les solutions... :: Les serveurs alternatifs :: FreeNabaztag - Les forces en présence-