Forum des Objets Communicants et Solutions pour les Libérer...
Vous souhaitez réagir à ce message ? Créez un compte en quelques clics ou connectez-vous pour continuer.

Forum des Objets Communicants et Solutions pour les Libérer...


 
AccueilAccueil  GalerieGalerie  RechercherRechercher  Dernières imagesDernières images  S'enregistrerS'enregistrer  Connexion  
Le Deal du moment : -38%
Ecran PC gaming 23,8″ – ACER KG241Y P3bip ...
Voir le deal
99.99 €

 

 Demande d'aide Funfoo - Firmware / ByteCode du lapin

Aller en bas 
+4
wizz.cc
funfoo
RedoX
PlaneteDomo
8 participants
Aller à la page : Précédent  1, 2
AuteurMessage
rtp
Lapin nain
Lapin nain



Nbr de messages : 12

Demande d'aide Funfoo - Firmware / ByteCode du lapin - Page 2 Empty
MessageSujet: Re: Demande d'aide Funfoo - Firmware / ByteCode du lapin   Demande d'aide Funfoo - Firmware / ByteCode du lapin - Page 2 Icon_minitimeJeu 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.
Revenir en haut Aller en bas
totol
Lapin nain
Lapin nain



Localisation : Paris
Nbr de messages : 21
Carottes : 4886

Demande d'aide Funfoo - Firmware / ByteCode du lapin - Page 2 Empty
MessageSujet: Re: Demande d'aide Funfoo - Firmware / ByteCode du lapin   Demande d'aide Funfoo - Firmware / ByteCode du lapin - Page 2 Icon_minitimeJeu 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 ?
Revenir en haut Aller en bas
rtp
Lapin nain
Lapin nain



Localisation : paris
Nbr de messages : 12
Carottes : 6539

Demande d'aide Funfoo - Firmware / ByteCode du lapin - Page 2 Empty
MessageSujet: Re: Demande d'aide Funfoo - Firmware / ByteCode du lapin   Demande d'aide Funfoo - Firmware / ByteCode du lapin - Page 2 Icon_minitimeJeu 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).
Revenir en haut Aller en bas
totol
Lapin nain
Lapin nain



Localisation : Paris
Nbr de messages : 21
Carottes : 4886

Demande d'aide Funfoo - Firmware / ByteCode du lapin - Page 2 Empty
MessageSujet: Re: Demande d'aide Funfoo - Firmware / ByteCode du lapin   Demande d'aide Funfoo - Firmware / ByteCode du lapin - Page 2 Icon_minitimeVen 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
Revenir en haut Aller en bas
rtp
Lapin nain
Lapin nain



Localisation : paris
Nbr de messages : 12
Carottes : 6539

Demande d'aide Funfoo - Firmware / ByteCode du lapin - Page 2 Empty
MessageSujet: Re: Demande d'aide Funfoo - Firmware / ByteCode du lapin   Demande d'aide Funfoo - Firmware / ByteCode du lapin - Page 2 Icon_minitimeVen 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 yellownabzsmile

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
Carottes : 4886

Demande d'aide Funfoo - Firmware / ByteCode du lapin - Page 2 Empty
MessageSujet: Re: Demande d'aide Funfoo - Firmware / ByteCode du lapin   Demande d'aide Funfoo - Firmware / ByteCode du lapin - Page 2 Icon_minitimeVen 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.
Revenir en haut Aller en bas
totol
Lapin nain
Lapin nain



Localisation : Paris
Nbr de messages : 21
Carottes : 4886

Demande d'aide Funfoo - Firmware / ByteCode du lapin - Page 2 Empty
MessageSujet: Re: Demande d'aide Funfoo - Firmware / ByteCode du lapin   Demande d'aide Funfoo - Firmware / ByteCode du lapin - Page 2 Icon_minitimeVen 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 yellownabzsmile
Revenir en haut Aller en bas
totol
Lapin nain
Lapin nain



Localisation : Paris
Nbr de messages : 21
Carottes : 4886

Demande d'aide Funfoo - Firmware / ByteCode du lapin - Page 2 Empty
MessageSujet: Re: Demande d'aide Funfoo - Firmware / ByteCode du lapin   Demande d'aide Funfoo - Firmware / ByteCode du lapin - Page 2 Icon_minitimeVen 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/
Revenir en haut Aller en bas
totol
Lapin nain
Lapin nain



Localisation : Paris
Nbr de messages : 21
Carottes : 4886

Demande d'aide Funfoo - Firmware / ByteCode du lapin - Page 2 Empty
MessageSujet: Re: Demande d'aide Funfoo - Firmware / ByteCode du lapin   Demande d'aide Funfoo - Firmware / ByteCode du lapin - Page 2 Icon_minitimeSam 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.
Revenir en haut Aller en bas
PlaneteDomo
Lapin nain
Lapin nain



Localisation : Clermont fd
Nbr de messages : 24
Carottes : 4916

Demande d'aide Funfoo - Firmware / ByteCode du lapin - Page 2 Empty
MessageSujet: Re: Demande d'aide Funfoo - Firmware / ByteCode du lapin   Demande d'aide Funfoo - Firmware / ByteCode du lapin - Page 2 Icon_minitimeDim 7 Aoû 2011 - 2: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
Carottes : 4886

Demande d'aide Funfoo - Firmware / ByteCode du lapin - Page 2 Empty
MessageSujet: Re: Demande d'aide Funfoo - Firmware / ByteCode du lapin   Demande d'aide Funfoo - Firmware / ByteCode du lapin - Page 2 Icon_minitimeMar 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 :-)
Revenir en haut Aller en bas
p1p1
Bronze Nabz
Bronze Nabz
p1p1


Age : 37
Localisation : Amiens
Nabaztag : Alpha V1, Beta V2, Gamma V3 et Delta V2
Nbr de messages : 102
Carottes : 4838

Demande d'aide Funfoo - Firmware / ByteCode du lapin - Page 2 Empty
MessageSujet: Re: Demande d'aide Funfoo - Firmware / ByteCode du lapin   Demande d'aide Funfoo - Firmware / ByteCode du lapin - Page 2 Icon_minitimeDim 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
Revenir en haut Aller en bas
Contenu sponsorisé





Demande d'aide Funfoo - Firmware / ByteCode du lapin - Page 2 Empty
MessageSujet: Re: Demande d'aide Funfoo - Firmware / ByteCode du lapin   Demande d'aide Funfoo - Firmware / ByteCode du lapin - Page 2 Icon_minitime

Revenir en haut Aller en bas
 
Demande d'aide Funfoo - Firmware / ByteCode du lapin
Revenir en haut 
Page 2 sur 2Aller à la page : Précédent  1, 2
 Sujets similaires
-
» Demande aide paramétrage du lapin avec freebox
» Serveur expérimental nabizdead.net [NID]
» [bytecode / compilateur] Compiler sur un Linux 64bit
» Présentation et demande d'idées pour une demande de témoin de mariage geek
» [Les sources] Bytecode et compilateur

Permission de ce forum:Vous ne pouvez pas répondre aux sujets dans ce forum
Forum des Objets Communicants et Solutions pour les Libérer... :: II. Nabaztag, Karotz, mir:ror, Dal:Dal (Violet Object Operating System) :: Les Nabaztags sont sauvés ! Les solutions... :: Les serveurs alternatifs :: FreeNabaztag - Les forces en présence-
Sauter vers: