Fejemis repository

From Rsewiki
(Difference between revisions)
Jump to: navigation, search
Line 32: Line 32:
 
  fejemis/fejemis_drive/udrive.cpp
 
  fejemis/fejemis_drive/udrive.cpp
 
  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:
 +
 +
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:
 +
 +
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
 +
make upload    (with the drive Teensy available on USB as the only Teensy device)
 +
 +
  
 
=== The bridge ===
 
=== The bridge ===
  
 
The bridge is a normal C++ application.
 
The bridge is a normal C++ application.
 +
 +
cd fejemis/fejemis_bridge
 +
mkdir build
 +
cd build
 +
cmake ..
 +
make
  
 
=== The GUI ===
 
=== The GUI ===
Line 42: Line 73:
 
A small number of Python packedes are needed too:
 
A small number of Python packedes are needed too:
  
  * Serial
+
  > pip install pyqt5
  * qt-graph
+
  > pip install pyqtgraph
 +
> pip install pyserial

Revision as of 07:01, 12 September 2022

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:

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
make upload    (with the drive Teensy available on USB as the only Teensy device)


The bridge

The bridge is a normal C++ application.

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
Personal tools
Namespaces

Variants
Actions
Navigation
Toolbox