Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
46 changes: 23 additions & 23 deletions .devcontainer/devcontainer.json
Original file line number Diff line number Diff line change
@@ -1,23 +1,23 @@
{
"name": "Drivebrain dev container",
"dockerComposeFile": [
"${localWorkspaceFolder}/docker-compose.yml"
],
"service": "dev",
"workspaceFolder": "/app",
"shutdownAction": "stopCompose",
"customizations": {
"vscode": {
"extensions": [
"ms-vscode.cpptools",
"ms-vscode.cmake-tools",
"twxs.cmake",
"ms-python.python",
"jeff-hykin.better-cpp-syntax",
"llvm-vs-code-extensions.vscode-clangd"
]
}
},

"remoteUser": "root"
}
{
"name": "Drivebrain dev container",
"dockerComposeFile": [
"${localWorkspaceFolder}/docker-compose.yml"
],
"service": "dev",
"workspaceFolder": "/app",
"shutdownAction": "stopCompose",
"customizations": {
"vscode": {
"extensions": [
"ms-vscode.cpptools",
"ms-vscode.cmake-tools",
"twxs.cmake",
"ms-python.python",
"jeff-hykin.better-cpp-syntax",
"llvm-vs-code-extensions.vscode-clangd"
]
}
},
"remoteUser": "root"
}
66 changes: 33 additions & 33 deletions .github/workflows/build_and_test.yml
Original file line number Diff line number Diff line change
@@ -1,33 +1,33 @@
name: Build and publish image to Docker Hub
on:
push

jobs:
publish-image:
runs-on: ubuntu-latest
steps:
- name: Checkout
uses: actions/checkout@v4

- name: Build image
run: docker build -t kkittur/drivebrain_cross_compile:latest .

- name: push image to docker Hub
run: |
docker login -u kkittur -p ${{ secrets.DOCKER_HUB_TOKEN }}
docker push kkittur/drivebrain_cross_compile:latest

build-executable:
needs: publish-image
runs-on: ubuntu-latest
steps:
- name: Checkout
uses: actions/checkout@v4

- name: Pull from container registry
run: |
docker pull kkittur/drivebrain_cross_compile:latest

- name: Enter container and build
run: |
docker compose run --rm dev ./build_script.sh
name: Build and publish image to Docker Hub
on:
push
jobs:
publish-image:
runs-on: ubuntu-latest
steps:
- name: Checkout
uses: actions/checkout@v4
- name: Build image
run: docker build -t kkittur/drivebrain_cross_compile:latest .
- name: push image to docker Hub
run: |
docker login -u kkittur -p ${{ secrets.DOCKER_HUB_TOKEN }}
docker push kkittur/drivebrain_cross_compile:latest
build-executable:
needs: publish-image
runs-on: ubuntu-latest
steps:
- name: Checkout
uses: actions/checkout@v4
- name: Pull from container registry
run: |
docker pull kkittur/drivebrain_cross_compile:latest
- name: Enter container and build
run: |
docker compose run --rm dev ./build_script.sh
38 changes: 19 additions & 19 deletions .gitignore
Original file line number Diff line number Diff line change
@@ -1,19 +1,19 @@
.venv
.venv/

cmake
cmake/

.vscode
.vscode/

build
build/

build-*

.vscode
.vscode/

.cache
compile_commands.json
.venv
.venv/
cmake
cmake/
.vscode
.vscode/
build
build/
build-*
.vscode
.vscode/
.cache
compile_commands.json
149 changes: 74 additions & 75 deletions CMakeLists.txt
Original file line number Diff line number Diff line change
@@ -1,75 +1,74 @@
# cmake_minimum_required(VERSION 3.10)
set(CMAKE_CXX_STANDARD 17)
set(CMAKE_CXX_STANDARD_REQUIRED ON)
project(drivebrain_software_2026)

include(FetchContent)
list(APPEND CMAKE_PREFIX_PATH "${CMAKE_SOURCE_DIR}/cmake")

#################################
# Custom libs
#################################
add_subdirectory(drivebrain_core)
add_subdirectory(drivebrain_comms)

#################################
# Find packages
#################################
find_package(foxglove-websocket REQUIRED)
find_package(Protobuf REQUIRED CONFIG)
find_package(Boost REQUIRED)
find_package(spdlog REQUIRED)
find_package(mcap REQUIRED)
find_package(GTest REQUIRED)

