Autore Topic: Comunicare sulla seriale  (Letto 2551 volte)

Offline vuott

  • Moderatore globale
  • Senatore Gambero
  • *****
  • Post: 11.724
  • Ne mors quidem nos iunget
    • Mostra profilo
Re:Comunicare sulla seriale
« Risposta #15 il: 13 Ottobre 2021, 17:28:14 »
Codice: [Seleziona]
    Print #SerialPort1, "HUB_ON"; Chr$(13); Chr$(10)
    ......
    Print #SerialPort1, "HUB_OFF"; Chr$(13); Chr$(10)
Avendo usato il comando "Print", che di per sé invia una stringa formattata con il comando "nuova riga a capo" (in Linux: 0x0A), penso non sia necessario impostare i due valori finali non-stampabili: Chr$(13); Chr$(10) .
« Chiunque, non ricorrendo lo stato di necessità, nel proprio progetto Gambas fa uso delle istruzioni Shell o Exec, è punito con la sanzione pecuniaria da euro 20,00 a euro 60,00. »

Offline kicco

  • Senatore Gambero
  • ******
  • Post: 1.728
  • So dove andare, seguitemi, ci perderemo insieme!
    • Mostra profilo
Re:Comunicare sulla seriale
« Risposta #16 il: 13 Ottobre 2021, 19:12:16 »
@nino83
Ovviamente quando colleghi arduino trovi il file /dev/ttyACM0 giusto!
Se vuoi comunicare con la seriale devi anche averei permessi per farlo.
Si usa (se già non l'hai fatto):
sudo adduser username dialout
dove username è il nome dell'utnte che userà le seriali.
Prova!

@vuott
il Chr$(13)(carriage return) + Chr$(10)(line feed) sono usati in windows, in linux è sufficiente, anzi meglio usare solo Chr$(10) cioè line feed.
Ma credi di stare a spigare una cosa che già sai...

Scusate se sono un po' spiccio... :P
« Ultima modifica: 13 Ottobre 2021, 19:44:07 da kicco »
Chi ha paura muore ogni giorno, chi non ha paura muore una volta sola. (Paolo Borsellino)

Offline nino83

  • Gamberetto
  • *
  • Post: 35
    • Mostra profilo
Re:Comunicare sulla seriale
« Risposta #17 il: 14 Ottobre 2021, 12:34:25 »
Citazione
@nino83
Ovviamente quando colleghi arduino trovi il file /dev/ttyACM0 giusto!
Se vuoi comunicare con la seriale devi anche averei permessi per farlo.
Si usa (se già non l'hai fatto):
sudo adduser username dialout
dove username è il nome dell'utnte che userà le seriali.
Prova!

Se il problema fosse di permessi, non dovrebbe MAI funzionare...
INVECE, forse ti è sfuggito, se metto un breakpoint ed eseguo passo-passo, sembra funzionare! (lo so, siamo a livelli di stregoneria)
ad ogni modo, come posso eseguire quel comando (sudo adduser username dialout)? 
Chiamando nel codice, poco prima, un comando "EXEC"?

Inizialmente non avevo usato completamente nessuno dei due tra Chr$(13) e Chr$(10)... poi avevo trovato alcuni post e ho "rubato" il codice, ma senza capirci granche.

@vuott
Ho provato sia "Print" che "Write".... sinceramente non ho idea di cosa possa cambiare... anzi, ho provato proprio per fede, senza conoscere cosa esattamente facciano, non avendo esperienza di Stream generici e operazioni legate.
(ecco il perchè della mia domanda iniziale: una guida completa!)  ;D


Offline kicco

  • Senatore Gambero
  • ******
  • Post: 1.728
  • So dove andare, seguitemi, ci perderemo insieme!
    • Mostra profilo
Re:Comunicare sulla seriale
« Risposta #18 il: 14 Ottobre 2021, 15:12:27 »
 :ciao:
Citazione
ad ogni modo, come posso eseguire quel comando (sudo adduser username dialout)?
Chiamando nel codice, poco prima, un comando "EXEC"?
Il comando di cui sopra devi usarlo una sola volta, non nel programma ma da terminale.
Stai in sostanza dicendo a Linux che l'utente "username" è autorizzato all'uso dei device di comunicazione.
 :ciao:
Chi ha paura muore ogni giorno, chi non ha paura muore una volta sola. (Paolo Borsellino)

Offline nino83

  • Gamberetto
  • *
  • Post: 35
    • Mostra profilo
Re:Comunicare sulla seriale
« Risposta #19 il: 14 Ottobre 2021, 16:07:34 »
Citazione
Il comando di cui sopra devi usarlo una sola volta, non nel programma ma da terminale.
Stai in sostanza dicendo a Linux che l'utente "username" è autorizzato all'uso dei device di comunicazione.


ma una volta per sempre? cioè è una impostazione che rimane? o è inerente la singola sessione di lavoro?
Perdonami, ma come avrai intuito di Linux non so un tubo! E devo realizzare un software commerciale, da installare su macchine che vende la mia azienda che vanno a finire a clienti che, ovviamente, devono solo avere a che fare con una GUI.

Offline kicco

  • Senatore Gambero
  • ******
  • Post: 1.728
  • So dove andare, seguitemi, ci perderemo insieme!
    • Mostra profilo
Re:Comunicare sulla seriale
« Risposta #20 il: 14 Ottobre 2021, 16:23:41 »
Citazione
ma una volta per sempre?

 :)
PS: Che distribuzione usi?
Chi ha paura muore ogni giorno, chi non ha paura muore una volta sola. (Paolo Borsellino)

Offline nino83

  • Gamberetto
  • *
  • Post: 35
    • Mostra profilo
Re:Comunicare sulla seriale
« Risposta #21 il: 14 Ottobre 2021, 17:25:45 »
Ubuntu, scelta/consigliata dal collega che già "smanetta" da tempo su Linux.
Ma questo SW devo realizzarlo io, che ho sempre programmato sotto windows (e ho sempre usato solo windows), con VB.NET e, di recente, Xojo

Offline kicco

  • Senatore Gambero
  • ******
  • Post: 1.728
  • So dove andare, seguitemi, ci perderemo insieme!
    • Mostra profilo
Re:Comunicare sulla seriale
« Risposta #22 il: 14 Ottobre 2021, 18:26:52 »
Citazione
Ma questo SW devo realizzarlo io...
;D
 sanmidi
Che San Midi ti protegga!
Chi ha paura muore ogni giorno, chi non ha paura muore una volta sola. (Paolo Borsellino)

Offline vuott

  • Moderatore globale
  • Senatore Gambero
  • *****
  • Post: 11.724
  • Ne mors quidem nos iunget
    • Mostra profilo
Re:Comunicare sulla seriale
« Risposta #23 il: 14 Ottobre 2021, 23:55:24 »
non avendo esperienza di Stream generici e operazioni legate.
Come è noto uno "Stream" è - appunto - un flusso di dati-byte che possono essere "letti da" o "scritti in" una memoria (di qualunque tipo) o un file-device creato dal sistema Linux per comunicare con dispositivi virtuali o reali esterni (" In Linux tutto è un file. ").
La lettura e la scrittura dei "flussi" di dati avviene, dunque, mediante le funzioni native di Gambas:
 * Read
 - - http://gambaswiki.org/wiki/lang/read?l=it
 - - https://www.gambas-it.org/wiki/index.php?title=Leggere_un_file_con_READ

 * Write
 - - https://gambaswiki.org/wiki/lang/write
 - - https://www.gambas-it.org/wiki/index.php?title=Write

e comunque con le modalità di interazione tipica dei File ("Apertura" del file; "Lettura" o "Scrittura" dei dati-byte; chiusura del file):
* https://gambaswiki.org/wiki/lang/open?l=it

Oltre alla funzione "Write" è possibile usare "Print", che scrive un valore di "fine riga" (&h0A) dopo l'ultima espressione, se dopo tale espressione non è previsto il punto e virgola.



....mia domanda iniziale: una guida completa!
Purtroppo non esiste una guida organica e completa, scritta in italiano, per apprendere il linguaggio Gambas (insomma un "manuale", cartaceo o on-line che sia).
Ad ogni modo riporto di seguito alcuni collegamenti utili.

Wiki ufficiale di Gambas:
 - http://gambaswiki.org/wiki

Mailing List ufficiale di Gambas:
 - https://lists.gambas-basic.org/pipermail/user/

Forum, Wiki ed altri siti esistenti su Gambas:
 - https://gambas-es.org/
 - https://foro.gambas-es.org/forum.php
 - http://www.gambas-club.de/index.php
 - https://forum.gambas.one/
 - http://www.gambaslinux.fr/
 - http://89.234.156.109/
 - http://www.gambas-it.org/wiki/index.php?title=Pagina_principale
 - https://gambas-buch.de/dwen/doku.php
 - https://de.wikibooks.org/wiki/Gambas
 - http://sologambas.blogspot.com/p/indice.html
 - https://jsbsan.blogspot.com/
 - http://captainbodgit.blogspot.com/search/label/Gambas
 - https://pigalore.miraheze.org/wiki/Main_Page
 - http://icculus.org/piga/
 - http://novatocodegambas.blogspot.com/
 - http://forum.3d-phenomen.fr/index.php

Testi, manuali e corsi esistenti:
 - https://cursogambas.blogspot.com/p/indice.html
 - https://github.com/jsbsan/Ejemplos-del-Curso-De-Gambas3
 - http://gambaswiki.org/wiki/doc/book?nh&l=en
 - https://en.wikibooks.org/wiki/Programming_Gambas_from_Zip
 - https://wordpress.gambas.one/a-book-by-gerry-buzolic/
 - https://wordpress.gambas.one/2020/04/10/the-gap-bg-project/
« Ultima modifica: 15 Ottobre 2021, 02:31:29 da vuott »
« Chiunque, non ricorrendo lo stato di necessità, nel proprio progetto Gambas fa uso delle istruzioni Shell o Exec, è punito con la sanzione pecuniaria da euro 20,00 a euro 60,00. »

Offline nino83

  • Gamberetto
  • *
  • Post: 35
    • Mostra profilo
Re:Comunicare sulla seriale
« Risposta #24 il: 15 Ottobre 2021, 09:45:44 »
Citazione
Che San Midi ti protegga!


che sarebbe?  ;D

Midi nel senso dei Midi musicali di 20 anni fa?  :rotfl:

Beh, di fatto ho già fatto più di quel che pensavo.  Bisogna solo scornarsi con linux.... su mille aspetti (anche il comportamento delle GUI)

Offline nino83

  • Gamberetto
  • *
  • Post: 35
    • Mostra profilo
Re:Comunicare sulla seriale
« Risposta #25 il: 15 Ottobre 2021, 09:47:53 »
vuott, cercavo un tutorial sull'uso della seriale. Gli esempi che ho trovato sono, per me, insufficienti.

Grazie mille cmq. Tra i link magari qualcosa trovo.
Ma più che gambas (col quale mi sto trovando abbastanza bene), il problema è linux!
« Ultima modifica: 15 Ottobre 2021, 09:48:38 da nino83 »

Offline kicco

  • Senatore Gambero
  • ******
  • Post: 1.728
  • So dove andare, seguitemi, ci perderemo insieme!
    • Mostra profilo
Re:Comunicare sulla seriale
« Risposta #26 il: 15 Ottobre 2021, 12:22:46 »
Ma Linux non è un problema!!!
Chi ha paura muore ogni giorno, chi non ha paura muore una volta sola. (Paolo Borsellino)

Offline vuott

  • Moderatore globale
  • Senatore Gambero
  • *****
  • Post: 11.724
  • Ne mors quidem nos iunget
    • Mostra profilo
Re:Comunicare sulla seriale
« Risposta #27 il: 15 Ottobre 2021, 15:59:57 »
il problema è linux!
...ovviamente potrai fare delle ricerche in rete sugli aspetti di Linux che vuoi comprendere meglio.
« Chiunque, non ricorrendo lo stato di necessità, nel proprio progetto Gambas fa uso delle istruzioni Shell o Exec, è punito con la sanzione pecuniaria da euro 20,00 a euro 60,00. »

Offline nino83

  • Gamberetto
  • *
  • Post: 35
    • Mostra profilo
Re:Comunicare sulla seriale
« Risposta #28 il: 15 Ottobre 2021, 16:52:59 »
niente, non si riesce proprio a far funzionare sta benedetta seriale.
In parallelo sto testando su Xojo su Linux, stesso problema... ecco perchè presumo sia un problema di amministrazione di Linux, più che di Gambas.

In questo momento ho sospeso con la seriale e mi sto scontrando con altri problemi (ma sulla parte di sw che sta su xojo: l'aggiornamento della GUI che deve avvenire obbligatoriamente usando thread, ecc  :hard: )

Offline kicco

  • Senatore Gambero
  • ******
  • Post: 1.728
  • So dove andare, seguitemi, ci perderemo insieme!
    • Mostra profilo
Re:Comunicare sulla seriale
« Risposta #29 il: 15 Ottobre 2021, 18:29:01 »
nino83, se fossi in te proverei a scrivere un piccolo programma di comunicazione cortocircuitando il TX con RX per vedere se rileggi quello che scrivi sulla seriale.
Userei la gestione della porta direttamente dall'IDE di Gambas che trovo, per le prove molto comoda.
Una volta raggiunto questo obiettivo tenterei con Arduino.
 :ciao:
Chi ha paura muore ogni giorno, chi non ha paura muore una volta sola. (Paolo Borsellino)