forked from adafruit/Adafruit_Sensor
Update README.md
This commit is contained in:
18
README.md
18
README.md
@@ -12,7 +12,7 @@ The sensor abstraction layer is also useful for data-logging and data-transmissi
|
|||||||
|
|
||||||
## How Does it Work? ##
|
## How Does it Work? ##
|
||||||
|
|
||||||
There are two main typedefs and one enum defined in Adafruit_Sensor.h that must be used by any sensor driver that you want to be compliant with the abstraction layer:
|
Any driver the supports the Adafruit Sensor Abstraction Layer will implement the Adafruit\_Sensor base class. There are two main typedefs and one enum defined in Adafruit_Sensor.h that are used to 'abstract' away the sensor details and values:
|
||||||
|
|
||||||
**Sensor Types (sensors\_type\_t)**
|
**Sensor Types (sensors\_type\_t)**
|
||||||
|
|
||||||
@@ -111,6 +111,20 @@ It includes the following fields:
|
|||||||
- **timestamp**: time in milliseconds when the sensor value was read
|
- **timestamp**: time in milliseconds when the sensor value was read
|
||||||
- **data[4]**: An array of four 32-bit values that allows us to encapsulate any type of sensor data via a simple union (further described below)
|
- **data[4]**: An array of four 32-bit values that allows us to encapsulate any type of sensor data via a simple union (further described below)
|
||||||
|
|
||||||
|
**Required Functions**
|
||||||
|
|
||||||
|
In addition to the two standard types and the sensor type enum, all drivers based on Adafruit_Sensor must also implement the following two functions:
|
||||||
|
|
||||||
|
```
|
||||||
|
void getEvent(sensors\_event\_t*);
|
||||||
|
```
|
||||||
|
Calling this function will populated the supplied sensors\_event\_t reference with the latest available sensor data. You should call this function as often as you want to update your data.
|
||||||
|
|
||||||
|
```
|
||||||
|
void getSensor(sensor_t*);
|
||||||
|
```
|
||||||
|
Calling this function will provide some basic information about the sensor (the sensor name, driver version, min and max values, etc.
|
||||||
|
|
||||||
**Standardised SI values for sensors\_event\_t**
|
**Standardised SI values for sensors\_event\_t**
|
||||||
|
|
||||||
A key part of the abstraction layer is the standardisation of values on SI units of a particular scale, which is accomplished via the data[4] union in sensors\_event\_t above. This 16 byte union includes fields for each main sensor type, and uses the following SI units and scales:
|
A key part of the abstraction layer is the standardisation of values on SI units of a particular scale, which is accomplished via the data[4] union in sensors\_event\_t above. This 16 byte union includes fields for each main sensor type, and uses the following SI units and scales:
|
||||||
@@ -174,4 +188,4 @@ Serial.print ("Min Value: "); Serial.print(sensor.min\_value); Serial.printl
|
|||||||
Serial.print ("Resolution: "); Serial.print(sensor.resolution); Serial.println(" lux");
|
Serial.print ("Resolution: "); Serial.print(sensor.resolution); Serial.println(" lux");
|
||||||
Serial.println("------------------------------------");
|
Serial.println("------------------------------------");
|
||||||
Serial.println("");
|
Serial.println("");
|
||||||
```
|
```
|
||||||
|
Reference in New Issue
Block a user