Microchip® Advanced Software Framework

parc.h File Reference

SAM4L PARC driver.

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

#include <compiler.h>
#include <status_codes.h>

Data Structures

struct  parc_config
 PARC configuration structure. More...
 
struct  parc_module
 PARC driver structure. More...
 

Typedefs

typedef void(* parc_callback_t )(const struct parc_module *const module_inst)
 PARC interrupt handler callback type. More...
 

Enumerations

enum  parc_callback_type {
  PARC_CALLBACK_DATA_READY = 0,
  PARC_CALLBACK_OVERRUN
}
 PARC callback type. More...
 
enum  parc_capture_mode {
  PARC_BOTH_CAPTURE = 0,
  PARC_EVEN_CAPTURE,
  PARC_ODD_CAPTURE
}
 PARC captured byte. More...
 
enum  parc_data_size {
  PARC_DSIZE_BYTE = 0,
  PARC_DSIZE_HALFWORD = 1,
  PARC_DSIZE_WORD = 2
}
 PARC data Size. More...
 
enum  parc_interrupt_source {
  PARC_INTERRUPT_DRDY = PARC_SR_DRDY,
  PARC_INTERRUPT_OVR = PARC_SR_OVR
}
 PARC interrupt source. More...
 
enum  parc_sampling_edge {
  PARC_RISING_EDGE = 0,
  PARC_FALLING_EDGE = 1
}
 PARC sampling edge. More...
 
enum  parc_smode {
  PARC_SMODE_PCEN1_H = 0,
  PARC_SMODE_PCEN1_AND_PCEN2_H,
  PARC_SMODE_PCEN1_OR_PCEN2_H,
  PARC_SMODE_ALWAYS
}
 PARC sample mode. More...
 
enum  parc_status {
  PARC_STATUS_EN = PARC_SR_EN,
  PARC_STATUS_CS = PARC_SR_CS,
  PARC_STATUS_DRDY = PARC_SR_DRDY,
  PARC_STATUS_OVR = PARC_SR_OVR
}
 PARC status. More...
 

Functions

static enum status_code parc_clear_status (struct parc_module *const module_inst, const uint32_t status)
 Clear PARC interrupt(s) status flag. More...
 
static enum status_code parc_disable (struct parc_module *const module_inst)
 Disable the PARC module. More...
 
static enum status_code parc_disable_events (struct parc_module *const module_inst)
 Disable the PARC events mode. More...
 
static void parc_disable_interrupts (struct parc_module *const module_inst, enum parc_interrupt_source source)
 Disable PARC interrupt(s). More...
 
static enum status_code parc_enable (struct parc_module *const module_inst)
 Enable the PARC module. More...
 
static enum status_code parc_enable_events (struct parc_module *const module_inst)
 Enable the PARC events mode. More...
 
static void parc_enable_interrupts (struct parc_module *const module_inst, enum parc_interrupt_source source)
 Enable PARC interrupt(s). More...
 
static void parc_get_config_defaults (struct parc_config *const config)
 Initialize a PARC configuration structure to default values. More...
 
static uint32_t parc_get_status (struct parc_module *const module_inst)
 Get the PARC module's current status. More...
 
static uint32_t parc_get_version (struct parc_module *const module_inst)
 Get the PARC module version. More...
 
enum status_code parc_init (struct parc_module *const module_inst, Parc *const hw, struct parc_config *const config)
 Initialize the PARC module. More...
 
static bool parc_is_data_ready (struct parc_module *const module_inst)
 Check the data ready status of PARC. More...
 
static enum status_code parc_read (struct parc_module *const module_inst, uint32_t *data)
 Get PARC data. More...
 
static uint32_t parc_read_interrupt_mask (struct parc_module *const module_inst)
 Get the PARC interrupt mask. More...
 
enum status_code parc_set_config (struct parc_module *const module_inst, struct parc_config *config)
 Configure the PARC module. More...
 
static void parc_start_capture (struct parc_module *const module_inst)
 Start a PARC conversion. More...
 
static void parc_stop_capture (struct parc_module *const module_inst)
 Stop a PARC conversion. More...