diff --git a/Firmware/CoverUI/YardForce/README.md b/Firmware/CoverUI/YardForce/README.md index 2e64322..ebfaec1 100644 --- a/Firmware/CoverUI/YardForce/README.md +++ b/Firmware/CoverUI/YardForce/README.md @@ -12,16 +12,21 @@ Logo + + Logo + -

OM CoverUI Firmware for Stock 'YardForce Classic 500(A/B)' PCB

+

OM CoverUI Firmware for Stock YardForce PCBs

- Tested/working with + +#### Tested/working with | YardForce Model | PCB Label | MCU Variant | | --------------- | :------------------------: | :---: | | Classic 500 | RM-ECOW-V1.3.0, 2020.05.08 | STM32F030R8, GD32F330R8 | | Classic 500B | RM-ECOW-V1.3.1, 2021.08.09 | STM32F030R8[^1], GD32F330R8 | +| SA800PRO
(and other SAxPRO Rev6) | HS49067, WYPCB319B | STM32F030RC | [^1]: Not yet tested, but it's expected that it will also work flawless @@ -59,7 +64,7 @@ ## About The Project -For those, who still have their stock *YardForce Classic 500 (A/B)* Cover-UI/Botton-Board available and want to get it running together with [OpenMower](https://github.com/ClemensElflein/OpenMower), I ported OM's CoverUI FW functionality to it. +For those, who still have their stock *YardForce Classic 500 (A/B) or SAxPRO (Rev6)* Cover-UI/Botton-Board available and want to get it running together with [OpenMower](https://github.com/ClemensElflein/OpenMower), I ported OM's CoverUI FW functionality to it.

(back to top)

@@ -76,31 +81,22 @@ For those, who still have their stock *YardForce Classic 500 (A/B)* Cover-UI/Bot ### Prerequisites -* Stock *YardForce Classic 500 (A/B)* Cover-UI/Button-Board +* Compatible stock *YardForce* Cover-UI/Button-Board or Display (see [Tested/working with](#testedworking-with)) * Soldering Iron * ST-Link programmer/debugger (or Picoprobe if you've a STM32 MCU) -### Hardware Modifications: Buttons & LEDs ($\textcolor{red}{\textsf{mandatory}}$) +### Hardware Modifications: Buttons & LEDs (**mandatory**) With the stock component placement, Button-Home and Buttom-Play get routed to the main (black) 16 pin connector (JP2/J6). But we need them routed to the MCU. Luckily the PCB is already prepared for this. -We only need to move the 0 Ohm (bridge) resistors -1. R33 to the NonPlaced R34 position (Button-Home) -2. R37 to (NP) R42 (Button-Play) - -You might also simply bridge R34 and R42, but I felt it's simpler to move them. - -|
Classic 500
|
Classic 500 B
| -| ----------- | ------------ | -| [![Mandatory Hardware Modification](images/IMG_PCB_Changes.jpg "Open in browser")](images/IMG_PCB_Changes.jpg) | [![Mandatory Hardware Modification](images/IMG_PCB_Changes_500B.jpg "Open in browser")](images/IMG_PCB_Changes_500B.jpg) | - -(The yellow cable on the left picture (to R5/C2) should not harm you. This is the NRST signal which is only required if you bug the code (like me) during development) - -Lastly, you need to solder some kind of connector (pin header or cables) to GND, CLK, DIO and 3V3 (directly beside the main 16 pin connector) for your ST-Link or Picoprobe programmer/debugger (if not already exist). +|
Classic 500
|
Classic 500 B
|
SAxPRO (Rev6)
| +| ----------- | ------------ | ------------ | +| [![Mandatory Hardware Modification](images/IMG_PCB_Changes.jpg "Open in browser")](images/IMG_PCB_Changes.jpg) | [![Mandatory Hardware Modification](images/IMG_PCB_Changes_500B.jpg "Open in browser")](images/IMG_PCB_Changes_500B.jpg) | [![Mandatory Hardware Modification](images/IMG_PCB_Changes_SAxPRO.jpg "Open in browser")](images/IMG_PCB_Changes_SAxPRO.jpg) | +| Move the 0 Ohm (bridge) resistors:
1. R33 to the NonPlaced R34 position (Button-Home)
2. R37 to (NP) R42 (Button-Play)

(You might also simply bridge R34 and R42, but for me it was simpler to move them)

(The yellow cable (to R5/C2) should not harm you. This is the NRST signal which is only required if you bug the code (like me) during development) | Move the 0 Ohm (bridge) resistors:
1. R33 to the NonPlaced R34 position (Button-Home)
2. R37 to (NP) R42 (Button-Play)

(You might also simply bridge R34 and R42, but for me it was simpler to move them) | 1. Bridge R14 (Button-Start/Play)
2. Bridge R15 (Button-Home) -### Hardware Modification: Rain Sensor ($\textcolor{blue}{\textsf{optional}}$) +### Hardware Modification: Rain Sensor (*optional*) If you also like to use the Stock-Rain-Sensor cabling, you need to solder a separate cable from FB2 to the non-placed R79. See the yellow cable on the following images: @@ -113,7 +109,7 @@ See the yellow cable on the following images: | [![Optional Rain Hardware Modification](images/IMG_Stock-Cables-rain1.jpg "Open in browser")](images/IMG_Stock-Cables-rain1.jpg) | [![Optional Rain Hardware Modification](images/IMG_Stock-Cables-rain1_500B.jpg "Open in browser")](images/IMG_Stock-Cables-rain1_500B.jpg) | -### Hardware Modification: Emergency Hall Sensors ($\textcolor{blue}{\textsf{optional}}$) +### Hardware Modification: Emergency Hall Sensors (*optional*) If you also like to use your Stock-Hall-Sensor cabling (2 * stop-button and 2 * wheel-lift): ![Optional Rain Hardware Modification](images/IMG_Stock-Cables_500B.jpg) @@ -176,11 +172,12 @@ It turns out that ST-Link GUI tool is some how flawy, why I recommend to use the Open a terminal/console, then: * `st-info --descr` should return either: - * `F0xx`, which mean that your PCB has a 'STM32F030R8' MCU - * `F1xx Medium-density` which identify a 'GD32F330R8' MCU + * `F0xx`, which identify your PCB's MCU as a 'STM32F030R8' (i.e. Classic 500) + * `F1xx Medium-density` which identify a 'GD32F330R8' MCU (i.e. Classic 500) + * `F09X` identifies a 'STM32F030RC' MCU (i.e. SAxPRO Display) * Dependent on what kind of MCU you identified, download your matching [firmware binary](./bin) * Unplug everything from you stock CoverUI PCB and connect your ST-Link to GND, CLK, DIO and 3V3. Take special attention to hit the '3.3V' pin on your ST-Link!! Now simply:
- `st-flash write firmware__[_, ...].bin 0x08000000` which should log at the end something like 'Flash written and verified! jolly good!' + `st-flash write firmware___[_, ...].bin 0x08000000` which should log at the end something like 'Flash written and verified! jolly good!' When done, re-plug your ST-Link and you should see a quick power-on animation. diff --git a/Firmware/CoverUI/YardForce/bin/README.md b/Firmware/CoverUI/YardForce/bin/README.md index dffee17..10d943c 100644 --- a/Firmware/CoverUI/YardForce/bin/README.md +++ b/Firmware/CoverUI/YardForce/bin/README.md @@ -1,6 +1,6 @@ -## Firmware for YardForce Classic 500 (A/B) - **Stock**-CoverUI @ [OpenMower](https://github.com/ClemensElflein/OpenMower) +## Firmware for stock YardForce CoverUI @ [OpenMower](https://github.com/ClemensElflein/OpenMower) -File syntax = `firmware___[, ...].bin` +File syntax = `firmware____[, ...].bin` > **Warning** > Only install the \ version, for which you also made the required hardware modifications! @@ -9,9 +9,17 @@ File syntax = `firmware___[, ...].bin` ### Version History +#### YardForce Classic 500 (A/B) + | Version [^1] | Changes | Date | | ------- | ------- | ---- | | 1.00 | Stock-Cable support for rain & hall sensors | 05/13/2023 | NA | First OM's Custom-CoverUI port | 05/01/2023 [^1]: Press OK + HOME to get your installed FW version displayed + +#### YardForce SAxPRO (Rev6) + +| Version | Changes | Date | +| ------- | ------- | ---- | +| 1.00 | Initial version | 09/27/2023 diff --git a/Firmware/CoverUI/YardForce/images/IMG_Cable.jpg b/Firmware/CoverUI/YardForce/images/IMG_Cable.jpg index 9e9a438..1b5c87a 100644 Binary files a/Firmware/CoverUI/YardForce/images/IMG_Cable.jpg and b/Firmware/CoverUI/YardForce/images/IMG_Cable.jpg differ diff --git a/Firmware/CoverUI/YardForce/images/IMG_Overview.jpg b/Firmware/CoverUI/YardForce/images/IMG_Overview.jpg index c44e746..0f122c6 100644 Binary files a/Firmware/CoverUI/YardForce/images/IMG_Overview.jpg and b/Firmware/CoverUI/YardForce/images/IMG_Overview.jpg differ diff --git a/Firmware/CoverUI/YardForce/images/IMG_Overview_SAxPRO.jpg b/Firmware/CoverUI/YardForce/images/IMG_Overview_SAxPRO.jpg new file mode 100644 index 0000000..2e5acc2 Binary files /dev/null and b/Firmware/CoverUI/YardForce/images/IMG_Overview_SAxPRO.jpg differ diff --git a/Firmware/CoverUI/YardForce/images/IMG_PCB_Changes_500B.jpg b/Firmware/CoverUI/YardForce/images/IMG_PCB_Changes_500B.jpg index 686b3a0..a279ac7 100644 Binary files a/Firmware/CoverUI/YardForce/images/IMG_PCB_Changes_500B.jpg and b/Firmware/CoverUI/YardForce/images/IMG_PCB_Changes_500B.jpg differ diff --git a/Firmware/CoverUI/YardForce/images/IMG_PCB_Changes_SAxPRO.jpg b/Firmware/CoverUI/YardForce/images/IMG_PCB_Changes_SAxPRO.jpg new file mode 100644 index 0000000..90bb8c3 Binary files /dev/null and b/Firmware/CoverUI/YardForce/images/IMG_PCB_Changes_SAxPRO.jpg differ diff --git a/Firmware/CoverUI/YardForce/images/IMG_Picoprobe-open1.jpg b/Firmware/CoverUI/YardForce/images/IMG_Picoprobe-open1.jpg index 872167d..809219e 100644 Binary files a/Firmware/CoverUI/YardForce/images/IMG_Picoprobe-open1.jpg and b/Firmware/CoverUI/YardForce/images/IMG_Picoprobe-open1.jpg differ diff --git a/Firmware/CoverUI/YardForce/images/IMG_Picoprobe-open2.jpg b/Firmware/CoverUI/YardForce/images/IMG_Picoprobe-open2.jpg index dc0ef81..00e4d0e 100644 Binary files a/Firmware/CoverUI/YardForce/images/IMG_Picoprobe-open2.jpg and b/Firmware/CoverUI/YardForce/images/IMG_Picoprobe-open2.jpg differ diff --git a/Firmware/CoverUI/YardForce/images/IMG_Picoprobe.jpg b/Firmware/CoverUI/YardForce/images/IMG_Picoprobe.jpg index 34848e1..daea62d 100644 Binary files a/Firmware/CoverUI/YardForce/images/IMG_Picoprobe.jpg and b/Firmware/CoverUI/YardForce/images/IMG_Picoprobe.jpg differ diff --git a/Firmware/CoverUI/YardForce/images/IMG_ST-Link-V2-Clone.jpg b/Firmware/CoverUI/YardForce/images/IMG_ST-Link-V2-Clone.jpg index d224aed..2687fc6 100644 Binary files a/Firmware/CoverUI/YardForce/images/IMG_ST-Link-V2-Clone.jpg and b/Firmware/CoverUI/YardForce/images/IMG_ST-Link-V2-Clone.jpg differ diff --git a/Firmware/CoverUI/YardForce/images/IMG_Stock-Cables-detail2.jpg b/Firmware/CoverUI/YardForce/images/IMG_Stock-Cables-detail2.jpg index e0892e9..dccaf17 100644 Binary files a/Firmware/CoverUI/YardForce/images/IMG_Stock-Cables-detail2.jpg and b/Firmware/CoverUI/YardForce/images/IMG_Stock-Cables-detail2.jpg differ diff --git a/Firmware/CoverUI/YardForce/images/IMG_Stock-Cables-detail2_500B.jpg b/Firmware/CoverUI/YardForce/images/IMG_Stock-Cables-detail2_500B.jpg index 4d3ec93..d811a42 100644 Binary files a/Firmware/CoverUI/YardForce/images/IMG_Stock-Cables-detail2_500B.jpg and b/Firmware/CoverUI/YardForce/images/IMG_Stock-Cables-detail2_500B.jpg differ diff --git a/Firmware/CoverUI/YardForce/images/IMG_Stock-Cables-detail3.jpg b/Firmware/CoverUI/YardForce/images/IMG_Stock-Cables-detail3.jpg index 721e787..ab553e5 100644 Binary files a/Firmware/CoverUI/YardForce/images/IMG_Stock-Cables-detail3.jpg and b/Firmware/CoverUI/YardForce/images/IMG_Stock-Cables-detail3.jpg differ diff --git a/Firmware/CoverUI/YardForce/images/IMG_Stock-Cables-detail3_500B.jpg b/Firmware/CoverUI/YardForce/images/IMG_Stock-Cables-detail3_500B.jpg index 49c272e..ca3972c 100644 Binary files a/Firmware/CoverUI/YardForce/images/IMG_Stock-Cables-detail3_500B.jpg and b/Firmware/CoverUI/YardForce/images/IMG_Stock-Cables-detail3_500B.jpg differ diff --git a/Firmware/CoverUI/YardForce/images/IMG_Stock-Cables-nice.jpg b/Firmware/CoverUI/YardForce/images/IMG_Stock-Cables-nice.jpg index cf46e96..0946845 100644 Binary files a/Firmware/CoverUI/YardForce/images/IMG_Stock-Cables-nice.jpg and b/Firmware/CoverUI/YardForce/images/IMG_Stock-Cables-nice.jpg differ diff --git a/Firmware/CoverUI/YardForce/images/IMG_Stock-Cables-overview.jpg b/Firmware/CoverUI/YardForce/images/IMG_Stock-Cables-overview.jpg index 3a82310..aa76f59 100644 Binary files a/Firmware/CoverUI/YardForce/images/IMG_Stock-Cables-overview.jpg and b/Firmware/CoverUI/YardForce/images/IMG_Stock-Cables-overview.jpg differ diff --git a/Firmware/CoverUI/YardForce/images/IMG_Stock-Cables-overview_500B.jpg b/Firmware/CoverUI/YardForce/images/IMG_Stock-Cables-overview_500B.jpg index b2734d2..bb4ac37 100644 Binary files a/Firmware/CoverUI/YardForce/images/IMG_Stock-Cables-overview_500B.jpg and b/Firmware/CoverUI/YardForce/images/IMG_Stock-Cables-overview_500B.jpg differ diff --git a/Firmware/CoverUI/YardForce/images/IMG_Stock-Cables-rain1_500B.jpg b/Firmware/CoverUI/YardForce/images/IMG_Stock-Cables-rain1_500B.jpg index 17d826b..254ae8b 100644 Binary files a/Firmware/CoverUI/YardForce/images/IMG_Stock-Cables-rain1_500B.jpg and b/Firmware/CoverUI/YardForce/images/IMG_Stock-Cables-rain1_500B.jpg differ