| .. _ArgonKey_Sensors: |
| |
| ArgonKey Board Sensors |
| ###################### |
| |
| Overview |
| ******** |
| This sample provides an example of how to read sensor data |
| from the ArgonKey board. The result is displayed on the console. |
| It makes use of both the trigger and poll methods. |
| |
| Requirements |
| ************ |
| |
| This sample just requires the ArgonKey board. The board can be powered |
| in either one of the following two ways: |
| |
| - mezzanine mode, plugging the ArgonKey to HiKey board thru its 96Board |
| low-speed connector |
| - standalone mode, supplying 5V directly on P1 connector |
| |
| The user may select or unselect the sensors from |
| :zephyr_file:`samples/boards/96b_argonkey/sensors/prj.conf`. |
| |
| Please note that all sensor related code is conditionally compiled |
| using the ``#ifdef`` directive, so this sample is supposed to always |
| build correctly. Example: |
| |
| .. code-block:: c |
| |
| #ifdef CONFIG_HTS221 |
| struct device *hum_dev = device_get_binding("HTS221"); |
| |
| if (!hum_dev) { |
| printk("Could not get pointer to %s sensor\n", "HTS221"); |
| return; |
| } |
| #endif |
| |
| References |
| ********** |
| |
| - :ref:`96b_argonkey` |
| |
| Building and Running |
| ******************** |
| |
| .. zephyr-app-commands:: |
| :zephyr-app: samples/boards/96b_argonkey/sensors |
| :host-os: unix |
| :board: 96b_argonkey |
| :goals: run |
| :compact: |
| |
| Sample Output |
| ============= |
| |
| A USB to TTL 1V8 serial cable may be attached to the low speed connector on |
| the back of the board on P3.5 (TX) and P3.7 (RX). User may use a simple |
| terminal emulator, such as minicom, to capture the output. |
| |
| .. code-block:: console |
| |
| proxy: 1 ; |
| distance: 0 m -- 09 cm; |
| temp: 30.35 C; press: 97.466259 |
| humidity: 43.500000 |
| accel (0.004000 -0.540000 9.757000) m/s2 |
| gyro (0.065000 -0.029000 -0.001000) dps |
| magn (0.049500 0.208500 -0.544500) gauss |
| - (6) (trig_cnt: 1878) |
| |
| <repeats endlessly every 2s> |
| |
| In this example the output is generated polling the sensor every 2 seconds. |
| |
| Sensor data is printed in the following order (no data is printed for |
| sensors that are not enabled): |
| |
| #. *VL53L0x* proximity |
| #. *LPS22HB* baro/temp |
| #. *HTS221* humidity |
| #. *LSM6DSL* accel |
| #. *LSM6DSL* gyro |
| #. *LIS2MDL* magnetometer (attached to *LSM6DSL*) |
| |
| The proximity sensor displays two lines: |
| |
| - a flag (proxy) that goes on when the distance is below 10cm |
| - the absolute distance from the obstacle |
| |
| The last line displays a counter of how many trigger interrupts |
| has been received. It is possible to display the sensor data |
| read for each trigger by enabling the **ARGONKEY_TEST_LOG** macro. |