Open KiwiHC16 opened 6 years ago
Côté firmware, je ne trouve aucune modification des .h, .c par contre visiblement un main.c complet qui doit être exécuté sur un bouton xiaomi avec le JN5169. Est ce bien cela ? (Makefile APPSRC += main.c UartBuffered.c Queue.c Printf.c -> compilé sur un linux)
Sur quel type de bouton tu as fait tourné le truc ? Je vois 2 PIN en entrée dans le code mais le bouton que je possède n'a qu'un bouton accessible.
As tu ajouté la date sur chaque paquet ?
u8tstFrame[0] = ((uint8_t*)&u32Seconds)[3];
u8tstFrame[1] = ((uint8_t*)&u32Seconds)[2];
u8tstFrame[2] = ((uint8_t*)&u32Seconds)[1];
u8tstFrame[3] = ((uint8_t*)&u32Seconds)[0];
u8tstFrame[4] = ((uint8_t*)&u32Fraction)[3];
u8tstFrame[5] = ((uint8_t*)&u32Fraction)[2];
u8tstFrame[6] = ((uint8_t*)&u32Fraction)[1];
u8tstFrame[7] = ((uint8_t*)&u32Fraction)[0];
Exact, c’est le temps depuis le dernier reset qui est renseigné dans le champ date.
Le 30 janv. 2018 à 11:43, Ben notifications@github.com a écrit :
As tu ajouté la date sur chaque paquet ?
u8tstFrame[0] = ((uint8_t)&u32Seconds)[3]; u8tstFrame[1] = ((uint8_t)&u32Seconds)[2]; u8tstFrame[2] = ((uint8_t)&u32Seconds)[1]; u8tstFrame[3] = ((uint8_t)&u32Seconds)[0]; u8tstFrame[4] = ((uint8_t)&u32Fraction)[3]; u8tstFrame[5] = ((uint8_t)&u32Fraction)[2]; u8tstFrame[6] = ((uint8_t)&u32Fraction)[1]; u8tstFrame[7] = ((uint8_t)&u32Fraction)[0]; — You are receiving this because you are subscribed to this thread. Reply to this email directly, view it on GitHub, or mute the thread.
Hello,
Super que tu testes! Ok, je vais corriger le truc et refaire un push...
Jérôme.
Le 30 janv. 2018 à 11:14, Ben notifications@github.com a écrit :
Salut Jerome-PS, J'essaye de faire marcher ta version en partant de la mienne et en avancent pas à pas. Je suis sous windows 7 Premiere étage: script Sniff.py
cd répertoire du script lancement du script -> plantage, il manque le () pour les appels à print -- print "" => print("") Je relance Wireshark s'ouvre mais se plaint de zb.lua
-- si je mets cette ligne en commentaire alors plus d erreur mais cela ne fonctionne pas, pas surprenant. -- Je mets donc des \ partout. Il semble content mais apres il ne trouve pas ser car non defini... — You are receiving this because you are subscribed to this thread. Reply to this email directly, view it on GitHub, or mute the thread.
Effectivement presque tout se passe dans le main.c
Le 30 janv. 2018 à 11:33, Ben notifications@github.com a écrit :
Côté firmware, je ne trouve aucune modification des *.h, $.c par contre visiblement un main.c complet. Est ce bien cela ?
— You are receiving this because you are subscribed to this thread. Reply to this email directly, view it on GitHub, or mute the thread.
Il s’agit du bouton principal et du bouton au fond d’un petit trou pour demander l’appariement. Mais pour l’instant ça ne fait rien, surtout si le #define est commenté...
Jérôme.
Le 30 janv. 2018 à 11:40, Ben notifications@github.com a écrit :
Sur quel type de bouton tu as fait tourné le truc ? Je vois 2 PIN en entrée dans le code mais le bouton que je possède n'a qu'un bouton accessible.
ifdef XIAMO_SMART_BUTTON
define LED_PIN_BIT (1 << 11)
define MAIN_PIN_BIT (1 << 16)
define PAIR_PIN_BIT (1 << 0)
endif //def XIAMO_SMART_BUTTON
— You are receiving this because you are subscribed to this thread. Reply to this email directly, view it on GitHub, or mute the thread.
Est-ce que tu utilises python 2 ou python 3?
Est-ce que tu peux tester avec le nouveau commit?
Sur la base de mon premier post j ai reussi a compile pour un JN5168 (C est ce que j ai), le programmer, lancer sniffer.py, avoir wireshark, lancer le menu ZB-> start avoir les traces qui démarrent mais crash.
D'accord, j'ai testé avec Python 2.7 ... Faut que j'installe Python3 du coup
C'est le code qui reouvre le pipe qui est à changer... Tu peux mettre un print(dir(e)) entre la ligne 123 et 124 de Sniff.py (juste avant le if(e[0]...
Je n'ai pas récupéré ton push car les modifs sont celles que j'ai dans ma version. Dans le code il y a le traitement de l exception 109, c'est donc probabement un cas que tu as deja rencontré. Une idée sur le problème ? Est ce que tu essayes aussi sous windows ?
Dans le main.c j ai du commenter 2 instructions pour pouvoir compiler pour le JN5168: vJPT_GetRadioConfig(&u32RadioParamVersion); vJPT_SetMaxInputLevel(E_MAX_INP_LEVEL_10dB); mais je ne pense pas que cela explique le plantage python.
Avec le print(dir(e))
Ce script ne sert que sous Windows (j'ai testé sous Windows 10). En fait quand le scipt lua a fini d'écrire, il ferme le pipe, ce qui le ferme aussi côté python, donc il faut le rouvrir (ce que fait le code de traitement de l'exception). Mais le code d'accès au contenu de l'exception doit être différent entre python3 et python2, ce qui pose le problème...
Sais tu ou trouver le fichier pipe dans windows ? Impossible de le trouver...
Tu peux mettre un print(e.winerror) entre la ligne 123 et 124 de Sniff.py (juste avant le if(e[0]...
J ai aussi essayé d'enlever les com:close() dans lua pour function zbstart() mais aussi un problème.
Pour la compil pour JN5168, merci de l'info, je vais ajouter un #ifdef pour que ça marche à la fois avec JN5168 et JN5169.
Pour print(e.winerror) Y aussi le print("<0:x>".format(ord(data))), que j enleve pour la suite
Sais tu ou trouver le fichier pipe dans windows ? Impossible de le trouver... <<<< Je ne comprends pas ta question
remplace e[0]==109 par e.winerror==109
Ce script ne sert que sous Windows (j'ai testé sous Windows 10). En fait quand le scipt lua a fini d'écrire, il ferme le pipe, ce qui le ferme aussi côté python, donc il faut le rouvrir (ce que fait le code de traitement de l'exception). Mais le code d'accès au contenu de l'exception doit être différent entre python3 et python2, ce qui pose le problème...
C est ma comprehension aussi mais python plante et lua ne trouve plus le pipe. C est comme si python ne parvient pas a recréer le pipe. Pour ino python ne rend pas la main je suis obligé de le tuer (y aussi des dumpcap.exe qui restent de temps en temps)
remplace e[0]==109 par e.winerror==109 et ça devrait arrêter de planter... Pour tuer le script python, tu peux faire CTRL+Pause dans ta fenêtre de ligne de commande.
C est mieux avec remplace e[0]==109 par e.winerror==109
python en crash plus. Par contre si j envoie des commandes de puis le menu lua, rien ne se passe. Je ne sais pas si le JN516x recoit la moindre demande.
Pour tuer le script python, tu peux faire CTRL+Pause dans ta fenêtre de ligne de commande.
en fait non car je suis dans une VM mais c est pas grave, le gestionnaire de tache fait le boulot.
J arrete pour l instant. Si tu peux faire les tests de ton coté a me dire ce que tu trouves....
OK, je vais essayer de tester avec Python3, sinon, tu peux essayer avec Python2 aussi si tu veux...
Par contre, le 232 arrive dans le writefile, donc ce serait plutôt que tu as fermé wireshark ou coupé la capture...
Chez moi ça a l'air de marcher avec Python3 et Windows 10... (avec le dernier commit)
Je regarderai de nouveau dans les jours à venir en fonction aussi des modifs que j'ai faites.
Salut Jerome-PS, J'essaye de faire marcher ta version en partant de la mienne et en avancent pas à pas. Je suis sous windows 7 Premiere étage: script Sniff.py
Côté wireshark ca semble ok maintenant, je passe a la compile du firmware.