Gambas France BETA


Pas de compte ? Incription

premier essai gambas 3 / Librairies / k8055 velleman

12
AuteurMessages
O.Coquet#1 Posté le 1/5/2017 à 17:40:01
Ce qui n'est pas devra-t-être inventéBonjour à tous, (version modifiée du 08/05/2017)

je me suis lancé depuis quelques semaines dans la mise en place d'un projet qui pilote, à partir de Gambas 3, la carte velleman k8055 USB (description ici).
J'ai un peu galéré pour utiliser la bibliothèke libk8055 sous linux, non pas que cela soit mal expliqué dans le wiki mais j'ai eu quelques doutes concernant la transmission de variable en paramètres.
En fait j'étais parti sur des pointeurs alors qu'un simple varptr devant la variable suffit.

Aujourd'hui ma version de test fonctionne correctement, je la finalise encore un peu et je la mets à dispo de ts le monde.

Mon second projet sera basé sur celui-ci mais avec une plus grande utilité que de simples tests.

Je veux remplacer le tableau d'instruments de ma 106 par un mini eepc dell 10" sous linux, lui-même relié à la carte K8055 chaque port de la carte servira a commander ou consulter les capteurs de la voiture.

Directe sur la carte:
entrée Port digital 1: Boite de vitesse -compte tour (compteur 1) (OK)
entrée Port digital 2: Boite de vitesse -compteur Kilomètrique (compteur 2)(OK)(Capteur à modifier 10 impulsions pour un tour de roue)

Entrées multiplexées par le port de sortie digitale n°1 et 2:

MX0:
entrée Port digital 3: Clignotant gauche
entrée Port digital 4: Clignotant droit
entrée Port digital 5: Alerte pression d'huile

MX1:
entrée port digital 3: Veilleuses
entrée port digital 4: codes
entrée port digital 5: pleins phares

MX2:
entrée port digital 3: Porte Ouverte
entrée port digital 4: Frein à main
entrée port digital 5: Dégivrage arrière

MX3:
entrée port digital 3: Anti-brouillard arrière
entrée port digital 4: niveau de liquide de freins
entrée port digital 5: ?


Les deux entrées analogique (0v - 5v) multiplexées par la sortie digitale n°3:

MX1:
entrée Analogique 1: Niveau d'essence (OK)
entrée Analogique 2: Température d'eau (OK)

MX2:
entrée Analogique 1: Capteur de luminosité (pour allumage auto des phares)
entrée Analogique 2: Capteur de température extérieure.

Les sortie digitales restantes:

sortie digitale 4:Allumage automatique des phares
sortie digitale 5:?
sortie digitale 6:?
sortie digitale 7:?
sortie digitale 8:?

Rien de prévu pour l'instant sur les deux sorties analogique (0v-5v)

Voila pour ma réflexion du moment, je vous tiens au courant des évolutions, et reste ouvert à vos suggestions.

PS: bien sur tout sera piloté par gambas :)))))

Olivier
Amitié
Olivier (Alias Olinux)

Raspberry pi 3 et 4, pc Xubuntu, Arduino.....
Quelques autres "vieux" ordinateurs !
Et un bon fer à souder
spheris#2 Posté le 2/5/2017 à 17:00:02
Olivier,
Je suivrai tes posts avec intérêts car j'utilise la k8055, (baptisé VM110la version réduite et montée à l'acchat) au quotidien et je pourrai te donner quelques tuyaux.
A bientôt et bon courage.
;)

tu as les pilotes de la libUSB version 1 ici en paquet deb, et l'executable k8055 ici aussi :
version i386.

n'oublies pas de rajouter la k8055 à ton groupe d'utilisateur et de changer les permissions, et ed copier le fichier velleman.rules au bon endroit.

http://gambaslinux.fr/articles.php?lng=fr&pg=2084
http://gambaslinux.fr/articles.php?lng=fr&pg=289
O.Coquet#3 Posté le 4/5/2017 à 08:33:57
Ce qui n'est pas devra-t-être inventéMerci de ces conseils, j'avais déjà bien galèré mais ça marche proprement chez moi.

Un petit bug dans la lib: l'ouverture et la fermeture de la connexion réinitialise les valeurs des sorties..... :)

j'ai mis du temps à comprendre.

Amitié
olivier
Amitié
Olivier (Alias Olinux)

Raspberry pi 3 et 4, pc Xubuntu, Arduino.....
Quelques autres "vieux" ordinateurs !
Et un bon fer à souder
O.Coquet#4 Posté le 8/5/2017 à 19:16:51
Ce qui n'est pas devra-t-être inventéJ'ai modifié le projet (voir premier message) pour ajouter quelques entrées digitales....

Amitié
Olivier
Amitié
Olivier (Alias Olinux)

Raspberry pi 3 et 4, pc Xubuntu, Arduino.....
Quelques autres "vieux" ordinateurs !
Et un bon fer à souder
spheris#5 Posté le 9/5/2017 à 00:51:26
Olivier,
Ou récupères-tu les entrées de la voiture?
sur le connecteur ODB2 ou directements sur les organes ? 'lampes,boutons, etc...
O.Coquet#6 Posté le 9/5/2017 à 12:01:57
Ce qui n'est pas devra-t-être inventédirectement sur les arrivées tableau de bord c'est plus simple.....

