diff --git a/.gitmodules b/.gitmodules index 60cdcb1105..b84b78548e 100644 --- a/.gitmodules +++ b/.gitmodules @@ -15,7 +15,7 @@ url = https://github.com/ros/gencpp.git [submodule "src/lib/dspal"] path = src/lib/dspal - url = https://github.com/mcharleb/dspal.git + url = https://github.com/ATLFlight/dspal.git [submodule "Tools/jMAVSim"] path = Tools/jMAVSim url = https://github.com/PX4/jMAVSim.git diff --git a/cmake/qurt/px4_impl_qurt.cmake b/cmake/qurt/px4_impl_qurt.cmake index 312c818ed5..87c71b1ecd 100644 --- a/cmake/qurt/px4_impl_qurt.cmake +++ b/cmake/qurt/px4_impl_qurt.cmake @@ -165,6 +165,7 @@ function(px4_os_add_flags) ${DSPAL_ROOT}/sys/sys ${DSPAL_ROOT}/mpu_spi/inc ${DSPAL_ROOT}/uart_esc/inc + src/lib/DriverFramework/framework/include src/platforms/qurt/include src/platforms/posix/include ) @@ -172,6 +173,7 @@ function(px4_os_add_flags) set(added_definitions -D__PX4_QURT -D__PX4_POSIX + -D__DF_QURT -include ${PX4_INCLUDE_DIR}visibility.h ) @@ -185,6 +187,8 @@ function(px4_os_add_flags) set(CMAKE_SHARED_LIBRARY_LINK_C_FLAGS "") set(CMAKE_SHARED_LIBRARY_LINK_CXX_FLAGS "") + set(DF_TARGET "qurt") + # output foreach(var ${inout_vars}) string(TOLOWER ${var} lower_var) diff --git a/src/drivers/drv_device.h b/src/drivers/drv_device.h index af0f4982b3..411c30f51f 100644 --- a/src/drivers/drv_device.h +++ b/src/drivers/drv_device.h @@ -46,30 +46,7 @@ #include "drv_sensor.h" #include "drv_orb_dev.h" -#ifdef __PX4_NUTTX -/* - * ioctl() definitions - */ - -#define _DEVICEIOCBASE (0x100) -#define _DEVICEIOC(_n) (_PX4_IOC(_DEVICEIOCBASE, _n)) - -/** ask device to stop publishing */ -#define DEVIOCSPUBBLOCK _DEVICEIOC(0) - -/** check publication block status */ -#define DEVIOCGPUBBLOCK _DEVICEIOC(1) - -/** - * Return device ID, to enable matching of configuration parameters - * (such as compass offsets) to specific sensors - */ -#define DEVIOCGDEVICEID _DEVICEIOC(2) - -#else -#include "DevObj.hpp" - -#endif +#include "DevIOCTL.h" #ifdef __PX4_POSIX diff --git a/src/firmware/qurt/CMakeLists.txt b/src/firmware/qurt/CMakeLists.txt index b6d743186f..bb55e8dc22 100644 --- a/src/firmware/qurt/CMakeLists.txt +++ b/src/firmware/qurt/CMakeLists.txt @@ -24,6 +24,7 @@ target_link_libraries(mainapp -Wl,--whole-archive ${module_libraries} ${target_libraries} + df_driver_framework m -Wl,--no-whole-archive -Wl,${TOOLSLIB}/pic/libstdc++.a) diff --git a/src/lib/DriverFramework b/src/lib/DriverFramework index 12373364a3..94abaa2067 160000 --- a/src/lib/DriverFramework +++ b/src/lib/DriverFramework @@ -1 +1 @@ -Subproject commit 12373364a3e78a20abad6cd63b36e355d712d9e4 +Subproject commit 94abaa2067438c8b3c300c1bec05688cda5ff2e8 diff --git a/src/lib/dspal b/src/lib/dspal index 93b8d36619..94188fb83a 160000 --- a/src/lib/dspal +++ b/src/lib/dspal @@ -1 +1 @@ -Subproject commit 93b8d366191fb24486e0484ca4f020c85ed6cfee +Subproject commit 94188fb83ab6b2da59eb9a8c8596ab49b67c42f6 diff --git a/src/platforms/qurt/include/sched.h b/src/platforms/qurt/include/sched.h deleted file mode 100644 index b67db23b1d..0000000000 --- a/src/platforms/qurt/include/sched.h +++ /dev/null @@ -1,12 +0,0 @@ -#pragma once - -#define SCHED_FIFO 1 -#define SCHED_RR 2 - -struct sched_param { - int sched_priority; -}; - -int sched_get_priority_max(int policy); -int sched_get_priority_min(int policy); - diff --git a/src/platforms/qurt/stubs/stubs_posix.c b/src/platforms/qurt/stubs/stubs_posix.c index 0b9faab882..64555694d4 100644 --- a/src/platforms/qurt/stubs/stubs_posix.c +++ b/src/platforms/qurt/stubs/stubs_posix.c @@ -97,3 +97,36 @@ int clock_gettime(clockid_t clk_id, struct timespec *tp) { return 1; } + +int pthread_mutex_lock(pthread_mutex_t *mutex) +{ + return 1; +} + +int pthread_mutex_unlock(pthread_mutex_t *mutex) +{ + return 1; +} + +int pthread_cond_signal(pthread_cond_t *cond) +{ + return 1; +} +int pthread_mutex_destroy(pthread_mutex_t *mutex) +{ + return 1; +} +int pthread_mutex_init(pthread_mutex_t *mutex, const pthread_mutexattr_t *attr) +{ + return 1; +} + +int pthread_cond_wait(pthread_cond_t *cond, pthread_mutex_t *mutex) +{ + return 1; +} + +int pthread_cond_timedwait(pthread_cond_t *cond, pthread_mutex_t *mutex, const struct timespec *abstime) +{ + return 1; +}