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

Yardforce 500B #7

Closed
wants to merge 18 commits into from
Closed

Yardforce 500B #7

wants to merge 18 commits into from

Conversation

Janrupf
Copy link

@Janrupf Janrupf commented Jun 27, 2023

About

This is a work-in-progress attempt at supporting the Yardforce 500B variant. The biggest change seems to be that it is using a STM32F4, which in parts is different from the STM32F1 found in the original.

The code in here has not been tested other than "it compiles", if you own a 500B feedback is welcome but flash at your own risk!

I'm drafting this PR in order to track merge conflicts and coordinate integration.

The code in this PR is by no means my work alone and a lot of it has been sourced from the following repositories:

Building

This PR retains support for both boards, the original variant is still the default target. Build a B variant firmware using pio run -e Yardforce500B

@cedbossneo
Copy link
Owner

Maybe we can refactor the actual code to support the two variants.

@Janrupf
Copy link
Author

Janrupf commented Jul 3, 2023

Maybe we can refactor the actual code to support the two variants.

Thats essentially what this PR is doing - by selecting the appropriate board with PIO you can select for which mower you want to build.

@hpkevertje
Copy link

I've got Janruf's fork running on a 500B. Overall the mower is functioning, with some minor issues (I can't get the 'J18' debug to work, not all buttons on the pnnel work,...). Some of these might be because of me...
If you are still looking for feedback, I'm happy to provide it. I would need some guidance on what exactly to test and report.

@Janrupf
Copy link
Author

Janrupf commented Apr 21, 2024

Well, the general stance seems to be "it works" - as long as it doesn't blow up mainboards anymore (it shouldn't), the merge conflicts will need to be resolved and I think then it'd be ready to go.

Problem is, I don't have a 600B anymore. After my mainboard blew up, I swapped it for a 600 one

@danou07
Copy link

danou07 commented May 4, 2024

I have a 500B I installed the firmware from "Janrupf", in manual mode the robot works well, but in auto it goes in circles and stops. (motherboard 20210816 RM-MB-V6.1)
I don't know what to do

@hpkevertje
Copy link

Hi @danou07 ,
what you describe doesn't sound like a firmware issue. If you can drive manually the firmware is installed and works fine.
The behavior you describe is possibly caused by an issue with the IMU (non-supported IMU, wrong wiring,...). Look in openmower-gui to see if you get readings and take it from there. Also make sure you have a supported IMU chip.
You're better off asking these kind of questions on Discord. You'll get the answers from the right people there and they are very helpfull.
Han

@cedbossneo
Copy link
Owner

This PR is still draft, do you think we can merge it ?

@Janrupf
Copy link
Author

Janrupf commented May 6, 2024

I think so? The only real problem it ever had was blowing up the charging mosfet, but from what I've heard on the discord this issue has not occurred ever again after the CPU clock fixes have been merged into this PR

@Janrupf Janrupf marked this pull request as ready for review May 6, 2024 19:39
@jeremysalwen
Copy link

There are still merge conflicts. I can resolve them and test on my 500B if you would like.

@Janrupf
Copy link
Author

Janrupf commented May 8, 2024

That would be awesome!

@cedbossneo
Copy link
Owner

I'm currently testing this PR on my classic but it doesn't work yet

@Janrupf
Copy link
Author

Janrupf commented May 9, 2024

Chances are something is broken for the non-B variant? I'm unsure and I can't really test anymore

@Alepat62
Copy link

I've been using Janrup's firmware for a couple of weeks now and it works well !
I only needed to add a delay at the IMU initialisation (I'm using a AltIMU-10 V5) otherwize I cannot see any values in the gui.

@jeremysalwen
Copy link

I have rebased the branch on the lastest master, and I reviewed the code since Janrupf's original commits to see if I could find the breaking change for 500 classic.

There were three spots that stood out to me:

dcbb41a#diff-2e268f72ab0f890272367bd327d3b2d8c602894458640ae128f581195b127fc4L103

removes __HAL_RCC_PWR_CLK_ENABLE() which is not removed in the main branch.

13e0cf9 and daa4e42 both change how USART's are initialized in a way that the main branch hasn't.

I do not understand the code well enough to determine if these changes are good or bad, but if someone could look at them I suspect one of them is causing the issues with the 500 Classic.

@Janrupf
Copy link
Author

Janrupf commented May 11, 2024

dcbb41a#diff-2e268f72ab0f890272367bd327d3b2d8c602894458640ae128f581195b127fc4L103 - that may very well break it! I think the other 2 changes are fine (and should probably even be there for the non B variant?)

@jeremysalwen
Copy link

Thanks @Janrupf ! Here is the rebased branch with the tentative bugfix: https://github.com/jeremysalwen/Mowgli/tree/yardforce-500b . I will try to test it on my 500b in a bit, but if someone could test it on their 500 classic that would be great!

@jeremysalwen
Copy link

I just tested it, working good on my 500B. The new pull request is here: #12

@Alepat62
Copy link

I just tested it, working good on my 500B. The new pull request is here: #12

Tested on mine, it works too !

@Janrupf
Copy link
Author

Janrupf commented May 12, 2024

Alright! Closing in favor of #12

@Janrupf Janrupf closed this May 12, 2024
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.

9 participants