Fejemis repository

From Rsewiki
(Difference between revisions)
Jump to: navigation, search
(Software)
(Teensy firmware)
Line 34: Line 34:
 
  fejemis/fejemis_front/main.cpp
 
  fejemis/fejemis_front/main.cpp
  
The Makefile assumes that libraries are linked to the Makefile directory, e.g. from my arduino-1.8.15 installation:
+
The Makefile assumes that arduino and teensyduino are installed - see Makefile for base directory.
  
 
  fejemis
 
  fejemis
 
   fejemis_drive
 
   fejemis_drive
     build
+
     Makefile (compiled with 'make', not Arduino GUI.)
    libraries -> /home/jca/Downloads/arduino-1.8.15/hardware/teensy/avr/libraries/
+
     src (source files *.cpp and *.h)
     teensy3 -> /home/jca/Downloads/arduino-1.8.15/hardware/teensy/avr/cores/teensy3
+
  fejemis_front
     tools -> /home/jca/Downloads/arduino-1.8.15/hardware/tools/
+
     Makefile
     teensy -> tools/teensy  # firmware loader
+
     src (source files *cpp and *.h)
 
+
   
Using symbolic link commands like (Ubuntu Linux 20.04):
+
+
cd fejemis/fejemis_drive
+
ln -s /home/jca/Downloads/arduino-1.8.15/hardware/teensy/avr/libraries
+
ln -s /home/jca/Downloads/arduino-1.8.15/hardware/teensy/avr/cores/teensy3
+
ln -s /home/jca/Downloads/arduino-1.8.15/hardware/tools/
+
ln -s tools/teensy
+
 
+
after these links are in place, just run make
+
  
 +
cd ~/fejemis/fejemis_drive
 
  make -j6      (should make a fejemis_drive.hex file)
 
  make -j6      (should make a fejemis_drive.hex file)
 
  make upload    (with the Teensy available on USB as the only Teensy device)
 
  make upload    (with the Teensy available on USB as the only Teensy device)
 +
 +
Same method for fejemis_front.
  
 
==== TY commander ====
 
==== TY commander ====
  
An alternative to the teensy firmware loader, the TY commander is fine, and can handle more than one Teensy, and includes a serial console (eliminating the need for Putty)
+
An alternative to the teensy firmware loader, the TY commander is fine and can handle more than one Teensy, and includes a serial console (eliminating the need for Putty)
  
 
See https://github.com/Koromix/tytools
 
See https://github.com/Koromix/tytools

Revision as of 18:45, 17 October 2023

Back to fejemis

Contents

Software

NB! at this point in time, the software is under development, so don't expect too much.

The software is in an SVN (subversion) repository, SVN is maintained by Adobe.

Make a checkout (open access)

svn co svn://repos.gbar.dtu.dk/jcan/fejemis

This will extract a directory structure like this

fejemis/
   doc               # documents related to project
   fejemis-brush     # EAGLE project with schematic for brush and front-wheel control
   fejemis_drive     # Main firmware (Teensy 3.5 based) for wheel and power control
   fejemis_front     # Firmware for brush and front wheel control (Teensy 3.2 based)
   fejemis_gui       # QT-based graphical user interface for configuration and calibration of the firmware.
   3D-print
   ROS (old ROS1 stuff)

Tool chain

Teensy firmware

The teensy based firmware builds on Arduino library with the Teensyduino extension. The compilation is Makefile based (rather than using the Arduino tool). But arduino tool can be used too, if the main C++ file is renamed to .ino. The main files are:

fejemis/fejemis_drive/udrive.cpp
fejemis/fejemis_front/main.cpp

The Makefile assumes that arduino and teensyduino are installed - see Makefile for base directory.

fejemis
  fejemis_drive
    Makefile (compiled with 'make', not Arduino GUI.)
    src (source files *.cpp and *.h)
  fejemis_front
    Makefile
    src (source files *cpp and *.h)
    
cd ~/fejemis/fejemis_drive
make -j6       (should make a fejemis_drive.hex file)
make upload    (with the Teensy available on USB as the only Teensy device)

Same method for fejemis_front.

TY commander

An alternative to the teensy firmware loader, the TY commander is fine and can handle more than one Teensy, and includes a serial console (eliminating the need for Putty)

See https://github.com/Koromix/tytools

The bridge

The bridge is a normal C++ application.

It is called test_bridge (or short 'tbridge') and is placed in the 'ros2_ws' directory

cd ros2_ws/???
...

depricated:

cd fejemis/fejemis_bridge
mkdir build
cd build
cmake ..
make

The GUI

The graphical user interface is QT and Python-based and requires the QT tool-chain and Python3 to be installed. A small number of Python packedes are needed too:

> pip install pyqt5
> pip install pyqtgraph
> pip install pyserial

Run with

cd fejemis/fejemis_gui
python3 fejemis_gui.py
Personal tools
Namespaces

Variants
Actions
Navigation
Toolbox