Microchip® Advanced Software Framework

rtc_tamper.h File Reference

SAM RTC Driver (Tamper)

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

Data Structures

struct  rtc_tamper_config
 RTC Tamper configuration structure. More...
 
struct  rtc_tamper_input_config
 RTC tamper input configuration structure. More...
 

Macros

#define RTC_TAMPER_DETECT_EVT   (1UL << 5)
 RTC tamper input event detection bitmask. More...
 
#define RTC_TAMPER_DETECT_ID0   (1UL << 0)
 RTC tamper ID0 detection bitmask. More...
 
#define RTC_TAMPER_DETECT_ID1   (1UL << 1)
 RTC tamper ID1 detection bitmask. More...
 
#define RTC_TAMPER_DETECT_ID2   (1UL << 2)
 RTC tamper ID2 detection bitmask. More...
 
#define RTC_TAMPER_DETECT_ID3   (1UL << 3)
 RTC tamper ID3 detection bitmask. More...
 
#define RTC_TAMPER_DETECT_ID4   (1UL << 4)
 RTC tamper ID4 detection bitmask. More...
 

Enumerations

enum  rtc_tamper_active_layer_freq_divider {
  RTC_TAMPER_ACTIVE_LAYER_FREQ_DIV_2 = RTC_MODE0_CTRLB_ACTF_DIV2,
  RTC_TAMPER_ACTIVE_LAYER_FREQ_DIV_4 = RTC_MODE0_CTRLB_ACTF_DIV4,
  RTC_TAMPER_ACTIVE_LAYER_FREQ_DIV_8 = RTC_MODE0_CTRLB_ACTF_DIV8,
  RTC_TAMPER_ACTIVE_LAYER_FREQ_DIV_16 = RTC_MODE0_CTRLB_ACTF_DIV16,
  RTC_TAMPER_ACTIVE_LAYER_FREQ_DIV_32 = RTC_MODE0_CTRLB_ACTF_DIV32,
  RTC_TAMPER_ACTIVE_LAYER_FREQ_DIV_64 = RTC_MODE0_CTRLB_ACTF_DIV64,
  RTC_TAMPER_ACTIVE_LAYER_FREQ_DIV_128 = RTC_MODE0_CTRLB_ACTF_DIV128,
  RTC_TAMPER_ACTIVE_LAYER_FREQ_DIV_256 = RTC_MODE0_CTRLB_ACTF_DIV256
}
 RTC tamper active layer frequency divider. More...
 
enum  rtc_tamper_debounce_freq_divider {
  RTC_TAMPER_DEBOUNCE_FREQ_DIV_2 = RTC_MODE0_CTRLB_DEBF_DIV2,
  RTC_TAMPER_DEBOUNCE_FREQ_DIV_4 = RTC_MODE0_CTRLB_DEBF_DIV4,
  RTC_TAMPER_DEBOUNCE_FREQ_DIV_8 = RTC_MODE0_CTRLB_DEBF_DIV8,
  RTC_TAMPER_DEBOUNCE_FREQ_DIV_16 = RTC_MODE0_CTRLB_DEBF_DIV16,
  RTC_TAMPER_DEBOUNCE_FREQ_DIV_32 = RTC_MODE0_CTRLB_DEBF_DIV32,
  RTC_TAMPER_DEBOUNCE_FREQ_DIV_64 = RTC_MODE0_CTRLB_DEBF_DIV64,
  RTC_TAMPER_DEBOUNCE_FREQ_DIV_128 = RTC_MODE0_CTRLB_DEBF_DIV128,
  RTC_TAMPER_DEBOUNCE_FREQ_DIV_256 = RTC_MODE0_CTRLB_DEBF_DIV256
}
 RTC tamper debounce frequency divider. More...
 
enum  rtc_tamper_debounce_seq {
  RTC_TAMPER_DEBOUNCE_SYNC,
  RTC_TAMPER_DEBOUNCE_ASYNC,
  RTC_TAMPER_DEBOUNCE_MAJORITY
}
 RTC tamper debounce sequential. More...
 
enum  rtc_tamper_input_action {
  RTC_TAMPER_INPUT_ACTION_OFF = RTC_TAMPCTRL_IN0ACT_OFF,
  RTC_TAMPER_INPUT_ACTION_WAKE = RTC_TAMPCTRL_IN0ACT_WAKE,
  RTC_TAMPER_INPUT_ACTION_CAPTURE = RTC_TAMPCTRL_IN0ACT_CAPTURE,
  RTC_TAMPER_INPUT_ACTION_ACTL = RTC_TAMPCTRL_IN0ACT_ACTL
}
 RTC tamper input action. More...
 
enum  rtc_tamper_level_sel {
  RTC_TAMPER_LEVEL_FALLING = (0),
  RTC_TAMPER_LEVEL_RISING = (1)
}
 RTC tamper input level select. More...
 

Functions

RTC Tamper Detection
static void rtc_tamper_get_config_defaults (struct rtc_tamper_config *const config)
 Gets the RTC tamper default configurations. More...
 
enum status_code rtc_tamper_set_config (struct rtc_module *const module, struct rtc_tamper_config *const tamper_cfg)
 
static uint32_t rtc_tamper_get_detect_flag (struct rtc_module *const module)
 Retrieves the RTC tamper detection status. More...
 
static void rtc_tamper_clear_detect_flag (struct rtc_module *const module, const uint32_t detect_flags)
 Clears RTC tamper detection flag. More...