Microchip® Advanced Software Framework

tc-rtimer-arch.c File Reference
#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
#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  )
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)
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:

  1. Redistributions of source code must retain the above copyright notice, this list of conditions and the following disclaimer.
  2. Redistributions in binary form must reproduce the above copyright notice, this list of conditions and the following disclaimer in the documentation and/or other materials provided with the distribution.
  3. Neither the name of Atmel nor the name of Thingsquare nor the names of its contributors may be used to endorse or promote products derived from this software without specific prior written permission.
  4. This software may only be redistributed and used in connection with an Atmel microcontroller or Atmel wireless product.

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().

static void rtimer_irq_callback ( struct tc_module *const  module_inst)
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:

  1. Redistributions of source code must retain the above copyright notice, this list of conditions and the following disclaimer.
  2. Redistributions in binary form must reproduce the above copyright notice, this list of conditions and the following disclaimer in the documentation and/or other materials provided with the distribution.
  3. Neither the name of Atmel nor the name of Thingsquare nor the names of its contributors may be used to endorse or promote products derived from this software without specific prior written permission.
  4. This software may only be redistributed and used in connection with an Atmel microcontroller or Atmel wireless product.

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().

struct tc_module tc_instance
static