From 7a4c5c34751f2ff4c8b77839385a43c335230643 Mon Sep 17 00:00:00 2001 From: David Sidrane Date: Tue, 7 Mar 2017 18:29:19 -1000 Subject: [PATCH] Added board_read_VBUS_state to board_common API --- src/drivers/boards/common/board_common.h | 19 +++++++++++++++++++ src/systemcmds/usb_connected/usb_connected.c | 4 ++-- 2 files changed, 21 insertions(+), 2 deletions(-) diff --git a/src/drivers/boards/common/board_common.h b/src/drivers/boards/common/board_common.h index 1dbdcc218d..336b6f855b 100644 --- a/src/drivers/boards/common/board_common.h +++ b/src/drivers/boards/common/board_common.h @@ -262,6 +262,25 @@ # define HW_VER_FMUV2MINI HW_VER_SIMPLE(HW_VER_FMUV2MINI_STATE) #endif +/* Provide an interface for reading the connected state of VBUS */ + +/************************************************************************************ + * Name: board_read_VBUS_state + * + * Description: + * All boards must provide a way to read the state of VBUS, this my be simple + * digital input on a GPIO. Or something more complicated like a Analong input + * or reading a bit from a USB controller register. + * + * Returns - 0 if connected. + * + ************************************************************************************/ + +#if defined(GPIO_OTGFS_VBUS) +# define board_read_VBUS_state() (px4_arch_gpioread(GPIO_OTGFS_VBUS) ? 0 : 1) +#else +int board_read_VBUS_state(void); +#endif /************************************************************************************ * Public Data ************************************************************************************/ diff --git a/src/systemcmds/usb_connected/usb_connected.c b/src/systemcmds/usb_connected/usb_connected.c index 8d71832061..9b74ed6cb0 100644 --- a/src/systemcmds/usb_connected/usb_connected.c +++ b/src/systemcmds/usb_connected/usb_connected.c @@ -48,7 +48,7 @@ __EXPORT int usb_connected_main(int argc, char *argv[]); -static void print_usage() +static void print_usage(void) { PRINT_MODULE_DESCRIPTION("Utility to check if USB is connected. Was previously used in startup scripts.\n" @@ -66,5 +66,5 @@ usb_connected_main(int argc, char *argv[]) return 0; } - return px4_arch_gpioread(GPIO_OTGFS_VBUS) ? 0 : 1; + return board_read_VBUS_state(); }