diff options
Diffstat (limited to 'client/readme.md')
-rw-r--r-- | client/readme.md | 42 |
1 files changed, 18 insertions, 24 deletions
diff --git a/client/readme.md b/client/readme.md index 8b4baee..63cd086 100644 --- a/client/readme.md +++ b/client/readme.md @@ -6,19 +6,19 @@ this page is WIP ## features -|feature|due|status|author|description| -|-|-|-|-|-| -|view warnings / errors| -|direct control| -|configure map| -|input orders| -|enable/disable emergency mode| -|enable/disable sensor calibration mode| -|enable/disable wet floor mode| -|read sensor values| -|set display contents|optional -|play music|optional -|control leds|optional +|feature|status|author|description| +|-|-|-|-| +|view warnings / errors|unimplemented||see a log of parsed warnings/errors +|direct control|done|Loek|directly control the robot with tank-style controls +|configure map|unimplemented||set map width/height and define entry/exitpoints +|input orders|unimplemented||type orders with lists of coordinates to visit +|enable/disable emergency mode|unimplemented||self-explanatory +|enable/disable sensor calibration mode|unimplemented||self-explanatory +|enable/disable wet floor mode|unimplemented||self-explanatory +|read sensor values|unimplemented||dashboard that displays all i/o as bar graphs +|set display contents|unimplemented||send text to display on lcd +|play music|unimplemented||play tunes +|control leds|unimplemented||turn on/off underside leds ## interface @@ -27,7 +27,8 @@ the robot in various ways. it primarily works in a bios-like way, with the user having access to multiple tabs containing options or custom interface elements. to start the interface, the user should run `./main <com-port>`. the interface -could look something like this (with colored text for element seperation): +could look something like this (with colored text for element seperation, [see +on figma](https://www.figma.com/file/vZ6rQp2G1HBAmbdrkxIZJ3/terminal-app)): ``` verbonden, 2ms ping (0.0.2-11-g92c394b) batterij 100% @@ -57,9 +58,9 @@ sneltoetsen: ``` the top status bar is always supposed to be visible, and is sort of inspired by -[ncmpcpp](https://github.com/ncmpcpp/ncmpcpp). because the client software -should use no libraries if possible, a custom renderer needs to be implemented, -though it doesn't matter if it's very primitive. +[ncmpcpp](https://github.com/ncmpcpp/ncmpcpp). we're using +[ncurses](https://invisible-mirror.net/ncurses/ncurses.html) to assist in +creating a cross-platform terminal ui. going from top-left in reading order the status bar contains: connection status, ping time, robot version number, robot battery info, current logic @@ -81,10 +82,3 @@ modules are executed after each other: - status bar paint - current tab paint -## notes on ascii escape codes - -- color codes -- terminal echo codes -- how to read terminal (re)size -- cursor movement(?) - |