### CMake Project Setup and Library Definition Source: https://github.com/djgreeb/xdj-x/blob/main/FW_BACKUP/XDJX/Drivers/CMSIS/DSP/DSP_Lib_TestSuite/RefLibs/CMakeLists.txt This snippet initializes the CMake build environment, sets the project name, and defines a static library named 'DspRefLibs' by listing all its source files. It also includes a custom configuration script 'config' and a function 'configdsp' for further setup. ```cmake cmake_minimum_required (VERSION 3.6) project(DspRefLibs) # Needed to find the config modules list(APPEND CMAKE_MODULE_PATH ${CMAKE_CURRENT_SOURCE_DIR}/../..) set(REFSRC src/BasicMathFunctions/abs.c src/BasicMathFunctions/add.c src/BasicMathFunctions/dot_prod.c src/BasicMathFunctions/mult.c src/BasicMathFunctions/negate.c src/BasicMathFunctions/offset.c src/BasicMathFunctions/scale.c src/BasicMathFunctions/shift.c src/BasicMathFunctions/sub.c src/ComplexMathFunctions/cmplx_conj.c src/ComplexMathFunctions/cmplx_dot_prod.c src/ComplexMathFunctions/cmplx_mag.c src/ComplexMathFunctions/cmplx_mag_squared.c src/ComplexMathFunctions/cmplx_mult_cmplx.c src/ComplexMathFunctions/cmplx_mult_real.c src/ControllerFunctions/pid.c src/ControllerFunctions/sin_cos.c src/FastMathFunctions/cos.c src/FastMathFunctions/sin.c src/FastMathFunctions/sqrt.c src/FilteringFunctions/biquad.c src/FilteringFunctions/conv.c src/FilteringFunctions/correlate.c src/FilteringFunctions/fir.c src/FilteringFunctions/fir_decimate.c src/FilteringFunctions/fir_interpolate.c src/FilteringFunctions/fir_lattice.c src/FilteringFunctions/fir_sparse.c src/FilteringFunctions/iir_lattice.c src/FilteringFunctions/lms.c src/HelperFunctions/mat_helper.c src/HelperFunctions/ref_helper.c src/Intrinsics/intrinsics.c src/MatrixFunctions/mat_add.c src/MatrixFunctions/mat_cmplx_mult.c src/MatrixFunctions/mat_inverse.c src/MatrixFunctions/mat_mult.c src/MatrixFunctions/mat_scale.c src/MatrixFunctions/mat_sub.c src/MatrixFunctions/mat_trans.c src/StatisticsFunctions/max.c src/StatisticsFunctions/mean.c src/StatisticsFunctions/min.c src/StatisticsFunctions/power.c src/StatisticsFunctions/rms.c src/StatisticsFunctions/std.c src/StatisticsFunctions/var.c src/SupportFunctions/copy.c src/SupportFunctions/fill.c src/SupportFunctions/fixed_to_fixed.c src/SupportFunctions/fixed_to_float.c src/SupportFunctions/float_to_fixed.c src/TransformFunctions/bitreversal.c src/TransformFunctions/cfft.c src/TransformFunctions/dct4.c src/TransformFunctions/rfft.c ) add_library(DspRefLibs STATIC ${REFSRC}) include(config) configdsp(DspRefLibs ../../Source) ### Includes target_include_directories(DspRefLibs PUBLIC "inc") target_include_directories(DspRefLibs PUBLIC "../../Include") ``` -------------------------------- ### CMake Project Setup and Source File Declaration Source: https://github.com/djgreeb/xdj-x/blob/main/Mixer assy/FW_BACKUP/XDJX_MIXER_ASSY/Drivers/CMSIS/DSP/DSP_Lib_TestSuite/RefLibs/CMakeLists.txt This snippet initializes the CMake build process, sets the project name, and declares a list of C source files that will be compiled into the library. It's essential for defining the project's scope and its constituent parts. ```cmake cmake_minimum_required (VERSION 3.6) project(DspRefLibs) # Needed to find the config modules list(APPEND CMAKE_MODULE_PATH ${CMAKE_CURRENT_SOURCE_DIR}/../..) set(REFSRC src/BasicMathFunctions/abs.c src/BasicMathFunctions/add.c src/BasicMathFunctions/dot_prod.c src/BasicMathFunctions/mult.c src/BasicMathFunctions/negate.c src/BasicMathFunctions/offset.c src/BasicMathFunctions/scale.c src/BasicMathFunctions/shift.c src/BasicMathFunctions/sub.c src/ComplexMathFunctions/cmplx_conj.c src/ComplexMathFunctions/cmplx_dot_prod.c src/ComplexMathFunctions/cmplx_mag.c src/ComplexMathFunctions/cmplx_mag_squared.c src/ComplexMathFunctions/cmplx_mult_cmplx.c src/ComplexMathFunctions/cmplx_mult_real.c src/ControllerFunctions/pid.c src/ControllerFunctions/sin_cos.c src/FastMathFunctions/cos.c src/FastMathFunctions/sin.c src/FastMathFunctions/sqrt.c src/FilteringFunctions/biquad.c src/FilteringFunctions/conv.c src/FilteringFunctions/correlate.c src/FilteringFunctions/fir.c src/FilteringFunctions/fir_decimate.c src/FilteringFunctions/fir_interpolate.c src/FilteringFunctions/fir_lattice.c src/FilteringFunctions/fir_sparse.c src/FilteringFunctions/iir_lattice.c src/FilteringFunctions/lms.c src/HelperFunctions/mat_helper.c src/HelperFunctions/ref_helper.c src/Intrinsics/intrinsics.c src/MatrixFunctions/mat_add.c src/MatrixFunctions/mat_cmplx_mult.c src/MatrixFunctions/mat_inverse.c src/MatrixFunctions/mat_mult.c src/MatrixFunctions/mat_scale.c src/MatrixFunctions/mat_sub.c src/MatrixFunctions/mat_trans.c src/StatisticsFunctions/max.c src/StatisticsFunctions/mean.c src/StatisticsFunctions/min.c src/StatisticsFunctions/power.c src/StatisticsFunctions/rms.c src/StatisticsFunctions/std.c src/StatisticsFunctions/var.c src/SupportFunctions/copy.c src/SupportFunctions/fill.c src/SupportFunctions/fixed_to_fixed.c src/SupportFunctions/fixed_to_float.c src/SupportFunctions/float_to_fixed.c src/TransformFunctions/bitreversal.c src/TransformFunctions/cfft.c src/TransformFunctions/dct4.c src/TransformFunctions/rfft.c ) ``` -------------------------------- ### CMake Project Setup and Library Definition Source: https://github.com/djgreeb/xdj-x/blob/main/MAIN ASSY FW_BACKUP/XDJX/Drivers/CMSIS/DSP/DSP_Lib_TestSuite/RefLibs/CMakeLists.txt This snippet initializes the CMake build system, sets the project name, and defines a static library named DspRefLibs. It lists all the C source files that will be compiled into the library. ```cmake cmake_minimum_required (VERSION 3.6) project(DspRefLibs) # Needed to find the config modules list(APPEND CMAKE_MODULE_PATH ${CMAKE_CURRENT_SOURCE_DIR}/../..) set(REFSRC src/BasicMathFunctions/abs.c src/BasicMathFunctions/add.c src/BasicMathFunctions/dot_prod.c src/BasicMathFunctions/mult.c src/BasicMathFunctions/negate.c src/BasicMathFunctions/offset.c src/BasicMathFunctions/scale.c src/BasicMathFunctions/shift.c src/BasicMathFunctions/sub.c src/ComplexMathFunctions/cmplx_conj.c src/ComplexMathFunctions/cmplx_dot_prod.c src/ComplexMathFunctions/cmplx_mag.c src/ComplexMathFunctions/cmplx_mag_squared.c src/ComplexMathFunctions/cmplx_mult_cmplx.c src/ComplexMathFunctions/cmplx_mult_real.c src/ControllerFunctions/pid.c src/ControllerFunctions/sin_cos.c src/FastMathFunctions/cos.c src/FastMathFunctions/sin.c src/FastMathFunctions/sqrt.c src/FilteringFunctions/biquad.c src/FilteringFunctions/conv.c src/FilteringFunctions/correlate.c src/FilteringFunctions/fir.c src/FilteringFunctions/fir_decimate.c src/FilteringFunctions/fir_interpolate.c src/FilteringFunctions/fir_lattice.c src/FilteringFunctions/fir_sparse.c src/FilteringFunctions/iir_lattice.c src/FilteringFunctions/lms.c src/HelperFunctions/mat_helper.c src/HelperFunctions/ref_helper.c src/Intrinsics/intrinsics.c src/MatrixFunctions/mat_add.c src/MatrixFunctions/mat_cmplx_mult.c src/MatrixFunctions/mat_inverse.c src/MatrixFunctions/mat_mult.c src/MatrixFunctions/mat_scale.c src/MatrixFunctions/mat_sub.c src/MatrixFunctions/mat_trans.c src/StatisticsFunctions/max.c src/StatisticsFunctions/mean.c src/StatisticsFunctions/min.c src/StatisticsFunctions/power.c src/StatisticsFunctions/rms.c src/StatisticsFunctions/std.c src/StatisticsFunctions/var.c src/SupportFunctions/copy.c src/SupportFunctions/fill.c src/SupportFunctions/fixed_to_fixed.c src/SupportFunctions/fixed_to_float.c src/SupportFunctions/float_to_fixed.c src/TransformFunctions/bitreversal.c src/TransformFunctions/cfft.c src/TransformFunctions/dct4.c src/TransformFunctions/rfft.c ) add_library(DspRefLibs STATIC ${REFSRC}) ``` -------------------------------- ### Configure CMake Project for CMSIS DSP Source: https://github.com/djgreeb/xdj-x/blob/main/MAIN ASSY FW_BACKUP/XDJX/Drivers/CMSIS/DSP/Examples/ARM/arm_variance_example/CMakeLists.txt This CMake script sets up the build environment for an ARM-based variance calculation example. It includes the necessary module paths, adds the CMSIS DSP library, and links the source code to the executable. ```cmake cmake_minimum_required (VERSION 3.6) project (arm_variance_example VERSION 0.1) list(APPEND CMAKE_MODULE_PATH ${CMAKE_CURRENT_SOURCE_DIR}/../../../) add_subdirectory(../../../Source bin_dsp) add_executable(arm_variance_example) set(ROOT ${CMAKE_CURRENT_SOURCE_DIR}/../../../../..) include(configBoot) target_sources(arm_variance_example PRIVATE arm_variance_example_f32.c) target_link_libraries(arm_variance_example PRIVATE CMSISDSP) install (TARGETS arm_variance_example DESTINATION "${PROJECT_SOURCE_DIR}/varianceExampleBuild.axf") ``` -------------------------------- ### Configure CMake Project for CMSIS-DSP Source: https://github.com/djgreeb/xdj-x/blob/main/Mixer assy/FW_BACKUP/XDJX_MIXER_ASSY/Drivers/CMSIS/DSP/Examples/ARM/arm_variance_example/CMakeLists.txt This CMake configuration initializes the project, includes necessary modules, and links the CMSIS-DSP library. It sets up the executable target and specifies the source file required for the variance calculation. ```cmake cmake_minimum_required (VERSION 3.6) project (arm_variance_example VERSION 0.1) list(APPEND CMAKE_MODULE_PATH ${CMAKE_CURRENT_SOURCE_DIR}/../../..) add_subdirectory(../../../Source bin_dsp) add_executable(arm_variance_example) set(ROOT ${CMAKE_CURRENT_SOURCE_DIR}/../../../../..) include(configBoot) target_sources(arm_variance_example PRIVATE arm_variance_example_f32.c) target_link_libraries(arm_variance_example PRIVATE CMSISDSP) install (TARGETS arm_variance_example DESTINATION "${PROJECT_SOURCE_DIR}/varianceExampleBuild.axf") ``` -------------------------------- ### CMake Static Library Creation and Configuration Source: https://github.com/djgreeb/xdj-x/blob/main/Mixer assy/FW_BACKUP/XDJX_MIXER_ASSY/Drivers/CMSIS/DSP/DSP_Lib_TestSuite/RefLibs/CMakeLists.txt This snippet defines how to create a static library named 'DspRefLibs' using the previously declared source files. It also includes custom configuration steps and specifies public include directories for the library. ```cmake add_library(DspRefLibs STATIC ${REFSRC}) include(config) configdsp(DspRefLibs ../../Source) ### Includes target_include_directories(DspRefLibs PUBLIC "inc") target_include_directories(DspRefLibs PUBLIC "../../Include") ``` -------------------------------- ### Configure Individual Test Execution in _tests.c Source: https://github.com/djgreeb/xdj-x/blob/main/Mixer assy/FW_BACKUP/XDJX_MIXER_ASSY/Drivers/CMSIS/DSP/DSP_Lib_TestSuite/HowTo.txt This snippet illustrates how to comment out individual tests within a specific test file (e.g., 'abs_tests.c'). This provides the most granular control over test selection. ```c // JTEST_TEST_CALL(arm_abs_f32_test); ``` -------------------------------- ### Configure CMSISDSPBasicMath CMake Project Source: https://github.com/djgreeb/xdj-x/blob/main/Mixer assy/FW_BACKUP/XDJX_MIXER_ASSY/Drivers/CMSIS/DSP/Source/BasicMathFunctions/CMakeLists.txt Sets the minimum CMake version and project name. It then discovers C source files in the current directory and adds them to a static library named CMSISDSPBasicMath. Finally, it configures DSP-related settings and adds include directories. ```cmake cmake_minimum_required (VERSION 3.6) project(CMSISDSPBasicMath) file(GLOB SRC "./*_*.c") add_library(CMSISDSPBasicMath STATIC ${SRC}) configdsp(CMSISDSPBasicMath ..) ### Includes target_include_directories(CMSISDSPBasicMath PUBLIC "${DSP}/../../Include") ``` -------------------------------- ### C Linker Output and Program Size Source: https://github.com/djgreeb/xdj-x/blob/main/DECK_ASSY/FW_BACKUP/XDJ_DECK_UCOM/MDK-ARM/XDJ_DECK_UCOM/XDJ_DECK_UCOM.build_log.htm This snippet displays the output from the linker (ArmLink.exe) after compilation. It includes the final program size breakdown in terms of Code, RO-data, RW-data, and ZI-data. This information is crucial for memory management and optimization on embedded systems. ```text linking... Program Size: Code=14348 RO-data=964 RW-data=200 ZI-data=2272 "XDJ_DECK_UCOM\XDJ_DECK_UCOM.axf" - 0 Error(s), 5 Warning(s). ``` -------------------------------- ### Configure Test Execution in all_tests.c Source: https://github.com/djgreeb/xdj-x/blob/main/Mixer assy/FW_BACKUP/XDJX_MIXER_ASSY/Drivers/CMSIS/DSP/DSP_Lib_TestSuite/HowTo.txt This snippet demonstrates how to comment out unwanted test groups in the 'all_tests.c' file to customize test execution. This is useful for focusing on specific functionalities or reducing test run time. ```c // JTEST_GROUP_CALL(complex_math_tests); ``` -------------------------------- ### Configure CMSIS-DSP Static Library with CMake Source: https://github.com/djgreeb/xdj-x/blob/main/Power Manager/Drivers/CMSIS/DSP/Source/SupportFunctions/CMakeLists.txt This script initializes a CMake project, collects source files using a glob pattern, and defines a static library named CMSISDSPSupport. It also configures DSP settings and adds public include directories for project dependencies. ```cmake cmake_minimum_required (VERSION 3.6) project(CMSISDSPSupport) file(GLOB SRC "./*_*.c") add_library(CMSISDSPSupport STATIC ${SRC}) configdsp(CMSISDSPSupport ..) target_include_directories(CMSISDSPSupport PUBLIC "${DSP}/../../Include") ``` -------------------------------- ### Configure CMSISDSPController Library with CMake Source: https://github.com/djgreeb/xdj-x/blob/main/FW_BACKUP/XDJX/Drivers/CMSIS/DSP/Source/ControllerFunctions/CMakeLists.txt This script initializes the CMSISDSPController static library and manages its source files and include directories. It uses conditional logic to include specific DSP source files and compiler definitions based on project settings. ```cmake cmake_minimum_required (VERSION 3.6) project(CMSISDSPController) add_library(CMSISDSPController STATIC) configdsp(CMSISDSPController ..) include(interpol) interpol(CMSISDSPController) if (CONFIGTABLE AND ALLFAST) target_compile_definitions(CMSISDSPController PUBLIC ARM_ALL_FAST_TABLES) endif() target_sources(CMSISDSPController PRIVATE arm_pid_init_f32.c) target_sources(CMSISDSPController PRIVATE arm_pid_init_q15.c) target_sources(CMSISDSPController PRIVATE arm_pid_init_q31.c) target_sources(CMSISDSPController PRIVATE arm_pid_reset_f32.c) target_sources(CMSISDSPController PRIVATE arm_pid_reset_q15.c) target_sources(CMSISDSPController PRIVATE arm_pid_reset_q31.c) if (NOT CONFIGTABLE OR ALLFAST OR ARM_SIN_COS_F32) target_sources(CMSISDSPController PRIVATE arm_sin_cos_f32.c) endif() if (NOT CONFIGTABLE OR ALLFAST OR ARM_SIN_COS_Q31) target_sources(CMSISDSPController PRIVATE arm_sin_cos_q31.c) endif() target_include_directories(CMSISDSPController PUBLIC "${DSP}/../../Include") ``` -------------------------------- ### CMake Build Configuration and Options Source: https://github.com/djgreeb/xdj-x/blob/main/Mixer assy/FW_BACKUP/XDJX_MIXER_ASSY/Drivers/CMSIS/DSP/DSP_Lib_TestSuite/CMakeLists.txt Sets up the CMake build environment, defines project name, and configures various build options for different test modules. These options control which features and tests are enabled during the build process. ```cmake cmake_minimum_required (VERSION 3.6) cтуре_policy(SET CMP0077 NEW) # The tests are assuming that MATRIX_CHECK is enabled when building # CMSIS-DSP. set(MATRIXCHECK ON) set(FASTMATHCOMPUTATIONS OFF) option(DUMPPATTERN "Dump test patterns when test is failing" ON) option(CUSTOMIZE_TESTS "Enable customizations of tests" ON) option(BASICMATH_TESTS "Enable Basic Math testing" ON) option(COMPLEXMATH_TESTS "Enable Complex Math testing" ON) option(CONTROLLER_TESTS "Enable Controller testing" ON) option(FASTMATH_TESTS "Enable Fast Math testing" ON) option(INTRINSICS_TESTS "Enable Intrinsics testing" ON) option(FILTERING_TESTS "Enable Filtering testing" ON) option(MATRIX_TESTS "Enable Matrix testing" ON) option(STATISTICS_TESTS "Enable Statistics testing" ON) option(SUPPORT_TESTS "Enable Support testing" ON) option(TRANSFORM_TESTS "Enable Transform testing" ON) project(DSP_Lib_TestSuite) # Needed to find the config modules list(APPEND CMAKE_MODULE_PATH ${CMAKE_CURRENT_SOURCE_DIR}/..) set(ROOT ${CMAKE_CURRENT_SOURCE_DIR}/../../..) file(GLOB MAIN "Common/src/*.c") file(GLOB BASICMATH_TESTS_SRC "Common/src/basic_math_tests/*.c") file(GLOB COMPLEXMATH_TESTS_SRC "Common/src/complex_math_tests/*.c") file(GLOB CONTROLLER_TESTS_SRC "Common/src/controller_tests/*.c") file(GLOB FASTMATH_TESTS_SRC "Common/src/fast_math_tests/*.c") file(GLOB FILTERING_TESTS_SRC "Common/src/filtering_tests/*.c") file(GLOB INTRINSINCS_TESTS_SRC "Common/src/intrinsics_tests/*.c") file(GLOB MATRIX_TESTS_SRC "Common/src/matrix_tests/*.c") file(GLOB STATISTICS_TESTS_SRC "Common/src/statistics_tests/*.c") file(GLOB SUPPORT_TESTS_SRC "Common/src/support_tests/*.c") file(GLOB TRANSFORM_TESTS_SRC "Common/src/transform_tests/*.c") file(GLOB JTEST_MAIN "Common/JTest/src/*.c") set(TESTSRC ${MAIN} ${BASICMATH_TESTS_SRC} ${COMPLEXMATH_TESTS_SRC} ${CONTROLLER_TESTS_SRC} ${FASTMATH_TESTS_SRC} ${FILTERING_TESTS_SRC} ${INTRINSINCS_TESTS_SRC} ${MATRIX_TESTS_SRC} ${STATISTICS_TESTS_SRC} ${SUPPORT_TESTS_SRC} ${TRANSFORM_TESTS_SRC} ${JTEST_MAIN} ) set(JINCS Common/JTest/inc Common/JTest/inc/arr_desc Common/inc/basic_math_tests Common/inc/complex_math_tests Common/inc/controller_tests Common/inc/fast_math_tests Common/inc/filtering_tests Common/inc/intrinsics_tests Common/inc/matrix_tests Common/inc/statistics_tests Common/inc/support_tests Common/inc/transform_tests ) add_subdirectory(../Source bin_dsp) add_subdirectory(RefLibs bin_ref) add_executable(DSP_Lib_TestSuite) if (CUSTOMIZE_TESTS) target_compile_definitions(DSP_Lib_TestSuite PRIVATE CUSTOMIZE_TESTS) endif() if (BASICMATH_TESTS) target_compile_definitions(DSP_Lib_TestSuite PRIVATE ENABLE_BASICMATH_TESTS) endif() if (COMPLEXMATH_TESTS) target_compile_definitions(DSP_Lib_TestSuite PRIVATE ENABLE_COMPLEXMATH_TESTS) endif() if (CONTROLLER_TESTS) target_compile_definitions(DSP_Lib_TestSuite PRIVATE ENABLE_CONTROLLER_TESTS) endif() if (FASTMATH_TESTS) target_compile_definitions(DSP_Lib_TestSuite PRIVATE ENABLE_FASTMATH_TESTS) endif() if (FILTERING_TESTS) target_compile_definitions(DSP_Lib_TestSuite PRIVATE ENABLE_FILTERING_TESTS) endif() if (INTRINSICS_TESTS) target_compile_definitions(DSP_Lib_TestSuite PRIVATE ENABLE_INTRINSICS_TESTS) endif() if (MATRIX_TESTS) target_compile_definitions(DSP_Lib_TestSuite PRIVATE ENABLE_MATRIX_TESTS) endif() if (STATISTICS_TESTS) target_compile_definitions(DSP_Lib_TestSuite PRIVATE ENABLE_STATISTICS_TESTS) endif() if (SUPPORT_TESTS) target_compile_definitions(DSP_Lib_TestSuite PRIVATE ENABLE_SUPPORT_TESTS) endif() if (TRANSFORM_TESTS) target_compile_definitions(DSP_Lib_TestSuite PRIVATE ENABLE_TRANSFORM_TESTS) endif() if (DUMPPATTERN) target_compile_definitions(DSP_Lib_TestSuite PRIVATE DUMPPATTERN) endif() # Change behavior of configBoot for scatter file set(TESTFRAMEWORK ON) include(configBoot) file(COPY ${ROOT}/CMSIS/DSP/Examples/ARM/boot/RTE_Components.h DESTINATION tempLink) target_link_libraries(DSP_Lib_TestSuite PRIVATE CMSISDSP) target_link_libraries(DSP_Lib_TestSuite PRIVATE DspRefLibs) target_sources(DSP_Lib_TestSuite PRIVATE ${TESTSRC}) ### Includes target_include_directories(DSP_Lib_TestSuite PRIVATE "Common/inc") target_include_directories(DSP_Lib_TestSuite PRIVATE "Common/inc/templates") target_include_directories(DSP_Lib_TestSuite PRIVATE ${JINCS}) ``` -------------------------------- ### Configure DspRefLibs CMake Build Source: https://github.com/djgreeb/xdj-x/blob/main/Power Manager/Drivers/CMSIS/DSP/DSP_Lib_TestSuite/RefLibs/CMakeLists.txt This script sets the minimum CMake version, defines the project name, and aggregates source files from various directories. It concludes by creating a static library and configuring include paths for public headers. ```cmake cmake_minimum_required (VERSION 3.6) project(DspRefLibs) list(APPEND CMAKE_MODULE_PATH ${CMAKE_CURRENT_SOURCE_DIR}/../..) set(REFSRC src/BasicMathFunctions/abs.c src/BasicMathFunctions/add.c src/BasicMathFunctions/dot_prod.c src/BasicMathFunctions/mult.c src/BasicMathFunctions/negate.c src/BasicMathFunctions/offset.c src/BasicMathFunctions/scale.c src/BasicMathFunctions/shift.c src/BasicMathFunctions/sub.c src/ComplexMathFunctions/cmplx_conj.c src/ComplexMathFunctions/cmplx_dot_prod.c src/ComplexMathFunctions/cmplx_mag.c src/ComplexMathFunctions/cmplx_mag_squared.c src/ComplexMathFunctions/cmplx_mult_cmplx.c src/ComplexMathFunctions/cmplx_mult_real.c src/ControllerFunctions/pid.c src/ControllerFunctions/sin_cos.c src/FastMathFunctions/cos.c src/FastMathFunctions/sin.c src/FastMathFunctions/sqrt.c src/FilteringFunctions/biquad.c src/FilteringFunctions/conv.c src/FilteringFunctions/correlate.c src/FilteringFunctions/fir.c src/FilteringFunctions/fir_decimate.c src/FilteringFunctions/fir_interpolate.c src/FilteringFunctions/fir_lattice.c src/FilteringFunctions/fir_sparse.c src/FilteringFunctions/iir_lattice.c src/FilteringFunctions/lms.c src/HelperFunctions/mat_helper.c src/HelperFunctions/ref_helper.c src/Intrinsics/intrinsics.c src/MatrixFunctions/mat_add.c src/MatrixFunctions/mat_cmplx_mult.c src/MatrixFunctions/mat_inverse.c src/MatrixFunctions/mat_mult.c src/MatrixFunctions/mat_scale.c src/MatrixFunctions/mat_sub.c src/MatrixFunctions/mat_trans.c src/StatisticsFunctions/max.c src/StatisticsFunctions/mean.c src/StatisticsFunctions/min.c src/StatisticsFunctions/power.c src/StatisticsFunctions/rms.c src/StatisticsFunctions/std.c src/StatisticsFunctions/var.c src/SupportFunctions/copy.c src/SupportFunctions/fill.c src/SupportFunctions/fixed_to_fixed.c src/SupportFunctions/fixed_to_float.c src/SupportFunctions/float_to_fixed.c src/TransformFunctions/bitreversal.c src/TransformFunctions/cfft.c src/TransformFunctions/dct4.c src/TransformFunctions/rfft.c ) add_library(DspRefLibs STATIC ${REFSRC}) include(config) configdsp(DspRefLibs ../../Source) target_include_directories(DspRefLibs PUBLIC "inc") target_include_directories(DspRefLibs PUBLIC "../../Include") ``` -------------------------------- ### Compiler Selection in uVision Source: https://github.com/djgreeb/xdj-x/blob/main/Mixer assy/FW_BACKUP/XDJX_MIXER_ASSY/Drivers/CMSIS/DSP/DSP_Lib_TestSuite/HowTo.txt This note explains how to select the compiler (ARMCC V5 or ARMCLANG V6) within the uVision IDE's 'Options for Target' settings. It highlights that ARMCLANG V6 is primarily tested for ARMv8M cores. ```text in uVision 'Options for Target' tab you can select which compiler to use by default uVision uses ARMCC V5 for Cortex-M devices and ARMCLANG V6 only for ARMv8M. Only ARMv8M cores have been tested using ARMCLANG ``` -------------------------------- ### Configure CMSISDSPFastMath Library with CMake Source: https://github.com/djgreeb/xdj-x/blob/main/Mixer assy/FW_BACKUP/XDJX_MIXER_ASSY/Drivers/CMSIS/DSP/Source/FastMathFunctions/CMakeLists.txt This snippet defines the CMake build process for the CMSISDSPFastMath static library. It sets the minimum required CMake version, project name, finds source files, and conditionally adds source files and compile definitions based on predefined variables. It also specifies include directories. ```cmake cmake_minimum_required (VERSION 3.6) project(CMSISDSPFastMath) file(GLOB SRC "./*_*.c") add_library(CMSISDSPFastMath STATIC) include(interpol) interpol(CMSISDSPFastMath) if (CONFIGTABLE AND ALLFAST) target_compile_definitions(CMSISDSPFastMath PUBLIC ARM_ALL_FAST_TABLES) endif() if (NOT CONFIGTABLE OR ALLFAST OR ARM_COS_F32) target_sources(CMSISDSPFastMath PRIVATE arm_cos_f32.c) endif() if (NOT CONFIGTABLE OR ALLFAST OR ARM_COS_Q15) target_sources(CMSISDSPFastMath PRIVATE arm_cos_q15.c) endif() if (NOT CONFIGTABLE OR ALLFAST OR ARM_COS_Q31) target_sources(CMSISDSPFastMath PRIVATE arm_cos_q31.c) endif() if (NOT CONFIGTABLE OR ALLFAST OR ARM_SIN_F32) target_sources(CMSISDSPFastMath PRIVATE arm_sin_f32.c) endif() if (NOT CONFIGTABLE OR ALLFAST OR ARM_SIN_Q15) target_sources(CMSISDSPFastMath PRIVATE arm_sin_q15.c) endif() if (NOT CONFIGTABLE OR ALLFAST OR ARM_SIN_Q31) target_sources(CMSISDSPFastMath PRIVATE arm_sin_q31.c) endif() target_sources(CMSISDSPFastMath PRIVATE arm_sqrt_q15.c) target_sources(CMSISDSPFastMath PRIVATE arm_sqrt_q31.c) configdsp(CMSISDSPFastMath ..) target_include_directories(CMSISDSPFastMath PUBLIC "${DSP}/../../Include") ``` -------------------------------- ### Configure Test Execution in _group.c Source: https://github.com/djgreeb/xdj-x/blob/main/Mixer assy/FW_BACKUP/XDJX_MIXER_ASSY/Drivers/CMSIS/DSP/DSP_Lib_TestSuite/HowTo.txt This snippet shows how to comment out unwanted sub-test groups within a specific test group's C file (e.g., 'basic_math_test_group.c'). This allows for finer control over which tests are executed. ```c // JTEST_GROUP_CALL(abs_tests); ``` -------------------------------- ### Configure CMSISDSPStatistics Library with CMake Source: https://github.com/djgreeb/xdj-x/blob/main/MAIN ASSY FW_BACKUP/XDJX/Drivers/CMSIS/DSP/Source/StatisticsFunctions/CMakeLists.txt This snippet sets up the build environment for the CMSISDSPStatistics library using CMake. It defines the minimum required CMake version, names the project, finds all C source files in the current directory, creates a static library from these sources, and configures DSP-specific settings and include directories. ```cmake cmake_minimum_required (VERSION 3.6) project(CMSISDSPStatistics) file(GLOB SRC "./*_*.c") add_library(CMSISDSPStatistics STATIC ${SRC}) configdsp(CMSISDSPStatistics ..) ### Includes target_include_directories(CMSISDSPStatistics PUBLIC "${DSP}/../../Include") ``` -------------------------------- ### Configure CMSIS-DSP Fast Math Library with CMake Source: https://github.com/djgreeb/xdj-x/blob/main/Power Manager/Drivers/CMSIS/DSP/Source/FastMathFunctions/CMakeLists.txt This CMake script initializes the CMSISDSPFastMath static library and conditionally adds source files for trigonometric and square root operations. It uses configuration flags to determine which math implementations are included in the final build. ```cmake cmake_minimum_required (VERSION 3.6) project(CMSISDSPFastMath) file(GLOB SRC "./*_*.c") add_library(CMSISDSPFastMath STATIC) include(interpol) interpol(CMSISDSPFastMath) if (CONFIGTABLE AND ALLFAST) target_compile_definitions(CMSISDSPFastMath PUBLIC ARM_ALL_FAST_TABLES) endif() if (NOT CONFIGTABLE OR ALLFAST OR ARM_COS_F32) target_sources(CMSISDSPFastMath PRIVATE arm_cos_f32.c) endif() if (NOT CONFIGTABLE OR ALLFAST OR ARM_COS_Q15) target_sources(CMSISDSPFastMath PRIVATE arm_cos_q15.c) endif() if (NOT CONFIGTABLE OR ALLFAST OR ARM_COS_Q31) target_sources(CMSISDSPFastMath PRIVATE arm_cos_q31.c) endif() if (NOT CONFIGTABLE OR ALLFAST OR ARM_SIN_F32) target_sources(CMSISDSPFastMath PRIVATE arm_sin_f32.c) endif() if (NOT CONFIGTABLE OR ALLFAST OR ARM_SIN_Q15) target_sources(CMSISDSPFastMath PRIVATE arm_sin_q15.c) endif() if (NOT CONFIGTABLE OR ALLFAST OR ARM_SIN_Q31) target_sources(CMSISDSPFastMath PRIVATE arm_sin_q31.c) endif() target_sources(CMSISDSPFastMath PRIVATE arm_sqrt_q15.c) target_sources(CMSISDSPFastMath PRIVATE arm_sqrt_q31.c) configdsp(CMSISDSPFastMath ..) target_include_directories(CMSISDSPFastMath PUBLIC "${DSP}/../../Include") ``` -------------------------------- ### Configure CMSIS-DSP Transform Library with CMake Source: https://github.com/djgreeb/xdj-x/blob/main/MAIN ASSY FW_BACKUP/XDJX/Drivers/CMSIS/DSP/Source/TransformFunctions/CMakeLists.txt This snippet demonstrates how to define a static library and conditionally add source files based on feature flags. It ensures that only necessary signal processing algorithms are compiled into the final library binary. ```cmake cmake_minimum_required (VERSION 3.6) project(CMSISDSPTransform) add_library(CMSISDSPTransform STATIC) include(fft) fft(CMSISDSPTransform) if (CONFIGTABLE AND ALLFFT) target_compile_definitions(CMSISDSPTransform PUBLIC ARM_ALL_FFT_TABLES) endif() target_sources(CMSISDSPTransform PRIVATE arm_bitreversal.c) if (NOT CONFIGTABLE OR ALLFFT OR CFFT_F32_16) target_sources(CMSISDSPTransform PRIVATE arm_cfft_radix2_f32.c) endif() ``` -------------------------------- ### Configure CMSISDSPCommon Library with CMake Source: https://github.com/djgreeb/xdj-x/blob/main/FW_BACKUP/XDJX/Drivers/CMSIS/DSP/Source/CommonTables/CMakeLists.txt This CMake script defines the CMSISDSPCommon static library, manages source files, and applies conditional compile definitions based on project configuration flags. It also integrates external FFT and interpolation modules and sets the necessary include directories for the DSP library. ```cmake cmake_minimum_required (VERSION 3.6) project(CMSISDSPCommon) add_library(CMSISDSPCommon STATIC arm_common_tables.c) if (CONFIGTABLE AND ALLFFT) target_compile_definitions(CMSISDSPCommon PUBLIC ARM_ALL_FFT_TABLES) endif() if (CONFIGTABLE AND ALLFAST) target_compile_definitions(CMSISDSPCommon PUBLIC ARM_ALL_FAST_TABLES) endif() include(fft) fft(CMSISDSPCommon) include(interpol) interpol(CMSISDSPCommon) target_sources(CMSISDSPCommon PRIVATE arm_const_structs.c) configdsp(CMSISDSPCommon ..) target_include_directories(CMSISDSPCommon PUBLIC "${DSP}/../../Include") ``` -------------------------------- ### Configure CMSISDSPComplexMath Library with CMake Source: https://github.com/djgreeb/xdj-x/blob/main/FW_BACKUP/XDJX/Drivers/CMSIS/DSP/Source/ComplexMathFunctions/CMakeLists.txt This snippet configures the CMake build system for the CMSISDSPComplexMath library. It sets the minimum CMake version, defines the project name, finds source files, creates a static library, and adds public include directories. ```cmake cmake_minimum_required (VERSION 3.6) project(CMSISDSPComplexMath) file(GLOB SRC "./*_*.c") add_library(CMSISDSPComplexMath STATIC ${SRC}) configdsp(CMSISDSPComplexMath ..) ### Includes target_include_directories(CMSISDSPComplexMath PUBLIC "${DSP}/../../Include") ``` -------------------------------- ### Create CMSISDSPCommon Static Library Source: https://github.com/djgreeb/xdj-x/blob/main/Power Manager/Drivers/CMSIS/DSP/Source/CommonTables/CMakeLists.txt Defines the CMSISDSPCommon library as a static library using C source files. It specifies the source files to be compiled and linked into the library. ```cmake cmake_minimum_required (VERSION 3.6) project(CMSISDSPCommon) add_library(CMSISDSPCommon STATIC arm_common_tables.c) ``` -------------------------------- ### Define CMSISDSPController Library (CMake) Source: https://github.com/djgreeb/xdj-x/blob/main/Power Manager/Drivers/CMSIS/DSP/Source/ControllerFunctions/CMakeLists.txt This snippet defines a static library named CMSISDSPController. It sets the minimum required CMake version and the project name. It also includes custom DSP configuration and interpolation functions. ```cmake cmake_minimum_required (VERSION 3.6) project(CMSISDSPController) add_library(CMSISDSPController STATIC) configdsp(CMSISDSPController ..) include(interpol) interpol(CMSISDSPController) ``` -------------------------------- ### CMake Include Directory Configuration Source: https://github.com/djgreeb/xdj-x/blob/main/MAIN ASSY FW_BACKUP/XDJX/Drivers/CMSIS/DSP/DSP_Lib_TestSuite/RefLibs/CMakeLists.txt This snippet configures the include paths for the DspRefLibs target. It specifies both public and relative include directories, making header files accessible during compilation. ```cmake include(config) configdsp(DspRefLibs ../../Source) ### Includes target_include_directories(DspRefLibs PUBLIC "inc") target_include_directories(DspRefLibs PUBLIC "../../Include") ``` -------------------------------- ### Configure CMSISDSPFiltering Library Source: https://github.com/djgreeb/xdj-x/blob/main/Power Manager/Drivers/CMSIS/DSP/Source/FilteringFunctions/CMakeLists.txt This snippet sets up the basic CMake configuration for the CMSISDSPFiltering library. It defines the minimum required CMake version, names the project, and declares it as a static library. It also includes custom interpolation and configuration functions. ```cmake cmake_minimum_required (VERSION 3.6) project(CMSISDSPFiltering) add_library(CMSISDSPFiltering STATIC) include(interpol) interpol(CMSISDSPFiltering) configdsp(CMSISDSPFiltering ..) ``` -------------------------------- ### Include ARM LMS Norm Initialization (Q15) Source: https://github.com/djgreeb/xdj-x/blob/main/Power Manager/Drivers/CMSIS/DSP/Source/FilteringFunctions/CMakeLists.txt This CMake code conditionally adds the source file for ARM LMS normalization initialization for Q15 data types. It is included if the build configuration does not have CONFIGTABLE set, or if ALLFAST or ARM_LMS_NORM_Q15 flags are enabled. ```cmake if (NOT CONFIGTABLE OR ALLFAST OR ARM_LMS_NORM_Q15) target_sources(CMSISDSPFiltering PRIVATE arm_lms_norm_init_q15.c) endif() ``` -------------------------------- ### Configure CMSISDSPMatrix Library with CMake Source: https://github.com/djgreeb/xdj-x/blob/main/MAIN ASSY FW_BACKUP/XDJX/Drivers/CMSIS/DSP/Source/MatrixFunctions/CMakeLists.txt This snippet configures the build system using CMake. It sets the minimum required CMake version, defines the project name, finds C source files, adds a static library, and configures include directories for the DSP library. ```cmake cmake_minimum_required (VERSION 3.6) project(CMSISDSPMatrix) file(GLOB SRC "./*_*.c") add_library(CMSISDSPMatrix STATIC ${SRC}) configdsp(CMSISDSPMatrix ..) ### Includes target_include_directories(CMSISDSPMatrix PUBLIC "${DSP}/../../Include") ``` -------------------------------- ### Configure CMSIS-DSP Transform Library with CMake Source: https://github.com/djgreeb/xdj-x/blob/main/FW_BACKUP/XDJX/Drivers/CMSIS/DSP/Source/TransformFunctions/CMakeLists.txt This CMake script defines the library target and conditionally adds source files for FFT, DCT, and RFFT transforms. It uses configuration variables to include only the necessary source files, reducing binary size. ```cmake cmake_minimum_required (VERSION 3.6) project(CMSISDSPTransform) add_library(CMSISDSPTransform STATIC) include(fft) fft(CMSISDSPTransform) if (CONFIGTABLE AND ALLFFT) target_compile_definitions(CMSISDSPTransform PUBLIC ARM_ALL_FFT_TABLES) endif() target_sources(CMSISDSPTransform PRIVATE arm_bitreversal.c) target_sources(CMSISDSPTransform PRIVATE arm_bitreversal2.c) if (NOT CONFIGTABLE OR ALLFFT OR CFFT_F32_16 OR CFFT_F32_32 OR CFFT_F32_64 OR CFFT_F32_128 OR CFFT_F32_256 OR CFFT_F32_512 OR CFFT_F32_1024 OR CFFT_F32_2048 OR CFFT_F32_4096) target_sources(CMSISDSPTransform PRIVATE arm_cfft_radix2_f32.c) target_sources(CMSISDSPTransform PRIVATE arm_cfft_radix4_f32.c) target_sources(CMSISDSPTransform PRIVATE arm_cfft_radix8_f32.c) target_sources(CMSISDSPTransform PRIVATE arm_cfft_f32.c) endif() ``` -------------------------------- ### Define CMSISDSPCommon Static Library Source: https://github.com/djgreeb/xdj-x/blob/main/Mixer assy/FW_BACKUP/XDJX_MIXER_ASSY/Drivers/CMSIS/DSP/Source/CommonTables/CMakeLists.txt Defines a static library named CMSISDSPCommon and adds source files. It supports conditional compilation for ARM_ALL_FFT_TABLES and ARM_ALL_FAST_TABLES based on CMake variables. ```cmake cmake_minimum_required (VERSION 3.6) project(CMSISDSPCommon) add_library(CMSISDSPCommon STATIC arm_common_tables.c) if (CONFIGTABLE AND ALLFFT) target_compile_definitions(CMSISDSPCommon PUBLIC ARM_ALL_FFT_TABLES) endif() if (CONFIGTABLE AND ALLFAST) target_compile_definitions(CMSISDSPCommon PUBLIC ARM_ALL_FAST_TABLES) endif() include(fft) fft(CMSISDSPCommon) include(interpol) interpol(CMSISDSPCommon) target_sources(CMSISDSPCommon PRIVATE arm_const_structs.c) configdsp(CMSISDSPCommon ..) target_include_directories(CMSISDSPCommon PUBLIC "${DSP}/../../Include") ``` -------------------------------- ### Define CMSISDSPController Static Library Source: https://github.com/djgreeb/xdj-x/blob/main/MAIN ASSY FW_BACKUP/XDJX/Drivers/CMSIS/DSP/Source/ControllerFunctions/CMakeLists.txt Configures a static library named CMSISDSPController. It includes necessary CMake commands for library definition, source file inclusion, and header directory configuration. Dependencies like 'interpol' are also handled. ```cmake cmake_minimum_required (VERSION 3.6) project(CMSISDSPController) add_library(CMSISDSPController STATIC) configdsp(CMSISDSPController ..) include(interpol) interpol(CMSISDSPController) if (CONFIGTABLE AND ALLFAST) target_compile_definitions(CMSISDSPController PUBLIC ARM_ALL_FAST_TABLES) endif() target_sources(CMSISDSPController PRIVATE arm_pid_init_f32.c) target_sources(CMSISDSPController PRIVATE arm_pid_init_q15.c) target_sources(CMSISDSPController PRIVATE arm_pid_init_q31.c) target_sources(CMSISDSPController PRIVATE arm_pid_reset_f32.c) target_sources(CMSISDSPController PRIVATE arm_pid_reset_q15.c) target_sources(CMSISDSPController PRIVATE arm_pid_reset_q31.c) if (NOT CONFIGTABLE OR ALLFAST OR ARM_SIN_COS_F32) target_sources(CMSISDSPController PRIVATE arm_sin_cos_f32.c) endif() if (NOT CONFIGTABLE OR ALLFAST OR ARM_SIN_COS_Q31) target_sources(CMSISDSPController PRIVATE arm_sin_cos_q31.c) endif() ### Includes target_include_directories(CMSISDSPController PUBLIC "${DSP}/../../Include") ``` -------------------------------- ### Configure CMSIS-DSP Complex Math Library with CMake Source: https://github.com/djgreeb/xdj-x/blob/main/MAIN ASSY FW_BACKUP/XDJX/Drivers/CMSIS/DSP/Source/ComplexMathFunctions/CMakeLists.txt This script initializes a CMake project for the CMSIS-DSP Complex Math module. It dynamically collects source files, defines a static library, and sets the necessary include directories for public access. ```cmake cmake_minimum_required (VERSION 3.6) project(CMSISDSPComplexMath) file(GLOB SRC "./*_*.c") add_library(CMSISDSPComplexMath STATIC ${SRC}) configdsp(CMSISDSPComplexMath ..) target_include_directories(CMSISDSPComplexMath PUBLIC "${DSP}/../../Include") ``` -------------------------------- ### Configure CMSIS-DSP Include Directories Source: https://github.com/djgreeb/xdj-x/blob/main/FW_BACKUP/XDJX/Drivers/CMSIS/DSP/Source/TransformFunctions/CMakeLists.txt Sets the public include directories for the CMSISDSPTransform target. It utilizes the DSP variable to resolve the path to the library's header files. ```cmake target_include_directories(CMSISDSPTransform PUBLIC "${DSP}/../../Include") ``` -------------------------------- ### Configure CMSIS-DSP Build Options Source: https://github.com/djgreeb/xdj-x/blob/main/MAIN ASSY FW_BACKUP/XDJX/Drivers/CMSIS/DSP/Source/CMakeLists.txt This CMake script sets up the project environment and defines boolean options for enabling specific CMSIS-DSP function categories. It includes flags for basic math, complex math, filtering, and matrix operations, as well as conditional table configuration. ```cmake cmake_minimum_required (VERSION 3.6) project(CMSISDSP) list(APPEND CMAKE_MODULE_PATH ${CMAKE_CURRENT_SOURCE_DIR}/..) option(BASICMATH "Basic Math Functions" ON) option(COMPLEXMATH "Complex Math Functions" ON) option(CONTROLLER "Controller Functions" ON) option(FASTMATH "Fast Math Functions" ON) option(FILTERING "Filtering Functions" ON) option(MATRIX "Matrix Functions" ON) option(STATISTICS "Statistics Functions" ON) option(SUPPORT "Support Functions" ON) option(TRANSFORM "Transform Functions" ON) option(CONFIGTABLE "Configuration of table allowed" OFF) option(ALLFAST "All interpolation tables included" OFF) option(ALLFFT "All fft tables included" OFF) ``` -------------------------------- ### Configure DSP Settings for CMSISDSPCommon Source: https://github.com/djgreeb/xdj-x/blob/main/Power Manager/Drivers/CMSIS/DSP/Source/CommonTables/CMakeLists.txt Applies DSP-related configuration to the CMSISDSPCommon target. This command likely sets up specific build options or properties related to digital signal processing. ```cmake configdsp(CMSISDSPCommon ..) ``` -------------------------------- ### Conditional Addition of Trigonometric Source Files (CMake) Source: https://github.com/djgreeb/xdj-x/blob/main/Power Manager/Drivers/CMSIS/DSP/Source/ControllerFunctions/CMakeLists.txt This snippet conditionally adds source files for ARM sine and cosine functions (f32 and q31) to the CMSISDSPController library. The inclusion depends on the configuration flags NOT CONFIGTABLE, ALLFAST, or specific ARM function flags. ```cmake if (NOT CONFIGTABLE OR ALLFAST OR ARM_SIN_COS_F32) target_sources(CMSISDSPController PRIVATE arm_sin_cos_f32.c) endif() if (NOT CONFIGTABLE OR ALLFAST OR ARM_SIN_COS_Q31) target_sources(CMSISDSPController PRIVATE arm_sin_cos_q31.c) endif() ``` -------------------------------- ### Configure ARM DSP Library Build Options Source: https://github.com/djgreeb/xdj-x/blob/main/Mixer assy/FW_BACKUP/XDJX_MIXER_ASSY/Drivers/CMSIS/DSP/Source/CMakeLists.txt A collection of CMake 'option' commands used to toggle specific DSP library features. These settings control the inclusion of trigonometric, filtering, and transform functions during the compilation process. ```cmake # Those options are taken into account only when CONFIGTABLE is ON option(ARM_COS_F32 "cos f32" OFF) option(ARM_COS_Q31 "cos q31" OFF) option(ARM_COS_Q15 "cos q15" OFF) option(ARM_SIN_F32 "sin f32" OFF) option(ARM_SIN_Q31 "sin q31" OFF) option(ARM_SIN_Q15 "sin q15" OFF) option(ARM_SIN_COS_F32 "sin cos f32" OFF) option(ARM_SIN_COS_Q31 "sin cos q31" OFF) option(ARM_LMS_NORM_Q31 "lms norm q31" OFF) option(ARM_LMS_NORM_Q15 "lms norm q15" OFF) option(CFFT_F32_16 "cfft f32 16" OFF) option(CFFT_F32_1024 "cfft f32 1024" OFF) option(RFFT_FAST_F32_4096 "rfft fast f32 4096" OFF) option(DCT4_F32_128 "dct4 f32 128" OFF) ``` -------------------------------- ### Include FFT and Interpolation Modules Source: https://github.com/djgreeb/xdj-x/blob/main/Power Manager/Drivers/CMSIS/DSP/Source/CommonTables/CMakeLists.txt Includes external CMake modules for FFT and interpolation functionalities. These modules are likely to define targets or commands used in the build process. ```cmake include(fft) fft(CMSISDSPCommon) include(interpol) interpol(CMSISDSPCommon) ```