Arduino & PureBasic

Informations pour bien débuter en PureBasic
Avatar de l’utilisateur
wood51
Messages : 122
Inscription : ven. 05/juin/2009 13:04
Localisation : orléans

Re: Arduino & PureBasic

Message par wood51 »

Code : Tout sélectionner

a$=Space(input)
        ReadSerialPortData(1,@a$,input)
        AddGadgetItem(2,0,a$)
Ça marche comme ça ?
Compétences : Bricoleur PureBasic du dimanche
Crâmage de cerveau en cours 100% :D
Projet en cours : http://purepicbasic.frenchboard.com/
G-Rom
Messages : 3641
Inscription : dim. 10/janv./2010 5:29

Re: Arduino & PureBasic

Message 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...
Avatar de l’utilisateur
graph100
Messages : 1318
Inscription : sam. 21/mai/2005 17:50

Re: Arduino & PureBasic

Message 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
_________________________________________________
Mon site : CeriseCode (Attention Chantier perpétuel ;))
Avatar de l’utilisateur
MetalOS
Messages : 1498
Inscription : mar. 20/juin/2006 22:17
Localisation : Lorraine
Contact :

Re: Arduino & PureBasic

Message 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.
Avatar de l’utilisateur
MetalOS
Messages : 1498
Inscription : mar. 20/juin/2006 22:17
Localisation : Lorraine
Contact :

Re: Arduino & PureBasic

Message 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
Avatar de l’utilisateur
wood51
Messages : 122
Inscription : ven. 05/juin/2009 13:04
Localisation : orléans

Re: Arduino & PureBasic

Message 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 ...
Compétences : Bricoleur PureBasic du dimanche
Crâmage de cerveau en cours 100% :D
Projet en cours : http://purepicbasic.frenchboard.com/
Avatar de l’utilisateur
graph100
Messages : 1318
Inscription : sam. 21/mai/2005 17:50

Re: Arduino & PureBasic

Message par graph100 »

il y a pas un soucis d'encodage des caractères ? unicode ou autre ?
_________________________________________________
Mon site : CeriseCode (Attention Chantier perpétuel ;))
Avatar de l’utilisateur
MetalOS
Messages : 1498
Inscription : mar. 20/juin/2006 22:17
Localisation : Lorraine
Contact :

Re: Arduino & PureBasic

Message 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 ?
Avatar de l’utilisateur
MetalOS
Messages : 1498
Inscription : mar. 20/juin/2006 22:17
Localisation : Lorraine
Contact :

Re: Arduino & PureBasic

Message 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.
nico
Messages : 3702
Inscription : ven. 13/févr./2004 0:57

Re: Arduino & PureBasic

Message 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.
Avatar de l’utilisateur
djes
Messages : 4252
Inscription : ven. 11/févr./2005 17:34
Localisation : Arras, France

Re: Arduino & PureBasic

Message 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...
Avatar de l’utilisateur
MetalOS
Messages : 1498
Inscription : mar. 20/juin/2006 22:17
Localisation : Lorraine
Contact :

Re: Arduino & PureBasic

Message 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:
Avatar de l’utilisateur
djes
Messages : 4252
Inscription : ven. 11/févr./2005 17:34
Localisation : Arras, France

Re: Arduino & PureBasic

Message 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...
Avatar de l’utilisateur
MetalOS
Messages : 1498
Inscription : mar. 20/juin/2006 22:17
Localisation : Lorraine
Contact :

Re: Arduino & PureBasic

Message 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() ?
Avatar de l’utilisateur
microdevweb
Messages : 1802
Inscription : mer. 29/juin/2011 14:11
Localisation : Belgique

Re: Arduino & PureBasic

Message 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
Windows 10 64 bits PB: 5.70 ; 5.72 LST
Work at Centre Spatial de Liège
Répondre