39 lines
1.1 KiB
Plaintext
39 lines
1.1 KiB
Plaintext
## Serial Interface
|
|
|
|
Instead of polling for input we use an interrupt vector
|
|
to write data to a rx ring buffer when it's available.
|
|
|
|
We parse commands using a state machine so we can deal
|
|
with small chunks of characters at a time and spit out
|
|
the parsed command when the transmission has finished.
|
|
|
|
TODO: System clock frequency should be a multiple of
|
|
1.8432MHz for perfect USART. This means we would need
|
|
an external crystal oscillator.
|
|
|
|
### Supported Commands
|
|
|
|
- RUN
|
|
- STOP
|
|
- TEMP <num>
|
|
- DEWP <num>
|
|
|
|
Decimal point for numbers is currently not supported.
|
|
Make sure you have disabled hardware flow control on
|
|
the client side.
|
|
|
|
TODO: Do we need to handle backspaces for interactive
|
|
serial consoles?! Overkill?!
|
|
|
|
### Web Interface Example
|
|
|
|
There is a little example web interface you can check
|
|
out in the opt/webgui directory. The simple php page
|
|
demonstrates how you can create a custom interface for
|
|
your drybox. For more info see the README file there.
|
|
|
|
You may need to run the following command to load the
|
|
optional submodules if you can't see the webgui folder:
|
|
|
|
git submodule update --init
|