forked from xuos/xiuos
				
			add g8s sensor support Nuttx on stm32f407-discovery
This commit is contained in:
		
							parent
							
								
									71f00ec06f
								
							
						
					
					
						commit
						21dce4f25e
					
				|  | @ -32,6 +32,7 @@ extern int Ps5308Pm1_0Init(void); | |||
| extern int Ps5308Pm2_5Init(void); | ||||
| extern int Ps5308Pm10Init(void); | ||||
| extern int Zg09Co2Init(void); | ||||
| extern int G8sCo2Init(void); | ||||
| extern int As830Ch4Init(void); | ||||
| extern int Tb600bIaq10IaqInit(void); | ||||
| extern int Tb600bTvoc10TvocInit(void); | ||||
|  | @ -106,6 +107,10 @@ static struct InitDesc sensor_desc[] = | |||
| 	{ "zg09_co2", Zg09Co2Init }, | ||||
| #endif | ||||
| 
 | ||||
| #ifdef SENSOR_G8S | ||||
| 	{ "g8s_co2", G8sCo2Init }, | ||||
| #endif | ||||
| 
 | ||||
| #ifdef SENSOR_QS_FX | ||||
| 	{ "qs_fx_wind_direction", QsFxWindDirectionInit }, | ||||
| #endif | ||||
|  |  | |||
|  | @ -23,6 +23,10 @@ ifeq ($(CONFIG_ADD_NUTTX_FETURES),y) | |||
|         CSRCS += co2_zg09.c | ||||
|     endif | ||||
| 
 | ||||
|     ifeq ($(CONFIG_APPLICATION_SENSOR_CO2_G8S), y) | ||||
|         CSRCS += co2_g8s.c | ||||
|     endif | ||||
| 
 | ||||
|     ifeq ($(CONFIG_APPLICATION_SENSOR_PM1_0_PS5308), y) | ||||
|         CSRCS += pm1_0_ps5308.c | ||||
|     endif | ||||
|  |  | |||
|  | @ -17,8 +17,10 @@ | |||
|  * @author AIIT XUOS Lab | ||||
|  * @date 2021.12.23 | ||||
|  */ | ||||
| 
 | ||||
| //
 | ||||
| #ifdef ADD_XIZI_FETURES | ||||
| # include <user_api.h> | ||||
| #endif | ||||
| #include <sensor.h> | ||||
| 
 | ||||
