Page 2 sur 3

Re: Arduino & PureBasic

Publié : sam. 23/févr./2013 9:19
par wood51

Code : Tout sélectionner

a$=Space(input)
        ReadSerialPortData(1,@a$,input)
        AddGadgetItem(2,0,a$)
Ça marche comme ça ?

Re: Arduino & PureBasic

Publié : sam. 23/févr./2013 16:30
par G-Rom
MetalOS a écrit :Une CNC ??? Pour faire de la gravure de CI à l'anglaise ?
Entre autre , découpage de bois, pvc , metal , etc...

Re: Arduino & PureBasic

Publié : sam. 23/févr./2013 17:34
par graph100
Exactement, j'ai fait un exemple avec un Tag pour le temps :

Code : Tout sélectionner

OpenWindow(0, 0, 0, 400, 500, "", #PB_Window_ScreenCentered | #PB_Window_SystemMenu)

EditorGadget(0, 10, 10, 380, 480)

AddWindowTimer(0, 0, 500)
time = ElapsedMilliseconds()


Repeat
	event = WaitWindowEvent()
	
	If event = #PB_Event_Timer
		AddGadgetItem(0, 0, "[" + FormatDate("%hh:%ii:%ss", Date()) + "] : " + StrF((ElapsedMilliseconds()-time)/1000, 3) + " s")
		
	EndIf
	
Until event = #PB_Event_CloseWindow

End

Re: Arduino & PureBasic

Publié : sam. 23/févr./2013 18:02
par MetalOS
wood51 a écrit :

Code : Tout sélectionner

a$=Space(input)
        ReadSerialPortData(1,@a$,input)
        AddGadgetItem(2,0,a$)
Ça marche comme ça ?
Si j'utilise cette commande, le texte que m'envoie la carte arduino dans l'EditorGadget et scindé en deux. Voici un exemple ci-dessous.

Code : Tout sélectionner

SC:0

Osc dev changed to
O
anged to 0


OSC:0

Osc dev ch
v changed to 0


OSC:0

Osc de
v changed to 0


OSC:0

Osc de
Calib
enter...


Veuillez pati
Le "Veuillez patienter..." qui et en bas et coupé en deux avec des espaces alors qu'il devrait être sur une ligne comme le reste des commande affiché. J'ai seulement tesé sous Mac OS X et je vais essayer sur Windows et Linux voir si j'ai le même problème.

Re: Arduino & PureBasic

Publié : dim. 24/févr./2013 17:33
par MetalOS
Voila ce que ça me donne sous Windows le contenu de l'EditorGadget.

Code : Tout sélectionner

VYW‹±e/‚…tZ–‹•rÉr
áCX+‰Oªé0C¡j VÙ ,+¹gY¢½ j
Oªé0C¡j VÙ ,+¹gY¢½ j
Oªé0C¡j VÙ ,+¹gY¢½ j
Oªé0C¡j VÙ ,+¹gY¢½ j
Oªé0C¡j VÙ ,+¹gY¢½ j
Oªé0C¡j VÙ ,+¹gY¢½ j
Oªé0C¡j VÙ ,+¹gY¢½ j
Oªé0C¡j VÙ ,+¹gY¢½ j
Oªé0C¡j VÙ ,+¹gY¢½ j
Oªé0C¡j VÙ ,+¹gY¢½ j
Oªé0C¡j VÙ ,+¹gY¢½ j
Oªé0C¡j VÙ ,+¹gY¢½ j
Oªé0C¡j VÙ ,+¹gY¢½ j
Oªé0C¡j VÙ ,+¹gY¢½ j
Oªé0C¡j VÙ ,+¹gY¢½ j
Oªé0C¡j VÙ ,+¹gY¢½ j
U¹iëo]z™ ®¹gY	¡e¬
ʽu.º¥rZë± ^«É ®–k½r
¹dj…kYšÕrY‚¡y®kÍ +ÝsB…vYr½t¡aë•dHHI+ÑiX+éiëé
áDZ.WÉbY.j…s­5
GXˁBëÍtš•tzÕtÖëÉ.CáN+Íe2±oKSY¢½ æW¢¡rY®‹‘ ®¹
áS¥kY’•jY,Wë¹ ®¹
¡Ê¥tZ±i¯¹
¡½nVëé
áN+Íe2±oKé0C¡*¹ ªµ *h—+¹g.‚
¡*Ík"¥sWÉbY.‚
¡E:…i
½o.—‚
¡¥kY’•jY,Wë¹:¦HWXסdëTK•s‹‘:LHA•nWDjA

C'est du délire 8O

Re: Arduino & PureBasic

