Microchip® Advanced Software Framework

events.h File Reference

SAM4L Peripheral Event Controller (PEVC) Driver.

Copyright (c) 2013-2018 Microchip Technology Inc. and its subsidiaries.

#include <compiler.h>

Data Structures

struct  events_ch_conf
 Event Channel configuration structure. More...
 
struct  events_conf
 Event configuration structure. More...
 

Macros

#define EVENT_CHANNEL_N   PEVC_TRIGOUT_BITS
 Maximum number for Event Channels (users). More...
 
#define EVENT_GENERATOR_N   PEVC_EVIN_BITS
 Maximum number for event generator. More...
 

Enumerations

enum  events_igf_divider {
  EVENT_IGF_DIVIDER_1 = 0,
  EVENT_IGF_DIVIDER_2 = 1,
  EVENT_IGF_DIVIDER_4 = 2,
  EVENT_IGF_DIVIDER_8 = 3,
  EVENT_IGF_DIVIDER_16 = 4,
  EVENT_IGF_DIVIDER_32 = 5,
  EVENT_IGF_DIVIDER_64 = 6,
  EVENT_IGF_DIVIDER_128 = 7,
  EVENT_IGF_DIVIDER_256 = 8,
  EVENT_IGF_DIVIDER_512 = 9,
  EVENT_IGF_DIVIDER_1024 = 10,
  EVENT_IGF_DIVIDER_2048 = 11,
  EVENT_IGF_DIVIDER_4096 = 12,
  EVENT_IGF_DIVIDER_8192 = 13,
  EVENT_IGF_DIVIDER_16384 = 14,
  EVENT_IGF_DIVIDER_32768 = 15
}
 Input Glitch Filter divider configurations. More...
 
enum  events_igf_edge {
  EVENT_IGF_EDGE_NONE = 0,
  EVENT_IGF_EDGE_RISING = 1,
  EVENT_IGF_EDGE_FALLING = 2,
  EVENT_IGF_EDGE_BOTH = 3
}
 Event Input Glitch Filter edge detection configurations. More...
 

Functions

static void events_ch_clear_overrun_status (uint32_t channel_id)
 Clear the overrun status of an Event Channel. More...
 
static void events_ch_clear_trigger_status (uint32_t channel_id)
 Clear the trigger status of an Event Channel. More...
 
void events_ch_configure (struct events_ch_conf *const config)
 Configure an Event Channel. More...
 
static void events_ch_disable (uint32_t channel_id)
 Disable an Event Channel. More...
 
static void events_ch_disable_software_trigger (uint32_t channel_id)
 Disable the software trigger for an Event Channel. More...
 
static void events_ch_enable (uint32_t channel_id)
 Enable an Event Channel. More...
 
static void events_ch_enable_software_trigger (uint32_t channel_id)
 Enable the software trigger for an Event Channel. More...
 
void events_ch_get_config_defaults (struct events_ch_conf *const config)
 Initialize an Event Channel configuration structure to defaults. More...
 
static bool events_ch_is_enabled (uint32_t channel_id)
 Get the status (enabled or disabled) of an Event Channel. More...
 
static bool events_ch_is_overrun (uint32_t channel_id)
 Get the overrun status of an Event Channel. More...
 
static bool events_ch_is_ready (uint32_t channel_id)
 Get the busy status of an Event Channel. More...
 
static bool events_ch_is_triggered (uint32_t channel_id)
 Get the trigger status of an Event Channel. More...
 
static void events_ch_software_trigger (uint32_t channel_id)
 Trigger a Software Event for the corresponding Event Channel. More...
 
void events_disable (void)
 Disable the events module. More...
 
void events_enable (void)
 Enable the events module. More...
 
void events_get_config_defaults (struct events_conf *const config)
 Initialize an events configuration structure to defaults. More...
 
void events_init (struct events_conf *const config)
 Initialize the events module. More...
 
static void events_set_igf_divider (enum events_igf_divider divider)
 Set the Input Glitch Filter Divider. More...