---
# System prepended metadata

title: proj_config
tags: [code documentation]

---

proj_config
===
###### tags: `code documentation`

```
用來決定哪些功能開啟
```
---

### SELECT_MAIN_TELEM

決定 protocols 形式

 SELECT_MAIN_TELEM| num|說明
 ----|---|---
 TELEM_MAVLINK|0|以 mavlink 作為 protocols

---

### SELECT_DEBUG_TELEM

決定debug形式

 SELECT_DEBUG_TELEM| num|說明
 ----|---|---
 TELEM_SHELL|0|開啟會啟動 shell_task，在飛行時可以透過 ```$ serial /ttyUSB0``` 啟動debug shell
 TELEM_DEBUG_LINK|1|開啟會啟動 debug_link_task ，如果需要儲存資料可以使用這個模式
 
 ---
 
 ### SELECT_CONTROLLER

決定飛控主程式（flight_ctrl_task）所使用的控制器

 SELECT_CONTROLLER| num|說明
 ----|---|---
 QUADROTOR_USE_PID|0| 使用PID control
 QUADROTOR_USE_GEOMETRY|1|使用 geometry control
 
 ---
 
  ### SELECT_NAVIGATION_DEVICE1

決定位置資訊

 SELECT_NAVIGATION_DEVICE1| num|說明
 ----|---|---
 NAV_DEV1_NO_CONNECTION|0| 使用PID control
 NAV_DEV1_USE_OPTITRACK|1|使用 optitrack (室內定位)
 NAV_DEV1_USE_GPS|2|使用 gps (室外定位)
 
 ---
 
### SELECT_NAVIGATION_DEVICE2

可以用uart來接收無人機上電腦計算出來的資訊

 SELECT_CONTROLLER| num|說明
 ----|---|---
 NAV_DEV2_NO_CONNECTION|0| 無連接
 NAV_DEV2_USE_VINS_MONO|1| 使用無人機上電腦所計算的 VINS_MONO
 
 ---