Ce sujet est résolu.
1 | |||
Auteur | Messages | ||
---|---|---|---|
PapyBasic | #1 Posté le 4/4/2014 à 11:01:33 | ||
"Parfois l'obstination est une voie !" | Bonjour à toutes et à tous, Voilà, je rebloque sur un programme. L'idée est d'extraire les datas provenant d'un MAX 187, afin de réaliser un sismographe monovoie sous Gambas2. J'ai besoin de 12 tops d'horloge pour ré-combiner le poids issue du MAX 187. En décomptant ! Je suppose que dans mes déclarations ( float, string, integer .....) je me plante. Mais je barbote et ne trouve pas. Si un Gambassien a un tuyau étanche pour Pépère ! . . . D'avance merci; le code qui est un une déformation de l'excellent programme de Pierre "LaPenduleDArgent" Gambas class file '*************************************************************************** ' ' (C) 2009 Deswysen Pierre <info@horlogedantan.com> ' ' ' This program is free software; you can redistribute it and/or modify ' it under the terms of the GNU General Public License as published by ' the Free Software Foundation; either version 1, or (at your option) ' any later version. ' ' This program is free software; you can redistribute it and/or modify ' it under the terms of the GNU General Public License as published by ' the Free Software Foundation; either version 1, or (at your option) ' any later version. ' ' This program is distributed in the hope that it will be useful, ' but WITHOUT ANY WARRANTY; without even the implied warranty of ' MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the ' GNU General Public License for more details. ' ' You should have received a copy of the GNU General Public License ' along with this program; if not, write to the Free Software ' Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA. ' '*************************************************************************** 'AFFECTATION DES VARIABLES ' ' Sortie PUBLIC Broche_2 AS Byte = "1" 'Sortie, 378, BAS PUBLIC Broche_3 AS Byte = "2" 'Sortie, 378, BAS PUBLIC Broche_4 AS Byte = "4" 'Sortie, 378, BAS PUBLIC Broche_5 AS Byte = "8" 'Sortie, 378, BAS PUBLIC Broche_6 AS Byte = "16" 'Sortie, 378, BAS PUBLIC Broche_7 AS Byte = "32" 'Sortie, 378, BAS PUBLIC Broche_8 AS Byte = "64" 'Sortie, 378, BAS PUBLIC Broche_9 AS Byte = "128" 'Sortie, 378, BAS PUBLIC Broche_1 AS Byte = "1" 'Sortie, 37A, Haut PUBLIC Broche_14 AS Byte = "2" 'Sortie, 37A, Haut PUBLIC Broche_16 AS Byte = "4" 'Sortie, 37A, BAS PUBLIC Broche_17 AS Byte = "8" 'Sortie, 37A, Haut ' Entree PUBLIC Broche_15 AS Byte = "8" 'Entree, 379, Bas PUBLIC Broche_13 AS Byte = "16" 'Entree, 379, Bas PUBLIC Broche_12 AS Byte = "32" 'Entree, 379, Bas PUBLIC Broche_10 AS Byte = "64" 'Entree, 379, Bas PUBLIC Broche_11 AS Byte = "128" 'Entree, 379, Haut PUBLIC SortieA AS Float PUBLIC CptBcl AS Float PUBLIC AdditionDesPoids AS String PUBLIC TotalDesBroches379 AS Byte PUBLIC TotalSignSismo AS String PUBLIC TotalBroche379 AS Float PUBLIC TotalBroche379bis AS String PUBLIC TotalBroche378 AS Byte PUBLIC TotalBroche37A AS Byte PUBLIC hPort AS File PUBLIC devport AS String = "/dev/port" 'adresse fichier /dev/port PUBLIC SUB _new() END PUBLIC SUB Form_Open() 'remise à zero des lignes du port // hPort = OPEN devport FOR READ WRITE SEEK #hPort, &H378 WRITE #hPort, 0 CLOSE #hPort hPort = OPEN devport FOR READ WRITE AdditionDesPoids = 0 TotalBroche379bis = 0 END PUBLIC SUB Timer1_Timer() DIM Horloge AS String ' toutes les lignes de d0 à d7 sont à 0 hPort = OPEN devport FOR READ WRITE SEEK #hPort, &H378 WRITE #hPort, 0 'CLOSE #hPort 'ici debut de la mesure dans la boucle du timer ' cs haut broche 9 du port // activée à 1 hPort = OPEN devport FOR READ WRITE SEEK #hPort, &H378 WRITE #hPort, 128 'CLOSE #hPort ' la bascule de cs à 0 va provoquer la demande de conversion du max 187 hPort = OPEN devport FOR READ WRITE SEEK #hPort, &H378 WRITE #hPort, 0 ' CLOSE #hPort 'quand max 187 est ok pour sortir la valeure , il bascule. Attente du start du max 187 WHILE (Val(LecturePort()) AND 128) = 0 WEND ' extraction des signaux ''la variable total est à zero hPort = OPEN devport FOR READ WRITE SEEK #hPort, &H378 WRITE #hPort, 1 'CLOSE #hPort hPort = OPEN devport FOR READ WRITE SEEK #hPort, &H378 WRITE #hPort, 0 'CLOSE #hPort TotalSignSismo = 0 FOR Horloge = 11 TO 0 STEP -1 hPort = OPEN devport FOR READ WRITE SEEK #hPort, &H378 WRITE #hPort, 1 AdditionDesPoids = (NOT (TotalBroche379bis)) AND 128 IF AdditionDesPoids < 0 OR AdditionDesPoids > 0 THEN TotalSignSismo = (2 ^ Horloge) + TotalSignSismo hPort = OPEN devport FOR READ WRITE SEEK #hPort, &H378 WRITE #hPort, 0 ' CLOSE #hPort NEXT Label1.text = TotalBroche379 CptBcl = CptBcl + 1 IF CptBcl = 1 THEN Label2.text = "--" IF CptBcl = 2 THEN Label2.text = "\"" IF CptBcl = 3 THEN Label2.text = "|" IF CptBcl = 4 THEN Label2.text = "/" IF CptBcl = 5 THEN CptBcl = 0 ' Label2.text = "0" CLOSE #hPort END PUBLIC FUNCTION LecturePort() AS String SEEK #hPort, &H379 READ #hPort, TotalDesBroches379 RETURN TotalDesBroches379 END PUBLIC FUNCTION LecturePortBis() AS String hPort = OPEN devport FOR READ WRITE SEEK #hPort, &H379 READ #hPort, TotalBroche379bis RETURN TotalBroche379bis END PUBLIC SUB Label1_MouseDown() END PUBLIC SUB Label2_MouseDown() END Quand j'arrive sur le décompteur, j'ai un blocage ! Merci pour toute l'aide que vous apporterez. Très cordialement Papy | ||
Reivillo | #2 Posté le 4/4/2014 à 14:46:06 | ||
C' est ici, et nul part ailleurs. « Et pis c'est tout ! » | Bonjour PapyBasic. S'il te plaît, réédite ton premier message, et présente ton Code de Gambas, comme ci-dessous. Sera plus agréable à consulter, et surtout plus lisible. Et donne si possible le numéro de ligne qui coince. Amicalement. Reivillo. Version LinuxMint 13 (1.6.1-1+maya-mate(32-bit)) LTS Noyau 3.14.33-031433-generic (27-02-2015) LinuxMint 13 Mate Fr ICI, LinuxMint 17 Mate Fr LÀ. Programmation Gambas3 Installé depuis la Console Terminal avec successivement: Les 3 Lignes sudo en Gras ci-dessous... sudo add-apt-repository ppa:gambas-team/gambas3 sudo apt-get update sudo apt-get install gambas3 -y Gambas3.8.4-57.47 (Mise à Jour Auto via mintupdate le 28-01-2016) Pour la Doc, c'est vers là: Documentation Gambas3 FR | ||
Reivillo | #3 Posté le 4/4/2014 à 18:45:08 | ||
C' est ici, et nul part ailleurs. « Et pis c'est tout ! » | Inutile d'Ouvrir plusiers fois < hPort = OPEN devport FOR READ WRITE >. Une fois dans une < Public Sub Form_Open() >, devrait suffire. Et pour le Fermer, mettre < #hPort.Close > dans une < Public Sub Form_Close() > Dans les Déclarations < Public Broche_X As Byte = "1" >, évité les < Guillemets >, Byte étant un < entier >, et non une < Chaîne de Caractères >. Fait une Copie de ton Projet, et teste ce Code, pour voir.
Version LinuxMint 13 (1.6.1-1+maya-mate(32-bit)) LTS Noyau 3.14.33-031433-generic (27-02-2015) LinuxMint 13 Mate Fr ICI, LinuxMint 17 Mate Fr LÀ. Programmation Gambas3 Installé depuis la Console Terminal avec successivement: Les 3 Lignes sudo en Gras ci-dessous... sudo add-apt-repository ppa:gambas-team/gambas3 sudo apt-get update sudo apt-get install gambas3 -y Gambas3.8.4-57.47 (Mise à Jour Auto via mintupdate le 28-01-2016) Pour la Doc, c'est vers là: Documentation Gambas3 FR | ||
PapyBasic | #4 Posté le 6/4/2014 à 11:41:51 | ||
"Parfois l'obstination est une voie !" | Bonjour à tous, voici un noyau qui fonctionne sur Ubuntu 10.4 Lynx Lucid et sur 12.04 Précise Pangolin. L'éditeur est Gambas2. Le circuit intégré est un Max 187 branché comme dans : http://fusee.pagesperso-orange.fr/mini_sismographe.htm Un grand merci à Reivillo pour son soutien, à Pierre Lapenduledargent et au tigre, un ami qui aime la banquise et ces pingouins loin des grandes fenêtres ! La suite fonctionne à 100%. Sur une page vierge, deux labels et un timer.
La variable : TotalSignSismo est le retour de la conversion. l'autre label est un "voyant" qui tourne et indique que la boucle du timer est active. Un milliards de mercis à vous , très cordialement Pay qui cache sa joie et qui retourne à son clavier ! | ||
PapyBasic | #5 Posté le 6/4/2014 à 11:44:25 | ||
"Parfois l'obstination est une voie !" | Re bonjour , un codeur "dégraissera, les lignes en trop. Je m'attache à réalisé maintenant un sismographe complet ! Le premier sous Gambas ? Amitiés Jean-Pierre | ||
spheris | #6 Posté le 6/4/2014 à 17:42:20 | ||
Dépèche toi Papybasic, la terre ne cesse de trembler... ;-) bon courage! | |||
PapyBasic | #7 Posté le 6/4/2014 à 18:05:40 | ||
"Parfois l'obstination est une voie !" | Salut Sphéris, et particulièrement sur la côte Chilienne ! Là nous travaillons d'arrache pieds pour mettre au point un programme d'enregistrement pour un Lycée Français en Turquie. Ce soir, je suis en train de peaufiner l'interface graphique. Sans être cent pour cent à l'aise dans le monde du Pingouin, je suis (un peu ) moins perdu , et toujours aussi nul en Français ! Dés que l'ensemble est fonctionnelle et stable, j'édite un fichier du genre schmolle-tar-gz ou approchant ! Cordialement papy | ||
spheris | #8 Posté le 6/4/2014 à 20:41:34 | ||
Petite question PapyBasic, tu ne fais que recevoir des données de ton MAX187 ou lui en envoi? Dans une lecture pure et simple tu peux revoir toute ta chaine complète dans une variable et la traiter après comme j'ai l'habitude de faire. A bientôt. ;) | |||
PapyBasic | #9 Posté le 6/4/2014 à 21:35:05 | ||
"Parfois l'obstination est une voie !" | Bonsoir Sphéris, en fait si tu regardes sur la notice du Max 187 , il y a un protocole de communication qui doit être mis en place. Donc il faut lui dire quoi faire et l'écouter quand il répond, le protocole est rigoureux. Voilà déjà trois ans que je me heurte à la problématique, mais partir de Windows, partir dans le sens sortir, demande pas mal d'efforts ! Mais le groupe est sympas , et il y a toujours de la générosité dans les réponses, j'aime bien cette état d'esprit. Cordialement Papy | ||
spheris | #10 Posté le 7/4/2014 à 19:36:59 | ||
Et question... as-tu réellement besoin de 12 bits en conversion? Car il existe des plate-formes beaucoup plus simple qui travaille en BASIC, type PICAXE. et le dialogue s'en trouve facilité. Mais bon, si tu ne souhaites pas changer, on plongera nos regards aiguisés dans la doc englishophone. | |||
PapyBasic | #11 Posté le 7/4/2014 à 21:24:39 | ||
"Parfois l'obstination est une voie !" | Bonsoir Sphéris, je ne suis pas stérile aux innovations, mais voilà, pour la sismologie , douze bits c'est pas mal ! De plus cela fait près de dix ans que je travail avec ce circuit. Il est stable et solide ! Avec un ami, nous allons travailler avec d'autres circuits, comme Arduino ou La Framboise ( Raspberry Pi) avec des amplificateurs différentiels intégrés genre INA128 et module de référence de tension et ainsi de suite. Mais il se trouve que bons nombres de personnes lisent mes pages internet, et donc reproduisent les électroniques associées. Dans le fabuleux monde de OuinOuin, ils dégainent les OS plus vite que Lucky Lucke sont six coups ! A 57 ans, j'ai certaines lenteurs cérébrales, que je compense* par une insatiable curiosité ( *que je tente de compenser !) Donc j'ai un grand désir de migration TOTALE dans le monde de linux. Je bosse aussi avec la version 8 voies du MAX et là aussi, il ne vas pas se faire longtemps avant que je passe de OuinOuin 98SE vers Gambas2 pour ce circuit là aussi ! Nous sommes ouverts à toutes les bonnes volontés et la sismologie amateur est un vaste un très vaste terrain à défricher. francophonie_de_la_sismologie_amateur@googlegroups.com Les systèmes d'enregistrement exigent pas mal de lignes de code pour être fonctionnels. D'où ma présence récurrente sur le joyeux monde du libre. Très cordialement Papy | ||
1 |