add qs-fx and qs-fs sensor support Nuttx on stm32f407-discovery

This commit is contained in:
wgzAIIT 2022-03-21 19:04:18 +08:00
parent e991c64a1d
commit 40d0320ef8
17 changed files with 141 additions and 5 deletions

View File

@ -47,6 +47,14 @@ ifeq ($(CONFIG_ADD_NUTTX_FETURES),y)
CSRCS += temperature_hs300x.c
endif
ifeq ($(CONFIG_APPLICATION_SENSOR_WINDDIRECTION_QS_FX), y)
CSRCS += winddirection_qs_fx.c
endif
ifeq ($(CONFIG_APPLICATION_SENSOR_WINDSPEED_QS_FS), y)
CSRCS += windspeed_qs_fs.c
endif
include $(APPDIR)/Application.mk
endif

View File

@ -34,5 +34,7 @@ void WindDirectionQsFx(void)
printf("wind direction : %d degree\n", result);
SensorQuantityClose(wind_direction);
}
#ifdef ADD_XIZI_FETURES
SHELL_EXPORT_CMD(SHELL_CMD_PERMISSION(0)|SHELL_CMD_TYPE(SHELL_TYPE_CMD_FUNC)|SHELL_CMD_PARAM_NUM(0)|SHELL_CMD_DISABLE_RETURN, WindDirectionQsFx, WindDirectionQsFx, WindDirectionQsFx function);
#endif

View File

@ -34,5 +34,7 @@ void WindSpeedQsFs(void)
printf("wind speed : %d.%d m/s\n", result/10, result%10);
SensorQuantityClose(wind_speed);
}
#ifdef ADD_XIZI_FETURES
SHELL_EXPORT_CMD(SHELL_CMD_PERMISSION(0)|SHELL_CMD_TYPE(SHELL_TYPE_CMD_FUNC)|SHELL_CMD_PARAM_NUM(0)|SHELL_CMD_DISABLE_RETURN, WindSpeedQsFs, WindSpeedQsFs, WindSpeedQsFs function);
#endif

View File

@ -34,6 +34,11 @@ config SENSOR_QS_FX
endif
if ADD_NUTTX_FETURES
config SENSOR_DEVICE_QS_FX_DEV
string "qs-fx device name"
default "/dev/ttyS1"
---help---
If USART1 is selected, then fill in /dev/ttyS1 here.
endif

View File

@ -0,0 +1,4 @@
############################################################################
# APP_Framework/Framework/sensor/winddirection/Make.defs
############################################################################
include $(wildcard $(APPDIR)/../../../APP_Framework/Framework/sensor/winddirection/*/Make.defs)

View File

@ -0,0 +1,6 @@
############################################################################
# APP_Framework/Framework/sensor/winddirection/qs-fx/Make.defs
############################################################################
ifneq ($(CONFIG_SENSOR_QS_FX),)
CONFIGURED_APPS += $(APPDIR)/../../../APP_Framework/Framework/sensor/winddirection/qs-fx
endif

View File

@ -1,3 +1,11 @@
SRC_FILES := qs-fx.c
include $(KERNEL_ROOT)/.config
ifeq ($(CONFIG_ADD_NUTTX_FETURES),y)
include $(APPDIR)/Make.defs
CSRCS += qs-fx.c
include $(APPDIR)/Application.mk
endif
include $(KERNEL_ROOT)/compiler.mk
ifeq ($(CONFIG_ADD_XIZI_FETURES),y)
SRC_FILES := qs-fx.c
include $(KERNEL_ROOT)/compiler.mk
endif

View File

@ -35,6 +35,18 @@ static struct SensorProductInfo info =
* @param sdev - sensor device pointer
* @return success: 1 , failure: other
*/
#ifdef ADD_NUTTX_FETURES
static int SensorDeviceOpen(struct SensorDevice *sdev)
{
sdev->fd = PrivOpen(SENSOR_DEVICE_QS_FX_DEV, O_RDWR);
if (sdev->fd < 0) {
printf("open %s error\n", SENSOR_DEVICE_QS_FX_DEV);
return -1;
}
return sdev->fd ;
}
#else
static int SensorDeviceOpen(struct SensorDevice *sdev)
{
int result = 0;
@ -64,7 +76,8 @@ static int SensorDeviceOpen(struct SensorDevice *sdev)
result = PrivIoctl(sdev->fd, OPE_INT, &ioctl_cfg);
return result;
}
}
#endif
/**
* @description: Read sensor device

View File

@ -34,6 +34,11 @@ config SENSOR_QS_FS
endif
if ADD_NUTTX_FETURES
config SENSOR_DEVICE_QS_FS_DEV
string "qs-fx device name"
default "/dev/ttyS1"
---help---
If USART1 is selected, then fill in /dev/ttyS1 here.
endif

View File

@ -0,0 +1,4 @@
############################################################################
# APP_Framework/Framework/sensor/windspeed/Make.defs
############################################################################
include $(wildcard $(APPDIR)/../../../APP_Framework/Framework/sensor/windspeed/*/Make.defs)

View File

@ -0,0 +1,6 @@
############################################################################
# APP_Framework/Framework/sensor/windspeed/qs-fs/Make.defs
############################################################################
ifneq ($(CONFIG_SENSOR_QS_FS),)
CONFIGURED_APPS += $(APPDIR)/../../../APP_Framework/Framework/sensor/windspeed/qs-fs
endif

View File

