-
Notifications
You must be signed in to change notification settings - Fork 66
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
Merge-v24.4.12 #923
Merge-v24.4.12 #923
Conversation
…lot of redundant code
Also shows a nice message in the frontend if an internal error occours
By using the new ESPAsyncWebserver this patch is no more required as it is already included in the upstream repo
This is the first version, which compiles. Sorry, but this time this is not an easy task due to the changes in the Json libs. At the moment, we have the vue lint errors and we can't do the linking
|
It seems we are at most 1k Bytes over. Let's hope we can carve that out and get away with it one more time. I'll start by adopting 8add226. The vue linter errors are not a big deal. At least I think so. Thomas had to fix a bunch as well and shows us in de156ef how to ignore lines if we decide that fixing the linter error is not worth our time. |
We can change the partitions: But this would be a breaking change for 4 MB Devices (not OTA update)
|
If we went there, I would push for a much more aggressive approach: drop support for 4MB devices altogether and enlarge each app partition to roughly 4MB (expect 8MB flash total minimum, like ESP32-S3 on OpenDTU FUSION). This will be a major disruption and break upgrading from stock OpenDTU as well. I hope we can postpone such drastic measures a little longer. I am targeting the FirebaseJson Library. Remember when someone took it out and saved ~20k of Flash? We had to put it back in because the HTTPS+JSON power meter broke. I hope that ArduinoJson 7 has more capabilities in this regard. And if users have to adjust the setting to be compatible with ArduinoJson 7 rather than FirebaseJson, then I think this is acceptable. There might be more options to save code. Do you have more ideas? |
With adopting
|
Beside Firebase I would check, if we can get rid of Cypto lib. If I remember right, we just need SHA256. So there might be a more light wise approach. Don't know if there is a complier optimization level "Optimize for size" for platformio. Last thing. |
Is TLS support (MQTT and HTTP clients) implemented elsewhere? And I would assume, that if only SHA256 functionality is used, only little code is actually linked in. Let's find out.
Yes. This also means there will be a breaking change, but that's more a less a given in the long run. The big disadvantage with this approach is that we need to build that second smaller binary. (You are talking about the "tasmota-minimal" approach, right?) That will be a headache in the code, the web app (which needs to be a different one), and the build process. I also thought we might want to drop the second binary altogether. If it gets corrupted (OTA update), the flash must be rewritten using the USB interface/serial loader. At least for the 4MB devices. For other devices, we might keep the approach with two binaries, but still enlarge the bin size. I just scrolled Wikipedia and now I think that requiring ESP32 with at least 8MB of flash will be very harsh. The default is 4MB, and most people will end up with such a device, and they will be frustrated to find out that they can't use such a board at all.
I checked some time ago, it's already |
saves redundant code, reducing flash usage.
a6fdaef
to
d3b306e
Compare
Missed one opportunity to use |
Hi @schlimmchen, I'm exploring the possibility of discontinuing support for devices with 4MB flash. Do you think increasing the minimum to 8MB would pave the way for new features or advantages in the near future? It might be worth communicating this potential change widely, such as in changelogs, the wiki, GitHub page, and other prominent spaces. For example: "Starting January 1st, 2025, ODTUoB will no longer support 4MB flash. Further details can be found here." Personally, I believe phasing out support for these smaller devices could catalyze further development. What are your thoughts? Best regards, |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Helge's merge conflict resolution makes sense.
@helgeerbe I want to go ahead and merge this to development, so we can start testing. I need #933 as of yesterday, so I will slip that in right now and then merge this PR. |
This pull request has been automatically locked since there has not been any recent activity after it was closed. Please open a new discussion or issue for related concerns. |
No description provided.