Audiyofan
Audiyofan




Poster un nouveau sujet Répondre au sujet  [ 532 messages ]  Aller à la page Précédente  1 ... 16, 17, 18, 19, 20, 21, 22 ... 36  Suivante
Auteur Message
 Sujet du message: Re: Lampemetre
MessagePosté: Lun 21 Jan 2013, 07:06 
Hors ligne
Membre Assidu
Avatar de l’utilisateur

Inscription: Dim 09 Oct 2011, 16:53
Messages: 198
Localisation: 15kms sud Rennes
Bonjour,

Ci joint une première mouture de ping_pong_chaine_µC.
On en est au stade Beta.

Que fait ping_pong_chaine_µC ?

Pour l'instant ping_pong_chaine_µC est un stupide répondeur. J'ai
retiré la notion de numéro de commande. Cela ne sert qu'à valider
la transmission de valeurs numériques.
Si tout se passe bien, Gambas envoie une chaine de caractères
vers le µC et reçoit une chaine de caractères du µC.


Comment ça marche:

Par la rs232, ping_pong_chaine_µC prend une valeur numérique
flottante exprimée sous la forme d'une chaine de caractères.
(voir restrictions plus loin)
Il l'interprète et si il comprend la chaine, il la transforme en "float"
Puis, il prend ce "float" et le transforme en chaine de caractères qu'il
émet par la rs232.

C'est tout.

Restrictions et conditions d'usage:

La chaine de caractère qui représente la valeur numérique doit
se terminer par un Line Feed (LF).
La valeur ne doit pas dépasser (en valeur absolue) 32768.
Le symbole du signe moins est "-"
Le symbole de la virgule est "."

ping_pong_chaine_µC retourne (au choix) entre 0 et 4 décimales.
Pour le moment, j'ai fixé le retour à 3 décimales.

Un exemple sous cutecom: (bien observer les paramètres)
A noter que lors de l'envoi d'un fichier, il faut régler
le débit à 10ms sinon le µC n'a pas le temps de tout
traiter et il perd des infos (la rs232 est en asynchrone)

Le mot du programmeur:

J'ai programmé "à l'arrache". Il y a sans doute des bugs.
C'est pourquoi je livre cette version qui doit être testée
par d'autres que moi.

Au début, j'ai essayé d'utiliser les fonctions "sprintf" du C.
Mais celles ci ne sont pas intégralement transposées dans les
librairies AVR. J'ai donc dû faire un interpréteur à ma sauce.
Ca à l'air de fonctionner mais ce n'est pas forcément optimal.
Le temps d'interprétation n'est pas nul.


Fichiers joints:
cute01.png
cute01.png [ 44.94 Kio | Vu 5373 fois ]
ping_pong.tar [140 Kio]
Téléchargé 262 fois

