add hcho1os sensor support Nuttx

This commit is contained in:
wgzAIIT 2022-01-07 12:08:14 +08:00
parent c08d854d4b
commit 6bfbbc18f2
10 changed files with 71 additions and 7 deletions

View File

@ -18,7 +18,9 @@
* @date 2021.12.15
*/
#include <user_api.h>
#ifdef ADD_XIUOS_FETURES
# include <user_api.h>
#endif
#include <sensor.h>

View File

@ -34,6 +34,11 @@ config SENSOR_TB600B_WQ_HCHO1OS
endif
if ADD_NUTTX_FETURES
config SENSOR_DEVICE_TB600B_WQ_HCHO1OS_DEV
string "tb600b wq_hcho1os device uart path"
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/hcho/Make.defs
############################################################################
include $(wildcard $(APPDIR)/../../../APP_Framework/Framework/sensor/hcho/*/Make.defs)

View File

@ -0,0 +1,6 @@
############################################################################
# APP_Framework/Framework/sensor/hcho/tb600b_wq_hcho1os/Make.defs
############################################################################
ifneq ($(CONFIG_SENSOR_TB600B_WQ_HCHO1OS),)
CONFIGURED_APPS += $(APPDIR)/../../../APP_Framework/Framework/sensor/hcho/tb600b_wq_hcho1os
endif

View File

@ -1,3 +1,12 @@
SRC_FILES := tb600b_wq_hcho1os.c
include $(KERNEL_ROOT)/.config
include $(KERNEL_ROOT)/compiler.mk
ifeq ($(CONFIG_ADD_NUTTX_FETURES),y)
include $(APPDIR)/Make.defs
CSRCS += tb600b_wq_hcho1os.c
include $(APPDIR)/Application.mk
endif
ifeq ($(CONFIG_ADD_XIUOS_FETURES),y)
SRC_FILES := tb600b_wq_hcho1os.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_TB600B_WQ_HCHO1OS_DEV, O_RDWR);
if (sdev->fd < 0) {
printf("open %s error\n", SENSOR_DEVICE_TB600B_WQ_HCHO1OS_DEV);
return -1;
}
return sdev->fd;
}
#else
static int SensorDeviceOpen(struct SensorDevice *sdev)
{
int result = 0;
@ -65,6 +77,7 @@ static int SensorDeviceOpen(struct SensorDevice *sdev)
return result;
}
#endif
/**
* @description: Read sensor device

View File

@ -588,8 +588,11 @@ config NSH_DISABLE_XD
default y if DEFAULT_SMALL
default n if !DEFAULT_SMALL
config NSH_DISABLE_HCHO_TB600B_WQ_HCHO1OS
bool "Disable the sensor tb600b_wq_hcho1os."
default n
config NSH_DISABLE_TVOC_10
config NSH_DISABLE_TB600B_TVOC10
bool "Disable the sensor tb600b_tvoc10."
default n

View File

@ -1403,8 +1403,11 @@ int nsh_foreach_var(FAR struct nsh_vtbl_s *vtbl, nsh_foreach_var_t cb,
FAR void *arg);
#endif
#if defined(CONFIG_APPLICATION_SENSOR_HCHO_TB600B_WQ_HCHO1OS) && !defined(CONFIG_NSH_DISABLE_HCHO_TB600B_WQ_HCHO1OS)
int cmd_Hcho1os(FAR struct nsh_vtbl_s *vtbl, int argc, char **argv);
#endif
#if defined(CONFIG_APPLICATION_SENSOR_TVOC_TB600B_TVOC10) && !defined(CONFIG_NSH_DISABLE_TVOC_10)
#if defined(CONFIG_APPLICATION_SENSOR_TVOC_TB600B_TVOC10) && !defined(CONFIG_NSH_DISABLE_TB600B_TVOC10)
int cmd_Tvoc10(FAR struct nsh_vtbl_s *vtbl, int argc, char **argv);
#endif

View File

@ -52,11 +52,26 @@
extern int FrameworkInit(void);
/****************************************************************************
* Name: cmd_Hcho1os
****************************************************************************/
#if defined(CONFIG_APPLICATION_SENSOR_TVOC_TB600B_TVOC10) && !defined(CONFIG_NSH_DISABLE_TB600B_TVOC10)
extern void HchoTb600bHcho1os(void);
int cmd_Hcho1os(FAR struct nsh_vtbl_s *vtbl, int argc, char **argv)
{
printf("Hello, world!\n");
FrameworkInit();
HchoTb600bHcho1os();
return 0;
}
#endif
/****************************************************************************
* Name: cmd_Tvoc10
****************************************************************************/
#if defined(CONFIG_APPLICATION_SENSOR_TVOC_TB600B_TVOC10) && !defined(CONFIG_NSH_DISABLE_TVOC_10)
#if defined(CONFIG_APPLICATION_SENSOR_TVOC_TB600B_TVOC10) && !defined(CONFIG_NSH_DISABLE_TB600B_TVOC10)
extern void TvocTb600bTvoc10(void);
int cmd_Tvoc10(FAR struct nsh_vtbl_s *vtbl, int argc, char **argv)
{

View File

@ -580,7 +580,11 @@ static const struct cmdmap_s g_cmdmap[] =
{ "xd", cmd_xd, 3, 3, "<hex-address> <byte-count>" },
#endif
#if defined(CONFIG_APPLICATION_SENSOR_TVOC_TB600B_TVOC10) && !defined(CONFIG_NSH_DISABLE_TVOC_10)
#if defined(CONFIG_APPLICATION_SENSOR_HCHO_TB600B_WQ_HCHO1OS) && !defined(CONFIG_NSH_DISABLE_HCHO_TB600B_WQ_HCHO1OS)
{ "hcho1os", cmd_Hcho1os, 1, 1, "[get the concentration of formaldehyde with sensor tb600b_wq_hcho1os.]" },
#endif
#if defined(CONFIG_APPLICATION_SENSOR_TVOC_TB600B_TVOC10) && !defined(CONFIG_NSH_DISABLE_TB600B_TVOC10)
{ "tvoc10", cmd_Tvoc10, 1, 1, "[get the concentration of tvoc with sensor tb600b_tvoc10.]" },
#endif