Download Goby v2 - gobysoft
Transcript
CONTENTS i Contents 1 2 Goby Underwater Autonomy Project 1 1.1 Resources . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1 1.2 Developer manual . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1 1.3 Publications . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1 1.4 Download and Install Goby . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1 1.5 Building Examples . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2 1.6 Authors . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2 goby-acomms: An overview of Acoustic Communications Library 2 2.1 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2 2.1.1 Acoustic Communications are slow . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3 2.1.2 Efficiency to make messages small is good . . . . . . . . . . . . . . . . . . . . . . . . . 4 2.1.3 Total throughput unrealistic: prioritize data . . . . . . . . . . . . . . . . . . . . . . . . . . 4 2.1.4 Despite all this, simplicity is good . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4 2.1.5 Component model . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4 2.2 dccl: Encoding and decoding . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5 2.3 queue: Priority based message queuing . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5 2.4 modemdriver: Modem driver . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6 2.5 amac: Medium Access Control (MAC) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6 2.6 Software concepts used in goby-acomms . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6 2.6.1 Signal / Slot model for asynchronous events . . . . . . . . . . . . . . . . . . . . . . . . . 6 2.6.2 Google Protocol Buffers . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 7 UML models . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 8 2.7 3 Quick Start goby-acomms: DCCL (Dynamic Compact Control Language) 9 3.1 Designing a message . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 9 3.2 DCCL Protobuf Options . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 12 3.3 Interacting with the DCCLCodec . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 13 3.4 Encryption . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 14 3.5 Example messages . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 14 3.5.1 Minimal functional DCCL message . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 14 3.5.2 Two Message example . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 15 3.5.3 DCCL Test2 showing an embedded message encoded by a custom (non-default) codec . . 18 3.5.4 DCCL Test3 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 18 3.5.5 DCCL Test4 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 19 3.5.6 DCCL Test5 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 19 3.5.7 DCCL Test6 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 20 3.5.8 DCCL Test7 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 20 3.5.9 DCCL Test8 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 21 Generated on Wed Mar 26 2014 01:41:49 for Goby v2 by Doxygen