#################################
# Upstreams (non-conan)
#################################
FetchContent_Declare(
HT_Proto
GIT_REPOSITORY https://github.com/hytech-racing/HT_proto.git
GIT_TAG 5f61368
)
FetchContent_MakeAvailable(HT_Proto)

FetchContent_Declare(
vn_driver_lib
GIT_REPOSITORY https://github.com/hytech-racing/vn_driver_lib.git
GIT_TAG 0d40803
)
FetchContent_MakeAvailable(vn_driver_lib)

FetchContent_Declare(
HT_CAN
URL "https://github.com/hytech-racing/HT_CAN/releases/download/231/drivebrain_can_lib.tar.gz"
)
FetchContent_MakeAvailable(HT_CAN)

#################################
# Linking to main app
#################################
add_executable(drivebrain
drivebrain_app/src/main.cpp
)

target_include_directories(drivebrain PUBLIC drivebrain_app/include)

target_link_libraries(drivebrain PUBLIC
foxglove-websocket::foxglove-websocket
mcap::mcap
protobuf::libprotobuf
boost::boost
hytech_msgs_cpp_lib
hytech_can_msgs_cpp_lib
drivebrain_core
drivebrain_comms
)

#################################
# Unit Testing
#################################

if(NOT CMAKE_CROSSCOMPILING)
enable_testing()
add_subdirectory(tests)
endif()
cmake_minimum_required(VERSION 3.10)
set(CMAKE_CXX_STANDARD 17)
set(CMAKE_CXX_STANDARD_REQUIRED ON)
project(drivebrain_software_2026)

include(FetchContent)
list(APPEND CMAKE_PREFIX_PATH "${CMAKE_SOURCE_DIR}/cmake")

#################################
# Custom libs
#################################
add_subdirectory(drivebrain_core)
# add_subdirectory(drivebrain_comms)

#################################
# Find packages
#################################
find_package(foxglove-websocket REQUIRED)
find_package(Protobuf REQUIRED CONFIG)
find_package(Boost REQUIRED)
find_package(spdlog REQUIRED)
find_package(mcap REQUIRED)
find_package(GTest REQUIRED)

#################################
# Upstreams (non-conan)
#################################
FetchContent_Declare(
HT_Proto
GIT_REPOSITORY https://github.com/hytech-racing/HT_proto.git
GIT_TAG cfbf674c50278cb0bb91f1a51b95e0cabe284cbf
)
FetchContent_MakeAvailable(HT_Proto)

FetchContent_Declare(
vn_driver_lib
GIT_REPOSITORY https://github.com/hytech-racing/vn_driver_lib.git
GIT_TAG 0d40803
)
FetchContent_MakeAvailable(vn_driver_lib)

FetchContent_Declare(
HT_CAN
URL "https://github.com/hytech-racing/HT_CAN/releases/download/231/drivebrain_can_lib.tar.gz"
)
FetchContent_MakeAvailable(HT_CAN)

#################################
# Linking to main app
#################################
add_executable(drivebrain
drivebrain_app/src/main.cpp
)

target_include_directories(drivebrain PUBLIC drivebrain_app/include)

target_link_libraries(drivebrain PUBLIC
foxglove-websocket::foxglove-websocket
mcap::mcap
protobuf::libprotobuf
boost::boost
hytech_msgs_cpp_lib
hytech_can_msgs_cpp_lib
drivebrain_core
)

#################################
# Unit Testing
#################################

if(NOT CMAKE_CROSSCOMPILING)
enable_testing()
add_subdirectory(tests)
endif()
40 changes: 20 additions & 20 deletions Dockerfile
Original file line number Diff line number Diff line change
@@ -1,21 +1,21 @@
FROM ubuntu:22.04

ENV DEBIAN_FRONTEND=noninteractive

RUN apt-get update && apt-get install -y \
gcc-aarch64-linux-gnu \
g++-aarch64-linux-gnu \
make \
cmake \
build-essential \
git \
wget \
vim \
pkg-config \
python3 \
python3-pip \
python3-setuptools \
python3-venv \
&& apt-get clean

FROM ubuntu:22.04
ENV DEBIAN_FRONTEND=noninteractive
RUN apt-get update && apt-get install -y \
gcc-aarch64-linux-gnu \
g++-aarch64-linux-gnu \
make \
cmake \
build-essential \
git \
wget \
vim \
pkg-config \
python3 \
python3-pip \
python3-setuptools \
python3-venv \
&& apt-get clean
CMD ["/bin/bash"]
Loading