From 90c4d94b13472114daab71d3e368660224423c90 Mon Sep 17 00:00:00 2001 From: Dawsyn Schraiber <32221234+dawsynth@users.noreply.github.com> Date: Thu, 9 May 2024 01:20:17 -0400 Subject: 02/24/2024 Test Launch Version (BB Black) (#11) * Adding a 90% completed, compilable but untested ADS * Made basic changes to actuator & sensor. Also added motor class * Removed unnecessary .cpp files * Updated sensor & actuator classes, finished ads, added variable time step to kalman filter, set up all tests for future assertions * Relocated 'main' to 'active-drag-system.cpp'. Added more info to README * Removed main.cpp * Added more details to README * Changed some function parameters from pass-by-pointer to pass-by-reference. Also removed the std namespace * Started writing the test cases * Updated the .gitignore file * Removed some files that should be gitignored * Up to date with Jazz's pull request * Test Launch Branch Created; PRU Servo Control with Test Program * Added I2C device class and register IDs for MPL [INCOMPLETE SENSOR IMPLEMENTATION] Needs actual data getting function implementation for both sensors and register IDs for BNO, will implement shortly. * Partial implementation of MPL sensor Added startup method, still needs fleshed out data getters and setters and finished I2C implementation. MOST LIKELY WILL HAVE COMPILATION ISSUES. * *Hypothetically* complete MPL implementation NEEDS HARDWARE TESTING * IMU Header and init() method implementation Needs like, all data handling still lol * Hypothetically functional (Definitely won't compile) * We ball? --------- Co-authored-by: Jazz Jackson Co-authored-by: Cian Capacci <46614295+BeeGuyDude@users.noreply.github.com> --- test/CMakeLists.txt | 76 ++++++++++++++++++++++++++++++++++++++++++++++------- 1 file changed, 66 insertions(+), 10 deletions(-) (limited to 'test/CMakeLists.txt') diff --git a/test/CMakeLists.txt b/test/CMakeLists.txt index 9aef78e..13d4dc6 100644 --- a/test/CMakeLists.txt +++ b/test/CMakeLists.txt @@ -1,14 +1,70 @@ -enable_testing() +cmake_minimum_required(VERSION 3.16.3) -add_executable( - hello_test - hello_test.cc -) -target_link_libraries( - hello_test - GTest::gtest_main +project(ADSTests) + +# Set Variables +set(TARGET_A TESTkalmanFilter) +set(SOURCES_A kalmanFilterTest.cpp ../src/kalmanfilter.cpp) + +set(TARGET_B TESTsurfaceFitModel) +set(SOURCES_B surfaceFitModelTest.cpp ../src/surfaceFitModel.cpp) + +set(TARGET_C TESTactuationPlan) +set(SOURCES_C actuationPlanTest.cpp ../src/actuationPlan.cpp ../src/surfaceFitModel.cpp ../src/rocketUtils.cpp ../src/sensorIMU.cpp ../src/sensorAltimeter.cpp) + +# set(TARGET_D TESTads) +# set(SOURCES_D adsTest.cpp ../src/ads.cpp ../src/actuationPlan.cpp ../src/surfaceFitModel.cpp ../src/rocketUtils.cpp ../src/sensorIMU.cpp ../src/sensorAltimeter.cpp ../src/motor.cpp ../src/logger.cpp ../src/kalmanfilter.cpp) + +set(TARGET_E TESTmotorPlan) +set(SOURCES_E motorTest.cpp ../src/motor.cpp ../src/rocketUtils.cpp) + +set(TARGET_F TESTsensorAltimeterPlan) +set(SOURCES_F sensorAltimeterTest.cpp ../src/sensorAltimeter.cpp ../src/rocketUtils.cpp) + +set(TARGET_G TESTsensorIMUPlan) +set(SOURCES_G sensorIMUTest.cpp ../src/sensorIMU.cpp ../src/rocketUtils.cpp) + + +#Set-up Google Test +set(CMAKE_CXX_STANDARD 14) +include(FetchContent) +FetchContent_Declare( + googletest + URL https://github.com/google/googletest/archive/03597a01ee50ed33e9dfd640b249b4be3799d395.zip ) +# For Windows: Prevent overriding the parent project's compiler/linker settings +set(gtest_force_shared_crt ON CACHE BOOL "" FORCE) +FetchContent_MakeAvailable(googletest) + + + + +# Create Executables & Link Dependencies +add_executable(${TARGET_A} ${SOURCES_A}) +target_link_libraries(${TARGET_A} PUBLIC gtest_main) # Link GoogleTest's main() to Executable +# Tell CMake the Target is a Unit Test +add_test(NAME ${TARGET_A} COMMAND ${TARGET_A}) + +add_executable(${TARGET_B} ${SOURCES_B}) +target_link_libraries(${TARGET_B} PUBLIC gtest_main) +add_test(NAME ${TARGET_B} COMMAND ${TARGET_B}) + +add_executable(${TARGET_C} ${SOURCES_C}) +target_link_libraries(${TARGET_C} PUBLIC gtest_main) +add_test(NAME ${TARGET_C} COMMAND ${TARGET_C}) + +# add_executable(${TARGET_D} ${SOURCES_D}) +# target_link_libraries(${TARGET_D} PUBLIC gtest_main) +# add_test(NAME ${TARGET_D} COMMAND ${TARGET_D}) + +add_executable(${TARGET_E} ${SOURCES_E}) +target_link_libraries(${TARGET_E} PUBLIC gtest_main) +add_test(NAME ${TARGET_E} COMMAND ${TARGET_E}) -include(GoogleTest) -gtest_discover_tests(hello_test) +add_executable(${TARGET_F} ${SOURCES_F}) +target_link_libraries(${TARGET_F} PUBLIC gtest_main) +add_test(NAME ${TARGET_F} COMMAND ${TARGET_F}) +add_executable(${TARGET_G} ${SOURCES_G}) +target_link_libraries(${TARGET_G} PUBLIC gtest_main) +add_test(NAME ${TARGET_G} COMMAND ${TARGET_G}) \ No newline at end of file -- cgit v1.2.3