Motor drive
(Created page with "Back to scorpi == Load arduino and Teensyduino == See [[ooo] === Raspberry 5 === Compiling motor drive on the Raspberry 5 failed in one of the Teensy libraries. This ...") |
(→Additional Arduino libraries) |
||
(6 intermediate revisions by one user not shown) | |||
Line 3: | Line 3: | ||
== Load arduino and Teensyduino == | == Load arduino and Teensyduino == | ||
− | + | Install Arduino version 1.8.19 for the platform, find it here https://www.arduino.cc/en/software | |
+ | |||
+ | Unpack in the Downloads directory (to fit the path in the Makefile) | ||
+ | |||
+ | cd ~/Downloads | ||
+ | tar -xf arduino-1.8.19-linuxaarch64.tar.xz | ||
+ | |||
+ | Install Teensyduino from https://www.pjrc.com/teensy/td_download.html | ||
+ | |||
+ | Make the installer executable and install it on top of the Arduino installation. | ||
+ | |||
+ | chmod +x TeensyduinoInstall.linuxaarch64 | ||
+ | ./TeensyduinoInstall.linuxaarch64 | ||
+ | |||
+ | === Additional Arduino libraries === | ||
+ | |||
+ | Additional libraries from Ardufruit are needed for the small display: | ||
+ | * Adafruit_BusIO to get additional services from the I2C interface | ||
+ | * Adafruit-GFX-Library to get the paint functions for the display | ||
+ | * Adafruit_SSD1306 to get the specifics for the used display | ||
+ | |||
+ | cd ~/ | ||
+ | mkdir -p git | ||
+ | cd git | ||
+ | git clone https://github.com/adafruit/Adafruit_BusIO.git | ||
+ | git clone https://github.com/adafruit/Adafruit_SSD1306.git | ||
+ | git clone https://github.com/adafruit/Adafruit-GFX-Library | ||
+ | git clone https://github.com/pfeerick/elapsedMillis.git | ||
+ | |||
+ | The obtained libraries should be included in the Arduino/Teensyduino library list, e.g. if the GIT repositories are in a ~/git directory: | ||
+ | |||
+ | cd Arduino-1.8.19/hardware/teensy/avr/libraries | ||
+ | ln -s ~/git/Adafruit_BusIO | ||
+ | ln -s ~/git/Adafruit-GFX-Library | ||
+ | ln -s ~/git/Adafruit_SSD1306 | ||
+ | ln -s ~/git/elapsedMillis | ||
+ | |||
+ | === Get code from SVN === | ||
+ | |||
+ | The code is available on SVN: | ||
+ | |||
+ | cd | ||
+ | svn checkout svn://repos.gbar.dtu.dk/jcan/scorpi | ||
+ | |||
+ | The main package for this page is: | ||
+ | * The motor_driver firmware for Teensy 4.1 | ||
+ | |||
+ | Other parts will be described on other pages, pt. (April 2024) there are also: | ||
+ | * The teensy_interface for a Raspberry - for now, not fully compatible with the firmware | ||
+ | * ROS2-iron code starts with a YDLidar driver and is in the ROS2 directory. Further, the slam toolbox and the base ROS2-iron compiled successfully on Raspberry Pi 5 on Raspberry OS 64bit. | ||
+ | * Some 3D print STL files. | ||
+ | * some other minor stuff. | ||
+ | |||
+ | == Moror drive == | ||
+ | |||
+ | Compile and upload to Teensy. | ||
+ | |||
+ | cd ~/scorpi/motor_drive | ||
+ | make | ||
+ | |||
+ | This should produce a file called motor_drive.hex, ready to be uploaded: | ||
+ | |||
+ | NB! Before you upload, press the power reset button to avoid power shutdown. | ||
+ | |||
+ | Press had hold "power reset" | ||
+ | make upload | ||
+ | Release "power reset" when "alive" LED starts blinking | ||
=== Raspberry 5 === | === Raspberry 5 === | ||
Line 19: | Line 85: | ||
so all USB-host joystick support has gone. | so all USB-host joystick support has gone. | ||
− | OK for this project. | + | No joystick is OK for this project. |
+ | |||
+ | The code compiles but does not run! | ||
+ | The same code runs fine when compiled on a normal Ubuntu. |
Latest revision as of 20:47, 18 April 2024
Back to scorpi
Contents |
[edit] Load arduino and Teensyduino
Install Arduino version 1.8.19 for the platform, find it here https://www.arduino.cc/en/software
Unpack in the Downloads directory (to fit the path in the Makefile)
cd ~/Downloads tar -xf arduino-1.8.19-linuxaarch64.tar.xz
Install Teensyduino from https://www.pjrc.com/teensy/td_download.html
Make the installer executable and install it on top of the Arduino installation.
chmod +x TeensyduinoInstall.linuxaarch64 ./TeensyduinoInstall.linuxaarch64
[edit] Additional Arduino libraries
Additional libraries from Ardufruit are needed for the small display:
- Adafruit_BusIO to get additional services from the I2C interface
- Adafruit-GFX-Library to get the paint functions for the display
- Adafruit_SSD1306 to get the specifics for the used display
cd ~/ mkdir -p git cd git git clone https://github.com/adafruit/Adafruit_BusIO.git git clone https://github.com/adafruit/Adafruit_SSD1306.git git clone https://github.com/adafruit/Adafruit-GFX-Library git clone https://github.com/pfeerick/elapsedMillis.git
The obtained libraries should be included in the Arduino/Teensyduino library list, e.g. if the GIT repositories are in a ~/git directory:
cd Arduino-1.8.19/hardware/teensy/avr/libraries ln -s ~/git/Adafruit_BusIO ln -s ~/git/Adafruit-GFX-Library ln -s ~/git/Adafruit_SSD1306 ln -s ~/git/elapsedMillis
[edit] Get code from SVN
The code is available on SVN:
cd svn checkout svn://repos.gbar.dtu.dk/jcan/scorpi
The main package for this page is:
- The motor_driver firmware for Teensy 4.1
Other parts will be described on other pages, pt. (April 2024) there are also:
- The teensy_interface for a Raspberry - for now, not fully compatible with the firmware
- ROS2-iron code starts with a YDLidar driver and is in the ROS2 directory. Further, the slam toolbox and the base ROS2-iron compiled successfully on Raspberry Pi 5 on Raspberry OS 64bit.
- Some 3D print STL files.
- some other minor stuff.
[edit] Moror drive
Compile and upload to Teensy.
cd ~/scorpi/motor_drive make
This should produce a file called motor_drive.hex, ready to be uploaded:
NB! Before you upload, press the power reset button to avoid power shutdown.
Press had hold "power reset" make upload Release "power reset" when "alive" LED starts blinking
[edit] Raspberry 5
Compiling motor drive on the Raspberry 5 failed in one of the Teensy libraries.
This was fixed by renaming a few files in the library:
cd ~/Downloads/arduino-1.8.19/hardware/teensy/avr/libraries/USBHost_t36/ mv BluetoothConnection.cpp BluetoothConnection.cpp.not mv bluetooth.cpp bluetooth.cpp.not mv joystick.cpp joystick.cpp.not
It was probably in the Bluetooth part, but I failed to remove Bluetooth from joystick.cpp, so all USB-host joystick support has gone.
No joystick is OK for this project.
The code compiles but does not run! The same code runs fine when compiled on a normal Ubuntu.