diff --git a/APP_Framework/Applications/sensor_app/co2_zg09.c b/APP_Framework/Applications/sensor_app/co2_zg09.c index 113fecff6..73e91a460 100644 --- a/APP_Framework/Applications/sensor_app/co2_zg09.c +++ b/APP_Framework/Applications/sensor_app/co2_zg09.c @@ -18,7 +18,9 @@ * @date 2021.04.23 */ -#include +#ifdef ADD_XIUOS_FETURES +# include +#endif #include /** diff --git a/APP_Framework/Framework/sensor/co2/Kconfig b/APP_Framework/Framework/sensor/co2/Kconfig index 5038baf1c..9a38e6b17 100644 --- a/APP_Framework/Framework/sensor/co2/Kconfig +++ b/APP_Framework/Framework/sensor/co2/Kconfig @@ -34,6 +34,11 @@ config SENSOR_ZG09 endif if ADD_NUTTX_FETURES + config SENSOR_DEVICE_ZG09_DEV + string "CO2 device name" + default "/dev/ttyS1" + ---help--- + If USART1 is selected, then fill in /dev/ttyS1 here. endif diff --git a/APP_Framework/Framework/sensor/co2/Make.defs b/APP_Framework/Framework/sensor/co2/Make.defs new file mode 100644 index 000000000..23a58951a --- /dev/null +++ b/APP_Framework/Framework/sensor/co2/Make.defs @@ -0,0 +1,4 @@ +############################################################################ +# APP_Framework/Framework/sensor/co2/Make.defs +############################################################################ +include $(wildcard $(APPDIR)/../../../APP_Framework/Framework/sensor/co2/*/Make.defs) diff --git a/APP_Framework/Framework/sensor/co2/zg09/Make.defs b/APP_Framework/Framework/sensor/co2/zg09/Make.defs new file mode 100644 index 000000000..d3e2c2c34 --- /dev/null +++ b/APP_Framework/Framework/sensor/co2/zg09/Make.defs @@ -0,0 +1,6 @@ +############################################################################ +# APP_Framework/Framework/sensor/co2/zg09/Make.defs +############################################################################ +ifneq ($(CONFIG_SENSOR_ZG09),) +CONFIGURED_APPS += $(APPDIR)/../../../APP_Framework/Framework/sensor/co2/zg09 +endif diff --git a/APP_Framework/Framework/sensor/co2/zg09/Makefile b/APP_Framework/Framework/sensor/co2/zg09/Makefile index 82ac489be..56b2dff34 100644 --- a/APP_Framework/Framework/sensor/co2/zg09/Makefile +++ b/APP_Framework/Framework/sensor/co2/zg09/Makefile @@ -1,3 +1,13 @@ -SRC_FILES := zg09.c +include $(KERNEL_ROOT)/.config + +ifeq ($(CONFIG_ADD_NUTTX_FETURES),y) + include $(APPDIR)/Make.defs + CSRCS += zg09.c + include $(APPDIR)/Application.mk +endif + +ifeq ($(CONFIG_ADD_XIUOS_FETURES),y) + SRC_FILES := zg09.c + include $(KERNEL_ROOT)/compiler.mk +endif -include $(KERNEL_ROOT)/compiler.mk diff --git a/APP_Framework/Framework/sensor/co2/zg09/zg09.c b/APP_Framework/Framework/sensor/co2/zg09/zg09.c index d4d626d79..d18f96f92 100644 --- a/APP_Framework/Framework/sensor/co2/zg09/zg09.c +++ b/APP_Framework/Framework/sensor/co2/zg09/zg09.c @@ -38,6 +38,25 @@ static struct SensorProductInfo info = * @param sdev - sensor device pointer * @return success: 1 , failure: other */ +#ifdef ADD_NUTTX_FETURES +static int SensorDeviceOpen(struct SensorDevice *sdev) +{ + int result = 0; + + sdev->fd = PrivOpen(SENSOR_DEVICE_ZG09_DEV, O_RDWR); + if (sdev->fd < 0) { + printf("open %s error\n", SENSOR_DEVICE_ZG09_DEV); + return -1; + } + + result = sdev->done->ioctl(sdev, SENSOR_DEVICE_PASSIVE); + if (result != 0){ + printf("SensorDeviceOpen:ioctl failed, status=%d\n", result); + } + + return result; +} +#else static int SensorDeviceOpen(struct SensorDevice *sdev) { int result = 0; @@ -70,6 +89,7 @@ static int SensorDeviceOpen(struct SensorDevice *sdev) return result; } +#endif /** * @description: Read sensor device diff --git a/APP_Framework/Framework/sensor/voice/Kconfig b/APP_Framework/Framework/sensor/voice/Kconfig index 8726a407f..4e21c97d9 100644 --- a/APP_Framework/Framework/sensor/voice/Kconfig +++ b/APP_Framework/Framework/sensor/voice/Kconfig @@ -34,6 +34,11 @@ config SENSOR_D124 endif if ADD_NUTTX_FETURES + config SENSOR_DEVICE_D124_DEV + string "D124 device name" + default "/dev/ttyS1" + ---help--- + If USART1 is selected, then fill in /dev/ttyS1 here. endif diff --git a/APP_Framework/Framework/sensor/voice/Make.defs b/APP_Framework/Framework/sensor/voice/Make.defs new file mode 100644 index 000000000..754a962ff --- /dev/null +++ b/APP_Framework/Framework/sensor/voice/Make.defs @@ -0,0 +1,4 @@ +############################################################################ +# APP_Framework/Framework/sensor/voice/Make.defs +############################################################################ +include $(wildcard $(APPDIR)/../../../APP_Framework/Framework/sensor/voice/*/Make.defs) diff --git a/APP_Framework/Framework/sensor/voice/d124/Make.defs b/APP_Framework/Framework/sensor/voice/d124/Make.defs new file mode 100644 index 000000000..5c0308fdd --- /dev/null +++ b/APP_Framework/Framework/sensor/voice/d124/Make.defs @@ -0,0 +1,6 @@ +############################################################################ +# APP_Framework/Framework/sensor/voice/d124/Make.defs +############################################################################ +ifneq ($(CONFIG_SENSOR_D124),) +CONFIGURED_APPS += $(APPDIR)/../../../APP_Framework/Framework/sensor/voice/d124 +endif diff --git a/APP_Framework/Framework/sensor/voice/d124/Makefile b/APP_Framework/Framework/sensor/voice/d124/Makefile index 557d0018b..8e6e67c0c 100644 --- a/APP_Framework/Framework/sensor/voice/d124/Makefile +++ b/APP_Framework/Framework/sensor/voice/d124/Makefile @@ -1,3 +1,12 @@ -SRC_FILES := d124.c +include $(KERNEL_ROOT)/.config -include $(KERNEL_ROOT)/compiler.mk +ifeq ($(CONFIG_ADD_NUTTX_FETURES),y) + include $(APPDIR)/Make.defs + CSRCS += d124.c + include $(APPDIR)/Application.mk +endif + +ifeq ($(CONFIG_ADD_XIUOS_FETURES),y) + SRC_FILES := d124.c + include $(KERNEL_ROOT)/compiler.mk +endif diff --git a/APP_Framework/Framework/sensor/voice/d124/d124.c b/APP_Framework/Framework/sensor/voice/d124/d124.c index 5691bafbd..e066edf91 100644 --- a/APP_Framework/Framework/sensor/voice/d124/d124.c +++ b/APP_Framework/Framework/sensor/voice/d124/d124.c @@ -51,6 +51,35 @@ static void *ReadTask(void *parameter) * @param sdev - sensor device pointer * @return success: 1 , failure: other */ +#ifdef ADD_NUTTX_FETURES +static int SensorDeviceOpen(struct SensorDevice *sdev) +{ + int result = 0; + pthread_attr_t attr = PTHREAD_ATTR_INITIALIZER; + + result = PrivMutexCreate(&buff_lock, NULL); + if (result != 0){ + printf("SensorDeviceOpen:mutex create failed, status=%d\n", result); + } + + sdev->fd = PrivOpen(SENSOR_DEVICE_D124_DEV, O_RDWR); + if (sdev->fd < 0) { + printf("SensorDeviceOpen:open %s error\n", SENSOR_DEVICE_D124_DEV); + return -1; + } + + attr.priority = 20; + attr.stacksize = 2048; + + result = PrivTaskCreate(&active_task_id, &attr, &ReadTask, sdev); + if (result != 0){ + printf("SensorDeviceOpen:task create failed, status=%d\n", result); + } + PrivTaskStartup(&active_task_id); + + return result; +} +#else static int SensorDeviceOpen(struct SensorDevice *sdev) { int result = 0; @@ -90,6 +119,7 @@ static int SensorDeviceOpen(struct SensorDevice *sdev) return result; } +#endif /** * @description: Close D124 sensor device diff --git a/APP_Framework/Framework/transform_layer/nuttx/transform.h b/APP_Framework/Framework/transform_layer/nuttx/transform.h index f50dd4075..7f21e332a 100644 --- a/APP_Framework/Framework/transform_layer/nuttx/transform.h +++ b/APP_Framework/Framework/transform_layer/nuttx/transform.h @@ -21,11 +21,11 @@ #ifndef TRANSFORM_H #define TRANSFORM_H -#include -#include +#include +#include +#include #include #include -#include typedef uint8_t uint8; typedef uint16_t uint16; diff --git a/Ubiquitous/Nuttx/app_match_nuttx/apps/nshlib/Kconfig b/Ubiquitous/Nuttx/app_match_nuttx/apps/nshlib/Kconfig index 80c5c5988..dc70aaeed 100644 --- a/Ubiquitous/Nuttx/app_match_nuttx/apps/nshlib/Kconfig +++ b/Ubiquitous/Nuttx/app_match_nuttx/apps/nshlib/Kconfig @@ -588,6 +588,10 @@ config NSH_DISABLE_XD default y if DEFAULT_SMALL default n if !DEFAULT_SMALL +config NSH_DISABLE_CO2ZG09 + bool "Disable the co2 function of the sensor zg09" + default n + config NSH_DISABLE_PM1_0PS5308 bool "Disable the pm1.0 function of the sensor ps5308" default n @@ -600,6 +604,10 @@ config NSH_DISABLE_PM10PS5308 bool "Disable the pm10 function of the sensor ps5308" default n +config NSH_DISABLE_VOICED124 + bool "Disable the voice function of the sensor d124" + default n + config NSH_DISABLE_TEMPHS300X bool "Disable the temperature function of the sensor Hs300x" default n diff --git a/Ubiquitous/Nuttx/app_match_nuttx/apps/nshlib/nsh.h b/Ubiquitous/Nuttx/app_match_nuttx/apps/nshlib/nsh.h index e8b63b79a..25cd1e0fe 100644 --- a/Ubiquitous/Nuttx/app_match_nuttx/apps/nshlib/nsh.h +++ b/Ubiquitous/Nuttx/app_match_nuttx/apps/nshlib/nsh.h @@ -1403,6 +1403,10 @@ int nsh_foreach_var(FAR struct nsh_vtbl_s *vtbl, nsh_foreach_var_t cb, FAR void *arg); #endif +#if defined(CONFIG_APPLICATION_SENSOR_CO2_ZG09) && !defined(CONFIG_NSH_DISABLE_CO2ZG09) + int cmd_Co2Zg09(FAR struct nsh_vtbl_s *vtbl, int argc, char **argv); +#endif + #if defined(CONFIG_APPLICATION_SENSOR_PM1_0_PS5308) && !defined(CONFIG_NSH_DISABLE_PM1_0PS5308) int cmd_Pm10Ps5308(FAR struct nsh_vtbl_s *vtbl, int argc, char **argv); #endif @@ -1415,6 +1419,10 @@ int nsh_foreach_var(FAR struct nsh_vtbl_s *vtbl, nsh_foreach_var_t cb, int cmd_Pm100Ps5308(FAR struct nsh_vtbl_s *vtbl, int argc, char **argv); #endif +#if defined(CONFIG_APPLICATION_SENSOR_VOICE_D124) && !defined(CONFIG_NSH_DISABLE_VOICED124) + int cmd_VoiceD124(FAR struct nsh_vtbl_s *vtbl, int argc, char **argv); +#endif + #if defined(CONFIG_APPLICATION_SENSOR_TEMPERATURE_HS300X) && !defined(CONFIG_NSH_DISABLE_TEMPHS300X) int cmd_TempHs300x(FAR struct nsh_vtbl_s *vtbl, int argc, char **argv); #endif diff --git a/Ubiquitous/Nuttx/app_match_nuttx/apps/nshlib/nsh_Applicationscmd.c b/Ubiquitous/Nuttx/app_match_nuttx/apps/nshlib/nsh_Applicationscmd.c index 79538c1c5..4fb5e7715 100644 --- a/Ubiquitous/Nuttx/app_match_nuttx/apps/nshlib/nsh_Applicationscmd.c +++ b/Ubiquitous/Nuttx/app_match_nuttx/apps/nshlib/nsh_Applicationscmd.c @@ -52,6 +52,21 @@ extern int FrameworkInit(void); +/**************************************************************************** + * Name: cmd_Co2Zg09 + ****************************************************************************/ + +#if defined(CONFIG_APPLICATION_SENSOR_CO2_ZG09) && !defined(CONFIG_NSH_DISABLE_CO2ZG09) +extern void Co2Zg09(void); +int cmd_Co2Zg09(FAR struct nsh_vtbl_s *vtbl, int argc, char **argv) +{ + printf("Hello, world!\n"); + FrameworkInit(); + Co2Zg09(); + return 0; +} +#endif + /**************************************************************************** * Name: cmd_Pm10Ps5308 ****************************************************************************/ @@ -97,6 +112,21 @@ int cmd_Pm100Ps5308(FAR struct nsh_vtbl_s *vtbl, int argc, char **argv) } #endif +/**************************************************************************** + * Name: cmd_VoiceD124 + ****************************************************************************/ + +#if defined(CONFIG_APPLICATION_SENSOR_VOICE_D124) && !defined(CONFIG_NSH_DISABLE_VOICED124) +extern void VoiceD124(void); +int cmd_VoiceD124(FAR struct nsh_vtbl_s *vtbl, int argc, char **argv) +{ + printf("Hello, world!\n"); + FrameworkInit(); + VoiceD124(); + return 0; +} +#endif + /**************************************************************************** * Name: cmd_TempHs300x ****************************************************************************/ diff --git a/Ubiquitous/Nuttx/app_match_nuttx/apps/nshlib/nsh_command.c b/Ubiquitous/Nuttx/app_match_nuttx/apps/nshlib/nsh_command.c index 6156a40c8..be53a52a0 100644 --- a/Ubiquitous/Nuttx/app_match_nuttx/apps/nshlib/nsh_command.c +++ b/Ubiquitous/Nuttx/app_match_nuttx/apps/nshlib/nsh_command.c @@ -580,24 +580,32 @@ static const struct cmdmap_s g_cmdmap[] = { "xd", cmd_xd, 3, 3, " " }, #endif +#if defined(CONFIG_APPLICATION_SENSOR_CO2_ZG09) && !defined(CONFIG_NSH_DISABLE_CO2ZG09) + { "zg09", cmd_Co2Zg09, 1, 1, "[get co2 concentration with sensor ZG09.]" }, +#endif + #if defined(CONFIG_APPLICATION_SENSOR_PM1_0_PS5308) && !defined(CONFIG_NSH_DISABLE_PM1_0PS5308) - { "pm1.0", cmd_Pm10Ps5308, 1, 1, "[get pm1.0 with sensor Ps5308]" }, + { "pm1.0", cmd_Pm10Ps5308, 1, 1, "[get pm1.0 with sensor Ps5308.]" }, #endif #if defined(CONFIG_APPLICATION_SENSOR_PM2_5_PS5308) && !defined(CONFIG_NSH_DISABLE_PM2_5PS5308) - { "pm2.5", cmd_Pm25Ps5308, 1, 1, "[get pm2.5with sensor Ps5308]" }, + { "pm2.5", cmd_Pm25Ps5308, 1, 1, "[get pm2.5with sensor Ps5308.]" }, #endif #if defined(CONFIG_APPLICATION_SENSOR_PM10_PS5308) && !defined(CONFIG_NSH_DISABLE_PM10PS5308) - { "pm10", cmd_Pm100Ps5308, 1, 1, "[get pm10 with sensor Ps5308]" }, + { "pm10", cmd_Pm100Ps5308, 1, 1, "[get pm10 with sensor Ps5308.]" }, +#endif + +#if defined(CONFIG_APPLICATION_SENSOR_VOICE_D124) && !defined(CONFIG_NSH_DISABLE_VOICED124) + { "d124", cmd_VoiceD124, 1, 1, "[get decibel of noise with sensor D124.]" }, #endif #if defined(CONFIG_APPLICATION_SENSOR_TEMPERATURE_HS300X) && !defined(CONFIG_NSH_DISABLE_TEMPHS300X) - { "temp", cmd_TempHs300x, 1, 1, "[Get humidity with sensor HS300x]" }, + { "temp", cmd_TempHs300x, 1, 1, "[get temperature with sensor HS300x.]" }, #endif #if defined(CONFIG_APPLICATION_SENSOR_HUMIDITY_HS300X) && !defined(CONFIG_NSH_DISABLE_HUMIHS300X) - { "humi", cmd_HumiHs300x, 1, 1, "[Get temperature with sensor HS300x]" }, + { "humi", cmd_HumiHs300x, 1, 1, "[get humidity with sensor HS300x.]" }, #endif { NULL, NULL, 1, 1, NULL }