Visualizza post

Questa sezione ti permette di visualizzare tutti i post inviati da questo utente. N.B: puoi vedere solo i post relativi alle aree dove hai l'accesso.


Post - El Berto

Pagine: 1 ... 4 5 [6] 7 8 ... 10
76
Magari riesco a capirci qualcosa anch'io.....

Come si gestisce la lettura della porta seriale?
In pratica, se io con Arduino trasmetto la stringa:

Codice: [Seleziona]
forseperchèdellafatelquietetuseil'immagoamesicaravieniosera.

Nella routine SPortRead ho inserito questo codice:
Codice: [Seleziona]
TextArea1.Text = TextArea1.Text & "#"

Il risultato nella mia TextArea è il seguente:
Codice: [Seleziona]
forse#per#chèdellafatelquietetuseil'i#mma#goam#esicaravie#niosera.

Premettendo che Arduino mi trasmette i caratteri di continuo, non ci sono "strane" temporizzazioni.

Mi verrebbe da fare così:

MioBufferSeriale = MioBufferSeriale & s

e con un timer, dopo 5-6 secondi, vado a stampare MioBufferSeriale nella TextArea1.
Ma non mi sembra il massimo dell'efficienza.
Il tutto senza andare a scomodare il controllo della seriale (DTR/RTC/CTS etc. etc.).
Quale sarebbe il metodo più efficiente?

77
Programmazione / Re: Info Ftpclient: solo per spostare files?
« il: 05 Gennaio 2013, 13:26:52 »
Intendo dire, c'è un FtpClient.Get (non ricordo di preciso la sintassi, scrivo a caso) per scaricare un file e FtpClient.Put per trasmetterlo, ma mi sembra che una cosa del tipo FtpClient.List o FtpClient.Cwd non ci siano.
E'prevista la loro implementazione in futuro o posso solo andare ad analizzare il traffico con un TcpClient?

78
Programmazione (Gambas 2) / Re: Gestione dei file di testo
« il: 03 Gennaio 2013, 17:59:40 »
Mi secca non riuscire a fare una cosa tanto semplice....

Voglio salvare un file nella cartella locale:

Codice: [Seleziona]
File.save("pippo.txt","ciao")

E mi mette "Access forbidden"

Se invece utilizzo il path completo:

Codice: [Seleziona]
File.save("/home/Michele/.../pippo.txt","ciao")
funziona.
Perchè?

79
Programmazione / Info Ftpclient: solo per spostare files?
« il: 31 Dicembre 2012, 14:26:45 »
Guardando in rete ci sono alcuni esempi su "FtpClient" per leggere/scrivere dei files.
Prendendo come riferimento alcuni client ftp (tipo WSFTP), appena mi collego mi vengono visualizzate le varie directory e i files contenuti.
E'già prevista una cosa simile con Gambas, oppure io devo conoscere A PRIORI la struttura delle directory del server FTP per leggere/scrivere i files?
Grazie.

80
Domande tecniche (Gambas 2) / Re: gambas 3
« il: 31 Dicembre 2012, 13:20:34 »
Piccola domanda: a parte i nuovi moduli che saranno presenti nella versione 3 di Gambas, relativamente a tutti i programmi realizzati su Gambas2 (e che quindi non necessitano di eventuali nuovi moduli, supponendo una certa retrocompatibilità), Gambas3 è più pesante da far girare?

81
Domande tecniche (Gambas 2) / Combiare nome al progetto?
« il: 20 Luglio 2012, 18:46:02 »
Realizzando varie versioni di un progetto, mi sono accorto solo ora che ho creato diversi progetti con lo stesso nome.
Quando vado ad aprire un progetto recente ho una sfilza di "ServerSocket" che non finisce più, e devo sempre stare a cercare mezz'ora quello con la directory guista.

E' possibile modificare il nome del progetto?
Per intenderci, quello che compare in "Proprietà progetto"...
Grazie.

