MCU/SensorBox

From ESS-WIKI
Revision as of 06:47, 22 August 2019 by Will.chen (talk | contribs)
Jump to: navigation, search

Introduction

Sensor Box has general interface to collect sensor data and it benefits the user easy to use.

Architecture

Content.

Source tree

Content.

Directory Description
sensor_api The source code of API of Sensor Box.
sensor_driver The source code of sensor driver.
sensor_lib_cfg.sh The script used to configure which sensor we enable/disable.

Sensor list

Currently, these sensors are ported into sensor box as default.

  • HDC1080 - Digital Temperature/Humidity Sensor
Item Description
Vendor Texas Instruments
Interface I2C
Pin-defined Check

  • DS18B20 - 1-Wire Digital Thermometer
Item Description
Vendor Maxim
Interface GPIO
Pin-defined Check


  • VL53L0X - Time-of-Flight ranging sensor
Item Description
Vendor STMicroelectronics
Interface I2C
Pin-defined Check

  • HPMA215S0-XXX - Particle Sensor
Item Description
Vendor Honeywell
Interface I2C
Pin-defined Check


API

Content.

int SBox_iInit(void);
  • Brief
Initialize sensor box
  • Parameters
None
  • Return
On success, eSErr_None is returned.
On error, other is returned.


int SBox_iUnInit(void);
  • Brief
Uninitialize sensor box
  • Parameters
None
  • Return
On success, eSErr_None is returned.
On error, other is returned.


int SBox_iGetAllData(TSBDataFmt *_ptDataSet);
  • Brief
Update all sensors and get all data of sensors
  • Parameters
_ptDataSet: the pointer to data buffer that is used to get sensor data back.
  • Return
On success, eSErr_None is returned.
On error, other is returned.


int SBox_iGetData(int _iModelName, TSBDataFmt *_ptData);
  • Brief
Update only one sensor and get data
  • Parameters
_iModelName: the index of model name to specify which sensor will be updated.
_ptData: the pointer to data that is used to get sensor data back.
  • Return
On success, eSErr_None is returned.
On error, other is returned.



Get sensor box

Content.

Example

Content.

How to porting new sensor into sensor box

Content.

Add new configuration with the model name and sensor data

How to porting new sensor into sensor box

When the user intends to add new sensor into sensor box, the user needs to find the configuration file "sensor_box.cfg" located at the folder "sensor_api/", then opens it and follows the below for how to do.

Add new configuration with the model name and sensor data

  • For the model name:
Please based on naming rule of macro "SN_MN" + "DRIVER_FOLDER" define the model name.
  1. "SB_MN_" is fixed string as prefix.
  2. "DRIVER_FOLDER" is the directory of specified sensor driver and it's located at the directory of sensor driver.
For example as below:
#define SB_MN_HDC1080               Hdc1080
#define SB_MN_DS18B20               Ds18b20
  • For the sensor data:
Please define the macro "SB_" + "DRIVER_FOLDER" + "_DATA" + N + "_NAME".
  1. "SB_" is fixed string as prefix.
  2. "DRIVER_FOLDER" is the directory of specified sensor driver and it's located at the directory of sensor driver.
  3. "_DATA" is fixed string.
  4. N is the serial number of this sensor.
  5. "_NAME" is fixed string as postfix.

Content.

Add new HAL instance

Content.

Add new sensor driver

Content.

Retrieved from "https://ess-wiki.advantech.com.tw/wiki/index.php?title=MCU/SensorBox&oldid=17365"