Skip to content
This repository has been archived by the owner on Apr 30, 2024. It is now read-only.

Commit

Permalink
initial commit
Browse files Browse the repository at this point in the history
  • Loading branch information
gpioblink committed Mar 15, 2022
1 parent 19acd4c commit 8e53ad8
Show file tree
Hide file tree
Showing 235 changed files with 40,389 additions and 1 deletion.
19 changes: 19 additions & 0 deletions .github/workflows/actionlint.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,19 @@
name: actionlint

on:
pull_request:
paths:
- '.github/workflows/**'

jobs:
actionlint:
name: actionlint with reviewdog
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v2

- name: actionlint
uses: reviewdog/action-actionlint@v1.18.0
with:
github_token: ${{ secrets.GITHUB_TOKEN }}
reporter: github-pr-review
25 changes: 25 additions & 0 deletions .github/workflows/build.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,25 @@
name: build

on:
push:

jobs:
build_arm32v7:
runs-on: ubuntu-latest

steps:
- uses: actions/checkout@v2

- name: setup QEMU
uses: docker/setup-qemu-action@v1.2.0
with:
platforms: arm

- name: setup docker buildx
uses: docker/setup-buildx-action@v1.6.0

- name: build
uses: docker/build-push-action@v2
with:
context: .
file: Dockerfile.arm32v7
3 changes: 3 additions & 0 deletions .gitmodules
Original file line number Diff line number Diff line change
@@ -0,0 +1,3 @@
[submodule "src/src_core"]
path = src/src_core
url = https://github.com/ut-issl/c2a-core.git
127 changes: 127 additions & 0 deletions CMakeLists.txt
Original file line number Diff line number Diff line change
@@ -0,0 +1,127 @@
## CMake file for RaspberryPi and S2E integration

cmake_minimum_required(VERSION 3.13)
project(C2A)

# options
# SCI COM for connection to WINGS TMTC IF
# !!!注意!!!
# これをONにした状態で,SCIの受け口がない場合(TMTC IFが動いてない状態)
# そちらのバッファが詰まってSILSの動作が止まることがあるので注意すること!
option(USE_SCI_COM_WINGS "Use SCI_COM_WINGS")

# SCI COM for connection to PC UART
# !!!注意!!!
# これをONにした状態で,SCIの受け口がない場合(受けてのTeratermが起動していない状態)
# そちらのバッファが詰まってSILSの動作が止まることがあるので注意すること!
option(USE_SCI_COM_UART "Use SCI_COM_UART")

# default config
set(USE_SCI_COM_WINGS OFF)
set(USE_SCI_COM_UART OFF)

set(USE_ALL_C2A_CORE_APPS OFF)
set(USE_32BIT_COMPILER ON)

if(BUILD_C2A_AS_CXX)
message("build C2A as C++!")
endif()

set(C2A_CORE_DIR ${CMAKE_CURRENT_SOURCE_DIR}/src/src_core)
set(C2A_USER_DIR ${CMAKE_CURRENT_SOURCE_DIR}/src/src_user)

include_directories(src)

# Output debug print to SILS console window
option(SHOW_DEBUG_PRINT_ON_SILS "Show debug print")
set(SHOW_DEBUG_PRINT_ON_SILS ON)
if(SHOW_DEBUG_PRINT_ON_SILS)
add_definitions(-DSHOW_DEBUG_PRINT_ON_SILS)
message("Show debug print")
endif()

add_subdirectory(${C2A_CORE_DIR})

add_subdirectory(${C2A_USER_DIR}/Applications)
add_subdirectory(${C2A_USER_DIR}/Drivers)
add_subdirectory(${C2A_USER_DIR}/IfWrapper)
add_subdirectory(${C2A_USER_DIR}/Library)
add_subdirectory(${C2A_USER_DIR}/Settings)
add_subdirectory(${C2A_USER_DIR}/TlmCmd)

