Skip to content

v1.1.0

Latest
Compare
Choose a tag to compare
@MB3hel MB3hel released this 05 May 19:02

Only changes since 1.1.0-beta2 are documentation changes

Changelog:

  • New: SimCB
    • Firmware can now be built to "SimCB" binaries. These are programs that can run on Windows, macOS, or Linux and act as a simulated control board.
    • SimCB can be interacted with via TCP using the same communication protocol used by a real control board over UART
    • In contrast to the old "simcb" built into the simulator itself, this can be used without the simulator to provide a simulated environment
    • SimCB runs the actual firmware on the host OS using FreeRTOS simulation ports. Thus, it is the same code as the real control board.
    • Thus, SimCB allows testing without a simulated environment (useful for unit tests in programs using control board) and ensures that testing (with or without simulated environment) is more accurate to the behavior of real hardware.
  • Control board firmware now supports multiple different IMUs and depth sensors. There is no new hardware supported currently, but the codebase is structured to be able to. This has motivated some command changes described below.
  • Various sensor message prefixes changed to be more generic
    • BNO055D -> IMUD
    • BNO055R -> IMUR
    • BNO055P -> IMUP
    • BNO055W -> IMUW
    • MS5837D -> DEPTHD
    • MS5837R -> DEPTHR
    • MS5837P -> DEPTHP
    • Note that sensor specific configuration commands (eg BNO055A and calibration commands) are still the same. They are prefixed with the name of the specific sensor. Some of these commands will now ACK with INVALID_CMD if the sensor is not connected. This is generally true of commands that require data from the sensor (eg calibration) but generally will not apply to general configuration (eg axis configs). See docs for details.
  • Sensor status SSTAT command now returns two bytes in the ACK. These bytes indicate which IMU / Depth sensor is in use. Currently supported IMUs are BNO055, SIM and supported depth sensors are MS5837, SIM. Note that when a control board is under the simulator (either real or SimCB under simulator), the sensors will report as the SIM sensors, not as real hardware anymore.
  • Removed Depth hold mode (DHOLD). It was essentially useless.
  • Added a heartbeat message sent from control board to the PC once per second. This message can safely be ignored. It is used to indicate that the control board is still present and operating as expected. This is mostly for internal networking reasons for SimCB. But end users may find it useful to monitor the heartbeat messages at times too.
  • Thruster PWM parameters must now be configured. If thruster parameters are not configured, the control board will not generate any PWM signals. This is used as a way to support more types of ESCs.
    • This is done using the TPWM command. See the docs for details.
    • If speed sets are issued before this command, no PWM will be generated, until TPWM is sent. After TPWM is sent, the PWM starts being generate (this applies even for previous speed sets)
    • TPWM should be part of the vehicle configuration (just like dof matrix, TINV, and RELDOF).
  • SASSISTTN message is now PIDTN to better reflect its purpose

  • SimCB recommends port 5014 when prompting user (matching simulator default)
  • Iface scripts support attaching to SimCB directly (-p tcp:PORT)
  • Iface scripts support non-default ports for the simulator