Important changes to repositories hosted on mbed.com
Mbed hosted mercurial repositories are deprecated and are due to be permanently deleted in July 2026.
To keep a copy of this software download the repository Zip archive or clone locally using Mercurial.
It is also possible to export all your personal repositories from the account settings page.
Fork of ADISense1000_Example_FW by
doc/examples.md@0:76fed7dd9235, 2018-01-25 (annotated)
- Committer:
- seanwilson10
- Date:
- Thu Jan 25 16:00:23 2018 +0000
- Revision:
- 0:76fed7dd9235
initial;
Who changed what in which revision?
| User | Revision | Line number | New contents of line |
|---|---|---|---|
| seanwilson10 | 0:76fed7dd9235 | 1 | Examples |
| seanwilson10 | 0:76fed7dd9235 | 2 | ======== |
| seanwilson10 | 0:76fed7dd9235 | 3 | |
| seanwilson10 | 0:76fed7dd9235 | 4 | [TOC] |
| seanwilson10 | 0:76fed7dd9235 | 5 | |
| seanwilson10 | 0:76fed7dd9235 | 6 | # Overview {#overview} |
| seanwilson10 | 0:76fed7dd9235 | 7 | |
| seanwilson10 | 0:76fed7dd9235 | 8 | # Getting Started {#getting_started} |
| seanwilson10 | 0:76fed7dd9235 | 9 | |
| seanwilson10 | 0:76fed7dd9235 | 10 | ## ST Nucleo F411RE / Mbed OS {#stnucleo_mbed} |
| seanwilson10 | 0:76fed7dd9235 | 11 | |
| seanwilson10 | 0:76fed7dd9235 | 12 | ### Hardware Setup |
| seanwilson10 | 0:76fed7dd9235 | 13 | |
| seanwilson10 | 0:76fed7dd9235 | 14 | The following examples assume that the ADI Sense 1000 module is connected to the |
| seanwilson10 | 0:76fed7dd9235 | 15 | ST Nucleo FR11RE as follows: |
| seanwilson10 | 0:76fed7dd9235 | 16 | |
| seanwilson10 | 0:76fed7dd9235 | 17 | ADI Sense 1000 | ST Nucleo FR11RE |
| seanwilson10 | 0:76fed7dd9235 | 18 | --------------- | ------------- |
| seanwilson10 | 0:76fed7dd9235 | 19 | SPI\_SLAVE\_CS | D10 |
| seanwilson10 | 0:76fed7dd9235 | 20 | SPI\_SLAVE\_MOSI | D11 |
| seanwilson10 | 0:76fed7dd9235 | 21 | SPI\_SLAVE\_MISO | D12 |
| seanwilson10 | 0:76fed7dd9235 | 22 | RESET | D6 |
| seanwilson10 | 0:76fed7dd9235 | 23 | ERROR | D3 |
| seanwilson10 | 0:76fed7dd9235 | 24 | ALERT | D4 |
| seanwilson10 | 0:76fed7dd9235 | 25 | DRDY | D5 |
| seanwilson10 | 0:76fed7dd9235 | 26 | |
| seanwilson10 | 0:76fed7dd9235 | 27 | ### Software Setup |
| seanwilson10 | 0:76fed7dd9235 | 28 | |
| seanwilson10 | 0:76fed7dd9235 | 29 | ### Building an example |
| seanwilson10 | 0:76fed7dd9235 | 30 | |
| seanwilson10 | 0:76fed7dd9235 | 31 | #### Using mbed online tools |
| seanwilson10 | 0:76fed7dd9235 | 32 | An mbed online account is required. For more information, |
| seanwilson10 | 0:76fed7dd9235 | 33 | see (https://developer.mbed.org/account/signup/). |
| seanwilson10 | 0:76fed7dd9235 | 34 | |
| seanwilson10 | 0:76fed7dd9235 | 35 | Once logged into mbed, visit the following URL to locate the ADI Sense Host Library repository: |
| seanwilson10 | 0:76fed7dd9235 | 36 | (https://os.mbed.com/teams/AnalogDevices/code/AdiSense1000) |
| seanwilson10 | 0:76fed7dd9235 | 37 | |
| seanwilson10 | 0:76fed7dd9235 | 38 | Select the "Import into Compiler" option to add this library to your project. |
| seanwilson10 | 0:76fed7dd9235 | 39 | |
| seanwilson10 | 0:76fed7dd9235 | 40 | Navigate to one of the examples (e.g. AdiSense1000/examples/sensors/) and click |
| seanwilson10 | 0:76fed7dd9235 | 41 | to open the source file named 'main.cpp'. Then click on compile at the top of |
| seanwilson10 | 0:76fed7dd9235 | 42 | the page to build the binary image. This will download the binary to your PC. |
| seanwilson10 | 0:76fed7dd9235 | 43 | |
| seanwilson10 | 0:76fed7dd9235 | 44 | #### Using mbed-cli (command line interface) tools |
| seanwilson10 | 0:76fed7dd9235 | 45 | Follow the instructions at (https://github.com/ARMmbed/mbed-cli) to download and |
| seanwilson10 | 0:76fed7dd9235 | 46 | install the mbed-cli. |
| seanwilson10 | 0:76fed7dd9235 | 47 | |
| seanwilson10 | 0:76fed7dd9235 | 48 | In a command-line terminal window, navigate to the directory containing one of |
| seanwilson10 | 0:76fed7dd9235 | 49 | the examples included in the ADI Sense Host Library software package, set up the |
| seanwilson10 | 0:76fed7dd9235 | 50 | mbed-os environment, and build the code: |
| seanwilson10 | 0:76fed7dd9235 | 51 | |
| seanwilson10 | 0:76fed7dd9235 | 52 | cd <path_to_library>/examples/sensors/ |
| seanwilson10 | 0:76fed7dd9235 | 53 | mbed deploy |
| seanwilson10 | 0:76fed7dd9235 | 54 | mbed new . |
| seanwilson10 | 0:76fed7dd9235 | 55 | mbed compile -m nucleo_f411re -t GCC_ARM |
| seanwilson10 | 0:76fed7dd9235 | 56 | |
| seanwilson10 | 0:76fed7dd9235 | 57 | The resulting binary image will be created as: |
| seanwilson10 | 0:76fed7dd9235 | 58 | |
| seanwilson10 | 0:76fed7dd9235 | 59 | <path_to_library>/examples/sensors/BUILD/nucleo_f411re/GCC_ARM/sensors.bin |
| seanwilson10 | 0:76fed7dd9235 | 60 | |
| seanwilson10 | 0:76fed7dd9235 | 61 | ### Running an example |
| seanwilson10 | 0:76fed7dd9235 | 62 | Assuming the Nucleo board is plugged in to your PC via a micro-USB cable, copy |
| seanwilson10 | 0:76fed7dd9235 | 63 | the binary image (built in the previous step) to the "NODE_F411RE" USB storage |
| seanwilson10 | 0:76fed7dd9235 | 64 | device. The programming LED on the F411RE should flash for a few seconds while |
| seanwilson10 | 0:76fed7dd9235 | 65 | the program is being loaded, and the device should then automatically reboot |
| seanwilson10 | 0:76fed7dd9235 | 66 | and start running the example. |
| seanwilson10 | 0:76fed7dd9235 | 67 | |
| seanwilson10 | 0:76fed7dd9235 | 68 | Output messages from the example are transmitted on UART6 (pins PA\_11, PA\_12) |
| seanwilson10 | 0:76fed7dd9235 | 69 | by default. This pins may be routed via the micro-USB cable COM/serial |
| seanwilson10 | 0:76fed7dd9235 | 70 | by connecting PA\_11 and PA\_12 to the RX and TX pins on CN3 of the F411RE board. |
| seanwilson10 | 0:76fed7dd9235 | 71 | Alternatively, it is possible to specify a different UART by modifying the |
| seanwilson10 | 0:76fed7dd9235 | 72 | following file and rebuilding the example: |
| seanwilson10 | 0:76fed7dd9235 | 73 | |
| seanwilson10 | 0:76fed7dd9235 | 74 | <path_to_library>/host/src/mbed/adi_sense_log.cpp |
| seanwilson10 | 0:76fed7dd9235 | 75 | |
| seanwilson10 | 0:76fed7dd9235 | 76 | # API Usage Examples {#api_examples} |
| seanwilson10 | 0:76fed7dd9235 | 77 | The following examples are intended to demonstrate the correct usage of the [ADI Sense API](@ref ADI_Sense_Api) in a variety of scenarios and configurations. |
| seanwilson10 | 0:76fed7dd9235 | 78 | |
| seanwilson10 | 0:76fed7dd9235 | 79 | ## Sensors {#api_examples_sensors} |
| seanwilson10 | 0:76fed7dd9235 | 80 | The "sensors" example demonstrates configurations that may be used to enable a |
| seanwilson10 | 0:76fed7dd9235 | 81 | selection of analog and digital sensors which may be connected to the ADI Sense |
| seanwilson10 | 0:76fed7dd9235 | 82 | 1000 module and used in various modes of operation. Different configurations |
| seanwilson10 | 0:76fed7dd9235 | 83 | may be selected by modifying the value of 'pSelectedConfig' in main.cpp. The |
| seanwilson10 | 0:76fed7dd9235 | 84 | example application code will show how the selected configuration is loaded to |
| seanwilson10 | 0:76fed7dd9235 | 85 | the ADI Sense 1000 device and applied before measurement cycles are started. |
| seanwilson10 | 0:76fed7dd9235 | 86 | |
| seanwilson10 | 0:76fed7dd9235 | 87 | ## User-Defined Look-Up Table Data {#api_examples_user_lut_data} |
| seanwilson10 | 0:76fed7dd9235 | 88 | The "user_lut_data" example aims to show how a user may specify sensor |
| seanwilson10 | 0:76fed7dd9235 | 89 | correction data to linearise the raw results from a custom sensor (a |
| seanwilson10 | 0:76fed7dd9235 | 90 | thermocouple and bridge sensor in this case). The data is encapsulated in a |
| seanwilson10 | 0:76fed7dd9235 | 91 | series of individual tables and corresponding descriptors |
| seanwilson10 | 0:76fed7dd9235 | 92 | (see 'sample\_lut\_data.c') which are assembled into a single monolithic Look-Up |
| seanwilson10 | 0:76fed7dd9235 | 93 | Table (LUT) data structure. That LUT data structure is loaded onto the ADI |
| seanwilson10 | 0:76fed7dd9235 | 94 | Sense 1000 module and applied as part of the module configuration before any |
| seanwilson10 | 0:76fed7dd9235 | 95 | measurement cycles are started. |
| seanwilson10 | 0:76fed7dd9235 | 96 | |
| seanwilson10 | 0:76fed7dd9235 | 97 | ## Save/Restore Configuration {#api_examples_save_restore} |
| seanwilson10 | 0:76fed7dd9235 | 98 | The "save_restore_config" example demonstrates how configuration settings may be |
| seanwilson10 | 0:76fed7dd9235 | 99 | saved to non-volatile memory on the ADI Sense module. Saved settings are loaded |
| seanwilson10 | 0:76fed7dd9235 | 100 | automatically when the module is subsequently powered on, and may also be |
| seanwilson10 | 0:76fed7dd9235 | 101 | loaded (restored) at any time by the user if required. Note that settings must |
| seanwilson10 | 0:76fed7dd9235 | 102 | always be applied explicitly with @ref adi_sense_ApplyConfigUpdates before they |
| seanwilson10 | 0:76fed7dd9235 | 103 | take effect. |
| seanwilson10 | 0:76fed7dd9235 | 104 | |
| seanwilson10 | 0:76fed7dd9235 | 105 | ## Diagnostics {#api_examples_diagnostics} |
| seanwilson10 | 0:76fed7dd9235 | 106 | The "diagnostics" example demonstrates how some of the various diagnostic |
| seanwilson10 | 0:76fed7dd9235 | 107 | functions of the ADI Sense module can be utilised to detect error conditions |
| seanwilson10 | 0:76fed7dd9235 | 108 | such as disconnected or mis-wired sensors. |
| seanwilson10 | 0:76fed7dd9235 | 109 |
