Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

WiFi Over the air update #21

Merged
merged 6 commits into from
Dec 30, 2024
Merged

WiFi Over the air update #21

merged 6 commits into from
Dec 30, 2024

Conversation

scottyob
Copy link
Collaborator

@scottyob scottyob commented Dec 23, 2024

  • Adds version.h for tracking current version and upstream location for over the air updates (will need to change location once we start doing releases upstream)
  • Adds the QR code library, and a Modal page to show a QR code
  • Adds Wifi capabilities and page to Setup WiFi credentials using SmartConfig.
  • Adds sub-pages for QR codes to the App and Android play stores
  • This change adds a library for performing an Over the Air Update
  • Adds a page to perform an Over the Air WiFi Update.

Test Plan:

IMG_2765.1.mp4

@scottyob scottyob force-pushed the ota branch 2 times, most recently from 3a35761 to 6e75b74 Compare December 23, 2024 22:09
Copy link
Contributor

@oxothnk423 oxothnk423 left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Seems like the awesomeness of PlatformIO unfortunately leads to breaking when building with Arduino. Ideally we'd maintain compatibility on both, since folks may generally be more likely to use Arduino.

@@ -20,6 +20,14 @@ board_build.partitions = default_8MB.csv

lib_extra_dirs = src/libraries

lib_deps =
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Just starting to test out the OTA functionality! Noticed new libraries required; would be great to include these in the readme file for Arduino users as well
https://github.com/scottyob/leaf/tree/ota/src/vario#required-libraries

#include "PageQR.h"

#include "display.h"
#include "qrcode.h"
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

This include doesn't seem to work when building in Arduino. ("QRCode was not declared in this scope")

Quick research suggests it may be because of a conflict with built in ESP32 board package (also has a qrcode.h). See here:
ricmoo/QRCode#31

Suggestions on best way to handle?

Not required for PlatformIO, but this adds support for Arduino IDE builds once the etlcpp library has been added.

Test Plan (using Arduino IDE):
```
Sketch uses 612976 bytes (46%) of program storage space. Maximum is 1310720 bytes.
Global variables use 91304 bytes (27%) of dynamic memory, leaving 236376 bytes for local variables. Maximum is 327680 bytes.
```
Added a build flag to PlatformIO to know when we're building with that.

Added a new library to the Arduino github action so it can check out that library..

I still maintain that keeping this working in two build environments is making this project harder to maintain already :\
QR Code library was not building with Arduino.  Followed the recommended approach to copy/paste it in and rename it.

It appears to be MIT license, so I think this is good.
* BugFix that may cause exception faults on two pages sharing no sub-menus
* Added WiFi Manager to be able to configure WiFi without the needed for an app under "Manual" mode.
@oxothnk423 oxothnk423 merged commit 47e0c28 into DangerMonkeys:main Dec 30, 2024
2 checks passed
@scottyob scottyob deleted the ota branch December 30, 2024 19:31
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

2 participants