Microchip® Advanced Software Framework

ast.c File Reference

AST driver for AVR32 UC3.

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

#include "compiler.h"
#include "ast.h"

Functions

bool ast_change_clk_source (volatile avr32_ast_t *ast, uint8_t osc_type, uint8_t psel)
 This function will change the clock source of the AST module. More...
 
void ast_clear_alarm_status_flag (volatile avr32_ast_t *ast, uint32_t alarm_channel)
 This function clears the AST Alarm status flags. More...
 
void ast_clear_all_status_flags (volatile avr32_ast_t *ast)
 This function clears all the AST status flags. More...
 
void ast_clear_clkrdy_status_flag (volatile avr32_ast_t *ast)
 This function clears the AST Clock Ready status flags. More...
 
void ast_clear_ovf_status_flag (volatile avr32_ast_t *ast)
 This function clears the AST Overflow status flags. More...
 
void ast_clear_periodic_status_flag (volatile avr32_ast_t *ast, uint32_t periodic_channel)
 This function clears the AST Periodic event status flags. More...
 
void ast_clear_prescalar (volatile avr32_ast_t *ast)
 This function clears the AST periodic prescalar counter to zero. More...
 
void ast_clear_ready_status_flag (volatile avr32_ast_t *ast)
 This function clears the AST Ready status flags. More...
 
void ast_clear_status_flag (volatile avr32_ast_t *ast, uint32_t status_mask)
 This function clears the AST status flags. More...
 
bool ast_configure_digital_tuner (volatile avr32_ast_t *ast, uint32_t input_freq, uint32_t tuned_freq)
 Function to tune the AST prescalar frequency to the desired frequency. More...
 
void ast_disable (volatile avr32_ast_t *ast)
 Disable the AST. More...
 
void ast_disable_alarm0 (volatile avr32_ast_t *ast)
 This function Disable the AST alarm0. More...
 
void ast_disable_alarm1 (volatile avr32_ast_t *ast)
 This function Disable the AST alarm1 event. More...
 
void ast_disable_alarm_async_wakeup (volatile avr32_ast_t *ast, uint8_t alarm_channel)
 This function disables the AST Alarm Asynchronous wake-up. More...
 
void ast_disable_alarm_interrupt (volatile avr32_ast_t *ast, uint8_t alarm_channel)
 This function disables the AST Alarm interrupt. More...
 
void ast_disable_all_interrupts (volatile avr32_ast_t *ast)
 This function disables all the AST interrupts. More...
 
void ast_disable_async_wakeup (volatile avr32_ast_t *ast, uint32_t wakeup_mask)
 This function disables the AST Asynchronous wake-up. More...
 
void ast_disable_clkrdy_interrupt (volatile avr32_ast_t *ast)
 This function disables the AST Ready interrupt. More...
 
void ast_disable_digital_tuner (volatile avr32_ast_t *ast)
 This function will disable the digital tuner of AST module. More...
 
void ast_disable_interrupt (volatile avr32_ast_t *ast, uint32_t interrupt_mask)
 This function disables the AST interrupts. More...
 
void ast_disable_ovf_async_wakeup (volatile avr32_ast_t *ast)
 This function disables the AST Overflow Asynchronous wake-up. More...
 
void ast_disable_ovf_interrupt (volatile avr32_ast_t *ast)
 This function disables the AST Overflow interrupt. More...
 
void ast_disable_periodic0 (volatile avr32_ast_t *ast)
 This function Disable the AST periodic0 event. More...
 
void ast_disable_periodic1 (volatile avr32_ast_t *ast)
 This function Disable the AST periodic1 event. More...
 
void ast_disable_periodic_async_wakeup (volatile avr32_ast_t *ast, uint8_t periodic_channel)
 This function disables the AST Periodic Asynchronous wake-up. More...
 
void ast_disable_periodic_interrupt (volatile avr32_ast_t *ast, uint8_t periodic_channel)
 This function disables the AST Periodic interrupt. More...
 
void ast_disable_ready_interrupt (volatile avr32_ast_t *ast)
 This function enables the AST Ready interrupt. More...
 
void ast_enable (volatile avr32_ast_t *ast)
 Enable the AST. More...
 
void ast_enable_alarm0 (volatile avr32_ast_t *ast)
 This function Enable the AST alarm0 event. More...
 
void ast_enable_alarm1 (volatile avr32_ast_t *ast)
 This function Enable the AST alarm1. More...
 