amitié
Olivier
Amitié
Olivier (Alias Olinux)

Raspberry pi 3 et 4, pc Xubuntu, Arduino.....
Quelques autres "vieux" ordinateurs !
Et un bon fer à souder
spheris#7 Posté le 9/5/2017 à 12:38:50
Et où comptes-tu mettre toute l'électronique?
Concernant l'ordi sous GB qui gère tout cela, J'utilise un raspberry PIB+ + écran tactile 7 pouces.
J'ai compilé les librairies pour la k8055. Hyper simple à faire.
Et puis le rasberry fonctionne sous 5VDC.
;)
O.Coquet#8 Posté le 9/5/2017 à 13:16:26
Ce qui n'est pas devra-t-être inventépour ma part j'utiliserais un dell ecrant 10"
pour l'instant electronique volante, a terme je compte carrément remplacer le tableau de bord d'origine.
J'ai mis mon test dans la forge si ça peut t'aider...

Amitié
Olivier
Pour la rasbery a voir, je suis au chomage donc pas la forune en ce moment !!!!
Amitié
Olivier (Alias Olinux)

Raspberry pi 3 et 4, pc Xubuntu, Arduino.....
Quelques autres "vieux" ordinateurs !
Et un bon fer à souder
O.Coquet#9 Posté le 9/5/2017 à 14:06:45
Ce qui n'est pas devra-t-être inventéVoila, j'ai mis mon premier prog dans la force!

Un test général de la K8055 Velleman et de la librairie libk8055

A noter que la librairie doit être installée et que la carte doit etre connectée avec l'adresse 0 pour que ce test fonctionne.

Amusez vous avec ca :)

Olivier
Amitié
Olivier (Alias Olinux)

Raspberry pi 3 et 4, pc Xubuntu, Arduino.....
Quelques autres "vieux" ordinateurs !
Et un bon fer à souder
spheris#10 Posté le 9/5/2017 à 15:14:05
Je vais essayer ton programme.
Un coup d'oeil rapide sur ton code me montre que nous utilisons pas du tout la k8055 de la même manière.
Cependant ton code est propre et gage de qualité !
;)
O.Coquet#11 Posté le 9/5/2017 à 15:46:25
Ce qui n'est pas devra-t-être inventétien je iens d'en decouvrir une sympa en fouillant dans le source de la librairie
si comme moi tu utilises la librairie en t'appuyant sur la doc velleman v1, il y a une nouvelle fonction que l'on ne voit pas dedans et qui est bien pratique.

Extern SearchDevices() As Long In "libk8055"

te retourne un entier long entre 1 et 4 qui correspond à l'adresse de la carte si elle est connectée
si elle ne l'est pas, te retourne 0

Et le tout sans segmentation fault sous gambas !!!!!
un régal

amitié
Olivier
Amitié
Olivier (Alias Olinux)

Raspberry pi 3 et 4, pc Xubuntu, Arduino.....
Quelques autres "vieux" ordinateurs !
Et un bon fer à souder
spheris#12 Posté le 9/5/2017 à 21:57:01
Olivier,
Peux-tu m'expliquer quel a été ton raisonnement pour fouiller dans les sources de la libk8055 pour trouver cette astuce?
J'aimerai comprendre comment tu as trouvé cette astuce, car je n'ai malheureusement pas ton niveau en informatique.
;)
O.Coquet#13 Posté le 10/5/2017 à 08:07:04
Ce qui n'est pas devra-t-être inventéEt bien, une librairie est écrite en 'c',
Comme il faut la compiler pour l'installer, cela veut dire que l'on a les sources (fichier se terminant par: .c).
Donc ce fichier est du texte. Les prommaeurs 'C' sont généralement plus rigoureux que nous, donc chaque fonction est bien commentée.
après, tu charge le fichier '.c' dans un éditeur de texte, et tu lis, en général tu trouves pas mal de choses....
en l'occurence, il y a une autre fonction (long SetCurrentDevice(long deviceno)) dont j'ignore l'utilité.....

voili, voilou....il faut toujours jetter un oeil aux sources, même si tu les comprends pas, tu y découvres toujours des choses intéressantes.

amitié
Olivier
Amitié
Olivier (Alias Olinux)

Raspberry pi 3 et 4, pc Xubuntu, Arduino.....
Quelques autres "vieux" ordinateurs !
Et un bon fer à souder
O.Coquet#14 Posté le 10/5/2017 à 09:02:19
Ce qui n'est pas devra-t-être inventéPour ceux qui ne le remarquent pas, je modifie le premier message en y insérant les évolutions.
Le (OK) à droite de chaque fonction indique que la fonction est opérationnelle en affichage et en logique de détection (hors connexion avec le véhicule pour l'instant).

Amitié
Olivier
Amitié
Olivier (Alias Olinux)

Raspberry pi 3 et 4, pc Xubuntu, Arduino.....
Quelques autres "vieux" ordinateurs !
Et un bon fer à souder
spheris#15 Posté le 10/5/2017 à 11:35:12
long SetCurrentDevice(long deviceno) te fixe/retourne le numéro de la k8055 sélectionnée si tu en as deux ou plus de connecté à ton ordi.
12