This shows you the differences between two versions of the page.
Both sides previous revisionPrevious revisionNext revision | Previous revisionNext revisionBoth sides next revision | ||
resources:eval:user-guides:eval-adicup3029:reference_designs:demo_cn0357 [23 Jul 2017 16:21] – [Project Structure] ANMOL Raykar | resources:eval:user-guides:eval-adicup3029:reference_designs:demo_cn0357 [31 Jul 2017 19:40] – created Brandon Bushey | ||
---|---|---|---|
Line 1: | Line 1: | ||
======CO Toxic Gas Measurement Demo (with EVAL-CN0357-ARDZ)====== | ======CO Toxic Gas Measurement Demo (with EVAL-CN0357-ARDZ)====== | ||
- | \\ | + | |
- | The **ADICUP3029_CN0357** is a toxic gas(CO) detector demo project for the EVAL-ADICUP3029 base board with additional [[http:// | + | The **cn0357_example_noos** is a toxic gas(CO) detector demo project for the EVAL-ADICUP3029 base board with additional [[http:// |
- | \\ | + | |
\\ | \\ | ||
+ | ===== General Description/ | ||
- | ===== General Description/Overview ===== | + | This user guide gives a detailed explanation about **cn0357_example_noos** toxic gas (CO) detection project for [[https:// |
\\ | \\ | ||
- | This userguide gives a detailed explanation about ADICUP3029_CN0357 | + | {{ :resources:eval:user-guides:eval-adicup3029: |
\\ | \\ | ||
- | {{ : | + | The [[http:// |
- | The [[http:// | + | |
\\ | \\ | ||
- | The **ADICUP3029_CN0357** application configures the necessary components, processes ADC output value and make all necessary conversions in order to provide the gas concentration. A UART interface (38400 baud rate and 8-bits data length) is used to send the results to terminal window: CO Concentration in **Parts Per Million(PPM)** are the outputs provided in the terminal window. | + | The **cn0357_example_noos** application configures the necessary components, processes ADC output value and make all necessary conversions in order to provide the gas concentration. A UART interface (38400 baud rate and 8-bits data length) is used to send the results to terminal window: CO Concentration in **Parts Per Million(PPM)** are the outputs provided in the terminal window. |
\\ | \\ | ||
\\ | \\ | ||
- | At the start of the project, the software computes the necessary parameters and configure the digital rheostat(AD5270) . The required parameters are the sensor sensitivity and sensor | + | At the start of the project, the software computes the necessary parameters and configure the digital rheostat(AD5270) . The required parameters are the sensor sensitivity and feedback resistor |
\\ | \\ | ||
\\ | \\ | ||
+ | |||
+ | ===== Demo Requirements | ||
+ | |||
+ | The following is a list of items needed in order to replicate this demo. | ||
+ | * Hardware | ||
+ | * EVAL-ADICUP3029 | ||
+ | * EVAL-CN0357-ARDZ | ||
+ | * Mirco USB to USB cable | ||
+ | * PC or Laptop with a USB port | ||
+ | * 7V - 12V DC power supply (only if you have Rev B of the CN0357) | ||
+ | * Software | ||
+ | * cn0357_example_noos software | ||
+ | * Inside Sensor_Sw Pack (1.0.0 or higher) | ||
+ | * CrossCore Embedded Studio (2.6.0 or higher) | ||
+ | * ADuCM302x DFP (2.0.0 or higher) | ||
+ | * ADICUP3029 BSP (1.0.0 or higher) | ||
+ | * Android IoTNode App (optional) | ||
+ | * Either Android or iOS version | ||
+ | * Serial Terminal Program (Required for running in release mode only) | ||
+ | * Such as Putty or Tera Term | ||
===== Setting up the hardware ===== | ===== Setting up the hardware ===== | ||
- | \\ | ||
- | <note important> | + | - Make sure that Carbon Monoxide sensor **CO-AX** is properly placed on the **EVAL-CN0357-ARDZ** sensor shield () |
+ | - Ensure the jumper **AD5720_CS** has a shunt across Pin 3 and Pin 4 of the **EVAL-CN0357-ARDZ** | ||
+ | - Ensure the jumper **AD7790_CS** has a shunt across Pin 1 and Pin 2 of the **EVAL-CN0357-ARDZ**{{ : | ||
+ | - Place the **(S5)** switch position to read " | ||
+ | - Mount **EVAL-CN0357-ARDZ** on the **EVAL-ADICUP3029** base board such that **DIGI1** and **DIGI0** of the EVAL-CN0357-ARDZ are connected to the **P6** and **P7** on the EVAL-ADICUP3029 board respectively. | ||
+ | - Plug in the micro USB cable into the **(P10)** USB port on the **EVAL-ADICUP3029**, | ||
+ | |||
+ | <note important> | ||
+ | \\ | ||
+ | |||
+ | ===== Configuring the Software ===== | ||
+ | |||
+ | The CN0357 comes with a carbon monoxide sensor, and those default settings are programmed into the software. | ||
+ | |||
+ | In // | ||
- | - Make sure that Carbon Monoxide sensor | + | |
- | | + | < |
- | | + | #define CN0357_FEEDBACK_RESISTOR (9230.76) |
+ | </ | ||
+ | |||
+ | * **CN0357_SENSOR_SENSITIVTY** - <fc # | ||
+ | < | ||
+ | #define CN0357_SENSOR_SENSITIVTY (0.0000000065) | ||
+ | </ | ||
\\ | \\ | ||
- | The ADuCM3029_demo_cn0357 uses **UART** connection via **P0.10/ | ||
- | \\ | ||
- | \\ | ||
- | ==== Jumper and Switch Settings ==== | ||
- | \\ | ||
- | - Place the jumper on P18 (Arduino Power Rails) on the EVAL-ADICUP3029 base board. | ||
- | - Check the direction of the switch S2 for the proper working of the UART and S5 for USB/Wall power supply. | ||
- | - Place the jumper on P15 on the EVAL-ADICUP3029 base board to power the BLE. | ||
- | {{ : | ||
- | - Similarly the jumper settings for EVAL-CN0357-ARDZ Rev C are as follows | ||
- | {{ :resources: | + | In the // |
\\ | \\ | ||
+ | * **ADI_APP_DISPATCH_TIMEOUT** - //DISPATCH TIMEOUT// will define how often the data is sent over Bluetooth. | ||
+ | * **ADI_APP_USE_BLUETOOTH ** - //ENABLE BLUETOOTH// parameter - will either use Bluetooth or will have the option to print to console window in debug mode or terminal in release mode. | ||
+ | |||
+ | \\ | ||
+ | |||
===== Obtaining the source code ===== | ===== Obtaining the source code ===== | ||
- | \\ | + | |
We recommend not opening the project directly, but rather import it into CrossCore Embedded Studio and make a local copy in your workspace. | We recommend not opening the project directly, but rather import it into CrossCore Embedded Studio and make a local copy in your workspace. | ||
\\ | \\ | ||
- | The source code and include files of the **ADICUP3029_CN0357** can be found on Github: | + | The source code and include files of the **cn0357_example_noos** can be found below: |
- | <WRAP round 40% download> | + | <WRAP round 60% download> |
- | The source code has to be inserted from the github | + | [[https://github.com/ |
</ | </ | ||
\\ | \\ | ||
- | |||
===== Outputting Data ===== | ===== Outputting Data ===== | ||
- | | + | Once the hardware |
- | {{:resources: | + | There are **three** different ways to visualize the data: |
+ | * CrossCore Embedded Studio Console Window (through semihosting) | ||
+ | * Serial Terminal Program (such as Putty or Tera Term) | ||
+ | * IoTNode Smart Device App | ||
+ | Depending on how you want to operate the board and visualize the data, there are two different options that must be selected from. Below is a table outlining the general operation, and you need to click on which **launch** file you need to program onto the EVAL-ADICUP3029, | ||
+ | {{ : | ||
+ | \\ | ||
+ | \\ | ||
- | The ADI_CO_SENSOR node device found on iPAD | + | ^ Data Output Destination ^ Connected to Debugger ^ Configuration File ^ |
+ | ^ CCES Console Window | Yes | ADICUP3029_Debug.launch | | ||
+ | ^ PC/Laptop Serial Terminal | No | ADICUP3029_Release.launch | | ||
+ | ^ IoTNode Smart App | Yes | ADICUP3029_Debug.launch | | ||
+ | ^ IoTNode Smart App | No | ADICUP3029_Release.launch | | ||
+ | \\ | ||
+ | \\ | ||
+ | The data for this demo can be viewed in the serial terminal window (via UART) and by connecting to the Analog Devices iOS Smart Device App (for more information and installation directions check out the [[resources: | ||
- | {{: | + | ==== Debug Launch Mode ==== |
- | + | ||
- | | + | **Debug launch mode** is used when connected to the debugger. |
+ | \\ | ||
- | {{: | + | Figure shows when ADI_APP_USE_BLUETOOTH is set to 1, sensor data is sent to the smart app and printed onto the console. |
+ | {{ : | ||
- | The data transmission successful is indicated by green LED glow | + | If you have the app installed on your phone, these figure shows the output on android device. |
+ | <WRAP center round important 80%> | ||
+ | Do not try to connect directly (or pair) to the EVAL-ADICUP3029 from your phone. | ||
+ | - Simply open up the IoTNode application on your phone. | ||
+ | - " | ||
+ | - Once you find your demo, click on it to open it up. | ||
+ | </ | ||
+ | - **Android App display** | ||
+ | - **iOS App display** | ||
+ | {{: | ||
+ | \\ | ||
+ | {{: | ||
+ | \\ | ||
- | {{: | + | ==== Release Launch Mode ==== |
- | The data transmission un-successful | + | **Release launch mode** is used for running without the debugger connected. When in release mode, console output is redirected to UART. Bluetooth is enabled, and sensor |
- | + | Following is the UART configuration. | |
- | {{: | + | Select COM Port |
+ | Baud rate: 38400 | ||
+ | Data: 8 bit | ||
+ | Parity: none | ||
+ | Stop: 1 bit | ||
+ | Flow Control: none | ||
+ | \\ | ||
+ | Figure shows the UART terminal when ADI_APP_USE_BLUETOOTH is set to 1 | ||
+ | \\ | ||
+ | {{: | ||
- | The ppm concentration values displayed | + | **iOS App and Android App display** |
+ | If you have the app installed | ||
+ | <WRAP center round important 80%> | ||
+ | Do not try to connect directly (or pair) to the EVAL-ADICUP3029 from your phone. | ||
+ | - Simply open up the IoTNode application on your phone. | ||
+ | - " | ||
+ | - Once you find your demo, click on it to open it up. | ||
+ | </ | ||
- | {{: | + | - **Android App display** |
- | + | - **iOS App display** | |
- | Graph displaying ppm values | + | {{: |
- | + | \\ | |
- | {{: | + | {{: |
- | + | \\ | |
- | The ADICUP3029 disconnected to BLE peripheral | + | |
- | + | ||
- | {{: | + | |
===== How to use the Tools ===== | ===== How to use the Tools ===== | ||
- | \\ | ||
The official tool we promote for use with the EVAL-ADICUP3029 is CrossCore Embedded Studio. | The official tool we promote for use with the EVAL-ADICUP3029 is CrossCore Embedded Studio. | ||
+ | \\ | ||
\\ | \\ | ||
+ | |||
==== Importing | ==== Importing | ||
- | \\ | ||
For more detailed instructions on importing this application/ | For more detailed instructions on importing this application/ | ||
+ | \\ | ||
\\ | \\ | ||
==== Debugging ==== | ==== Debugging ==== | ||
- | \\ | + | A debug configuration must be set up for this project in order to have the possibility to program and to debug the **ADICUP3029_CN0357** project. To do this, follow the instructions from [[resources: |
- | * A debug configuration must be set up for this project in order to have the possibility to program and to debug the **ADICUP3029_CN0357** project. To do this, follow the instructions from [[resources: | + | |
- | * Make sure the target board is connected to the computer | + | * Make sure the target board is connected to workstation |
* Use step-by-step execution or directly run the program. | * Use step-by-step execution or directly run the program. | ||
- | After completion of the steps above the program will remain written into the system | + | After completion of the steps above the program will be loaded onto the system |
- | {{: | + | {{ : |
\\ | \\ | ||
+ | |||
==== Project Structure === | ==== Project Structure === | ||
- | \\ | + | The **cn0357_example_noos** project use ADuCM302x C/C++ Project structure. |
- | The **ADICUP3029_CN0357** project use ADuCM302x C/C++ Project structure. | + | |
- | + | ||
This project contains: system initialization part - disabling watchdog, enabling clock for peripherals; | This project contains: system initialization part - disabling watchdog, enabling clock for peripherals; | ||
- | In the **src** and **include** folders you will find the source and header files related to CN0357 software | + | {{: |
- | \\ | + | |
- | {{: | + | The **cn0357_app.cpp** is the application file for the project. The **ADuCM3029** folder consists of pinmux for SPI0, SPI2 and UART0. |
- | \\ | + | |
- | In the appropriate header files you can **configure** next **parameters**: | + | |
- | \\ | + | |
\\ | \\ | ||
- | | + | The **RTE** folder contains ADuCM3029 Device Family Pack,Board Support Package files and Sensor |
- | < | + | |
- | #define SENSOR_RANGE | + | |
- | </ | + | |
- | + | ||
- | * **Sensor | + | |
- | < | + | |
- | #define SENSOR_SENSITIVITY | + | |
- | </ | + | |
\\ | \\ | ||
- | |||
- | |||
\\ | \\ | ||
+ | // End of Document // |