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,4 +1,5 @@
 | 
				
			|||||||
 | 
					cmake_minimum_required(VERSION 3.13)  # CMake version check
 | 
				
			||||||
 | 
					if(ESP_PLATFORM)
 | 
				
			||||||
    set(sourcedirs
 | 
					    set(sourcedirs
 | 
				
			||||||
        .
 | 
					        .
 | 
				
			||||||
        VectorAlgebra/src
 | 
					        VectorAlgebra/src
 | 
				
			||||||
@ -14,3 +15,56 @@ idf_component_register(
 | 
				
			|||||||
        INCLUDE_DIRS ${includedirs}
 | 
					        INCLUDE_DIRS ${includedirs}
 | 
				
			||||||
        REQUIRES arduino
 | 
					        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
 | 
				
			||||||
 | 
					)
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					# 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(
 | 
				
			||||||
 | 
					    .
 | 
				
			||||||
 | 
					    VectorAlgebra/include
 | 
				
			||||||
 | 
					)
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					add_library(RoboidControl STATIC 
 | 
				
			||||||
 | 
					    "Roboid.cpp"
 | 
				
			||||||
 | 
					    "Perception.cpp"
 | 
				
			||||||
 | 
					    "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