-
-
Notifications
You must be signed in to change notification settings - Fork 282
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
Enlargeable Config Packet #110
Enlargeable Config Packet #110
Conversation
Seems like you're not using anything from debug.h now, except the initialization. 🤔 |
IGNORE_CHARGING_CURRENT could also become a setting I guess. Maybe we can have only a single build in the future? |
Ah, in main.cpp, there are many places with |
No, not anymore, since you deleted nv_config :-)
I already had that discussion in a similar way a couple of weeks ago. I liked to move it to checkShouldCharge() and don't check for the current, but got stopped with something like "better no values" than "wrong values" (even if the relevant ppl know their hardware failure)... But wait... or do you mean those could configure/send
Will do with the next commit ;-) |
I hadn't checked in much detail - just thought that we could try and reduce the number of build variants. 😉 IIUC, I have no personal interest here. Again, I'm just looking at how this PR can be utilized, and since you asked for more settings, that was one that came to my mind. (Another one would be settings for for #97, but since that isn't merged yet, we can also add them there.) From risk perspective, I guess it's no different from setting |
Fully clear and I'm grateful for getting such a detailed review and good hints!!
Yes, and that time, my reasoning for moving the IGNORE implementation to checkShouldCharge() was the opposite, because a couple of ppl. use this IGNORE thingy for an increased battery charging over the fixed 1.5A and don't see if they charge with 2A or 3A. But that should be solved soon ;-) |
Time for an intermediate result. Next, I'll check if LittleFS is working as expected. ROS side's PR ClemensElflein/open_mower_ros#163 |
Please see here ClemensElflein/open_mower_ros#163 (comment) about state/description |
…gnore_charging_current`
In my opinion, all is done. Would love to see a generic review (also from @ClemensElflein) before asking for tester @ discord. |
May I already test? Is there an easy way to change the firmware version? I would like to check voltage and current settings to fit to my bigger battery. |
Sure, testing is always welcome 😇 Pico-FW is here: https://github.com/ClemensElflein/OpenMower/actions/runs/11534325476/artifacts/2107987830 ROS Image via: Please check the sample config file regarding the required parameter: https://github.com/ClemensElflein/open_mower_ros/blob/38396194a4cc5d71de48d489fd35c19ca52f929a/config/mower_config.sh.example#L197-L210 You may watch the |
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.
LGTM
In relation to ClemensElflein/OpenMower#110 Roadmap: - [x] Decide for config protocol and struct - [x] LowLevel (OpenMower Pico-FW) please see ClemensElflein/OpenMower#110 - [x] HighLevel (open_mower_ros) - [x] Implement packet handling - [x] Implement config value handling - [x] Charge & Battery - [x] Hall sensor inputs - [x] Emergency - [x] Misc - [x] Test with old LL-FW <sub>:hammer: = Currently working on</sub> --------- Co-authored-by: Clemens Elflein <clemens1@familie-elflein.de>
Roadmap:
🔨 = Currently working on
Test:
Each side (LowLevel-Pico / HighLevel-Raspi) should be upgrade-able without any compatibility issues.
But for getting the new configuration possibilities, both sides need to be updated.
LowLevel (Pico)
Firmware can be found within Actions.
Select the newest
Enlargeable Config Packet
workflow. Even if it has a red cross in front, it should contain the open-mower-pico-firmware package within the "Atrifacts" section (scroll down).HighLevel (Raspi)
Docker image can be pulled via
sudo podman pull ghcr.io/clemenselflein/open_mower_ros:pr-163
(don't forget to change your /boot/openmower/openmower_version.txt to 'pr-163')
Configuration workflow
Once HighLevel is up and detect a running LowLevel, it will send a "configuration wish-list" to LowLevel like:
LowLevel receive this "config packet", aligns it with his defaults values as well as his known hardware limits and answer with a config-response-packet containing the applied, adapted or default values, like:
Configuration
Please check the sample config file regarding the possible new parameters, like Battery & Charge, Hall/Emergency or Ignore Charging Current.