Navigation

Quick start manual

  1. Make sure you have toolchain installed and ready using Toolchain installation manual.

  2. Get UAS-CatPilot project source and repo:

git clone --recurse-submodules git@github.com:ctlst-tech/uas-catpilot.git
cd uas-catpilot
  1. Generate atomic functions supporting source code

make atomics
  1. Embedded C-ATOM’s configuration files into C code by command:

make xmlinline
  1. Build firmware:

make cube
  1. Connect your device to a ST-LINK programmer. Make sure ST-LINK sees the device:

st-info --probe
  1. Flash the device

make flash

8. Connect DBG/TELEM2 (depending on your setup) port of the device to your computer and connect to it via your favorite serial port interaction tool.

  1. Check console response by pressing Enter and seeing #.

  2. Ender command version, observe:

uas-catpilot 70be35cb dirty
catpilot 1c57a900 dirty
  1. Enter command log, observe:

0.032   INFO    BOARD           Initialization successful
0.033   INFO    ICM20649        Service started
0.033   DEBUG   ICM20649        Period = 2 ms, priority = 20
0.236   INFO    ICM20649        Initialization successful
0.237   INFO    ICM20602        Service started
0.237   DEBUG   ICM20602        Period = 2 ms, priority = 20
0.342   INFO    ICM20602        Initialization successful
0.348   INFO    ICM20948        Service started
0.348   DEBUG   ICM20948        Period = 2 ms, priority = 20
0.552   INFO    ICM20948        Initialization successful
0.569   INFO    CUBEIO          Service started
0.569   DEBUG   CUBEIO          Period = 0 ms, priority = 19
0.671   INFO    CUBEIO          Initialization successful
0.693   INFO    MS5611_INT      Service started
0.693   DEBUG   MS5611_INT      Period = 100 ms, priority = 18
0.793   INFO    MS5611_EXT      Service started
0.793   DEBUG   MS5611_EXT      Period = 100 ms, priority = 18
0.903   INFO    MS5611_INT      Initialization successful
0.918   INFO    SYSTEM          Configuration loading successful
1.003   INFO    MS5611_EXT      Initialization successful
  1. Enter command monitor, observe:

------------------------ Threads ------------------------
Thread name             Time, ms        Load    Priority
pthread                 000001.400      <1%     1
IDLE                    001533.000      41%     0
ICM20602                000233.400      6%      20
ICM20649                000252.700      6%      20
ICM20948                000248.000      6%      20
MS5611_EXT              000003.400      <1%     18
flw-nav_attitud         000026.500      <1%     10
flw-rc                  000039.500      1%      8
CUBEIO                  000229.700      6%      19
eqrb_server_thread      000003.300      <1%     4
flw-nav_imu_ali         000003.600      <1%     7
ebr-man_cont            000218.100      5%      5
flw-housekeepin         000004.000      <1%     6
ebr-nav                 000007.000      <1%     5
ttyS0_read_thread       000000.000      <1%     2
ttyS4_read_thread       000000.300      <1%     1
ttyS4_wirte_thread      000000.900      <1%     1
MS5611_INT              000003.300      <1%     18
board_start_thread      000000.400      <1%     3
sdtl_rx_gcu_li          000000.100      <1%     3
ttyS0_wirte_thread      000001.500      <1%     2
flw-cont_angpos         000032.400      <1%     8
pthread                 000000.600      <1%     1
flw-nav_attitud         000277.800      7%      11
flw-cont_angrat         000537.400      14%     9
Tmr Svc                 000000.100      <1%     3
------------------------ Memory ------------------------
Total RAM               468104
Used RAM                391868
Free RAM                76236
  1. Connect TELEM1 from the device to your computer.

14. Start python based GUI telemetry tool by a command python3 gui.py --serdev /dev/ttyUSB0 --serbaud 57600

You shoud get this GUI started with RX/TX bytes flashing (check connection if they are not):

ESWB Monitor
  1. Congratulations! You are CatPiloted now :)

Have trouble? Check our discord or ask a question inside github project. Check Find help and support for additional directions.

What’s next?

C-ATOM

Learn now to extend and tune CatPilot for your needs

Atomic functions catalog

Learn available building blocks

Quick graphical user interfaces creation

Learn how to extend GUI interface

Build and debug reference

Understand building and debugging flow

JetBrains Clion IDE setup or VS Code IDE setup

Setup your favorite IDE