- S2E (Spacecraft Simulation Environment) is a spacecraft numerical simulator developed by ISSL at the University of Tokyo.
- S2E can:
- Simulate spacecraft's attitude and orbit behavior in LEO and other orbits.
- Emulate spacecraft's components behavior not only sensors and actuators but also OBCs, power components, communications, and others.
- Emulate embedded software inside OBCs by connecting with C2A or others.
- Connect with Ground Station software.
- Output log files in CSV format.
- Connect with real OBCs for HILS tests.
- S2E is divided into this core repository(
S2E CORE
) and user repositories.S2E CORE
includes most of the functions for S2E.- S2E user repositories include only files and source codes to define the simulation scenario.
-
Repository settings
- Branch structure
- main # The latest operation guaranteed codes for general users - develop # The latest buildable codes for S2E primary developers - feature/* # Developing codes - hotfix/* # Bug Fix codes
- We recommend that the general users use the
main
branch or suitable released version because we sometimes update thedevelop
branch without backward compatibility, and users need to modify their user side codes and settings. - Push to
main
anddevelop
is prohibited. All developers have to develop withfeature/*
orhotfix/*
branch and make a pull request. - Maintainers confirm the request and merge it to the
develop
ormain
branch. - Reference document for the development style
- Branch structure
-
Flow of development
- Make a
feature/*
branch from thedevelop
branch.- To fix the small bugs in the latest release codes, please make
hotfix/*
branch from themain
branch
- To fix the small bugs in the latest release codes, please make
- Edit, commit, and push in the branch.
- Please check the coding convention and the
code format
in next section.
- Please check the coding convention and the
- Create a new pull request to the
develop
branch.- The target branch becomes the
main
branch for thehotfix/*
branches.
- The target branch becomes the
- A maintainer reviews the pull request. If some problems are found, the maintainer proposes modifications.
- According to the maintainer's proposal, the developer modifies the codes and goes back to 3.
- The maintainer merges the
feature/*
branch to thedevelop
branch. - The code owners decide to merge the
develop
branch to themain
branch and release a new version.
- Make a
-
Binary files
- Binary file commit is prohibited.
- Please write the link to such files, or make a script file to get the files.
- Exception
- Images for markdown document files are allowable when the file size is smaller than 200K Bytes.
-
Code format
- We use clang-format for format source code.
- We recommend install clang-format and format code before commit. It also will be checked on CI.
- Some modern editor has plugin/extension for code format. It will be very useful.
- VSCode: C/C++
- Vim: vim-clang-format
- We use Semantic Versioning 2.0.0 as versioning style
- Basic version format is
<major>.<minor>.<patch>
(like4.0.0
) - Public API is declared in the code itself(currently, there is no definitive list)
- Basic version format is
- All release should be tagged as
v<semver>
(likev4.0.0
) - These tags also should be release on GitHub Releases
- Before S2E was released as OSS, a different versioning was adopted(missing patch version)
- These versions are aliased with tags in the corresponding semver style(
v2.0
->v2.0.0
)
- These versions are aliased with tags in the corresponding semver style(
- Documents for S2E are summarized in s2e-documents.
- Please see s2e-documents' getting started page.
- We also have the
Development environment manuals
. You can find the link in the Discussion page- Sorry, but we only have manuals written in Japanese now. We need help to translate them.
- Support compiler
- The following compilers are supported. The details are shown in GitHub Actions' results.
- gcc/g++
- clang++
- Visual Studio C++
- The following compilers are supported. The details are shown in GitHub Actions' results.
- S2E-USER-EXAMPLE
- Sample codes for tutorials in the s2e-documents
- S2E-FF
- An example of S2E user side repository for Formation Flying study.
- S2E-AOBC
- A user side repository for the AOCS module.
Project Name | Developer | Launch | Refs |
---|---|---|---|
MAGNARO | Nagoya Univ. | 2022 | - |
EQUULEUS | ISSL, UT and JAXA | 2022 | - |
Optimal-1 | ArkEdge Space Inc. | 2023 | - |
SPHERE-1 EYE | Sony Group Corporation and ISSL, UT | 2023 | Sekine 2023 |
ONGLAISAT | ISSL, UT | - | Ikari 2022 |
- S. Ikari, and et al., "Development of Compact and Highly Capable Integrated AOCS Module for CubeSats", Journal of Evolving Space Activities, vol. 1, ID 63, 2023. Link
- 五十里, 他, "宇宙開発の効率化・高度化を目指した東京大学中須賀・船瀬研のOSS活動", UNISEC2022-04, 12th UNISEC Space Takumi Conference, 2022. Link
- H. Sekine, and et al., "Development of Software-In-the-Loop Simulator and Hardware-In-the-Loop Simulator of AOCS Module for CubeSats", 34th ISTS, Kurume, 2023. Link