Merge remote-tracking branch 'origin/main' into ObjectPerception
This commit is contained in:
commit
8246b2708a
2
.gitignore
vendored
2
.gitignore
vendored
@ -1,2 +1,4 @@
|
|||||||
doxygen/html
|
doxygen/html
|
||||||
doxygen/DoxyWarnLogfile.txt
|
doxygen/DoxyWarnLogfile.txt
|
||||||
|
build
|
||||||
|
.vscode
|
||||||
|
60
.gitlab-ci.yml
Normal file
60
.gitlab-ci.yml
Normal file
@ -0,0 +1,60 @@
|
|||||||
|
# This file is a template, and might need editing before it works on your project.
|
||||||
|
# This is a sample GitLab CI/CD configuration file that should run without any modifications.
|
||||||
|
# It demonstrates a basic 3 stage CI/CD pipeline. Instead of real tests or scripts,
|
||||||
|
# it uses echo commands to simulate the pipeline execution.
|
||||||
|
#
|
||||||
|
# A pipeline is composed of independent jobs that run scripts, grouped into stages.
|
||||||
|
# Stages run in sequential order, but jobs within stages run in parallel.
|
||||||
|
#
|
||||||
|
# For more information, see: https://docs.gitlab.com/ee/ci/yaml/index.html#stages
|
||||||
|
#
|
||||||
|
# You can copy and paste this template into a new `.gitlab-ci.yml` file.
|
||||||
|
# You should not add this template to an existing `.gitlab-ci.yml` file by using the `include:` keyword.
|
||||||
|
#
|
||||||
|
# To contribute improvements to CI/CD templates, please follow the Development guide at:
|
||||||
|
# https://docs.gitlab.com/ee/development/cicd/templates.html
|
||||||
|
# This specific template is located at:
|
||||||
|
# https://gitlab.com/gitlab-org/gitlab/-/blob/master/lib/gitlab/ci/templates/Getting-Started.gitlab-ci.yml
|
||||||
|
|
||||||
|
# This file is a template, and might need editing before it works on your project.
|
||||||
|
# This is a sample GitLab CI/CD configuration file that should run without any modifications.
|
||||||
|
# It demonstrates a basic 3 stage CI/CD pipeline. Instead of real tests or scripts,
|
||||||
|
# it uses echo commands to simulate the pipeline execution.
|
||||||
|
#
|
||||||
|
# A pipeline is composed of independent jobs that run scripts, grouped into stages.
|
||||||
|
# Stages run in sequential order, but jobs within stages run in parallel.
|
||||||
|
#
|
||||||
|
# For more information, see: https://docs.gitlab.com/ee/ci/yaml/index.html#stages
|
||||||
|
#
|
||||||
|
# You can copy and paste this template into a new `.gitlab-ci.yml` file.
|
||||||
|
# You should not add this template to an existing `.gitlab-ci.yml` file by using the `include:` keyword.
|
||||||
|
#
|
||||||
|
# To contribute improvements to CI/CD templates, please follow the Development guide at:
|
||||||
|
# https://docs.gitlab.com/ee/development/cicd/templates.html
|
||||||
|
# This specific template is located at:
|
||||||
|
# https://gitlab.com/gitlab-org/gitlab/-/blob/master/lib/gitlab/ci/templates/Getting-Started.gitlab-ci.yml
|
||||||
|
|
||||||
|
variables:
|
||||||
|
GIT_SUBMODULE_STRATEGY: recursive
|
||||||
|
default:
|
||||||
|
image: rikorose/gcc-cmake
|
||||||
|
stages:
|
||||||
|
- test
|
||||||
|
unit-test-job:
|
||||||
|
stage: test
|
||||||
|
script:
|
||||||
|
- mkdir build
|
||||||
|
- cd build
|
||||||
|
- cmake ..
|
||||||
|
- cmake --build .
|
||||||
|
- export GTEST_OUTPUT="xml:report.xml"
|
||||||
|
- ls -la
|
||||||
|
- "./RoboidControlTest"
|
||||||
|
artifacts:
|
||||||
|
when: always
|
||||||
|
reports:
|
||||||
|
junit: build/report.xml
|
||||||
|
sast:
|
||||||
|
stage: test
|
||||||
|
include:
|
||||||
|
- template: Security/SAST.gitlab-ci.yml
|
@ -1,16 +1,70 @@
|
|||||||
|
cmake_minimum_required(VERSION 3.13) # CMake version check
|
||||||
|
if(ESP_PLATFORM)
|
||||||
|
set(sourcedirs
|
||||||
|
.
|
||||||
|
VectorAlgebra/src
|
||||||
|
)
|
||||||
|
|
||||||
set(sourcedirs
|
set(includedirs
|
||||||
.
|
.
|
||||||
VectorAlgebra/src
|
VectorAlgebra/include
|
||||||
|
)
|
||||||
|
|
||||||
|
idf_component_register(
|
||||||
|
SRC_DIRS ${sourcedirs}
|
||||||
|
INCLUDE_DIRS ${includedirs}
|
||||||
|
REQUIRES arduino
|
||||||
|
)
|
||||||
|
endif()
|
||||||
|
|
||||||
|
project(RoboidControl)
|
||||||
|
add_subdirectory(VectorAlgebra)
|
||||||
|
#add_subdirectory(test)
|
||||||
|
|
||||||
|
set(CMAKE_CXX_STANDARD 11)
|
||||||
|
set(CMAKE_POSITION_INDEPENDENT_CODE ON)
|
||||||
|
|
||||||
|
add_compile_definitions(GTEST)
|
||||||
|
include(FetchContent)
|
||||||
|
FetchContent_Declare(
|
||||||
|
googletest
|
||||||
|
URL https://github.com/google/googletest/archive/refs/heads/main.zip
|
||||||
)
|
)
|
||||||
|
|
||||||
set(includedirs
|
# For Windows: Prevent overriding the parent project's compiler/linker settings
|
||||||
.
|
set(gtest_force_shared_crt ON CACHE BOOL "" FORCE)
|
||||||
VectorAlgebra/include
|
FetchContent_MakeAvailable(googletest)
|
||||||
|
|
||||||
|
include_directories(
|
||||||
|
.
|
||||||
|
VectorAlgebra/include
|
||||||
)
|
)
|
||||||
|
|
||||||
idf_component_register(
|
add_library(RoboidControl STATIC
|
||||||
SRC_DIRS ${sourcedirs}
|
"Roboid.cpp"
|
||||||
INCLUDE_DIRS ${includedirs}
|
"Perception.cpp"
|
||||||
REQUIRES arduino
|
"Propulsion.cpp"
|
||||||
|
"Motor.cpp"
|
||||||
|
"DifferentialDrive.cpp"
|
||||||
|
"DistanceSensor.cpp"
|
||||||
|
"Placement.cpp"
|
||||||
|
"Sensor.cpp"
|
||||||
|
"Switch.cpp"
|
||||||
|
"Thing.cpp"
|
||||||
)
|
)
|
||||||
|
|
||||||
|
enable_testing()
|
||||||
|
|
||||||
|
add_executable(
|
||||||
|
RoboidControlTest
|
||||||
|
"test/Dummy_test.cc"
|
||||||
|
)
|
||||||
|
target_link_libraries(
|
||||||
|
RoboidControlTest
|
||||||
|
gtest_main
|
||||||
|
RoboidControl
|
||||||
|
VectorAlgebra
|
||||||
|
)
|
||||||
|
|
||||||
|
include(GoogleTest)
|
||||||
|
gtest_discover_tests(RoboidControlTest)
|
||||||
|
8
RoboidControl.code-workspace
Normal file
8
RoboidControl.code-workspace
Normal file
@ -0,0 +1,8 @@
|
|||||||
|
{
|
||||||
|
"folders": [
|
||||||
|
{
|
||||||
|
"path": "."
|
||||||
|
}
|
||||||
|
],
|
||||||
|
"settings": {}
|
||||||
|
}
|
@ -1420,7 +1420,7 @@ HTML_EXTRA_FILES =
|
|||||||
# The default value is: AUTO_LIGHT.
|
# The default value is: AUTO_LIGHT.
|
||||||
# This tag requires that the tag GENERATE_HTML is set to YES.
|
# This tag requires that the tag GENERATE_HTML is set to YES.
|
||||||
|
|
||||||
HTML_COLORSTYLE = AUTO_LIGHT
|
HTML_COLORSTYLE = LIGHT
|
||||||
|
|
||||||
# The HTML_COLORSTYLE_HUE tag controls the color of the HTML output. Doxygen
|
# The HTML_COLORSTYLE_HUE tag controls the color of the HTML output. Doxygen
|
||||||
# will adjust the colors in the style sheet and background images according to
|
# will adjust the colors in the style sheet and background images according to
|
||||||
|
0
test/.gitkeep
Normal file
0
test/.gitkeep
Normal file
30
test/CMakeLists_disabled.txt
Normal file
30
test/CMakeLists_disabled.txt
Normal file
@ -0,0 +1,30 @@
|
|||||||
|
cmake_minimum_required(VERSION 3.13) # CMake version check
|
||||||
|
Project(test)
|
||||||
|
|
||||||
|
set(CMAKE_CXX_STANDARD 11) # Enable c++11 standard
|
||||||
|
set(CMAKE_POSITION_INDEPENDENT_CODE ON)
|
||||||
|
|
||||||
|
add_compile_definitions(GTEST)
|
||||||
|
include(FetchContent)
|
||||||
|
FetchContent_Declare(
|
||||||
|
googletest
|
||||||
|
URL https://github.com/google/googletest/archive/refs/heads/main.zip
|
||||||
|
)
|
||||||
|
|
||||||
|
# For Windows: Prevent overriding the parent project's compiler/linker settings
|
||||||
|
set(gtest_force_shared_crt ON CACHE BOOL "" FORCE)
|
||||||
|
FetchContent_MakeAvailable(googletest)
|
||||||
|
include_directories(include)
|
||||||
|
|
||||||
|
enable_testing()
|
||||||
|
|
||||||
|
add_executable(
|
||||||
|
VectorAlgebraTest
|
||||||
|
"test/Angle_test.cc"
|
||||||
|
"test/FloatSingle_test.cc"
|
||||||
|
"test/Vector2_test.cc"
|
||||||
|
"test/Vector3_test.cc"
|
||||||
|
"test/Quaternion_test.cc"
|
||||||
|
)
|
||||||
|
|
||||||
|
include(GoogleTest)
|
25
test/Dummy_test.cc
Normal file
25
test/Dummy_test.cc
Normal file
@ -0,0 +1,25 @@
|
|||||||
|
#if GTEST
|
||||||
|
#include <gtest/gtest.h>
|
||||||
|
|
||||||
|
#include "DifferentialDrive.h"
|
||||||
|
#include "DistanceSensor.h"
|
||||||
|
#include "Roboid.h"
|
||||||
|
|
||||||
|
TEST(Dummy, Foo) {
|
||||||
|
Motor motorLeft = Motor();
|
||||||
|
Motor motorRight = Motor();
|
||||||
|
|
||||||
|
DistanceSensor sensorLeft = DistanceSensor();
|
||||||
|
DistanceSensor sensorRight = DistanceSensor();
|
||||||
|
|
||||||
|
Placement sensors[] = {Placement(&sensorLeft, -30),
|
||||||
|
Placement(&sensorRight, 30)};
|
||||||
|
Perception *perception = new Perception(sensors);
|
||||||
|
|
||||||
|
DifferentialDrive *propulsion =
|
||||||
|
new DifferentialDrive(Placement(&motorLeft, Vector3(-1, 0, 0)),
|
||||||
|
Placement(&motorRight, Vector3(1, 0, 0)));
|
||||||
|
|
||||||
|
Roboid *roboid = new Roboid(perception, propulsion);
|
||||||
|
}
|
||||||
|
#endif
|
Loading…
x
Reference in New Issue
Block a user