void ast_enable_alarm_async_wakeup (volatile avr32_ast_t *ast, uint8_t alarm_channel)
 This function enables the AST Alarm Asynchronous wake-up. More...
 
void ast_enable_alarm_interrupt (volatile avr32_ast_t *ast, uint8_t alarm_channel)
 This function enables the AST Alarm interrupt. More...
 
void ast_enable_async_wakeup (volatile avr32_ast_t *ast, uint32_t wakeup_mask)
 This function enables the AST Asynchronous wake-up. More...
 
void ast_enable_clkrdy_interrupt (volatile avr32_ast_t *ast)
 This function enables the AST Ready interrupt. More...
 
void ast_enable_counter_clear_on_alarm (volatile avr32_ast_t *ast, uint8_t alarm_channel)
 This function enables the option to clear the counter on AST alarm. More...
 
void ast_enable_interrupt (volatile avr32_ast_t *ast, uint32_t interrupt_mask)
 This function enables the AST interrupt. More...
 
void ast_enable_ovf_async_wakeup (volatile avr32_ast_t *ast)
 This function enables the AST Overflow Asynchronous wake-up. More...
 
void ast_enable_ovf_interrupt (volatile avr32_ast_t *ast)
 This function enables the AST Overflow interrupt. More...
 
void ast_enable_periodic0 (volatile avr32_ast_t *ast)
 This function Enable the AST periodic0 event. More...
 
void ast_enable_periodic1 (volatile avr32_ast_t *ast)
 This function Enable the AST periodic1 event. More...
 
void ast_enable_periodic_async_wakeup (volatile avr32_ast_t *ast, uint8_t periodic_channel)
 This function enables the AST Periodic Asynchronous wake-up. More...
 
void ast_enable_periodic_interrupt (volatile avr32_ast_t *ast, uint8_t periodic_channel)
 This function enables the AST Periodic interrupt. More...
 
void ast_enable_ready_interrupt (volatile avr32_ast_t *ast)
 This function enables the AST Ready interrupt. More...
 
ast_calendar_t ast_get_calendar_value (volatile avr32_ast_t *ast)
 This function returns the AST current calendar value. More...
 
uint32_t ast_get_counter_value (volatile avr32_ast_t *ast)
 This function returns the AST current counter value. More...
 
bool ast_init_calendar (volatile avr32_ast_t *ast, uint8_t osc_type, uint8_t psel, ast_calendar_t ast_calendar)
 This function will initialize the AST module in calendar Mode. More...
 
bool ast_init_counter (volatile avr32_ast_t *ast, uint8_t osc_type, uint8_t psel, uint32_t ast_counter)
 This function will initialize the AST module in counter Mode. More...
 
void ast_init_digital_tuner (volatile avr32_ast_t *ast, bool add, uint8_t value, uint8_t exp)
 This function will initialize the digital tuner of AST module. More...
 
static bool ast_is_busy (volatile avr32_ast_t *ast)
 Check the busy status of AST. More...
 
static bool ast_is_clkbusy (volatile avr32_ast_t *ast)
 Check the busy status of AST clock. More...
 
void ast_set_alarm0_value (volatile avr32_ast_t *ast, U32 alarm_value)
 This function Set the AST alarm0 value. More...
 
void ast_set_alarm1_value (volatile avr32_ast_t *ast, U32 alarm_value)
 This function Set the AST alarm1 value. More...
 
void ast_set_calendar_value (volatile avr32_ast_t *ast, ast_calendar_t ast_calendar)
 This function sets the AST current calendar value. More...
 
void ast_set_counter_value (volatile avr32_ast_t *ast, uint32_t ast_counter)
 This function sets the AST current counter value. More...
 
void ast_set_periodic0_value (volatile avr32_ast_t *ast, avr32_ast_pir0_t pir)
 This function Set the AST periodic0 value. More...
 
void ast_set_periodic1_value (volatile avr32_ast_t *ast, avr32_ast_pir1_t pir)
 This function Set the AST periodic1 value. More...
 

static bool ast_is_clkbusy ( volatile avr32_ast_t *  ast)
static

Check the busy status of AST clock.

Parameters
astBase address of the AST (i.e. &AVR32_AST).
Returns
Boolean true If AST clock is busy, false otherwise.

Referenced by ast_change_clk_source(), ast_init_calendar(), and ast_init_counter().