Skip to content

Latest commit

 

History

History
102 lines (60 loc) · 7.07 KB

File metadata and controls

102 lines (60 loc) · 7.07 KB

MCHP

MCC Melody Analog-to-Digital Converter with Computation (ADCC) Spike Detection Example - Polled Implementation (PIC18F57Q43)

In the ADCC Spike Detection Example, ADC with Computation Spike Detection is visualized with the Data Streamer. The spike detection can be modified to observe the change in sensitivity to the rate of change of the ADC samples. Using a Polling Design Pattern, a change (above a set threshold) in the ADC result between successive conversions represents a "spike". Every 100 ms delay starts an ADC conversion and sends a Data Streamer frame. The code continuously checks for a spike and updates the adcResult_lastSpike and adcSpikeCount when spikes are detected.

Video Building This Example

Video Building this Example

Video: Introducing MCC Melody Example Components (while building the Polled version of the Timer Toggle LED example).

MCC Melody Example Components

Example Components are a tight integration of learning material directly into MCC. This allows users to conveniently place configuration instructions side-by-side to the components they are configuring. For more information, refer to the MCC Melody Example Components Introduction.

Note: The image below shows the ADCC Example Component, as it would be moving to the ADCC Spike Detect Example - Callbacks implementation. A diff of what is needed to move to the Polled implementation is shown.

Note: What is not shown is that the ADC with Computation and UART interrupts need to be disabled.

MCC Melody Example Components

Complete projects, available in MPLAB® Discover or GitHub, are specific to a board and microcontroller. However, the current project could be recreated on a range of supported microcontrollers by following the steps in the example component.

To explore what an example component is, as well as the difference between example and implementation, see MCC Melody Example Components - The Basics.

Example Components are related to MCC Melody Design Patterns for Control Flow, which shows different standard ways to organize main.c and other application-level files, such as Polling, Interrupt and Callback, or State Machine Design Patterns. Users might be familiar with each of these patterns, but...

  • What support does MCC Melody provide for each?
  • What are the recommended ways of building on the MCC Melody generated code? 

Software Used

  • MPLAB® X IDE 6.20.0 or newer (MPLAB® X IDE 6.20)

  • MPLAB® XC8 2.46.0 or newer (MPLAB® XC8 2.46)

  • MPLAB® Code Configurator (MCC) Plugin Version 5.5.1 or newer (Tools>Plugins>Installed, search: "MCC")

  • ADC with Computation (ADCC) Example Component 1.0.0

  • MCC Core 5.7.1 or newer

  • MCC Melody Core 2.7.1 or newer (Communicates with the MCC core, providing views and other functionality for MCC Melody)

MCC Core Version

Hardware Used

Setup

All instructions required to recreate this example are listed below, under Configuration Instructions.

TIMER Toggle LED, Callbacks Implementation

Once the project is loaded in MPLAB X IDE, the user will be able to find more information from Tooltips and links next to the instructions Tooltip and link.

Tooltips and context help

Operation

The image below shows the ADCC Basic Printf example running, using the MPLAB Data Visualizer.

Running the ADCC Basic Printf Example

Data Visualizer Configuration

  1. Click the Data Visualizer icon icon to open the MPLAB Data Visualizer.
  2. Under the Variable Streamers tab (on the left-hand side), click the Import ds file button, to import a .ds file.
  3. From your project root, navigate into mcc_generated_files/data_streamer/ directory.
  4. Click the data_streamer.ds file to select it.
  5. Then click the open button button to load the ds file.

Loading the ds file

The data_streamer Properties window will open up, displaying the loaded adcResult and adcSampleCount variables.

  1. Click the save button button to load this data streamer configuration, for the ADC with Computation Spike Detect Example.

ds file loaded

  1. Click the no source button button.

  2. Select your board from those available.

    Note: If your board is not recognised by the MPLAB Data Visualizer, go to the Device Manager (Windows) to determine the COMx number.

  3. Click the settings gear icon icon to bring up the COMx Settings.

  4. Set the baud rate to 115200, then click out of the window to close the settings.

  5. Click the Time Plot icon icon to plot all variables.

Data Streamer Config

  1. Click the Connections button.
  2. Under Debug GPIO, click the Add to time plot icon icon to add to the time plot.

Debug I/O Time Plot

For more example components, open the stand-alone Content Manager CM_icon in MCC.

Standalone_CM