3.7 EVSYS - Event System

3.7.1 Introduction

The Event System (EVSYS) enables direct peripheral-to-peripheral signaling. It allows a change in one peripheral (the event generator) to trigger actions in other peripherals (the event users) through event channels, without using the CPU. It is designed to provide a short and predictable response time between peripherals, allowing for autonomous peripheral control and interaction, and for synchronized timing of actions in several peripheral modules. Thus, it is a powerful tool for reducing the complexity, size, and execution time of the software.

There are no API for the Event System, rather some use cases are provided as configuration examples.

Features:

  • System for Direct Peripheral-to-Peripheral Signaling
  • Peripherals Can Directly Produce, Use, and React to Peripheral Events
  • Short and Predictable Response Time
  • Up to 10 Parallel Event Channels Available
  • Each Channel is Driven by One Event Generator and Can Have Multiple Event Users
  • Events Can be Sent and/or Received by Most Peripherals and by Software
  • The Event System Works in Active, Idle, and Standby Sleep Modes

3.7.2 Supported Device Families

AVR® DxAVR® ExATtinyATmega

3.7.3 Required Header Files

#include "mcc_generated_files/evsys/evsys.h"

3.7.4 How to Use the AVR Event System

The links below provide examples for the different use cases for the Event System, which in all cases involve other peripherals. A more efficient refactoring is achieved in the Event System versions of these use use cases (shown in BOLD):

Table 3-128. Running the RTC Use-Cases
Videos Running MCC Melody use case code snippets for AVR:
Many of use cases build on the following components, so this is a good place to start if you are new to MCC Melody: