Difference between revisions of "Talk:BCI on Sockets"
MarioPolino (Talk | contribs) m (→Boot) |
MarioPolino (Talk | contribs) m |
||
Line 42: | Line 42: | ||
<tr><th>Campo</th><td>STX</td><td>Tag</td><td>Length</td><td>msg</td><td>EDX</td></tr> | <tr><th>Campo</th><td>STX</td><td>Tag</td><td>Length</td><td>msg</td><td>EDX</td></tr> | ||
<tr><th>Dimensione</th><td>1 byte</td><td>1 byte</td><td>2 byte</td><td>Length</td><td>1 byte</td></tr> | <tr><th>Dimensione</th><td>1 byte</td><td>1 byte</td><td>2 byte</td><td>Length</td><td>1 byte</td></tr> | ||
+ | </table> | ||
+ | ==Data== | ||
+ | La trasmissione sulla socket è monodirezionale, cioè si ricevono dati ma non si trasmette mai niente. | ||
+ | |||
+ | Ogni messaggio ricevuto ha il seguente formato. | ||
+ | Count 4 byte intero progressivo che segnala la progressività dei pacchetti. | ||
+ | Data 2 byte * numero Canali | ||
+ | Regs 44 byte Registri di memoria del dispositivo, vengono inviati solo se è attivo il dispatch mode | ||
+ | <table width = 350 border = 1 cellpadding=0 cellspacing=0> | ||
+ | <tr><th>Campo</th><td>Count</td><td>Data</td><td>Regs(Opzionale)</td></tr> | ||
+ | <tr><th>Dimensione</th><td>4 byte</td><td>2 byte* n°Chn</td><td>44 byte</td></tr> | ||
</table> | </table> | ||
==Dump Sessione== | ==Dump Sessione== | ||
Nel seguente file si trova un dump di una sessione di connessione fatto a livello di rete con wireshark. | Nel seguente file si trova un dump di una sessione di connessione fatto a livello di rete con wireshark. |
Revision as of 16:56, 13 September 2011
In questa sezione sono raccolte tutte le informazioni riservate relative al progetto.
Contents
Sorgenti EBNeuro
Queste sono le librerie per l'uso del BENet su Windows:
Questi sono i sorgenti della DLL fornita da EbNeuro (BelIONet.dll):
Documentazione EBNeuro
Questi sono i file di testo che documentano i sorgenti di EbNeuro:
Configurazione Sistema
BENet:
- IP: 192.168.171.212
- Mask: 255.255.255.0
- Mac: 00:50:C2:62:5D:D8
Dispositivo:
- IP: 192.168.171.2
- Mask: 255.255.255.0
Per i nostri test abbiamo utilizzato qusi sempre l'indirizzo 192.168.171.2, ma un qualsiasi indirizzo della classe 192.168.171.0/24 funziona (naturalmente escluso il 212 che è del BENet)
E' possibile cambiare la configurazione di rete di BENet. Si può fare via ControlSocket una volta che è stato caricato il primo Firmware(quello di BENet). Non abbiamo provato a cambiare la configurazione in quanto la configurazioni rimangono salvate nel dispositivo, e una configurazione sbagliata potrebbe causare problemi. Più informazioni su come configurare la rete di BENet possono essere trovate nnela Documentazione fornita da EBNeuro.
Informazioni aggiuntive ricavate dai sorgenti
Le comunicazioni con il dispositivo avvengono su tre porte TCP:
- 7023 Boot (loading del firmware)
- 7024 Control (Invio di comandi e settaggi)
- 7025 Data (Ricezione dati)
Reco Port
Sulla porta 7022 UDP è stato implementato un sistema per il riconoscimento dei dispositivi EBNeuro in una sottorete. Per ulteriori informazioni consultare la documentazione EBNeuro
Boot & Ctrl
Ogni messaggio di comunicazione deve avere il seguente formato.
STX 1 byte 0x02 Tag 1 byte Length 2 byte short in BigEndian msg Lenght byte EDX 1 byte 0x03
Campo | STX | Tag | Length | msg | EDX |
---|---|---|---|---|---|
Dimensione | 1 byte | 1 byte | 2 byte | Length | 1 byte |
Data
La trasmissione sulla socket è monodirezionale, cioè si ricevono dati ma non si trasmette mai niente.
Ogni messaggio ricevuto ha il seguente formato.
Count 4 byte intero progressivo che segnala la progressività dei pacchetti. Data 2 byte * numero Canali Regs 44 byte Registri di memoria del dispositivo, vengono inviati solo se è attivo il dispatch mode
Campo | Count | Data | Regs(Opzionale) |
---|---|---|---|
Dimensione | 4 byte | 2 byte* n°Chn | 44 byte |
Dump Sessione
Nel seguente file si trova un dump di una sessione di connessione fatto a livello di rete con wireshark.