Difference between revisions of "MCU/SensorBox"

From ESS-WIKI
Jump to: navigation, search
Line 19: Line 19:
 
| align="center" | '''Description'''
 
| align="center" | '''Description'''
 
|-
 
|-
| style="border:0.5pt solid #00000a;padding-top:0cm;padding-bottom:0cm;padding-left:0.199cm;padding-right:0.191cm;" | sensor_api/
+
| style="border:0.5pt solid #00000a;padding-top:0cm;padding-bottom:0cm;padding-left:0.199cm;padding-right:0.191cm;" | sensor_api
 
| style="border:0.5pt solid #00000a;padding-top:0cm;padding-bottom:0cm;padding-left:0.199cm;padding-right:0.191cm;" | The source code of API of Sensor Box.
 
| style="border:0.5pt solid #00000a;padding-top:0cm;padding-bottom:0cm;padding-left:0.199cm;padding-right:0.191cm;" | The source code of API of Sensor Box.
 
|-
 
|-
| style="border:0.5pt solid #00000a;padding-top:0cm;padding-bottom:0cm;padding-left:0.199cm;padding-right:0.191cm;" | sensor_driver/
+
| style="border:0.5pt solid #00000a;padding-top:0cm;padding-bottom:0cm;padding-left:0.199cm;padding-right:0.191cm;" | sensor_driver
 
| style="border:0.5pt solid #00000a;padding-top:0cm;padding-bottom:0cm;padding-left:0.199cm;padding-right:0.191cm;" | The source code of sensor driver.
 
| style="border:0.5pt solid #00000a;padding-top:0cm;padding-bottom:0cm;padding-left:0.199cm;padding-right:0.191cm;" | The source code of sensor driver.
 
|-
 
|-
Line 31: Line 31:
 
= Sensor list =
 
= Sensor list =
 
<div style="margin-left:0.75cm;margin-right:0cm;">
 
<div style="margin-left:0.75cm;margin-right:0cm;">
Content.
+
Currently, these sensors are ported into sensor box as default.
 +
 
 +
* HDC1080 - Digital Temperature/Humidity Sensor
 +
:{| style="border-spacing:0;width:10cm;"
 +
|- style="background-color:#c6d9f1;border:0.5pt solid #00000a;padding-top:0cm;padding-bottom:0cm;padding-left:0.199cm;padding-right:0.191cm;"
 +
| width="100px" ; align="center" | '''Item'''
 +
| align="center" | '''Description'''
 +
|-
 +
| style="border:0.5pt solid #00000a;padding-top:0cm;padding-bottom:0cm;padding-left:0.199cm;padding-right:0.191cm;" | Vendor
 +
| style="border:0.5pt solid #00000a;padding-top:0cm;padding-bottom:0cm;padding-left:0.199cm;padding-right:0.191cm;" | Texas Instruments
 +
|-
 +
| style="border:0.5pt solid #00000a;padding-top:0cm;padding-bottom:0cm;padding-left:0.199cm;padding-right:0.191cm;" | Interface
 +
| style="border:0.5pt solid #00000a;padding-top:0cm;padding-bottom:0cm;padding-left:0.199cm;padding-right:0.191cm;" | I2C
 +
|-
 +
| style="border:0.5pt solid #00000a;padding-top:0cm;padding-bottom:0cm;padding-left:0.199cm;padding-right:0.191cm;" | Pin-defined
 +
| style="border:0.5pt solid #00000a;padding-top:0cm;padding-bottom:0cm;padding-left:0.199cm;padding-right:0.191cm;" | Check
 +
|}<br/>
 +
 
 +
* DS18B20 - 1-Wire Digital Thermometer
 +
:{| style="border-spacing:0;width:10cm;"
 +
|- style="background-color:#c6d9f1;border:0.5pt solid #00000a;padding-top:0cm;padding-bottom:0cm;padding-left:0.199cm;padding-right:0.191cm;"
 +
| width="100px" ; align="center" | '''Item'''
 +
| align="center" | '''Description'''
 +
|-
 +
| style="border:0.5pt solid #00000a;padding-top:0cm;padding-bottom:0cm;padding-left:0.199cm;padding-right:0.191cm;" | Vendor
 +
| style="border:0.5pt solid #00000a;padding-top:0cm;padding-bottom:0cm;padding-left:0.199cm;padding-right:0.191cm;" | Maxim
 +
|-
 +
| style="border:0.5pt solid #00000a;padding-top:0cm;padding-bottom:0cm;padding-left:0.199cm;padding-right:0.191cm;" | Interface
 +
| style="border:0.5pt solid #00000a;padding-top:0cm;padding-bottom:0cm;padding-left:0.199cm;padding-right:0.191cm;" | GPIO
 +
|-
 +
| style="border:0.5pt solid #00000a;padding-top:0cm;padding-bottom:0cm;padding-left:0.199cm;padding-right:0.191cm;" | Pin-defined
 +
| style="border:0.5pt solid #00000a;padding-top:0cm;padding-bottom:0cm;padding-left:0.199cm;padding-right:0.191cm;" | Check
 +
|}<br/>
 +
 
 +
 
 +
* VL53L0X - Time-of-Flight ranging sensor
 +
:{| style="border-spacing:0;width:10cm;"
 +
|- style="background-color:#c6d9f1;border:0.5pt solid #00000a;padding-top:0cm;padding-bottom:0cm;padding-left:0.199cm;padding-right:0.191cm;"
 +
| width="100px" ; align="center" | '''Item'''
 +
| align="center" | '''Description'''
 +
|-
 +
| style="border:0.5pt solid #00000a;padding-top:0cm;padding-bottom:0cm;padding-left:0.199cm;padding-right:0.191cm;" | Vendor
 +
| style="border:0.5pt solid #00000a;padding-top:0cm;padding-bottom:0cm;padding-left:0.199cm;padding-right:0.191cm;" | STMicroelectronics
 +
|-
 +
| style="border:0.5pt solid #00000a;padding-top:0cm;padding-bottom:0cm;padding-left:0.199cm;padding-right:0.191cm;" | Interface
 +
| style="border:0.5pt solid #00000a;padding-top:0cm;padding-bottom:0cm;padding-left:0.199cm;padding-right:0.191cm;" | I2C
 +
|-
 +
| style="border:0.5pt solid #00000a;padding-top:0cm;padding-bottom:0cm;padding-left:0.199cm;padding-right:0.191cm;" | Pin-defined
 +
| style="border:0.5pt solid #00000a;padding-top:0cm;padding-bottom:0cm;padding-left:0.199cm;padding-right:0.191cm;" | Check
 +
|}<br/>
 +
 
 +
* HPMA215S0-XXX - Particle Sensor
 +
:{| style="border-spacing:0;width:10cm;"
 +
|- style="background-color:#c6d9f1;border:0.5pt solid #00000a;padding-top:0cm;padding-bottom:0cm;padding-left:0.199cm;padding-right:0.191cm;"
 +
| width="100px" ; align="center" | '''Item'''
 +
| align="center" | '''Description'''
 +
|-
 +
| style="border:0.5pt solid #00000a;padding-top:0cm;padding-bottom:0cm;padding-left:0.199cm;padding-right:0.191cm;" | Vendor
 +
| style="border:0.5pt solid #00000a;padding-top:0cm;padding-bottom:0cm;padding-left:0.199cm;padding-right:0.191cm;" | Honeywell
 +
|-
 +
| style="border:0.5pt solid #00000a;padding-top:0cm;padding-bottom:0cm;padding-left:0.199cm;padding-right:0.191cm;" | Interface
 +
| style="border:0.5pt solid #00000a;padding-top:0cm;padding-bottom:0cm;padding-left:0.199cm;padding-right:0.191cm;" | I2C
 +
|-
 +
| style="border:0.5pt solid #00000a;padding-top:0cm;padding-bottom:0cm;padding-left:0.199cm;padding-right:0.191cm;" | Pin-defined
 +
| style="border:0.5pt solid #00000a;padding-top:0cm;padding-bottom:0cm;padding-left:0.199cm;padding-right:0.191cm;" | Check
 +
|}<br/>
 +
 
 
</div>
 
</div>
 +
<br/>
  
 
= API =
 
= API =
 
<div style="margin-left:0.75cm;margin-right:0cm;">
 
<div style="margin-left:0.75cm;margin-right:0cm;">
 
Content.
 
Content.
 +
 +
<pre style="width:80%; border:1px solid lightgrey; color:blue; ">
 +
int SBox_iInit(void);
 +
</pre>
 +
*Brief
 +
:Initialize sensor box
 +
*Parameters
 +
:None
 +
*Return
 +
:On success, eSErr_None is returned.
 +
:On error, other is returned.
 +
<br/>
 +
 +
<pre style="width:80%; border:1px solid lightgrey; color:blue; ">
 +
int SBox_iUnInit(void);
 +
</pre>
 +
*Brief
 +
:Uninitialize sensor box
 +
*Parameters
 +
:None
 +
*Return
 +
:On success, eSErr_None is returned.
 +
:On error, other is returned.
 +
<br/>
 +
 +
<pre style="width:80%; border:1px solid lightgrey; color:blue; ">
 +
int SBox_iGetAllData(TSBDataFmt *_ptDataSet);
 +
</pre>
 +
*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.
 +
<br/>
 +
 +
 +
<syntaxhighlight lang="C" style="border:1px solid lightgrey; ">
 +
int SBox_iGetData(int _iModelName, TSBDataFmt *_ptData);
 +
</syntaxhighlight>
 +
 +
 +
<pre style="width:80%; border:1px solid lightgrey; color:blue; ">
 +
int SBox_iGetData(int _iModelName, TSBDataFmt *_ptData);
 +
</pre>
 +
*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.
 +
<br/>
 +
 +
 
</div>
 
</div>
  

Revision as of 10:53, 20 August 2019

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);


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.