Add photos and datasheet; correct wiring and protocol docs
The 20L203 input is RS-232 (reference build uses a MAX3232), it runs on 5-24 V, and it boots in non-scrolling overwrite mode. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
This commit is contained in:
1 parent
bd9389e04a
commit
3fcd15ad86
7 files changed
+113
-52
No files matched your search
@@ -1,7 +1,7 @@
|
||||
# CLAUDE.md
|
||||
|
||||
ESPHome external component for a Samsung 2×20 serial VFD (5 V TTL, 9600 8N1,
|
||||
write-only). It is consumed from git by an ESPHome server through
|
||||
ESPHome external component for a Samsung 20L203 2×20 serial VFD (RS-232
|
||||
input, 9600 8N1, write-only). It is consumed from git by an ESPHome server through
|
||||
`external_components: source: github://...`, so the layout must stay
|
||||
`components/samsung_vfd/` at the repo root.
|
||||
|
||||
@@ -13,6 +13,8 @@ write-only). It is consumed from git by an ESPHome server through
|
||||
and the templated action classes.
|
||||
- `components/samsung_vfd/samsung_vfd.cpp`: the shadow buffer, word wrap,
|
||||
UTF-8 → single-byte sanitising and `flush_()`.
|
||||
- `docs/20L203DA12-datasheet.pdf`: the command set (section 5.4), jumpers,
|
||||
wiring and the character tables. Check it before adding protocol features.
|
||||
- `examples/samsung-vfd.yaml`: the full reference device config. It pulls the
|
||||
component from GitHub; for local work, switch to the commented
|
||||
`type: local, path: ../components` source.
|
||||
@@ -27,8 +29,13 @@ write-only). It is consumed from git by an ESPHome server through
|
||||
`last_payload_` so the next flush retransmits.
|
||||
- Text sent to the display is one byte per character; always pass it through
|
||||
`sanitize_()`.
|
||||
- Keep the protocol constants in `samsung_vfd.h`. Only `ESC @`, `0C` and `0B`
|
||||
are known to work.
|
||||
- Keep the protocol constants in `samsung_vfd.h`. The display boots in
|
||||
overwrite mode: the cursor wraps from the end of line 1 to line 2 and from
|
||||
the end of line 2 back home, and nothing scrolls. A full-screen redraw is
|
||||
therefore `0B` plus `rows × cols` characters.
|
||||
- The RXD input is RS-232. The reference build uses a MAX3232 (no inversion
|
||||
in config); a directly wired ESP32 pin needs `inverted: true` on the UART TX
|
||||
pin.
|
||||
|
||||
## Checking changes
|
||||
|
||||
|
||||
Reference in new issue
Block a user