Browse Source

Use IOCTL for board_read_VBUS_state in NuttX protected builds

Direct gpio read is not possible from user side applications, so use boardctl
interface instead.

Signed-off-by: Jukka Laitinen <jukkax@ssrc.tii.ae>
v1.13.0-BW
Jukka Laitinen 3 years ago committed by Beat Küng
parent
commit
56c6120e83
  1. 1
      boards/px4/fmu-v5/src/stm32_userspace.c
  2. 9
      platforms/common/include/px4_platform_common/board_common.h

1
boards/px4/fmu-v5/src/stm32_userspace.c

@ -143,5 +143,4 @@ int CONFIG_USER_ENTRYPOINT(int argc, char *argv[])
return nsh_main(argc, argv); return nsh_main(argc, argv);
} }
#endif /* !CONFIG_BUILD_FLAT && !__KERNEL__ */ #endif /* !CONFIG_BUILD_FLAT && !__KERNEL__ */

9
platforms/common/include/px4_platform_common/board_common.h

@ -502,7 +502,14 @@ static inline bool board_rc_invert_input(const char *device, bool invert) { retu
* *
************************************************************************************/ ************************************************************************************/
#if defined(GPIO_OTGFS_VBUS) #if defined(__PX4_NUTTX) && !defined(CONFIG_BUILD_FLAT)
inline static int board_read_VBUS_state(void)
{
platformiocvbusstate_t state = {false};
boardctl(PLATFORMIOCVBUSSTATE, (uintptr_t)&state);
return state.ret;
}
#elif defined(GPIO_OTGFS_VBUS)
# define board_read_VBUS_state() (px4_arch_gpioread(GPIO_OTGFS_VBUS) ? 0 : 1) # define board_read_VBUS_state() (px4_arch_gpioread(GPIO_OTGFS_VBUS) ? 0 : 1)
#else #else
int board_read_VBUS_state(void); int board_read_VBUS_state(void);

Loading…
Cancel
Save