_________________
Cordialement
Phil
(http://bidulic.free.fr)
Haut
 Profil  
 
 Sujet du message: Re: Lampemetre
MessagePosté: Lun 21 Jan 2013, 07:30 
Hors ligne
Site Admin
Avatar de l’utilisateur

Inscription: Mer 01 Oct 2003, 22:47
Messages: 9143
Localisation: St Mathieu de Tréviers près de Montpellier
Merci Philbob

Je te zieute ça et te tiens au courant

Bonne journée

_________________
Ce qui est pris n'est plus a prendre


Haut
 Profil  
 
 Sujet du message: Re: Lampemetre
MessagePosté: Lun 21 Jan 2013, 21:50 
Hors ligne
Site Admin
Avatar de l’utilisateur

Inscription: Mer 01 Oct 2003, 22:47
Messages: 9143
Localisation: St Mathieu de Tréviers près de Montpellier
Bonsoir Philbob

J'ai essayé ton Ping_Pong_V02 , et il beug
je l'ai rentré sous C:B je compile et j'ai une liste de bug , je te la joint au post

Le prog chargé fait défiler le chenillard mais ne réponds pas ce qui est attendu
j'ai bien fait gaffe au setup de CuteCom

Là je bosse sous Kicad sur mon USB=>RS232 converter , un petit PCB qui sera soit
entrée USB soit entrée RS232 , la partie RS232 converter à base d'un AT90s2313
Comme cela je pourrais continuer avec le port /dev/ttyS0 sur ma tour
et un port com virtuel (/dev/ttyUSB0 :?: )sur mon laptop

Si le proto est fonctionnel, je posterai les fichiers :mrgreen:

A+


Fichiers joints:
Ping_Pong_V02.log.tar.bz2 [10 Kio]
Téléchargé 260 fois

_________________
Ce qui est pris n'est plus a prendre
Haut
 Profil  
 
 Sujet du message: Re: Lampemetre
MessagePosté: Lun 21 Jan 2013, 22:37 
Hors ligne
Membre Assidu
Avatar de l’utilisateur

Inscription: Dim 09 Oct 2011, 16:53
Messages: 198
Localisation: 15kms sud Rennes
Bonjour,

Dans la routine suivante:

//reception d'une valeur quelconque
uint8_t rs232_rx_valeur(void)
{
uint8_t i;
uint8_t n;
uint8_t nc;
uint8_t suite;
unsigned char c[30];
char mess[50]; <------------ c'est là !
uint8_t valid;
uint8_t cpt;
int8_t signe;
int8_t posv;
float v;
float mul;
...
...
...


Déclarer char mess[50]; et non unsigned char mess[50];

C'est la cause des warnings
pointer targets in passing argument 1 of 'strcpy' differ in signedness [-Wpointer-sign]....

Pour le reste, ce ne sont que des variables non utilisées.

Cela étant, je ne suis pas sûr que cela arrange les affaires.

_________________
Cordialement
Phil
(http://bidulic.free.fr)


Haut
 Profil  
 
 Sujet du message: Re: Lampemetre
MessagePosté: Lun 21 Jan 2013, 22:41 
Hors ligne
Site Admin
Avatar de l’utilisateur

Inscription: Mer 01 Oct 2003, 22:47
Messages: 9143
Localisation: St Mathieu de Tréviers près de Montpellier
Re

je fait l'essai de suite

Sinon jette un oeil là , http://www.gambasforge.org/sujet-4395-dialogue-via-rs232-entre-une-ihm-en-gambas3-et-un-controleur-page-2.html#m19

Peut être une piste à exploiter

j'y retourne :mrgreen:

_________________
Ce qui est pris n'est plus a prendre


Haut
 Profil  
 
 Sujet du message: Re: Lampemetre
MessagePosté: Lun 21 Jan 2013, 23:03 
Hors ligne
Membre Assidu
Avatar de l’utilisateur

Inscription: Dim 09 Oct 2011, 16:53
Messages: 198
Localisation: 15kms sud Rennes
Bonjour,

Oui, La réponse de Flashy Joe sur le forum Gambas est intéressante.

Il indique que tu peux déclarer une variable en "single" et sa méthode
exposée au post #17 doit fonctionner pour dummy_12AX7.
Seul inconvénient, on ne peut pas vérifier sous cutecom.

Reste bien sûr à vérifier si la définition de "single" sous Gambas
et sur un PC 64 bits est conforme à l'IEEE754. Si c'est le cas alors
Bingo!

Sinon on poursuit avec la version chaine de caractères.

_________________
Cordialement
Phil
(http://bidulic.free.fr)


Haut
 Profil  
 
 Sujet du message: Re: Lampemetre
MessagePosté: Lun 21 Jan 2013, 23:03 
Hors ligne
Site Admin
Avatar de l’utilisateur

Inscription: Mer 01 Oct 2003, 22:47
Messages: 9143
Localisation: St Mathieu de Tréviers près de Montpellier
Re

Pas mieux au niveau répondeur mais la liste des beug diminue tub18

Je pense que c'est la ligne 471 qui pose souci
je l'ai lue mais quoi faire :oops: :oops: :oops: :oops:
j'ai ajouter le n° de ligne dans le log pour pas chercher :wink:

A+

_________________
Ce qui est pris n'est plus a prendre


Haut
 Profil  
 
 Sujet du message: Re: Lampemetre
MessagePosté: Lun 21 Jan 2013, 23:06 
Hors ligne
Site Admin
Avatar de l’utilisateur

Inscription: Mer 01 Oct 2003, 22:47
Messages: 9143
Localisation: St Mathieu de Tréviers près de Montpellier
Messages croisés

J'ai essayé sa méthode mais pour afficher la bonne led ( elle affiche la bonne led d'aiulleurs c'est
déjà ça :mrgreen: ) il me faut appuyer 5 fois sur envois, donc on but sur un détail , mais lequel :oops:

Je retourne au dummy_tracer pour d'autres essais

A+

_________________
Ce qui est pris n'est plus a prendre


Haut
 Profil  
 
 Sujet du message: Re: Lampemetre
MessagePosté: Lun 21 Jan 2013, 23:12 
Hors ligne
Membre Assidu
Avatar de l’utilisateur

Inscription: Dim 09 Oct 2011, 16:53
Messages: 198
Localisation: 15kms sud Rennes
Bonjour,

Chez moi la ligne 471 c'est:

c[i]=ct;

Comme c est un tableau d'unsigned char et ct est un uint8_t (ce qui est identique),
il se peut que le compilo couine.

Dans ce cas, il faut "caster" le ct en unsigned char comme ci dessous.


c[i]=(unsigned char)ct;

_________________
Cordialement
Phil
(http://bidulic.free.fr)


Haut
 Profil  
 
 Sujet du message: Re: Lampemetre
MessagePosté: Lun 21 Jan 2013, 23:43 
Hors ligne
Site Admin
Avatar de l’utilisateur

Inscription: Mer 01 Oct 2003, 22:47
Messages: 9143
Localisation: St Mathieu de Tréviers près de Montpellier
Re

Pas mieux avec unsigned

par contre si je déclare i = 30 par exemple
le 5ème message d'erreur disparait , le unibitialized :mrgreen:

To be continued

_________________
Ce qui est pris n'est plus a prendre


Haut
 Profil  
 
 Sujet du message: Re: Lampemetre
MessagePosté: Mar 22 Jan 2013, 00:16 
Hors ligne
Site Admin
Avatar de l’utilisateur

Inscription: Mer 01 Oct 2003, 22:47
Messages: 9143
Localisation: St Mathieu de Tréviers près de Montpellier
Hep , une petite news

avec le dummy_tracer , j'ai ajouté un bouton avec un petit bout de code
et j'allume les led des séquences correctement , reste à voir si la valeur de cmde est reçue
et si le µc renvoie la mesure , bref du grain à moudre

le hic car il y a toujours un hic , à l'ouverture du prog
pour la première commande un seul click est nécessaire et suffisant
pour afficher la bonne led

la bricole qui m'allume les bonnes leds ensuite

Code:
Public Sub Button3_Click()
  Dim V As Integer
 
  For V = 1 To 5 Step 1
    Button2_Click()
  Next

End


La nuit portera conseil

A+

_________________
Ce qui est pris n'est plus a prendre


Haut
 Profil  
 
 Sujet du message: Re: Lampemetre
MessagePosté: Mar 22 Jan 2013, 22:53 
Hors ligne
Site Admin
Avatar de l’utilisateur

Inscription: Mer 01 Oct 2003, 22:47
Messages: 9143
Localisation: St Mathieu de Tréviers près de Montpellier
Bonsoir Philbob

Après quelques essais infructueux sous Gambas avec le code à base d'alloc()

J'ai refait un essai de ton ping_pong_chaîne

on progresse avec tes modif de hier soir
voici ce que me répond Cutecom

On progresse

Bonne nuit


Fichiers joints:
Cutecom_essai_ping_pong_v02.png
Cutecom_essai_ping_pong_v02.png [ 66.3 Kio | Vu 5320 fois ]

_________________
Ce qui est pris n'est plus a prendre
Haut
 Profil  
 
 Sujet du message: Re: Lampemetre
MessagePosté: Mar 22 Jan 2013, 23:18 
Hors ligne
Membre Assidu
Avatar de l’utilisateur

Inscription: Dim 09 Oct 2011, 16:53
Messages: 198
Localisation: 15kms sud Rennes
Bonjour,

Ouaip! :evil:

Le même progr µC (ping_pong_chaine), le même prog PC (cutecom)
Ca marche chez moi, pas chez toi ! C'est louche.

Quelles sont les différences: :?:

Chez moi: PC 32 bits sous linux, liaison par port ttyS1 ou ttysUSB0
Chez toi: PC 64 bits sous linux, liaison par port ttyS0
A priori la nature du port com n'est pas en cause.
(Ca fonctionne même avec un convertisseur usb/rs232)

Il y a bien le PC, mais j'ai des doutes. Comme je dispose d'un 64 bits,
je vais faire l'essai.

Reste les librairies AVR.

As tu essayé de télécharger directement mon code hex sans le recompiler ?
Ca permet de voir si le code machine généré chez moi est différent du tien.

A ce propos, je joints mon code hex, de ton coté, passe moi le tien pour que je
le teste directement....


Fichiers joints:
ping_pong_chaine.tar [140 Kio]
Téléchargé 270 fois

_________________
Cordialement
Phil
(http://bidulic.free.fr)
Haut
 Profil  
 
 Sujet du message: Re: Lampemetre
MessagePosté: Mar 22 Jan 2013, 23:45 
Hors ligne
Membre Assidu
Avatar de l’utilisateur

Inscription: Dim 09 Oct 2011, 16:53
Messages: 198
Localisation: 15kms sud Rennes
Bonjour,

Je viens de faire le test en compilant ping_pong_chaine sous code blocks.
Le compilo couine avec l'include

#include </usr/avr/include/stdint.h>

Je l'ai donc viré et là ça compile.

J'ai téléchargé le code et.....
ça fonctionne pas!

On a donc un problème de librairies.

Je creuse le truc.

_________________
Cordialement
Phil
(http://bidulic.free.fr)


Haut
 Profil  
 
 Sujet du message: Re: Lampemetre
MessagePosté: Mar 22 Jan 2013, 23:49 
Hors ligne
Membre Assidu
Avatar de l’utilisateur

Inscription: Dim 09 Oct 2011, 16:53
Messages: 198
Localisation: 15kms sud Rennes
Bonjour,

Contradictoire !!! :?:

Je viens de re refaire l'essai code blocks et ça marche !

Je pense que cutecom nous fout dedans de temps en temps. :twisted:
c'est à n'y rien comprendre. tub13

_________________
Cordialement
Phil
(http://bidulic.free.fr)


Haut
 Profil  
 
Afficher les messages postés depuis:  Trier par  
Poster un nouveau sujet Répondre au sujet  [ 532 messages ]  Aller à la page Précédente  1 ... 16, 17, 18, 19, 20, 21, 22 ... 36  Suivante

Heures au format UTC + 1 heure


Qui est en ligne

Utilisateurs parcourant ce forum: Aucun utilisateur enregistré et 0 invités


Vous ne pouvez pas poster de nouveaux sujets
Vous ne pouvez pas répondre aux sujets
Vous ne pouvez pas éditer vos messages
Vous ne pouvez pas supprimer vos messages
Vous ne pouvez pas joindre des fichiers

Aller à:  
Powered by phpBB © 2000, 2002, 2005, 2007 phpBB Group
Traduction par: phpBB-fr.com