#include "contiki.h"
#include "leds.h"
#include "asf.h"
#include "rtc_count.h"
#include "rtc_count_interrupt.h"
#include "system_interrupt_features.h"
#include "tc_interrupt.h"
#include "rtimer-arch.h"
Macros | |
#define | RTC_SECOND 1000UL |
#define | RTIMER_COMPENSATION_TICKS 0 |
#define | RTIMER_SYNC_VALUE 10 |
#define | TC45_WAIT_BUSY() while(REG_TC4_STATUS & TC_STATUS_SYNCBUSY) |
#define | TC_INT_ALL (TC_INT_OVF | TC_INT_ERR | TC_INT_MC0 | TC_INT_MC1) |
#define | TC_INT_ERR (1 << 1) |
#define | TC_INT_MC0 (1 << 4) |
#define | TC_INT_MC1 (1 << 5) |
#define | TC_INT_OVF (1 << 0) |
#define | TIMER TC4 |
Functions | |
void | _TC4_Handler (void) |
void | configure_rtc_callbacks (void) |
[initialize_rtc] More... | |
void | configure_rtc_count (void) |
[callback] More... | |
void | rtc_overflow_callback (void) |
[rtc_module_instance] More... | |
void | rtimer_adjust_ticks (uint32_t) |
void | rtimer_arch_init (void) |
rtimer_clock_t | rtimer_arch_now (void) |
Copyright (c) 2015 Microchip Technology Inc and 2012 – 2013, Thingsquare, http://www.thingsquare.com/. More... | |
void | rtimer_arch_schedule (rtimer_clock_t t) |
void | rtimer_arch_sleep (rtimer_clock_t howlong) |
static void | rtimer_irq_callback (struct tc_module *const module_inst) |
void | sleep_callback (struct rtimer *t, void *ptr) |
Copyright (c) 2015 Microchip Technology Inc and 2012 – 2013, Thingsquare, http://www.thingsquare.com/. More... | |
Variables | |
struct rtc_module | rtc_instance |
[rtc_module_instance] More... | |
uint32_t | sleep_count |
static struct tc_module | tc_instance |
#define RTC_SECOND 1000UL |
Referenced by rtimer_adjust_ticks(), and rtimer_arch_sleep().
#define RTIMER_COMPENSATION_TICKS 0 |
Referenced by rtimer_arch_schedule().
#define RTIMER_SYNC_VALUE 10 |
Referenced by rtimer_arch_schedule().
#define TC45_WAIT_BUSY | ( | ) | while(REG_TC4_STATUS & TC_STATUS_SYNCBUSY) |
#define TC_INT_ALL (TC_INT_OVF | TC_INT_ERR | TC_INT_MC0 | TC_INT_MC1) |
Referenced by _TC4_Handler().
#define TC_INT_ERR (1 << 1) |
#define TC_INT_MC0 (1 << 4) |
#define TC_INT_MC1 (1 << 5) |
#define TC_INT_OVF (1 << 0) |
#define TIMER TC4 |
Referenced by rtimer_arch_init().
void _TC4_Handler | ( | void | ) |
References ENERGEST_OFF, ENERGEST_ON, ENERGEST_TYPE_IRQ, and TC_INT_ALL.
void configure_rtc_callbacks | ( | void | ) |
[initialize_rtc]
[setup_callback]
[reg_callback]
[reg_callback] [en_callback]
[en_callback]
void configure_rtc_count | ( | void | ) |
[callback]
[initialize_rtc]
[init_conf]
[init_conf]
[set_config]
[set_config] [init_rtc]
[init_rtc]
[enable]
[enable]
void rtc_overflow_callback | ( | void | ) |
[rtc_module_instance]
Configure the RTC timer overflow callback.
[callback]
[overflow_act]
[overflow_act]
References rtc_count_disable(), and rtc_instance.
Referenced by configure_rtc_callbacks().
void rtimer_adjust_ticks | ( | uint32_t | howlong | ) |
References clock_adjust_ticks(), RTC_SECOND, rtimer_arch_now(), rtimer_run_next(), tc_instance, tc_set_count_value(), and ticks.
Referenced by rtimer_arch_sleep().
rtimer_clock_t rtimer_arch_now | ( | void | ) |
Copyright (c) 2015 Microchip Technology Inc and 2012 – 2013, Thingsquare, http://www.thingsquare.com/.
All rights reserved.
Redistribution and use in source and binary forms, with or without modification, are permitted provided that the following conditions are met:
THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
References tc_get_count_value(), and tc_instance.
Referenced by rtimer_adjust_ticks(), and rtimer_arch_schedule().
void rtimer_arch_sleep | ( | rtimer_clock_t | howlong | ) |
References ENERGEST_OFF, ENERGEST_ON, ENERGEST_TYPE_CPU, ENERGEST_TYPE_LPM, rtc_count_enable(), rtc_count_set_period(), rtc_instance, RTC_SECOND, rtimer_adjust_ticks(), sleep_count, system_set_sleepmode(), system_sleep(), and SYSTEM_SLEEPMODE_STANDBY.
Referenced by powercycle().
|
static |
References rtimer_run_next().
Referenced by rtimer_arch_init().
void sleep_callback | ( | struct rtimer * | t, |
void * | ptr | ||
) |
Copyright (c) 2015 Microchip Technology Inc and 2012 – 2013, Thingsquare, http://www.thingsquare.com/.
All rights reserved.
Redistribution and use in source and binary forms, with or without modification, are permitted provided that the following conditions are met:
THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
struct rtc_module rtc_instance |
[rtc_module_instance]
uint32_t sleep_count |
Referenced by rtimer_arch_sleep().
|
static |