Skip to content

Commit f6d73d0

Browse files
sitl: fix NuttX 12.12.0 upgrade regressions
1 parent 83d0c55 commit f6d73d0

17 files changed

Lines changed: 87 additions & 1 deletion

File tree

platforms/common/include/px4_platform_common/workqueue.h

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -42,7 +42,7 @@
4242
#elif defined(__PX4_POSIX)
4343

4444
#include <stdint.h>
45-
#include <sys/queue.h>
45+
#include <queue.h>
4646
#include <sys/types.h>
4747

4848
__BEGIN_DECLS

platforms/common/work_queue/dq_addlast.c

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -42,7 +42,11 @@
4242
************************************************************/
4343

4444
#include <stddef.h>
45+
#if defined(__PX4_NUTTX)
4546
#include <sys/queue.h>
47+
#elif defined(__PX4_POSIX)
48+
#include <queue.h>
49+
#endif
4650

4751
/************************************************************
4852
* Public Functions

platforms/common/work_queue/dq_rem.c

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -42,7 +42,11 @@
4242
************************************************************/
4343

4444
#include <stddef.h>
45+
#if defined(__PX4_NUTTX)
4546
#include <sys/queue.h>
47+
#elif defined(__PX4_POSIX)
48+
#include <queue.h>
49+
#endif
4650

4751
/************************************************************
4852
* Public Functions

platforms/common/work_queue/dq_remfirst.c

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -42,7 +42,11 @@
4242
************************************************************/
4343

4444
#include <stddef.h>
45+
#if defined(__PX4_NUTTX)
4546
#include <sys/queue.h>
47+
#elif defined(__PX4_POSIX)
48+
#include <queue.h>
49+
#endif
4650

4751
/************************************************************
4852
* Public Functions

platforms/common/work_queue/queue.c

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -35,7 +35,11 @@
3535
************************************************************************/
3636

3737
// FIXME - need px4_queue
38+
#if defined(__PX4_NUTTX)
3839
#include <sys/queue.h>
40+
#elif defined(__PX4_POSIX)
41+
#include <queue.h>
42+
#endif
3943
#include <stddef.h>
4044

4145
void sq_rem(sq_entry_t *node, sq_queue_t *queue)

platforms/common/work_queue/sq_addafter.c

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -41,7 +41,11 @@
4141
* Included Files
4242
************************************************************/
4343

44+
#if defined(__PX4_NUTTX)
4445
#include <sys/queue.h>
46+
#elif defined(__PX4_POSIX)
47+
#include <queue.h>
48+
#endif
4549

4650
/************************************************************
4751
* Public Functions

platforms/common/work_queue/sq_addlast.c

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -42,7 +42,11 @@
4242
************************************************************/
4343

4444
#include <stddef.h>
45+
#if defined(__PX4_NUTTX)
4546
#include <sys/queue.h>
47+
#elif defined(__PX4_POSIX)
48+
#include <queue.h>
49+
#endif
4650

4751
/************************************************************
4852
* Public Functions

platforms/common/work_queue/sq_remfirst.c

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -42,7 +42,11 @@
4242
************************************************************/
4343

4444
#include <stddef.h>
45+
#if defined(__PX4_NUTTX)
4546
#include <sys/queue.h>
47+
#elif defined(__PX4_POSIX)
48+
#include <queue.h>
49+
#endif
4650

4751
/************************************************************
4852
* Public Functions

src/drivers/drv_hrt.h

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -45,7 +45,11 @@
4545
#include <inttypes.h>
4646

4747
#include <px4_platform_common/time.h>
48+
#if defined(__PX4_NUTTX)
4849
#include <sys/queue.h>
50+
#else
51+
#include <queue.h>
52+
#endif
4953

5054
#if defined(__PX4_NUTTX) && !defined(CONFIG_BUILD_FLAT)
5155
#include <px4_platform/board_ctrl.h>

src/lib/cdev/CDev.cpp

Lines changed: 20 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -288,10 +288,20 @@ CDev::poll(file_t *filep, px4_pollfd_struct_t *fds, bool setup)
288288
fds->revents |= fds->events & poll_state(filep);
289289

290290
/* yes? invoke the callback */
291+
#ifdef __PX4_NUTTX
292+
291293
if (fds->revents != 0 && fds->cb != nullptr) {
292294
fds->cb(fds);
293295
}
294296

297+
#else
298+
299+
if (fds->revents != 0) {
300+
px4_sem_post(fds->sem);
301+
}
302+
303+
#endif
304+
295305
}
296306

297307
ATOMIC_LEAVE;
@@ -335,9 +345,19 @@ CDev::poll_notify_one(px4_pollfd_struct_t *fds, px4_pollevent_t events)
335345

336346
PX4_DEBUG(" Events fds=%p %0x %0x %0x", fds, fds->revents, fds->events, events);
337347

348+
#ifdef __PX4_NUTTX
349+
338350
if (fds->revents != 0 && fds->cb != nullptr) {
339351
fds->cb(fds);
340352
}
353+
354+
#else
355+
356+
if (fds->revents != 0) {
357+
px4_sem_post(fds->sem);
358+
}
359+
360+
#endif
341361
}
342362

343363
int

0 commit comments

Comments
 (0)