55 lines
1.3 KiB
Markdown
55 lines
1.3 KiB
Markdown
|
|
## Exercise 02: OLED Display
|
||
|
|
|
||
|
|
This exercise demonstrates multiple OLED rendering patterns on the LilyGO T-Beam Supreme (SH1106).
|
||
|
|
|
||
|
|
The firmware runs 3 demos in sequence, then shows a restart banner and repeats forever.
|
||
|
|
|
||
|
|
## Demo Sequence
|
||
|
|
|
||
|
|
### Demo 1: Scrolling Text
|
||
|
|
- Shows `Hello #<n>` lines.
|
||
|
|
- New lines are added below prior lines.
|
||
|
|
- Up to 5 lines are visible; old lines roll off the top.
|
||
|
|
|
||
|
|
### Demo 2: Fill Then Erase
|
||
|
|
- Displays `Count 1` through `Count 10`.
|
||
|
|
- Shows a short `Clearing screen...` message.
|
||
|
|
- Erases the OLED to demonstrate explicit clear behavior.
|
||
|
|
|
||
|
|
### Demo 3: Multi-Page Rotation
|
||
|
|
- Rotates through 3 distinct text pages.
|
||
|
|
- Each page has different content/layout to demonstrate refresh transitions.
|
||
|
|
- Includes a changing packet counter field on one page.
|
||
|
|
|
||
|
|
### Restart Banner
|
||
|
|
- Shows `Restarting 3 demos` for 5 seconds.
|
||
|
|
- Sequence restarts at Demo 1.
|
||
|
|
|
||
|
|
## Expected Serial Output
|
||
|
|
Serial output (115200) prints phase changes, for example:
|
||
|
|
- `Demo 1/3: scrolling Hello #`
|
||
|
|
- `Demo 2/3: clear screen after 10`
|
||
|
|
- `Demo 3/3: three-page rotation`
|
||
|
|
- `Restarting 3 demos`
|
||
|
|
|
||
|
|
### Build
|
||
|
|
From this directory:
|
||
|
|
|
||
|
|
```bash
|
||
|
|
source /home/jlpoole/rnsenv/bin/activate
|
||
|
|
pio run -e node_a
|
||
|
|
```
|
||
|
|
|
||
|
|
### Upload
|
||
|
|
Set your USB port:
|
||
|
|
|
||
|
|
```bash
|
||
|
|
source /home/jlpoole/rnsenv/bin/activate
|
||
|
|
pio run -e node_a -t upload --upload-port /dev/ttyACM0
|
||
|
|
```
|
||
|
|
|
||
|
|
### Serial Monitor
|
||
|
|
|
||
|
|
```bash
|
||
|
|
screen /dev/ttyACM0 115200
|
||
|
|
```
|