Publié : dim. 24/févr./2013 18:00
par wood51
Euh ??? Je donne ma langue au chat :-(
Essaye de faire un prog en console qui passe son temps a lire sur le port com et afficher ce qu'il reçoit . Juste le stricte minimum ...

Re: Arduino & PureBasic

Publié : dim. 24/févr./2013 18:24
par graph100
il y a pas un soucis d'encodage des caractères ? unicode ou autre ?

Re: Arduino & PureBasic

Publié : lun. 25/févr./2013 4:32
par MetalOS
Ce qui est bizarre c'est que sous Mac et Linux je n'est pas ce problème de caractères. Peut être une option au niveau du compilateur ?

Re: Arduino & PureBasic

Publié : lun. 25/févr./2013 9:30
par MetalOS
Je ne comprend franchement pas pourquoi AddGadgetItem() me coupe mes lignes de textes et ajoute des saut de lignes dans l'EditorGadget() alors qu'avec la commande SetGadgetText() les lignes s'affichent bien.

Re: Arduino & PureBasic

Publié : lun. 25/févr./2013 15:18
par nico
C'est un comportement normal, c'est codé ainsi.
Faudrait demander une fonction qui permet de rajouter du texte au fil de l'eau.

Re: Arduino & PureBasic

Publié : lun. 25/févr./2013 15:46
par djes
Avec certaines interfaces, un buffer intermédiaire existe, et le contenu n'est envoyé que si le buffer est rempli. On peut souvent changer la taille de ce buffer. Avec une taille d'un octet, on a une lecture "temps-réel". Je ne sais pas si ça peut aider...

Re: Arduino & PureBasic

Publié : mar. 26/févr./2013 4:48
par MetalOS
nico a écrit :C'est un comportement normal, c'est codé ainsi.
Faudrait demander une fonction qui permet de rajouter du texte au fil de l'eau.
Oui ça serais vraiment bien d'avoir ça pour l'EditorGadget(). Fred si tu passe par là :wink:

djes a écrit :Avec certaines interfaces, un buffer intermédiaire existe, et le contenu n'est envoyé que si le buffer est rempli. On peut souvent changer la taille de ce buffer. Avec une taille d'un octet, on a une lecture "temps-réel". Je ne sais pas si ça peut aider...
Franchement je ne sais pas. Quand je programme mon Arduino j'insert du texte à afficher dans le moniteur série de l'IDE Arduino pour le déboggage.

Exemple: (j'utilise une carte Arduino + un shield Ethernet)

Dans mon code Arduino si la carte Ethernet arrive à se connecter en DHCP alors j'envoie un message texte au moniteur série de l'IDE " DHCP Ok ". Ça me permet d'être sur que la carte et connecter.

Je peut faire ça pour indiquer si une LED et allumée ou éteinte ou pour plein d'autre choses. C'est un peut utiliser comme la fonction Debug() de PB.


Se que je cherche à faire c'est afficher ses indications dans un EditorGadget() mais, que l'EditorGadget() scroll en même temps que l'affichage de ses informations ce qu'il ne fait pas et qui est gênant car la carte Arduino envoie plein d'infos en permanence.

Il faut que je puisse trouver une solution, qui soit en même temps multiplateforme car c'est pour un futur projet qui je l'espère sera largement distribuer.

Autrement merci pour votre aide et désoler G-ROM de pourrir ton tuto :oops:

Re: Arduino & PureBasic

Publié : mar. 26/févr./2013 9:25
par djes
MetalOs> WaitWindowEvent(20) est peut-être un peu trop bloquant par rapport aux évènements envoyés simultanément sur le port série. Soit tu ré-écris ton code en utilisant les threads, soit tu gères plus finement les évènements Window/Série dans ta boucle principale. N'oublie pas aussi que ReadSerialPortData() est une fonction bloquante...

Re: Arduino & PureBasic

Publié : mar. 26/févr./2013 16:59
par MetalOS
djes a écrit :MetalOs> WaitWindowEvent(20) est peut-être un peu trop bloquant par rapport aux évènements envoyés simultanément sur le port série. Soit tu ré-écris ton code en utilisant les threads, soit tu gères plus finement les évènements Window/Série dans ta boucle principale. N'oublie pas aussi que ReadSerialPortData() est une fonction bloquante...
Je vais tenter avec un Thread. Pour la lecture du port série il n'y à rien d'autre à part ReadSerialPortData() ?

Re: Arduino & PureBasic

Publié : sam. 09/mars/2013 10:01
par microdevweb
Bonjour,

Whaaww à savoir ça, je viens juste de terminer un soft qui contrôle 88 leds à l'aide d'un fichier midi... Bon à savoir pour l'avenir