Skip to content

Current status

Thibaut CHARLES edited this page Jul 3, 2015 · 5 revisions

26/06/2015


  • 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)
  • 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
Clone this wiki locally