@ -1,3 +1,11 @@
SRC_FILES := qs-fs.c
include $(KERNEL_ROOT)/.config
ifeq ($(CONFIG_ADD_NUTTX_FETURES),y)
include $(APPDIR)/Make.defs
CSRCS += qs-fs.c
include $(APPDIR)/Application.mk
endif
include $(KERNEL_ROOT)/compiler.mk
ifeq ($(CONFIG_ADD_XIZI_FETURES),y)
SRC_FILES := qs-fs.c
include $(KERNEL_ROOT)/compiler.mk
endif

View File

@ -35,6 +35,17 @@ static struct SensorProductInfo info =
* @param sdev - sensor device pointer
* @return success: 1 , failure: other
*/
#ifdef ADD_NUTTX_FETURES
static int SensorDeviceOpen(struct SensorDevice *sdev)
{
sdev->fd = PrivOpen(SENSOR_DEVICE_QS_FS_DEV, O_RDWR);
if (sdev->fd < 0) {
printf("open %s error\n", SENSOR_DEVICE_QS_FS_DEV);
return -1;
}
return sdev->fd;
}
#else
static int SensorDeviceOpen(struct SensorDevice *sdev)
{
int result = 0;
@ -65,6 +76,7 @@ static int SensorDeviceOpen(struct SensorDevice *sdev)
return result;
}
#endif
/**
* @description: Read sensor device

View File

@ -630,6 +630,14 @@ config NSH_DISABLE_TEMPHS300X
config NSH_DISABLE_HUMIHS300X
bool "Disable the humidity function of the sensor Hs300x."
default n
config NSH_DISABLE_QS_FX
bool "Disable the winddirection function of the sensor QS-FX."
default n
config NSH_DISABLE_QS_FS
bool "Disable the windspeed function of the sensor QS-FS."
default n
config NSH_DISABLE_OPENZIGBEE
bool "Disable the open function of the zigebee."

View File

@ -1461,6 +1461,14 @@ int nsh_foreach_var(FAR struct nsh_vtbl_s *vtbl, nsh_foreach_var_t cb,
int cmd_HumiHs300x(FAR struct nsh_vtbl_s *vtbl, int argc, char **argv);
#endif
#if defined(CONFIG_APPLICATION_SENSOR_WINDDIRECTION_QS_FX) && !defined(CONFIG_NSH_DISABLE_QS_FX)
int cmd_WindDirectionQsFx(FAR struct nsh_vtbl_s *vtbl, int argc, char **argv);
#endif
#if defined(CONFIG_APPLICATION_SENSOR_WINDSPEED_QS_FS) && !defined(CONFIG_NSH_DISABLE_QS_FS)
int cmd_WindSpeedQsFs(FAR struct nsh_vtbl_s *vtbl, int argc, char **argv);
#endif
#if defined(CONFIG_CONNECTION_ADAPTER_ZIGBEE) && !defined(CONFIG_NSH_DISABLE_OPENZIGBEE)
int cmd_openzigbee(FAR struct nsh_vtbl_s *vtbl, int argc, char **argv);

View File

@ -204,6 +204,35 @@ int cmd_HumiHs300x(FAR struct nsh_vtbl_s *vtbl, int argc, char **argv)
}
#endif
/****************************************************************************
* Name: cmd_WindDirectionQsFx
****************************************************************************/
#if defined(CONFIG_APPLICATION_SENSOR_WINDDIRECTION_QS_FX) && !defined(CONFIG_NSH_DISABLE_QS_FX)
extern void WindDirectionQsFx(void);
int cmd_WindDirectionQsFx(FAR struct nsh_vtbl_s *vtbl, int argc, char **argv)
{
nsh_output(vtbl, "Hello, world!\n");
FrameworkInit();
WindDirectionQsFx();
return OK;
}
#endif
/****************************************************************************
* Name: cmd_WindSpeedQsFs
****************************************************************************/
#if defined(CONFIG_APPLICATION_SENSOR_WINDSPEED_QS_FS) && !defined(CONFIG_NSH_DISABLE_QS_FS)
extern void WindSpeedQsFs(void);
int cmd_WindSpeedQsFs(FAR struct nsh_vtbl_s *vtbl, int argc, char **argv)
{
nsh_output(vtbl, "Hello, world!\n");
FrameworkInit();
WindSpeedQsFs();
return OK;
}
#endif
/****************************************************************************
* Name: cmd_openzigbee

View File

@ -634,6 +634,14 @@ static const struct cmdmap_s g_cmdmap[] =
{ "humi", cmd_HumiHs300x, 1, 1, "[get humidity with sensor HS300x.]" },
#endif
#if defined(CONFIG_APPLICATION_SENSOR_WINDDIRECTION_QS_FX) && !defined(CONFIG_NSH_DISABLE_QS_FX)
{ "WindDirectionQsFx", cmd_WindDirectionQsFx, 1, 1, "[get WindDirection with sensor QsFx.]" },
#endif
#if defined(CONFIG_APPLICATION_SENSOR_WINDSPEED_QS_FS) && !defined(CONFIG_NSH_DISABLE_QS_FS)
{ "WindSpeedQsFs", cmd_WindSpeedQsFs, 1, 1, "[get WindSpeed with sensor QsFs.]" },
#endif
#if defined(CONFIG_CONNECTION_ADAPTER_ZIGBEE) && !defined(CONFIG_NSH_DISABLE_OPENZIGBEE)
{ "openzigbee", cmd_openzigbee, 1, 1, "[open the zigebee device.]" },
#endif