diff --git a/boards/atlflight/eagle/qurt-default.cmake b/boards/atlflight/eagle/qurt-default.cmake index 9487b6fe76..06ca677789 100644 --- a/boards/atlflight/eagle/qurt-default.cmake +++ b/boards/atlflight/eagle/qurt-default.cmake @@ -10,6 +10,7 @@ if (DEFINED ENV{QC_SOC_TARGET}) else() set(QC_SOC_TARGET "APQ8074") endif() +add_definitions(-D__PX4_QURT_EAGLE_${QC_SOC_TARGET}) include(px4_git) px4_add_git_submodule(TARGET git_cmake_hexagon PATH "${PX4_SOURCE_DIR}/boards/atlflight/cmake_hexagon") diff --git a/platforms/qurt/src/px4_layer/qurt_stubs.c b/platforms/qurt/src/px4_layer/qurt_stubs.c index ab449f67a0..227ff20702 100644 --- a/platforms/qurt/src/px4_layer/qurt_stubs.c +++ b/platforms/qurt/src/px4_layer/qurt_stubs.c @@ -118,3 +118,42 @@ void __cxa_pure_virtual() PX4_WARN("Error: Calling unresolved symbol stub[%s]", __FUNCTION__); block_indefinite(); } + +#ifdef __PX4_QURT_EAGLE_APQ8074 + +float _Stof(const char *p0, char **p1, long p2) +{ + PX4_WARN("Error: Calling unresolved symbol stub[%s]", __FUNCTION__); + block_indefinite(); + return 0; +} + +void *bsearch(const void *key, const void *ptr, size_t count, size_t size, int (*comp)(const void *, const void *)) +{ + const char *first = (const char *)ptr; + + while (count > 1) { + size_t m = count / 2; + const char *middle_element = first + m * size; + int cmp_res = comp(middle_element, key); + + if (cmp_res > 0) { + count = m; + + } else if (cmp_res == 0) { + return (void *)middle_element; + + } else { + first = middle_element + size; + count = count - m - 1; + } + } + + if (count && comp(first, key) == 0) { + return (void *)first; + } + + return NULL; +} + +#endif diff --git a/src/lib/parameters/parameters_shmem.cpp b/src/lib/parameters/parameters_shmem.cpp index 0c83371e72..7d1a8bea28 100644 --- a/src/lib/parameters/parameters_shmem.cpp +++ b/src/lib/parameters/parameters_shmem.cpp @@ -325,7 +325,7 @@ param_compare_values(const void *a, const void *b) * @return The structure holding the modified value, or * nullptr if the parameter has not been modified. */ -static param_wbuf_s * +param_wbuf_s * param_find_changed(param_t param) { param_wbuf_s *s = nullptr;