Files
-
0__oldProject / _boardSourceOld / V1 / HW / scorBoardV1 / Scorebot / documentation schema.sch
-
0__oldProject / _boardSourceOld / V1 / HW / scorBoardV1 / Scorebot / matherBoard.brd
-
0__oldProject / _boardSourceOld / V1 / HW / scorBoardV1 / Scorebot / matherBoard.sch
-
0__oldProject / _boardSourceOld / V1 / HW / scorBoardV1 / Scorebot / motordDrive_BreakOut.sch
-
HW_Source / ScoreBoard-V2 / ScoreBoard-V2.brd
-
HW_Source / ScoreBoard-V2 / ScoreBoard-V2.sch
FilesSW_SourceCommon-src | |
---|---|
.. | |
circularBuffer | |
dataTransfertPrimitive | |
timeOp | |
uartDriver | |
utilityScorbot | |
CMakeLists.txt | |
README.md |
README.md
Common_src Arduino uart <--> Linux uart
Sono qui presenti
. ├── circularBuffer // Libreria template per il buffer circolare dei pacchetti ├── DataTransfertPackge // typeDef dei pacchetti scambiabili tra i sistemi ├── timeOp // Raccolta di macro per gestire comodamente il tempo in Linux ├── uartDriver // Classi sia per linux che per arduino che realizzano la cominicazione tra le schede ├── CMakeLists.txt └── README.md
uartDriver
Vale la pena approfondire la cartella "uartDriver": Essa al suo interno contiene l'implementazioni delle classi che realizzano il "Transport Layer" di questa applicazione: il diagramma UML di questa classe spiega meglio come si compongono:
uartDrive
Le 2 classi gestiscono solo i tipi "uart2Ard" e "uart2Linux". Questi pacchetti sono approfonditi nel sotto sistema DataTransfertPackge:
DataTransfertPackge
Essendo delle union si potrebbe pensare che si inviino molti più byte del necessario, in realtà, sapendo il tipo, si inviano il numero di byte esatto per ogni pacchetto, e il ricevente sapendo il tipo dal primo campo, è in grado di leggere quanto basta.
Allo stato attuale un limite della libreria è che se si accorge che un pacchetto è arrivato male, attende direttamente l'inizio di una nuova trasmissione invece di cercare nel passato se era già arrivato uno "StartCode". Ad ora un simile schema si è rivelato ampiamente più che sufficiente per i casi in esame, ma nulla vieta in futuro di migliorare il protocollo.