tag name | 0.3.0 (fbf08244c3d1becfc7a0833489f241da8cf405c7) |
tag date | 2022-06-05 17:03:51 +0200 |
tagged by | lonkaars <loek@pipeframe.xyz> |
tagged object | commit 6e514e71fe... |
0.3.0
changelog:
- simulation prints info over `stderr` now. `stdin` and `stdout` are
reserved for binary communication (e.g. running under socat)
- client status bar somewhat done
- client dirc mode done
- client software architecture done
- client uses internationalization (i18n) headers for translations
- robot and client now send pings every second
- `PING` command changed in the protocol spec. now `PING` doesn't flip
the direction bit on reply. see protocol spec for more details
- `INFO` command changed in the protocol spec. now `INFO` also sends the
current mode on request, in addition to on change via the `MODE`
command
- added ncurses linker flags to makefile and toolchain scripts
- serial message parsing now uses the `W2_CAST_BIN` macro which uses
fancy pointer magic to avoid copying all data for improved memory
efficiency.
- serial message generation now has the `W2_CREATE_MSG_BIN` and
`W2_CREATE_MSG_SIZE_BIN` macros which also use fancy pointer magic to
avoid copying all data for improved memory efficiency.
- moved a lot of code to the new shared/ directory so it can be shared
between the client and robot code
- implemented maze mode
- added a history buffer to the modes module so the previous mode can be
called back
- use `serial_send_blocking` instead of `serial_send` so the internal
serial message buffer doesn't immediately get overwritten with new
data