-
Notifications
You must be signed in to change notification settings - Fork 0
Current status
Thibaut CHARLES edited this page Jul 3, 2015
·
5 revisions
- Everything works !
- IMU data
- Compass
- Roll
- Yaw speed (ie compass rotation speed)
- Vane (wind direction)
- Filtered GPS position
- Battery voltage probe
- Servo control (sail and helm)
- IMU data
- Easy to use interface for retrieving data
- Unix socket (quick localhost communications)
- TCP/IP socket to have a deported intelligence/logging system
- Language independent
Improvements:
- Dirty codebase (mix of C and C++)
- Socket data are not so easy to serialize/deserialize
- The program fails to open PWM device files on first launch since boot
- The IMU mai not be initialized correctly if powered at the same time that the beaglebone (PCB power issue). You may need to unplug and plug it back.
- TCP/IP communication, through network or localhost
- Serialize/deserialize hardware datas
- Written in pure C (for language compatibility)
- Written in D, because it's much easier than C++ to write and debug, and because we don't learn enough C++ to be fluent with it. Learning D is really easy if you already know (even barely) the main concepts that are found in C++, like templates, iterators, classes, etc...
- Full of unit tests
- Travis integration (each time you change the code, unit tests are run on a server)
- Good heading calculation
- Good tacking decisions
- Web interface to monitor hardware and emulate system to test it
- Everything seems to work, except the auto pilot
Improvements:
- Not enough tested on water
- Autopilot issues, must implement a PID controller
- Maybe other issues that need testing to be found
- Advanced filters on angle-value devices (vane, compass, etc...)
- Launches Tempest processes
- Re launch them if they crash
Improvements:
- Not maintained
- Not practical for development purpose
Authors:
- Thomas Abot (Triskell)
- Thibaut Charles (CromFr)