diff --git a/docs/solutions/reference-designs/eval-cn0569-pmdz/cn0569.rst b/docs/solutions/reference-designs/eval-cn0569-pmdz/cn0569.rst new file mode 100644 index 00000000000..c272bf1cbbf --- /dev/null +++ b/docs/solutions/reference-designs/eval-cn0569-pmdz/cn0569.rst @@ -0,0 +1,166 @@ +.. _cn0569: + +User Guide +========== + +Overview +-------- + +The :adi:`EVAL-CN0569-PMDZ` is a 4-layer printed circuit board (PCB) that allows evaluation of the :adi:`CN-0569 ` Infrared Light Angle Sensor Module for Gesture Recognition. The board is fabricated with a 0.5 oz./1 oz. copper cladding (external layers overplated to 1.5 oz.) and IPC-4101 (or IPC-4103) laminates and bonding materials. + +.. image:: images/eval-cno569-pmdz_angle-web.gif + :align: center + :width: 400 + +Designed to use the I²C Pmod hardware interface, the :adi:`EVAL-CN0569-PMDZ` features a small form-factor with PCB dimensions of 2.7 in (68.58 mm) × 0.8 in (20.32 mm) x 0.062 in (1.5748 mm). The evaluation board uses the standard 1 x 6, 0.1 in (2.54 mm) right-angle male header for I²C Pmod devices. Two 3D-printed optical baffles are included with the :adi:`EVAL-CN0569-PMDZ` for use with the onboard :adi:`ADPD2140` sensors. + + +Evaluation Board Hardware +------------------------- + +.. image:: images/eval-cn0569-pmdz-top-labels.png + :align: center + :width: 800 + +I²C Pmod Connector (P1) +~~~~~~~~~~~~~~~~~~~~~~~ + +.. image:: images/eval-cn0569-pmdz-i2c-pmod-connector.png + :width: 200 + +The controller board must be connected to the :adi:`EVAL-CN0569-PMDZ` through the 1 x 6, 0.1 in. (2.54 mm) right-angle header (P1). The pinout of this connector follows the standard I²C Pmod specification, as shown below: + +**I²C Pmod Connector (P1) Pinout** + ++--------------------------------+--------------+-------------------------------------------------------------------------------------------------------------+ +| **Pin Number** | **Pin Name** | **Pin Function on the EVAL-CN0569-PMDZ** | ++================================+==============+=============================================================================================================+ +| 1 | INT | **General-Purpose Input/Output 0.** Actual function depends on the configuration of the ADPD1080 GPIO0 pin. | ++--------------------------------+--------------+-------------------------------------------------------------------------------------------------------------+ +| 2 | RESET | No connection. | ++--------------------------------+--------------+-------------------------------------------------------------------------------------------------------------+ +| 3 | SCL | **I²C SCL.** I²C Clock from the controller board to the ADPD1080. | ++--------------------------------+--------------+-------------------------------------------------------------------------------------------------------------+ +| 4 | SDA | **I²C SDA.** I²C Data from the controller board to the ADPD1080. | ++--------------------------------+--------------+-------------------------------------------------------------------------------------------------------------+ +| 5 | GND | **Ground** | ++--------------------------------+--------------+-------------------------------------------------------------------------------------------------------------+ +| 6 | VCC | **Pmod VCC.** Input power to the EVAL-CN0569-PMDZ. | ++--------------------------------+--------------+-------------------------------------------------------------------------------------------------------------+ + +.. note:: + + **Connecting Hardware Designed for Digilent I²C Pmod Interface Specification + Ver. 1.0.0:** + + Version 1.0.0 of the Digilent Pmod Interface Specification required 2×4 headers to be used for I²C devices, instead of the 1x6 headers specified by + later versions. The :adi:`EVAL-CN0569-PMDZ` can still be used with controller boards that follow this old standard (such as the :adi:`EVAL-ADICUP3029`). + In this case however, the INT pin of the evaluation board will have to be manually wired if access to the :adi:`ADPD1080` GPIO0 pin is needed by an application. + +Test Points (Power, GPIO, and LED Driver Pins) +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + +.. image:: images/eval-cn0569-pmdz-io-led-test-points.png + :width: 200 + +The :adi:`EVAL-CN0569-PMDZ` contains several test points that can be used to connect to the GPIO and LED driver pins of the :adi:`ADPD1080` photometric front end device. + ++-------------------------+-------------------------+-------------------------------------------------------------------------------------------------------------+ +| **Test Point** | **Hardware Pin** | **Pin Function on the EVAL-CN0569-PMDZ** | ++=========================+=========================+=============================================================================================================+ +| IO0 | ADPD1080 (U3) GPIO0 | **General Purpose Input/Output 0.** Actual function depends on the configuration of the ADPD1080 GPIO0 pin. | ++-------------------------+-------------------------+-------------------------------------------------------------------------------------------------------------+ +| IO1 | ADPD1080 (U3) GPIO1 | **General Purpose Input/Output 1.** Actual function depends on the configuration of the ADPD1080 GPIO1 pin. | ++-------------------------+-------------------------+-------------------------------------------------------------------------------------------------------------+ +| LED1 | ADPD1080 (U3) LEDX1 | **LED 1 Driver Current Sink.** Used by the onboard infrared LED by default. | ++-------------------------+-------------------------+-------------------------------------------------------------------------------------------------------------+ +| LED2 | ADPD1080 (U3) LEDX2 | **LED 2 Driver Current Sink.** Unused by default. Can be connected to an external LED. | ++-------------------------+-------------------------+-------------------------------------------------------------------------------------------------------------+ +| LED3 | ADPD1080 (U3) LEDX3 | **LED 3 Driver Current Sink.** Unused by default. Can be connected to an external LED. | ++-------------------------+-------------------------+-------------------------------------------------------------------------------------------------------------+ +| 1V8 | ADPD1080 (U3) AVDD/DVDD | **1.8 V Supply.** Regulated 1.8 V used to power the ADPD1080. | ++-------------------------+-------------------------+-------------------------------------------------------------------------------------------------------------+ +| VCC | Pmod VCC | **Pmod VCC.** Input power to the EVAL-CN0569-PMDZ. | ++-------------------------+-------------------------+-------------------------------------------------------------------------------------------------------------+ +| VLED | LED Supply | **Supply Voltage for IR_LED.** Shorted to Pmod VCC by default. | ++-------------------------+-------------------------+-------------------------------------------------------------------------------------------------------------+ +| GND | GND | **Ground** | ++-------------------------+-------------------------+-------------------------------------------------------------------------------------------------------------+ + +The actual functions of the GPIO0 and GPIO1 pins can be set via the registers. For details on the the functions of these pins, please refer to the :adi:`ADPD1080` datasheet. + +.. note:: + + IO0 and IO1 are connected directly to the pins of the :adi:`ADPD1080`. Level shifting is needed to interface with these test points if the external circuit does not support 1.8 V logic. + GPIO0 is also available via the INT pin of the I²C Pmod connector (P1). When accessed from this pin, the GPIO signal will use the Pmod VCC as its logic + level (same as the I²C signals). + +If needed by the application, the three LED drivers of the :adi:`ADPD1080` can be used with external LEDs. To do this, connect the cathode pin of the external LED to any of the LED1, LED2 and LED3 test points. The anode pin of the external LED should be connected to a supply voltage. + +Note that LED1 is normally used by the infrared LED (IR_LED) of the :adi:`EVAL-CN0569-PMDZ`. To use this with an external LED instead, the zero Ohm resistor (R1) must be removed first. + +.. warning:: + + For proper operation with an external LED, the voltage level on the + corresponding LED driver test point must not exceed 3.6 V. + +Test Points (Photodiode Inputs) +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + +.. image:: images/eval-cn0569-pmdz-breakaway.png + :align: center + :width: 300 + +The :adi:`EVAL-CN0569-PMDZ` uses two :adi:`ADPD2140` sensors spaced 1 in (25.4 mm) apart to implement the gesture sensing algorithm. However, it is possible to modify this distance using by splitting the board into two along the breakaway line and manually wiring the corresponding test points together. Two rows of test points are provided for this application. + ++---------------------------------+-------------------+------------------------------------------+-------------------+----------------+ +| **Test Point** | **Hardware Pin** | **Pin Function on the EVAL-CN0569-PMDZ** | **Hardware Pin** | **Test Point** | ++=================================+===================+==========================================+===================+================+ +| PD5 | ADPD1080 (U3) PD5 | **Photodiode Current Input (Anode) 5** | ADPD2140 (U2) XR | XR2 | ++---------------------------------+-------------------+------------------------------------------+-------------------+----------------+ +| PD6 | ADPD1080 (U3) PD6 | **Photodiode Current Input (Anode) 6** | ADPD2140 (U2) XL | XL2 | ++---------------------------------+-------------------+------------------------------------------+-------------------+----------------+ +| PD7 | ADPD1080 (U3) PD7 | **Photodiode Current Input (Anode) 7** | ADPD2140 (U2) YB | YB2 | ++---------------------------------+-------------------+------------------------------------------+-------------------+----------------+ +| PD8 | ADPD1080 (U3) PD8 | **Photodiode Current Input (Anode) 8** | ADPD2140 (U2) YT | YT2 | ++---------------------------------+-------------------+------------------------------------------+-------------------+----------------+ +| PDC | ADPD1080 (U3) PDC | **Photodiode Common Cathode Bias** | ADPD2140 (U2) PDC | PDC | ++---------------------------------+-------------------+------------------------------------------+-------------------+----------------+ +| GND | GND | **Ground** | GND | GND | ++---------------------------------+-------------------+------------------------------------------+-------------------+----------------+ + +Gesture Sensing Reference Demo and Software +------------------------------------------- + +A basic gesture sensing example application for the :adi:`EVAL-CN0569-PMDZ` was developed using the :adi:`EVAL-ADICUP3029` platform. + +|image1| + +.. note:: + + For more information on this demo, please refer to the :ref:`Optical Gesture Sensor Demo page `. + +Schematic, PCB Layout, Bill of Materials +---------------------------------------- + +.. admonition:: Download + :class: download + + :adi:`EVAL-CN0569-PMDZ Design & Integration Files ` + + + - Schematic + - Bill of Materials + - Gerber Files + - Assembly Drawing + +Registration +------------ + +.. tip:: + + Receive software update notifications, documentation updates, view the latest videos, and more when you register your hardware. `Register `_ to receive all these great benefits and more! + + +.. |image1| image:: images/cn0569-gesture-directions.png + :width: 600 diff --git a/docs/solutions/reference-designs/eval-cn0569-pmdz/images/cn0569-gesture-directions.png b/docs/solutions/reference-designs/eval-cn0569-pmdz/images/cn0569-gesture-directions.png new file mode 100644 index 00000000000..a613f20d456 --- /dev/null +++ b/docs/solutions/reference-designs/eval-cn0569-pmdz/images/cn0569-gesture-directions.png @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:a05b997653b4f9caec39959b0927dca0d8263dd1af8af5fb31236215f7509bcc +size 225400 diff --git a/docs/solutions/reference-designs/eval-cn0569-pmdz/images/cn0569_concept_diagram.drawio.png b/docs/solutions/reference-designs/eval-cn0569-pmdz/images/cn0569_concept_diagram.drawio.png new file mode 100644 index 00000000000..4d89082276c --- /dev/null +++ b/docs/solutions/reference-designs/eval-cn0569-pmdz/images/cn0569_concept_diagram.drawio.png @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:99bfa5faa0bd15c905b5f507a31acad19f32a0b0ec4a09a59a2f4ab07d692ebb +size 8597 diff --git a/docs/solutions/reference-designs/eval-cn0569-pmdz/images/cn0569_gpio_connection_picture.jpg b/docs/solutions/reference-designs/eval-cn0569-pmdz/images/cn0569_gpio_connection_picture.jpg new file mode 100644 index 00000000000..f3df531a92d --- /dev/null +++ b/docs/solutions/reference-designs/eval-cn0569-pmdz/images/cn0569_gpio_connection_picture.jpg @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:519695dfb7537b1d93d058efc032822426b999c695da1e25c133f03f889ea848 +size 783450 diff --git a/docs/solutions/reference-designs/eval-cn0569-pmdz/images/cn0569_system_picture.jpg b/docs/solutions/reference-designs/eval-cn0569-pmdz/images/cn0569_system_picture.jpg new file mode 100644 index 00000000000..b41abf21916 --- /dev/null +++ b/docs/solutions/reference-designs/eval-cn0569-pmdz/images/cn0569_system_picture.jpg @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:9391ecfe99b0cb31fe6f635095c73d29eec30dbb2d84ba47c407ec50029da794 +size 565154 diff --git a/docs/solutions/reference-designs/eval-cn0569-pmdz/images/eval-cn0569-pmdz-breakaway.png b/docs/solutions/reference-designs/eval-cn0569-pmdz/images/eval-cn0569-pmdz-breakaway.png new file mode 100644 index 00000000000..b584d4b0525 --- /dev/null +++ b/docs/solutions/reference-designs/eval-cn0569-pmdz/images/eval-cn0569-pmdz-breakaway.png @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:d6b315365f637ef4ec81900d60e7b0fa824e4d9c218564b0a29c0f155ff19f02 +size 343676 diff --git a/docs/solutions/reference-designs/eval-cn0569-pmdz/images/eval-cn0569-pmdz-i2c-pmod-connector.png b/docs/solutions/reference-designs/eval-cn0569-pmdz/images/eval-cn0569-pmdz-i2c-pmod-connector.png new file mode 100644 index 00000000000..b43c5f69a3c --- /dev/null +++ b/docs/solutions/reference-designs/eval-cn0569-pmdz/images/eval-cn0569-pmdz-i2c-pmod-connector.png @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:bd7ac24dc7929a38094e16c8865ee689f031fbb0ac27e48e713a263c1d410126 +size 242424 diff --git a/docs/solutions/reference-designs/eval-cn0569-pmdz/images/eval-cn0569-pmdz-io-led-test-points.png b/docs/solutions/reference-designs/eval-cn0569-pmdz/images/eval-cn0569-pmdz-io-led-test-points.png new file mode 100644 index 00000000000..0150eac3feb --- /dev/null +++ b/docs/solutions/reference-designs/eval-cn0569-pmdz/images/eval-cn0569-pmdz-io-led-test-points.png @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:48f7780a6ab67d7ee195393f5f914a46da58ae9f84f79a0ca1b4bb2116367fea +size 1176753 diff --git a/docs/solutions/reference-designs/eval-cn0569-pmdz/images/eval-cn0569-pmdz-top-labels.png b/docs/solutions/reference-designs/eval-cn0569-pmdz/images/eval-cn0569-pmdz-top-labels.png new file mode 100644 index 00000000000..63ea8551cc7 --- /dev/null +++ b/docs/solutions/reference-designs/eval-cn0569-pmdz/images/eval-cn0569-pmdz-top-labels.png @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:8c9a585dcf0de0941371e516286c15305a540ddec4b8bf9339e71a9d2911f9b9 +size 959721 diff --git a/docs/solutions/reference-designs/eval-cn0569-pmdz/images/eval-cno569-pmdz_angle-web.gif b/docs/solutions/reference-designs/eval-cn0569-pmdz/images/eval-cno569-pmdz_angle-web.gif new file mode 100644 index 00000000000..b502f744c1b --- /dev/null +++ b/docs/solutions/reference-designs/eval-cn0569-pmdz/images/eval-cno569-pmdz_angle-web.gif @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:5af7b402b307a2c3db79d1769be39ca47a4c2beaed1460ce48ae980ced21007b +size 113021 diff --git a/docs/solutions/reference-designs/eval-cn0569-pmdz/images/workflownosdk.drawio_1_.svg b/docs/solutions/reference-designs/eval-cn0569-pmdz/images/workflownosdk.drawio_1_.svg new file mode 100644 index 00000000000..321efe2c889 --- /dev/null +++ b/docs/solutions/reference-designs/eval-cn0569-pmdz/images/workflownosdk.drawio_1_.svg @@ -0,0 +1,4 @@ + + + +
Fresh no-OS project
Fresh no-OS project
SDK project
in build/ directory
SDK project...
Project ready for
compilation
Project ready for...
make reset
make reset
clone / download zip
clone / do...
make project
make proje...
make update
make update
make build
make build
Binary generated using default  compiler
Binary generated usi...
edit src.mk
(add/remove files)
edit src.mk...
edit source files
edit source files
Modified source files
Modified source files
Modified src.mk file
Modified src.mk file
make clean
make clean
make build
make build
Text is not SVG - cannot display
\ No newline at end of file diff --git a/docs/solutions/reference-designs/eval-cn0569-pmdz/images/workflows.drawio_1_.svg b/docs/solutions/reference-designs/eval-cn0569-pmdz/images/workflows.drawio_1_.svg new file mode 100644 index 00000000000..33921065191 --- /dev/null +++ b/docs/solutions/reference-designs/eval-cn0569-pmdz/images/workflows.drawio_1_.svg @@ -0,0 +1,4 @@ + + + +
Fresh no-OS project
Fresh no-OS project
SDK project
in build directory
SDK project...
Project ready for
build
Project ready for...
make reset
make reset
clone / download zip
clone / do...
make project
make proje...
make update
make update
make build
make build
make sdkbuild
make sdkbuild
Binary generated using
arm-none-eabi-gcc
Binary generated usi...
Binary generated using SDK
Binary generated usi...
make
make
Text is not SVG - cannot display
\ No newline at end of file diff --git a/docs/solutions/reference-designs/eval-cn0569-pmdz/images/workflowsdk.drawio_1_.svg b/docs/solutions/reference-designs/eval-cn0569-pmdz/images/workflowsdk.drawio_1_.svg new file mode 100644 index 00000000000..3e7b045b163 --- /dev/null +++ b/docs/solutions/reference-designs/eval-cn0569-pmdz/images/workflowsdk.drawio_1_.svg @@ -0,0 +1,4 @@ + + + +
Fresh no-OS project
Fresh no-OS project
SDK project
in build/ directory
SDK project...
Project ready for
build
Project ready for...
make reset
make reset
clone / download zip
clone / do...
make project
make proje...
make update
make update
make sdkbuild
make sdkbuild
Binary generated using SDK compiler
Binary generated usi...
edit src.mk
(add/remove files)
edit src.mk...
edit source files
edit source files
Modified source files
Modified source files
Modified src.mk file
Modified src.mk file
make
sdkclean
make...
make sdkbuild
make sdkbuild
Text is not SVG - cannot display
\ No newline at end of file diff --git a/docs/solutions/reference-designs/eval-cn0569-pmdz/index.rst b/docs/solutions/reference-designs/eval-cn0569-pmdz/index.rst new file mode 100644 index 00000000000..71783036e4a --- /dev/null +++ b/docs/solutions/reference-designs/eval-cn0569-pmdz/index.rst @@ -0,0 +1,66 @@ +.. _eval-cn0569-pmdz: + +EVAL-CN0569-PMDZ +================ + +Infrared Gesture Recognition Module + +.. image:: images/eval-cno569-pmdz_angle-web.gif + :align: center + :width: 400 + +Overview +--------- + +The :adi:`EVAL-CN0569-PMDZ` is a 4-layer printed circuit board (PCB) +that allows evaluation of the :adi:`CN0569` Infrared Light +Angle Sensor Module for Gesture Recognition. The board is fabricated +with a 0.5 oz./1 oz. copper cladding (external layers overplated to +1.5 oz.) and IPC-4101 (or IPC-4103) laminates and bonding materials. + +Designed to use the I²C Pmod hardware interface, the +:adi:`EVAL-CN0569-PMDZ` features a small form-factor with PCB +dimensions of 2.7 in (68.58 mm) × 0.8 in (20.32 mm) x 0.062 in +(1.5748 mm). The evaluation board uses the standard 1 x 6, 0.1 in +(2.54 mm) right-angle male header for I²C Pmod devices. Two +3D-printed optical baffles are included with the +:adi:`EVAL-CN0569-PMDZ` for use with the onboard :adi:`ADPD2140` +sensors. + +Features +-------- + +- Highly Integrated Optical Front End +- Dual Light Sensors for Intensity and Directionality Measurements +- Open Source Gesture Detection Algorithm + +Applications +------------ + +- Gesture Recognition Applications + +.. toctree:: + :hidden: + + cn0569 + sw + +Recommendations +---------------- + +People who follow the flow that is outlined, have a much better +experience with things. However, like many things, documentation is +never as complete as it should be. If you have any questions, feel +free to ask on our :ref:`EngineerZone forums `, +but before that, please make sure you read our documentation +thoroughly. + +Warning +------------------------------------------------------------------------------- + +.. esd-warning:: + +Help and support +------------------------------------------------------------------------------- + +Please go to :ref:`Help and Support ` page. diff --git a/docs/solutions/reference-designs/eval-cn0569-pmdz/resources/cn0569.zip b/docs/solutions/reference-designs/eval-cn0569-pmdz/resources/cn0569.zip new file mode 100644 index 00000000000..c5a2b4d1c72 --- /dev/null +++ b/docs/solutions/reference-designs/eval-cn0569-pmdz/resources/cn0569.zip @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:1bec35ccafad3389ff3b95edcfbaa736d338a72305dcf044c9f96ec8b07f0161 +size 93583 diff --git a/docs/solutions/reference-designs/eval-cn0569-pmdz/sw.rst b/docs/solutions/reference-designs/eval-cn0569-pmdz/sw.rst new file mode 100644 index 00000000000..a63c8e376b5 --- /dev/null +++ b/docs/solutions/reference-designs/eval-cn0569-pmdz/sw.rst @@ -0,0 +1,223 @@ +.. _cn0569-sw: + +Optical Gesture Sensor Demo +=========================== + +The :adi:`EVAL-CN0569-PMDZ` is a PMOD form factor circuit board that allows evaluation of :adi:`ADPD1080` working in tandem with two :adi:`ADPD2140` to create a Infrared Light Gesture Sensor. This example uses the :adi:`EVAL-ADICUP3029` as a motherboard as well as `no-OS/ `_ software implementing an IIO server and `pyadi-iio/ `_ code that runs on a host computer and implements gesture sensing algorithm. + +General Description/Overview +---------------------------- + +The example software is divided in two parts: + +- Firmware (written in C) +- Python application + +The two parts work together to initialize the hardware, sample de system and implement the gesture sensing algorithm. The firmware is a part of code written in C language that runs on the controller on the :adi:`EVAL-ADICUP3029` and initializes the hardware and runs an IIO server. The python application runs on a host computer connected to the system via an USB serial connection and is responsible for sampling the current passing through the photodiodes and implement different algorithms with it, in this case gesture sensing. + +.. image:: images/cn0569_concept_diagram.drawio.png + :alt: Concept diagram + :align: center + +Demo Requirements +----------------- + +The following is a list of items needed in order to replicate this demo. + +**Hardware** + +- EVAL-ADICUP3029 +- EVAL-CN0569-PMDZ +- Micro-USB to USB cable +- PC or Laptop with a USB port + +**Software** + +- `no-OS/ `_ repository and specifically the :git-no-OS:`example project ` +- `pyadi-iio/ `_ repository and specifically the :git-pyadi-iio:`examples ` +- CrossCore Embedded Studio (2.10.1 or higher) +- ADuCM302x DFP (3.2.0 or higher) +- ADICUP3029 BSP (1.1.0 or higher) +- Python 3 +- GNU make (added in path) or the pre-compiled .hex file + +Setting up the Hardware +----------------------- + +- Connect the :adi:`EVAL-CN0569-PMDZ` to the :adi:`EVAL-ADICUP3029` via the P9 connector. Use pins 3 to 6 on the **CN0569** PMOD connector to connect to the top row of the P9 PMOD connector on the ADICUP3029 board. Pins 1 an 2 will remain unconnected towards the center of the motherboard. Your setup should look like in the picture below. + + .. image:: images/cn0569_system_picture.jpg + :alt: System Overview + :align: center + +- Use a mother-to-father breadboard wire to connect pin 1 from the CN0569 to + pin 5 on the ADICUP3029 P7 header. The connection should look like in the + below picture. What this does is connecting the GPIO0 of the APDP1080 to one + of the interrupt GPIOs from the ADuCM3029. We will use theis to calibrate the + system clocks. + + .. image:: images/cn0569_gpio_connection_picture.jpg + :alt: GPIO connection + :align: center + +- Connect a micro-USB cable to P10 connector of the :adi:`EVAL-ADICUP3029` and connect it to a computer. + +Building the Software +--------------------- + +After installing CrossCore Embedded Studio and necessary support pack the user +can open a command line terminal (with admin privileges on Windows) and navigate +to the project folder in the cloned no-OS repository. There the following list +of commands can be used: + +:: + + make + +- This is the complete compilation process. It is made up of three rules, that can be used separately: project, update, build + +:: + + make project + +- creates the ``build`` directory and the required directory structure + +- uses SDK to create a project under the ``build`` directory + +:: + + make update + +- updates the no-OS sources under the ``build`` directory with files specified in ``src.mk`` + +:: + + make build + +- performs the build of files under the ``build`` directory using gcc + +:: + + make sdkbuild + +- performs the build of files under the ``build`` directory using SDK + +When modifications are performed, the following three commands trigger the +necessary clean actions: + +:: + + make clean + +- deletes the artifacts generated during build + +:: + + make reset + +- deletes the ``build`` directory (this results in a fresh setup for starting the complete compilation process) + +:: + + make sdkclean + +- cleans the artifacts (.o, .elf, .hex, etc.) created by the build command using the SDK + +:: + + make run + +- downloads and runs the executable on the target board + +:: + + make debug + +- downloads the executable on the target board and opens a command-line ``gdb`` instance to debug it (only on some platforms) + +Workflows +--------- + +.. image:: images/workflows.drawio_1\_.svg + +Compilation Using Generic Tools +------------------------------- + +.. image:: images/workflownosdk.drawio_1\_.svg + +Compilation Using Platform-Specific Tools +----------------------------------------- + +.. image:: images/workflowsdk.drawio_1\_.svg + +Running the Example +------------------- + +After the controller has been programmed and the firmware is running on the ADICUP3029 the IIO server is up and a connection to it can be established. This can be done either by using `IIO Oscilloscope `_ or the :git-pyadi-iio:`pyadi-iio code `. + +To use the gesture sensor and theremin examples, the python library must be +installed first using pip: + +:: + + pip install pyadi-iio + +After the installation is complete the example must be configured to connect to the correct COM port. For the theremin example that means :git-pyadi-iio:`changing line 97 accordingly `, with the correct COM port number. + +The example can then be run using: + +:: + + python cn0569_theremin_module.py + +Obtaining the Software +---------------------- + +There are two basic ways to program the EVAL-ADICUP3029 with the software for the +CN0569. + +- Dragging and Dropping the HEX into the DAPLink drive +- Building and debugging using CCES and the command line + +Using the drag and drop method, the software is going to be a version that +Analog Devices creates for testing and evaluation purposes. This is the EASIEST +way to get started with the reference design + +Importing the project into CrossCore is going to allow you to change parameters +and customize the software to fit your needs, but will be a bit more advanced +and will require you to download the CrossCore toolchain. + +The software for the **ADuCM3029_demo_cn0569** can be found here: + +.. admonition:: Download + :class: download + + + **Prebuilt CN0569 HEX File for the EVAL-ADICUP3029** + + - `Release Folder `_ + + The name of the file is currently iio_adpd1080.zip + + Github release is in progress. Please use this `pre-generated HEX file `_. (To be removed after release.) + + - CN0569 Firmware Source Files + + :git-no-OS:`no-OS/tree/master/projects/iio_adpd1080 ` + + - CN0569 Python Application Examples + + :git-pyadi-iio:`pyadi-iio/tree/master/examples/cn0569 ` + + +How to Use the Tools +-------------------- + +The official tool we promote for use with the EVAL-ADICUP3029 is CrossCore Embedded Studio. For more information on downloading the tools and a quick start guide on how to use the tool basics, please check out the `Tools Overview page. `_ + +Useful Links +------------ + +- :adi:`EVAL-CN0569-PMDZ Product Page ` +- :adi:`ADPD1080 Product Page ` +- :adi:`ADPD2140 Product Page `