| /**
 | ||||
|  |  | |||
|  | @ -64,6 +64,7 @@ config SENSOR_ZG09 | |||
|                 endif                 | ||||
|         endif | ||||
| 
 | ||||
| 
 | ||||
| config SENSOR_G8S | ||||
|         bool "Using g8-s" | ||||
|         default n | ||||
|  | @ -99,10 +100,31 @@ config SENSOR_G8S | |||
|                 endif | ||||
| 
 | ||||
|                 if ADD_NUTTX_FETURES | ||||
| 
 | ||||
|                        config SENSOR_DEVICE_G8S_DEV | ||||
|                                string "CO2 device name" | ||||
|                                default "/dev/ttyS1" | ||||
|                                ---help--- | ||||
|                                    If USART1 is selected, then fill in /dev/ttyS1 here. | ||||
|                 endif | ||||
| 
 | ||||
|                 if ADD_RTTHREAD_FETURES | ||||
|                         config SENSOR_G8S_DRIVER_EXTUART | ||||
|                                 bool "Using extra uart to support g8-s" | ||||
|                                 default y | ||||
| 
 | ||||
|                         config SENSOR_DEVICE_G8S_DEV | ||||
|                                 string "g8-s device uart path" | ||||
|                                 default "/dev/uart2_dev2" | ||||
|                                 depends on !SENSOR_G8S_DRIVER_EXTUART | ||||
| 
 | ||||
|                         if SENSOR_G8S_DRIVER_EXTUART | ||||
|                                 config SENSOR_DEVICE_G8S_DEV | ||||
|                                         string "g8-s device extra uart path" | ||||
|                                         default "/dev/extuart_dev4" | ||||
| 
 | ||||
|                                 config SENSOR_DEVICE_G8S_DEV_EXT_PORT | ||||
|                                         int "if G8S device using extuart, choose port" | ||||
|                                         default "4" | ||||
|                         endif | ||||
|                 endif                 | ||||
|         endif | ||||
|  |  | |||
|  | @ -1,3 +1,13 @@ | |||
| SRC_FILES := g8s.c | ||||
| include $(KERNEL_ROOT)/.config | ||||
| 
 | ||||
| ifeq ($(CONFIG_ADD_NUTTX_FETURES),y) | ||||
|     include $(APPDIR)/Make.defs | ||||
|     CSRCS += g8s.c | ||||
|     include $(APPDIR)/Application.mk | ||||
| endif | ||||
| 
 | ||||
| ifeq ($(CONFIG_ADD_XIZI_FETURES),y) | ||||
|     SRC_FILES := g8s.c | ||||
|     include $(KERNEL_ROOT)/compiler.mk | ||||
| endif | ||||
| 
 | ||||
|  |  | |||
|  | @ -37,6 +37,7 @@ 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; | ||||
|  | @ -47,6 +48,26 @@ static int SensorDeviceOpen(struct SensorDevice *sdev) | |||
|         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; | ||||
| 
 | ||||
|     sdev->fd = PrivOpen(SENSOR_DEVICE_G8S_DEV, O_RDWR); | ||||
|     if (sdev->fd < 0) { | ||||
|         printf("open %s error\n", SENSOR_DEVICE_G8S_DEV); | ||||
|         return -1; | ||||
|     }     | ||||
| 
 | ||||
| 
 | ||||
|     struct SerialDataCfg cfg; | ||||
|     cfg.serial_baud_rate    = BAUD_RATE_9600; | ||||
|     cfg.serial_data_bits    = DATA_BITS_8; | ||||
|  | @ -67,7 +88,7 @@ static int SensorDeviceOpen(struct SensorDevice *sdev) | |||
| 
 | ||||
|     return result; | ||||
| } | ||||
| 
 | ||||
| #endif | ||||
| /**
 | ||||
|  * @description: Read sensor device | ||||
|  * @param sdev - sensor device pointer | ||||
|  |  | |||
|  | @ -571,6 +571,10 @@ config NSH_DISABLE_CO2ZG09 | |||
| 	bool "Disable the sensor zg09." | ||||
| 	default n | ||||
| 
 | ||||
| config NSH_DISABLE_CO2G8S | ||||
| 	bool "Disable the sensor g8-s." | ||||
| 	default n | ||||
| 
 | ||||
| config NSH_DISABLE_PM1_0PS5308 | ||||
| 	bool "Disable the pm1.0 function of the sensor ps5308." | ||||
| 	default n | ||||
|  |  | |||
|  | @ -1474,6 +1474,10 @@ int nsh_foreach_var(FAR struct nsh_vtbl_s *vtbl, nsh_foreach_var_t cb, | |||
|   int cmd_Co2Zg09(FAR struct nsh_vtbl_s *vtbl, int argc, char **argv); | ||||
| #endif | ||||
| 
 | ||||
| #if defined(CONFIG_APPLICATION_SENSOR_CO2_G8S) && !defined(CONFIG_NSH_DISABLE_CO2G8S) | ||||
|   int cmd_Co2G8S(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 | ||||
|  |  | |||
|  | @ -125,6 +125,21 @@ int cmd_Co2Zg09(FAR struct nsh_vtbl_s *vtbl, int argc, char **argv) | |||
| } | ||||
| #endif | ||||
| 
 | ||||
| /****************************************************************************
 | ||||
|  * Name: cmd_Co2g8s | ||||
|  ****************************************************************************/ | ||||
| 
 | ||||
| #if defined(CONFIG_APPLICATION_SENSOR_CO2_G8S) && !defined(CONFIG_NSH_DISABLE_CO2G8S) | ||||
| extern void Co2G8s(void); | ||||
| int cmd_Co2G8S(FAR struct nsh_vtbl_s *vtbl, int argc, char **argv) | ||||
| { | ||||
|     nsh_output(vtbl, "Hello, world!\n"); | ||||
|     FrameworkInit(); | ||||
|     Co2G8s(); | ||||
|     return OK; | ||||
| } | ||||
| #endif | ||||
| 
 | ||||
| /****************************************************************************
 | ||||
|  * Name: cmd_Pm10Ps5308 | ||||
|  ****************************************************************************/ | ||||
|  |  | |||
|  | @ -620,6 +620,10 @@ static const struct cmdmap_s g_cmdmap[] = | |||
|   { "zg09",       cmd_Co2Zg09,       1, 1, "[get the concentration of co2  with sensor ZG09.]" }, | ||||
| #endif | ||||
| 
 | ||||
| #if defined(CONFIG_APPLICATION_SENSOR_CO2_G8S) && !defined(CONFIG_NSH_DISABLE_CO2G8S) | ||||
|   { "g8s",       cmd_Co2G8S,       1, 1, "[get the concentration of co2  with sensor G8S.]" }, | ||||
| #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.]" }, | ||||
| #endif | ||||
|  |  | |||
		Loading…
	
		Reference in New Issue