23 个版本 (11 个稳定版)

4.4.0 2024 年 5 月 14 日
4.3.0 2024 年 2 月 6 日
4.2.0 2024 年 1 月 26 日
4.1.0 2023 年 12 月 11 日
3.10.0 2023 年 7 月 18 日

#4#flight

Download history 5/week @ 2024-04-22 3/week @ 2024-04-29 384/week @ 2024-05-13 27/week @ 2024-05-20 19/week @ 2024-05-27 35/week @ 2024-06-03 23/week @ 2024-06-10 36/week @ 2024-06-17 30/week @ 2024-06-24 25/week @ 2024-07-08 15/week @ 2024-07-22 45/week @ 2024-07-29

每月 85 次下载

MIT 许可证

675KB
14K SLoC

C 11K SLoC // 0.2% comments Python 2K SLoC // 0.2% comments Shell 472 SLoC // 0.1% comments Perl 195 SLoC // 0.1% comments Rust 164 SLoC // 0.0% comments Batch 32 SLoC // 0.1% comments

C2A 核心架构

C2A

  • 命令中心架构
  • 搭载 OBC 的飞行软件框架
  • 此存储库是从 ArkEdge Space Inc. 的 C2A 先期开发中 fork 的,从 ut-issl/c2a-core v3.10.0 开始 fork。
  • v3 系列的开发将继续在 ut-issl/c2a-core 中进行。

C2A core

  • 各 C2A 共享的 C2A 核心代码
  • 基本上,各个 C2A user repository(示例:TBW)通过 git submodule 进行引用。
  • core 开发的最小用户部分位于 examples 中,可用来构建和验证。

文档

开发

设置

  1. 克隆后,执行 setup.batsetup.sh

Kanban (开发里程碑等)

SILS (软件在环仿真) 环境

  • C2A 可以构建一个可以直接在 SILS 环境中运行的飞行软件。
  • 也就是说,在 OBC 上运行的软件可以在 PC 等设备上直接仿真。
  • C2A 的 SILS 运行时存在以下实现。
    • c2a-dev-runtime
    • S2E
      • 宇宙环境模拟器。原始的 SILS 运行时实现,对于需要宇宙环境模拟的 C2A user(例如,姿态控制模块),可以使用此进行验证。
      • 最小限的 SILS-S2E 可在 S2E User for C2A Core 中运行。
  • examples 的 C2A user 可在 c2a-dev-runtimeS2E User for C2A Core 中进行仿真。
  • examples/mobc(MOBC: 主要OBC)和examples/subobc(非MOBC)在SILS环境中运行并连接,可以进行C2A间通信的模拟和验证。

测试

  • 如果不假设特定用户,由于各种参数不确定,因此在examples/mobc中进行测试。
  • 仅针对C2A间通信相关部分的测试使用examples/subobc
  • 详细信息请参考test

分支

  • main:发布版(详细信息
  • feature/*:开发分支
  • hotfix/*:重大漏洞修正分支

采用和运行记录

汇总C2A Core的采用过的卫星OBC和运行过的板子的信息。

名称 卫星    主导机构    发射/部署 CPU    时钟              ROM                     RAM                   NVRAM                 存储                   接口           参考
OBC (2U) MAGNARO (Tigris) 名古屋大学 Inamori 实验室 2022/10/12 STMicroelectronics STM32F4 90 MHz 2 MiB 内部ROM 384 KiB 内部RAM, 500 KiB 外部SRAM 524 KiB MRAM, 131 KiB EEPROM 16 GB SD卡 UART, SPI, I2C, GPIO, ADC, DCMI [^1]
OBC (1U) MAGNARO (Piscis) 名古屋大学 Inamori 实验室 2022/10/12 STMicroelectronics STM32F4 45 MHz 2 MiB 内部ROM 384 KiB 内部RAM, 500 KiB 外部SRAM 524 KiB MRAM, 131 KiB EEPROM 16 GB SD卡 UART, SPI, I2C, GPIO, ADC, DCMI [^1]
MOBC SPHERE-1 EYE 东京大学 ISSL,索尼集团 2023/01/03 Renesas Electronics SH-2A 200 MHz 2.5 MiB 内部ROM 128 KiB 内部RAM, 8 MiB 外部SRAM 2 MiB MRAM 2 GiB NAND闪存 UART (RS422, LVTTL), CCSDS (LVTTL), GPIO (LVTTL), ADC
AOBC SPHERE-1 EYE 东京大学 ISSL,索尼集团 2023/01/03 Microchip Technology PIC32MX7 80 MHz 512 KiB 内部ROM 128 KiB 内部RAM 512 KiB FRAM UART (RS422, RS485, LVTTL), SPI, I2C, GPIO (LVTTL), ADC
TOBC SPHERE-1 EYE 东京大学 ISSL,索尼集团 2023/01/03 Microchip Technology PIC32MX7 30 MHz 512 KiB 内部ROM 128 KiB 内部RAM UART (LVTTL), I2C, GPIO (LVTTL), ADC
AOBC OPTIMAL-1 ArkEdge Space Inc. 2023/01/06
MOBC ONGLAISAT 东京大学 ISSL - Renesas Electronics SH-2A 200 MHz 2.5 MiB 内部ROM 128 KiB 内部RAM, 8 MiB 外部SRAM 2 MiB MRAM 2 GiB NAND闪存 UART (RS422, LVTTL), CCSDS (LVTTL), GPIO (LVTTL), ADC [^1]
AOBC ONGLAISAT 东京大学 ISSL - Microchip Technology PIC32MX7 80 MHz 512 KiB 内部ROM 128 KiB 内部RAM 512 KiB FRAM UART (RS422, RS485, LVTTL), SPI, I2C, GPIO (LVTTL), ADC [^1]
TOBC ONGLAISAT 东京大学 ISSL - Microchip Technology PIC32MX7 30 MHz 512 KiB 内部ROM 128 KiB 内部RAM UART (LVTTL), I2C, GPIO (LVTTL), ADC [^1]

[^1]: Ryo Suzumoto, et al. Improvement of C2A (Command-Centric Architecture) Reusability for Multiple Types of OBCs and Development of Continuous Integration Environment for Reliability of Flight Software. 33rd International Symposium on Space Technology and Science, 2022-f-58, 2022.

相关链接

C2A相关工具

User实现示例

相关crate

无运行时依赖

~0–2.4MB
~37K SLoC