Fejemis repository
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_bridge # hardware abstraction node in PC to access settings and translate to ROS 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.
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 libraries are linked to the Makefile directory, e.g. from my arduino-1.8.15 installation:
fejemis fejemis_drive build libraries -> /home/jca/Downloads/arduino-1.8.15/hardware/teensy/avr/libraries/ teensy3 -> /home/jca/Downloads/arduino-1.8.15/hardware/teensy/avr/cores/teensy3 tools -> /home/jca/Downloads/arduino-1.8.15/hardware/tools/ teensy -> tools/teensy # firmware loader
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
make -j6 (should make a fejemis_drive.hex file) make upload (with the Teensy available on USB as the only Teensy device)
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