Damme / LandLord

Opensource firmware for Worx robotic mower model Landroid WG79X.XX
128 stars 21 forks source link

Table of Contents

TBD

Hardware

Pinout and connections for this to work. I personally use a Raspberry pi zero 2 w with zram enabled (not only swapfile). Compilation of ROS is made on an rpi4 and then rsync over to the rpi zero w 2. I also have a 4g modem for connectivity. I have put the INA226 on the thick red wire to the board (cut).

DB504

General schematic, work in progress. Made from memory - no guarantee it is working! Schematic

Note code for setting up INA226 is missing at the moment, this needs to be programmed every start and should be done in a i2c module we need to write. This module should also handle the MPU9255 for the IMU data to ROS. TBD

ROS enviroment

Follow and install https://wiki.openmower.de/index.php?title=System_Image But run the following instead of ClemensElflein repo, also note the branch.

git clone --recursive -b worx_comms https://github.com/Damme/open_mower_ros

Edit ~/mower_config.sh, set OM_MOWER="Worx" and uncomment last line in file.

Worx firmware

install arm-none-eabi-gcc https://developer.arm.com/downloads/-/gnu-rm Note that some older versions does compile but generates a binary that does not start. I have no idea why.

wget https://developer.arm.com/-/media/Files/downloads/gnu-rm/10.3-2021.10/gcc-arm-none-eabi-10.3-2021.10-aarch64-linux.tar.bz2
sudo tar -xvf gcc-arm-none-eabi-10.3-2021.10-aarch64-linux.tar.bz2 -C /usr/share/
sudo ln -s /usr/share/gcc-arm-none-eabi-10.3-2021.10/bin/arm-none-eabi* /usr/bin/

cd LandLord
make cpu=1788 #for db504 (the only board that is working atm)
# flash with openocd, openocd-flash.cfg
# note you will need to hold down power button to flash with openocd.
# it is also possible to flash with usb, the original boot loader is kept intact so rollback and usb flashing is possilbe.
# use create_bin.py to generate binary to put on usb stick.

TODOOOOOOO

Known things that needs implemtentation