|
| | ICM20948Sensor () |
| | Construct a new ICM20948Sensor object with default minimum_period of 0.
|
| |
| | ICM20948Sensor (unsigned long minimum_period) |
| | Construct a new ICM20948Sensor object, given mininum_period between sensor reads.
|
| |
| bool | verify () override |
| | Verifies that the ICM is connected and working.
|
| |
| String | readData () override |
| | Retrieves data from ICM 9-axis IMU.
|
| |
| void | readDataPacket (uint8_t *&packet) override |
| | Append the ICM sensor data to the packet buffer as raw bytes. The data appended is: accel.x, accel.y, accel.z, gyro.x, gyro.y, gyro.z, mag.x, mag.y, mag.z, and temperature.
|
| |
| String | decodeToCSV (uint8_t *&packet) override |
| | Decodes the ICM sensor data from the packet buffer into a CSV string. Reads the data in the same order as it was appended and increments the packet pointer.
|
| |
| | Sensor (String sensor_name, String csv_header, unsigned long minimum_period) |
| |
| | Sensor (String sensor_name, String csv_header) |
| |
| | Sensor (String sensor_name, String csv_header, int fields) |
| | Construct a new Sensor object with default minimum_period of 0 (depreciated)
|
| |
| | Sensor (String sensor_name, String csv_header, int fields, unsigned long minimum_period) |
| | Construct a new Sensor object (Depreciated)
|
| |
| unsigned long | getPeriod () const |
| | Get the minimum minimum_period between sensor reads in ms.
|
| |
| void | setPeriod (int minimum_period) |
| | Set the minimum minimum_period between sensor reads in ms.
|
| |
| unsigned long | getLastExecution () const |
| | Get the system time of the last execution in ms.
|
| |
| void | setLastExecution (int last_execution) |
| | Set the system time of the last execution in ms.
|
| |
| const String & | getSensorCSVHeader () const |
| | Get the csv header string associated with this sensor.
|
| |
| void | getDataPacket (uint32_t &sensor_id, uint8_t *&packet) |
| | Append the data from a sensor to the packet if the minium period is satisfied.
|
| |
| String | readEmpty () const |
| | Returns CSV line in the same format as readData() but with "-" instead of data.
|
| |
| String | getDataCSV () |
| | Uses readData and readEmpty to get the data-filled or empty-celled CSV line for the sensor.
|
| |
| | Device (String device_name) |
| | Default constructor, sets a max_attempt of 1 (device recovery won't be attempted)
|
| |
| | Device (String device_name, int max_attempts, int wait_factor) |
| |
| const String & | getDeviceName () |
| |
| bool | getVerified () |
| | Get if the Device is Verified.
|
| |
| void | recoveryConfig (int max_attempts, int wait_factor) |
| | Set recovery config (used keep default constructor)
|
| |
| void | setWaitFactor (int wait_factor) |
| | Set wait_factor.
|
| |
| void | setMaxAttempts (int max_attempts) |
| | Set max_attempts.
|
| |
| bool | attemptConnection () |
| | If the sensor is verified, return true, if not and it has been long enough since the last attempt (decided by wait_factor and attempt_number), attempt to reverify (reinitialize) it.
|
| |
Implementation of the Sensor class for the Adafruit ICM20948 (9-axis IMU)
| void ICM20948Sensor::readDataPacket |
( |
uint8_t *& |
packet | ) |
|
|
overridevirtual |
Append the ICM sensor data to the packet buffer as raw bytes. The data appended is: accel.x, accel.y, accel.z, gyro.x, gyro.y, gyro.z, mag.x, mag.y, mag.z, and temperature.
- Parameters
-
| packet | Pointer to the packet byte array which is incremented after copying each value. |
The following is copying the values of the accelerometer(x,y,z), gyroscope(x,y,z), magnetometer(x,y,z), and temperature
Reimplemented from Sensor.