82
Programmazione (Gambas 2) / Re: Info TCP server
« il: 06 Luglio 2012, 00:48:12 »
Eh, fare il NAT è un po' un casino.....
Mi sa che mi tocca aspettare di avere il nuovo hardware con il firmware che usa la porta 2000.

Mi è venuta in mente un'altra cosa, non so se sono O.T.:
il client si collega al server, e visto che ha un buffer limitato, per trasmettere dati lo fa a più riprese (trasmette il client, risponde il server, trasmette nuovamente il client, risponde nuovamente il server.....).
Nella finestra di dialogo (ho preso l'esempio ServerSocket) ho "Socket number x..." e poi c'è lo scambio di dati.
Dovrei prevedere che il server si pianta, quindi il client dovrebbe avere un timeout che se il server non risponde entro un certo tempo, chiude la connessione.
Ma devo anche fare l'opposto: se è il client a piantarsi, devo chiudere il socket del server.
Uso un timer che azzero ognivolta (nella sub Socket_Read) che mi arrivano dei dati.
Quando mi scatta il timer, cioè il timeout, mi basta chiamare "Socket_Closed"?

83
Programmazione (Gambas 2) / Re: Info TCP server
« il: 05 Luglio 2012, 12:22:05 »
Magari voi ci capite qualcosa.

Acquisizione fatta con wireshark 1.6.8 su Windows, server TCP porta 29:
Codice: [Seleziona]
      9 11:25:20.0 192.168.81.220        158.110.30.62         TCP      60     ismc > msg-icp [SYN] Seq=0 Win=32 Len=0 MSS=576
     10 11:25:20.0 158.110.30.62         192.168.81.220        TCP      58     msg-icp > ismc [SYN, ACK] Seq=0 Ack=1 Win=65535 Len=0 MSS=1460
     11 11:25:20.0 192.168.81.220        158.110.30.62         TCP      60     ismc > msg-icp [ACK] Seq=1 Ack=1 Win=32 Len=0
     12 11:25:20.0 192.168.81.220        158.110.30.62         TCP      106    ismc > msg-icp [PSH, ACK] Seq=1 Ack=1 Win=32 Len=52
     13 11:25:20.0 158.110.30.62         192.168.81.220        TCP      62     msg-icp > ismc [PSH, ACK] Seq=1 Ack=53 Win=65483 Len=8
     14 11:25:20.0 192.168.81.220        158.110.30.62         TCP      60     ismc > msg-icp [ACK] Seq=53 Ack=9 Win=32 Len=0

Acquisizione fatta con wireshark 1.2.11 su Ubuntu, server TCP porta 29 (esempio funzionante):
Codice: [Seleziona]
      9 11:44:05.6 192.168.81.220        158.110.30.62         TCP      cert-initiator > msg-icp [SYN] Seq=0 Win=32 Len=0 MSS=576
     10 11:44:05.6 158.110.30.62         192.168.81.220        TCP      msg-icp > cert-initiator [SYN, ACK] Seq=0 Ack=1 Win=5840 Len=0 MSS=1460
     11 11:44:05.6 192.168.81.220        158.110.30.62         TCP      cert-initiator > msg-icp [ACK] Seq=1 Ack=1 Win=32 Len=0
     12 11:44:05.7 192.168.81.220        158.110.30.62         TCP      cert-initiator > msg-icp [PSH, ACK] Seq=1 Ack=1 Win=32 Len=52
     13 11:44:05.7 158.110.30.62         192.168.81.220        TCP      msg-icp > cert-initiator [ACK] Seq=1 Ack=53 Win=5840 Len=0
     14 11:44:05.8 158.110.30.62         192.168.81.220        TCP      msg-icp > cert-initiator [PSH, ACK] Seq=1 Ack=53 Win=5840 Len=8
     15 11:44:05.9 192.168.81.220        158.110.30.62         TCP      cert-initiator > msg-icp [ACK] Seq=53 Ack=9 Win=32 Len=0

Acquisizione fatta su Ubuntu, quando si presenta il problema:
Codice: [Seleziona]
     13 19:32:07.9 192.168.81.220        158.110.30.62         TCP      60     4290 > msg-icp [SYN] Seq=0 Win=32 Len=0 MSS=576
     14 19:32:07.9 192.168.81.220        158.110.30.62         TCP      60     4290 > msg-icp [ACK] Seq=1 Ack=1 Win=32 Len=0
     15 19:32:08.0 192.168.81.220        158.110.30.62         TCP      106    4290 > msg-icp [PSH, ACK] Seq=1 Ack=1 Win=32 Len=52
     16 19:32:08.4 192.168.81.220        158.110.30.62         TCP      60     4290 > msg-icp [ACK] Seq=53 Ack=9 Win=32 Len=0
(trasmissione funzionante)

     45 19:50:55.1 192.168.81.220        158.110.30.62         TCP      60     4291 > msg-icp [SYN] Seq=0 Win=32 Len=0 MSS=576
     46 19:50:55.1 192.168.81.220        158.110.30.62         TCP      60     4291 > msg-icp [ACK] Seq=1 Ack=1 Win=32 Len=0
     47 19:50:55.2 192.168.81.220        158.110.30.62         TCP      106    4291 > msg-icp [PSH, ACK] Seq=1 Ack=1 Win=32 Len=52
     48 19:50:55.5 192.168.81.220        158.110.30.62         TCP      60     4291 > msg-icp [ACK] Seq=53 Ack=9 Win=32 Len=0
(ultima trasmissione funzionante)
 
     69 20:09:42.3 192.168.81.220        158.110.30.62         TCP      60     4292 > msg-icp [SYN] Seq=0 Win=32 Len=0 MSS=576
     70 20:09:42.3 192.168.81.220        158.110.30.62         TCP      60     4292 > msg-icp [ACK] Seq=1 Ack=1 Win=32 Len=0
     71 20:09:42.4 192.168.81.220        158.110.30.62         TCP      106    4292 > msg-icp [PSH, ACK] Seq=1 Ack=1 Win=32 Len=52
     72 20:09:42.4 192.168.81.220        158.110.30.62         TCP      60     4292 > msg-icp [FIN, ACK] Seq=53 Ack=2 Win=32 Len=0
     73 20:09:42.4 192.168.81.220        158.110.30.62         TCP      60     4292 > msg-icp [RST] Seq=54 Win=32 Len=0
     74 20:09:42.4 192.168.81.220        158.110.30.62         TCP      60     4293 > msg-icp [SYN] Seq=0 Win=32 Len=0 MSS=576
     75 20:09:42.4 192.168.81.220        158.110.30.62         TCP      60     4293 > msg-icp [ACK] Seq=1 Ack=1 Win=32 Len=0
     76 20:09:42.5 192.168.81.220        158.110.30.62         TCP      106    4293 > msg-icp [PSH, ACK] Seq=1 Ack=1 Win=32 Len=52
     77 20:09:42.5 192.168.81.220        158.110.30.62         TCP      60     4293 > msg-icp [FIN, ACK] Seq=53 Ack=2 Win=32 Len=0
     78 20:09:42.5 192.168.81.220        158.110.30.62         TCP      60     4294 > msg-icp [SYN] Seq=0 Win=32 Len=0 MSS=576
     79 20:09:42.5 192.168.81.220        158.110.30.62         TCP      60     4293 > msg-icp [RST] Seq=54 Win=32 Len=0
     80 20:09:42.5 192.168.81.220        158.110.30.62         TCP      60     4294 > msg-icp [ACK] Seq=1 Ack=1 Win=32 Len=0
     81 20:09:42.5 192.168.81.220        158.110.30.62         TCP      106    4294 > msg-icp [PSH, ACK] Seq=1 Ack=1 Win=32 Len=52
     82 20:09:42.5 192.168.81.220        158.110.30.62         TCP      60     4294 > msg-icp [FIN, ACK] Seq=53 Ack=2 Win=32 Len=0
     83 20:09:42.5 192.168.81.220        158.110.30.62         TCP      60     4295 > msg-icp [SYN] Seq=0 Win=32 Len=0 MSS=576
     84 20:09:42.5 192.168.81.220        158.110.30.62         TCP      60     4294 > msg-icp [RST] Seq=54 Win=32 Len=0
     85 20:09:42.6 192.168.81.220        158.110.30.62         TCP      60     4295 > msg-icp [ACK] Seq=1 Ack=1 Win=32 Len=0
     86 20:09:42.6 192.168.81.220        158.110.30.62         TCP      106    4295 > msg-icp [PSH, ACK] Seq=1 Ack=1 Win=32 Len=52
     87 20:09:42.6 192.168.81.220        158.110.30.62         TCP      60     4295 > msg-icp [FIN, ACK] Seq=53 Ack=2 Win=32 Len=0
     88 20:09:42.6 192.168.81.220        158.110.30.62         TCP      60     4295 > msg-icp [RST] Seq=54 Win=32 Len=0
     89 20:09:42.6 192.168.81.220        158.110.30.62         TCP      60     4296 > msg-icp [SYN] Seq=0 Win=32 Len=0 MSS=576
     90 20:09:42.6 192.168.81.220        158.110.30.62         TCP      60     4296 > msg-icp [ACK] Seq=1 Ack=1 Win=32 Len=0
     91 20:09:42.7 192.168.81.220        158.110.30.62         TCP      106    4296 > msg-icp [PSH, ACK] Seq=1 Ack=1 Win=32 Len=52
     92 20:09:42.7 192.168.81.220        158.110.30.62         TCP      60     4296 > msg-icp [FIN, ACK] Seq=53 Ack=2 Win=32 Len=0
     93 20:09:42.7 192.168.81.220        158.110.30.62         TCP      60     4296 > msg-icp [RST] Seq=54 Win=32 Len=0
     94 20:09:42.7 192.168.81.220        158.110.30.62         TCP      60     4297 > msg-icp [SYN] Seq=0 Win=32 Len=0 MSS=576
     95 20:09:42.7 192.168.81.220        158.110.30.62         TCP      60     4297 > msg-icp [ACK] Seq=1 Ack=1 Win=32 Len=0
(e continua così con la stessa sequenza che si ripete: secondo il server TCP di Gambas, neanche ricevo la comunicazione)

84
Programmazione (Gambas 2) / Re: Info TCP server
« il: 05 Luglio 2012, 11:40:26 »
No, intendo dire che per campiare la porta TCP devo andare fisicamente su tutti i client, ricompilare con una porta TCP diversa dalla 29 e riscrivere il firmware.
Quindi devo per forza riuscire a lavorare con un server sulla porta 29.

Proprio non capisco perchè mi da problemi la porta 29 (con la 2000 funziona sempre); addirittura sono costretto a riavviare il computer perchè poi mi ricompare "unable to bind socket".

85
Programmazione (Gambas 2) / Re: Info TCP server
« il: 04 Luglio 2012, 14:20:58 »
Allora, non sono riuscito a cambiare la porta TCP.
L'unica cosa che mi rimaneva da fare è quella di lanciare il server come utente root.

Riesco correttamente a ricevere i dati, tutto contento....... e poi si ferma tutto.
Come se non mi arrivasse più niente.
Provo a chiedere i log del traffico al sistemista e lui mi conferma che i pacchetti arrivano alla mia macchina.
Solo che, anche se metto dei breakpoint all'interno del programma, non succede niente.

E'possibile che vi sia un qualche genere di bug, magari risolto in Gambas3?
La cosa che non capisco è che usando la porta 2000 funziona perfettamente.....

86
Eccomi, per l'ennesima volta con la mia ignoranza su Linux....

Vorrei sapere se è possibile, su sistema operativo Windows, emulare un ambiente Linux (per esempio Ubuntu) con dentro Gambas.
Non tanto per l'esecuzione degli applicativi, ma giusto per la compilazione, o almeno per poter aprire un progetto.

Quindi, do per scontato di riuscire a emulare Ubuntu, ma poi ci faccio l'installazione di Gambas normalmente, come se fossi su una macchina Ubuntu?

87
Niet da fare: ho provato a utilizzare il metodo Music per la riproduzione, per rilevare la fine del brano ho abilitato un timer (intervallo 10ms) che legge continualmente la posizione. Quando la posizione è minore di 0.010 (quindi sono arrivato alla fine) carico e riproduco la seconda traccia e disabilito il timer.
Si sente lo stesso l'interruzione.

Però ho verificato che anche con il player di Ubuntu "riproduttore multimediale" si sente la pausa.

Poi ho scoperto che la posizione non è disponiblie per il metodo Sound, e che nel metodo Music non funziona con i files WAV (set Music.Pos).

88
se vuoi lo stesso effetto lo puoi ottenere anche masterizzando un cd. Ormai quasi tutti i software di masterizzazione ti danno la possibilità di togliere i 2 secondi di 'silenzio' tra una traccia e l'altra

Forse non mi soono spiegato bene: io voglio farmi un'interfaccia per conto mio.
Finora ho usato Windows Media Player SDK (lavorando in Visual Basic) perchè se riproducoo le tracce .WAV di una compilation (ho il CD originale, estraggo le tracce in .WAV e mi faccio la playlist) non si sente la pausa (che normalmente non c'è) tra una traccia e l'altra.
Con altre componenti (sempre per riprodurre files audio) viene inserita, seppur brevissima, una pausa che però si sente.
Poi, usando gli altri formati, la pausa si sente anche in Windows Media Player.

Il mio problema non centra niente con la masterizzazione.

Quello che non sono ancora riuscito a provare (anzi,  grazie per tutto l'aiuto) è quello di provare a riprodurre con Gambas 2 tracce .WAV estratte da una compilation.

 
Citazione
attraverso le funzioni esterne delle API di Alsa.

Potresti tradurre in linguaggio per i comuni mortali che sono solo diplomati in elettronica?

89

C'è un interrupt o qualcosa che mi "avverte" che è finito il brano?
Ritengo sia possibile, però con la proprietà Pos della classe "Music".

Allora, Music.Pos mi restituisce un float, quindi per sapere se il brano è finito suppongo debba fare continuamente una comparazione tra il tempo attuale e la durata del brano.
Suppongo si possa rilevare la durata di un brano, ma penso debba fare continuamente la comparazione...



Se io tolgo il WAIT ed eseguo un fille .WAV che contiene un sigolo tono, mi accorgo che c'è stato il passaggio?
Cosa intendi dire con precisione ? Se puoi sapere, forse, se è stata avviata l'esecuzione del file ? O intendi un'altra cosa ?

Quando ascolti, per esempio, una compilation su un cd, non ti accorgi del passaggio da un brano all'altro, è come sentire un singolo file .WAV.
Con Windows Media Player riesco a estrarre le tracce dal cd, convertirle in .WAV che li riproduce senza interruzzioni udibili, come se si trattasse di una singola traccia.
Se invece ascolti un album, tra un brano e l'altro vengono solitamente inserite delle pause, cosa che non è accettabile se ascolti una compilation....
Quindi mi rimane da provare, appena posso, se due tracce .WAV di una compilation vengono eseguite senza interruzione (pausa) togliendo il comando WAIT.

90
OpenBar / Re: Raspberry
« il: 30 Giugno 2012, 23:03:25 »
Potreste gentilmente "tradurre"?
Allora, Raspberry ha un processore ARM.
Non ci capisco niente di distribuzioni di Linux....
Per usare un programma in Gambas (3) devo quindi installarlo su Debian (se non ho capito male), poi posso lanciare l'eseguibile con un emulatore di ARM (con QEMU) per vedere se funziona su Raspberry?

Pagine: 1 ... 4 5 [6] 7 8 ... 10