BIXS-V1.5簡介:軟體
在 BIXS-V1.5 航空電子系統上運行的軟體由太空科技實驗室的航電團隊開發。該系統旨在滿足特定的任務配置,這意味著這不是適用於所有應用場景的通用飛行電腦。
源始碼
本軟體的官方源始碼表示可在以下連結中獲得:
軟體計原則
BIXS 飛行電腦的軟體設計原則基於以下幾點,
- 模組化的
- 可重複使用的
- 可配置的
軟體架構與流程
設置和初始化
- 系統初始化
- 感知器初始化
- IMU
- 高度計
循環函數
- 主循環
- 更新傳感器
循環和更新
- Alt_Update()
- IMU_Update()
目錄結構
- 根
- .pio //核心和韌體構建
- .vscode //JSON格式的環境配置
- include // 包含外部頭文件的地方
- lib //你在哪裡包含外部依賴
- src //你把你的源代碼放在哪裡
- test //單元測試
- platformio.ini //初始化文件
開發環境
該軟體的開發是在以下環境中完成的,
- Platform IO
- Arduino IDE
- GCC
- GitHub
- Git 要了解有關安裝過程的更多訊息,請參閱以下連結,
- 環境設置
API 文件
API 文件使工程師能夠更好地理解系統中的源始碼。為了更好地理解文檔,軟體工程師按照以下方式設計 API 文件。
- API 簡介
- 名稱
- 範圍
- 特性
- 參數
- 概念
- API
-
範例碼
序列通訊和系統功能
系統通訊初始化
- 名稱:系統通訊初始化
- 範圍:初始化函數
- 屬性:無
- 參數:波特率
- 概念:該函數調用 Arduino 板開始序列通訊。該參數為序列通訊的波特率,一般設置為9600,定義方式如下。
API
SysCom_Init(BAUDRATE);
範例碼
```C #include
#define BAUD_RATE 9600
void seti() { Serial.begin(BAUD_RATE); }
--------------------------------
## 感知器
### 感知器初始化
名稱:傳感器初始化
範圍:初始化函數
屬性:無
參數:無
概念:該函數用於初始化傳感器。該函數由設置函數使用。
##### API
```C
Alt_Init(); //高度計初始化
IMU_Init(); //IMU初始化
IMU (慣性儀)
名稱: IMU 適用範圍:循環函式 屬性:無 參數:無 概念:該函數用於更新 IMU 數據。該函數由循環函數使用。
API
IMU_Update();
範例碼
void loop(){
IMU_Update();
}
高度計
名稱:高度計 適用範圍:循環函數 屬性:無 參數:無 概念:該函數用於更新海拔數據。該函數由循環函數使用。
API
Alt_Update();
範例碼
void loop(){
Alt_Update();
}
系統實用函數
系統時鐘
名稱:系統時鐘 適用範圍:循環函式 屬性:無 參數:無 概念:該函數用於從微處理器讀取系統時鐘數據。該函數由循環函數使用。
API
System_Clock();
範例碼
void loop(){
System_Clock();
}