set(C2A_SRCS
${C2A_USER_DIR}/c2a_main.c
)

if(BUILD_C2A_AS_CXX)
message("Build as C++!!!")
set_source_files_properties(${C2A_SRCS} PROPERTIES LANGUAGE CXX) # C++
endif()

if(USE_C2A)
add_library(${PROJECT_NAME} STATIC ${C2A_SRCS})
else()
add_executable(${PROJECT_NAME} ${C2A_SRCS})
endif()

set(C2A_USER_MODULES
C2A_USER_APPS
C2A_USER_CMD_TLM
C2A_USER_DRIVERS
C2A_USER_IF_WRAPPER
C2A_USER_LIB
C2A_USER_SETTINGS
)

# for compile core applicatons
set(C2A_APPS
${C2A_CORE_DIR}/Applications/anomaly_handler.c
${C2A_CORE_DIR}/Applications/divided_cmd_utility.c
${C2A_CORE_DIR}/Applications/gs_command_dispatcher.c
${C2A_CORE_DIR}/Applications/event_utility.c
${C2A_CORE_DIR}/Applications/memory_dump.c
${C2A_CORE_DIR}/Applications/nop.c
${C2A_CORE_DIR}/Applications/realtime_command_dispatcher.c
${C2A_CORE_DIR}/Applications/timeline_command_dispatcher.c
${C2A_CORE_DIR}/Applications/utility_counter.c
${C2A_CORE_DIR}/Applications/telemetry_manager.c
)

add_library(C2A_CORE_APPS_MODULE OBJECT ${C2A_APPS})

if(BUILD_C2A_AS_CXX)
set_source_files_properties(${C2A_APPS} PROPERTIES LANGUAGE CXX) # C++
endif()

if(MSVC)
target_link_options(${PROJECT_NAME} PRIVATE "/WHOLEARCHIVE")
target_link_libraries(${PROJECT_NAME} PRIVATE
C2A_CORE_APPS_MODULE
C2A_CORE
${C2A_USER_MODULES}
)
else()
target_link_libraries(${PROJECT_NAME} PRIVATE
-Wl,--whole-archive
C2A_CORE_APPS_MODULE
C2A_CORE
-Wl,--no-whole-archive
pthread
${C2A_USER_MODULES}
-lm
)
endif()

if(WIN32)
add_custom_command(TARGET ${PROJECT_NAME}
PRE_BUILD
COMMAND git_revision.bat
WORKING_DIRECTORY ${C2A_USER_DIR}/Script)
else()
add_custom_command(TARGET ${PROJECT_NAME}
PRE_BUILD
COMMAND ./git_revision.sh
WORKING_DIRECTORY ${C2A_USER_DIR}/Script)
endif()

include(${C2A_USER_DIR}/common.cmake)
16 changes: 16 additions & 0 deletions CMakeSettings.json
Original file line number Diff line number Diff line change
@@ -0,0 +1,16 @@
{
"configurations": [
{
"name": "Win32",
"generator": "Visual Studio 16 2019",
"configurationType": "Debug",
"inheritEnvironments": [
"msvc_x86"
],
"installRoot": "${env.USERPROFILE}\\CMakeBuilds\\${workspaceHash}\\install\\${name}",
"cmakeCommandArgs": "",
"buildCommandArgs": "",
"ctestCommandArgs": ""
}
]
}
9 changes: 9 additions & 0 deletions Dockerfile.arm32v7
Original file line number Diff line number Diff line change
@@ -0,0 +1,9 @@
FROM arm32v7/gcc:11-bullseye
RUN apt-get update -y && apt-get install -y cmake
WORKDIR /c2a_raspi
COPY . .
RUN git submodule init && git submodule update
RUN mkdir build
WORKDIR /c2a_raspi/build
RUN cmake ..
RUN cmake --build .
Loading

0 comments on commit 8e53ad8

Please sign in to comment.