Simple chat app for M5 Cardputer and the M5 E220 LoRa modules. Doing for my own learning and enjoyment. Work in progress.
The interface is split into 5 tabs. The first three tabs are separate chat channels, the next tab shows the status of other users seen, and the last tab is for changing settings. Press the tab key to switch between tabs. The system bar shows the current username, the signal strength of the user seen with the best signal strength and incoming and outgoing messages, and the Cardputer's current battery level. LoRa modules are currently configured using the default settings from the LoRa modules's library. Modules must be configured initially to work, can do so in settings.
Tab | Image | Info |
---|---|---|
Chat Tab | A, B, and C chat channels. Use keyboard to type and enter to send messages. | |
Users Seen | Shows users seen in chat and with pings. Shows last received signal strength and when last seen. | |
Settings | Use arrow keys and enter to navigate settings. Use keyboard to update username when highlighted. |
Setting | Info |
---|---|
Username | Min length 2, max length 8, ASCII only. |
Brightness | Set display brightness [0-100]. If set very low, the display will automatically brighten when buttons are pressed. |
Ping Mode | Send an occassional ping when not sending messages to show presence to other users. |
Repeat Mode | Repeat back messages received. Just a testing function for now. |
ESP-NOW Mode | Use the Wifi radio (using ESP-NOW protocol) to chat instead of LoRa! The range will be lower. :) |
App Config | Writes current settings (username, brightness, ping mode, repeat mode) to SD card, will be reloaded on boot |
LoRa Config | Writes register values to LoRa module. M0 and M1 switches must be set to off (config mode). |
See TODOs in code for now.
ideas: