diff options
| author | David Madison <dmadison@users.noreply.github.com> | 2019-02-15 12:08:19 -0500 | 
|---|---|---|
| committer | David Madison <dmadison@users.noreply.github.com> | 2019-02-15 12:08:31 -0500 | 
| commit | 4a7ef06b516dba4cdda939a16e5458c59592f6b1 (patch) | |
| tree | b00e15e665a2f456c1fb207aeb9ac12283181a00 /firmwares/wifishield/wifiHD/src/SOFTWARE_FRAMEWORK/DRIVERS/CPU | |
| parent | 98f00eb533e0ed571b90f8e014d1eb59052a0597 (diff) | |
Delete 'firmwares' folder
Diffstat (limited to 'firmwares/wifishield/wifiHD/src/SOFTWARE_FRAMEWORK/DRIVERS/CPU')
| -rw-r--r-- | firmwares/wifishield/wifiHD/src/SOFTWARE_FRAMEWORK/DRIVERS/CPU/CYCLE_COUNTER/cycle_counter.h | 309 | 
1 files changed, 0 insertions, 309 deletions
diff --git a/firmwares/wifishield/wifiHD/src/SOFTWARE_FRAMEWORK/DRIVERS/CPU/CYCLE_COUNTER/cycle_counter.h b/firmwares/wifishield/wifiHD/src/SOFTWARE_FRAMEWORK/DRIVERS/CPU/CYCLE_COUNTER/cycle_counter.h deleted file mode 100644 index d0c51df..0000000 --- a/firmwares/wifishield/wifiHD/src/SOFTWARE_FRAMEWORK/DRIVERS/CPU/CYCLE_COUNTER/cycle_counter.h +++ /dev/null @@ -1,309 +0,0 @@ -/* This header file is part of the ATMEL AVR-UC3-SoftwareFramework-1.7.0 Release */ - -/*This file has been prepared for Doxygen automatic documentation generation.*/ -/*! \file ********************************************************************* - * - * \brief Cycle counter driver. - * - * - Compiler:           IAR EWAVR32 and GNU GCC for AVR32 - * - Supported devices:  All AVR32UC devices. - * - AppNote: - * - * \author               Atmel Corporation: http://www.atmel.com \n - *                       Support and FAQ: http://support.atmel.no/ - * - *****************************************************************************/ - -/* Copyright (c) 2009 Atmel Corporation. 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. The name of Atmel may not 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 - * AVR product. - * - * THIS SOFTWARE IS PROVIDED BY ATMEL "AS IS" AND ANY EXPRESS OR IMPLIED - * WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF - * MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NON-INFRINGEMENT ARE - * EXPRESSLY AND SPECIFICALLY DISCLAIMED. IN NO EVENT SHALL ATMEL 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 - * - */ - -#ifndef _CYCLE_COUNTER_H_ -#define _CYCLE_COUNTER_H_ - -#include "compiler.h" - - -//! Structure holding private information, automatically initialized by the -//! cpu_set_timeout() function. -typedef struct -{ -  //! The cycle count at the begining of the timeout. -  unsigned long delay_start_cycle; - -  //! The cycle count at the end of the timeout. -  unsigned long delay_end_cycle; - -  //! Enable/disable the timout detection -  unsigned char timer_state; -  #define CPU_TIMER_STATE_STARTED 0 -  #define CPU_TIMER_STATE_REACHED 1 -  #define CPU_TIMER_STATE_STOPPED 2 -} t_cpu_time; - - -/*! - * \brief Convert milli-seconds into CPU cycles. - * - * \param  ms:      Number of millisecond. - * \param  fcpu_hz: CPU frequency in Hz. - * - * \return the converted number of CPU cycles. - */ -#if (defined __GNUC__) -__attribute__((__always_inline__)) -#endif -extern __inline__ U32 cpu_ms_2_cy(unsigned long ms, unsigned long fcpu_hz) -{ -  return ((unsigned long long)ms * fcpu_hz + 999) / 1000; -} - - -/*! - * \brief Convert micro-seconds into CPU cycles. - * - * \param  us:      Number of microsecond. - * \param  fcpu_hz: CPU frequency in Hz. - * - * \return the converted number of CPU cycles. - */ -#if (defined __GNUC__) -__attribute__((__always_inline__)) -#endif -extern __inline__ U32 cpu_us_2_cy(unsigned long us, unsigned long fcpu_hz) -{ -  return ((unsigned long long)us * fcpu_hz + 999999) / 1000000; -} - - -/*! - * \brief Convert CPU cycles into milli-seconds. - * - * \param  cy:      Number of CPU cycles. - * \param  fcpu_hz: CPU frequency in Hz. - * - * \return the converted number of milli-second. - */ -#if (defined __GNUC__) -__attribute__((__always_inline__)) -#endif -extern __inline__ U32 cpu_cy_2_ms(unsigned long cy, unsigned long fcpu_hz) -{ -  return ((unsigned long long)cy * 1000 + fcpu_hz-1) / fcpu_hz; -} - - -/*! - * \brief Convert CPU cycles into micro-seconds. - * - * \param  cy:      Number of CPU cycles. - * \param  fcpu_hz: CPU frequency in Hz. - * - * \return the converted number of micro-second. - */ -#if (defined __GNUC__) -__attribute__((__always_inline__)) -#endif -extern __inline__ U32 cpu_cy_2_us(unsigned long cy, unsigned long fcpu_hz) -{ -  return ((unsigned long long)cy * 1000000 + fcpu_hz-1) / fcpu_hz; -} - - -/*! - * \brief Set a timer variable. - * - * Ex:  t_cpu_time timer; - *      cpu_set_timeout( cpu_ms_2_cy(10, FOSC0), &timer ); // timeout in 10 ms - *      if( cpu_is_timeout(&timer) ) - *         cpu_stop_timeout(&timer); - *         ../.. - * - * \param  delay:   (input) delay in CPU cycles before timeout. - * \param  cpu_time: (output) internal information used by the timer API. - */ -#if (defined __GNUC__) -__attribute__((__always_inline__)) -#endif -extern __inline__ void cpu_set_timeout(unsigned long delay, t_cpu_time *cpu_time) -{ -  cpu_time->delay_start_cycle = Get_system_register(AVR32_COUNT); -  cpu_time->delay_end_cycle   = cpu_time->delay_start_cycle + delay; -  cpu_time->timer_state       = CPU_TIMER_STATE_STARTED; -} - - -/*! - * \brief Test if a timer variable reached its timeout. - * - * Once the timeout is reached, the function will always return TRUE, - * until the cpu_stop_timeout() function is called. - * - * Ex:  t_cpu_time timer; - *      cpu_set_timeout( 10, FOSC0, &timer ); // timeout in 10 ms - *      if( cpu_is_timeout(&timer) ) - *         cpu_stop_timeout(&timer); - *         ../.. - * - * \param  cpu_time:   (input) internal information used by the timer API. - * - * \return TRUE if timeout occured, otherwise FALSE. - */ -#if (defined __GNUC__) -__attribute__((__always_inline__)) -#endif -extern __inline__ unsigned long cpu_is_timeout(t_cpu_time *cpu_time) -{ -  unsigned long current_cycle_count = Get_system_register(AVR32_COUNT); - -  if( cpu_time->timer_state==CPU_TIMER_STATE_STOPPED ) -    return FALSE; - -  // Test if the timeout as already occured. -  else if (cpu_time->timer_state == CPU_TIMER_STATE_REACHED) -    return TRUE; - -  // If the ending cycle count of this timeout is wrapped, ... -  else if (cpu_time->delay_start_cycle > cpu_time->delay_end_cycle) -  { -    if (current_cycle_count < cpu_time->delay_start_cycle && current_cycle_count > cpu_time->delay_end_cycle) -    { -      cpu_time->timer_state = CPU_TIMER_STATE_REACHED; -      return TRUE; -    } -    return FALSE; -  } -  else -  { -    if (current_cycle_count < cpu_time->delay_start_cycle || current_cycle_count > cpu_time->delay_end_cycle) -    { -      cpu_time->timer_state = CPU_TIMER_STATE_REACHED; -      return TRUE; -    } -    return FALSE; -  } -} - - -/*! - * \brief Stop a timeout detection. - * - * Ex:  t_cpu_time timer; - *      cpu_set_timeout( 10, FOSC0, &timer ); // timeout in 10 ms - *      if( cpu_is_timeout(&timer) ) - *         cpu_stop_timeout(&timer); - *         ../.. - * - * \param  cpu_time:   (input) internal information used by the timer API. - */ -#if (defined __GNUC__) -__attribute__((__always_inline__)) -#endif -extern __inline__ void cpu_stop_timeout(t_cpu_time *cpu_time) -{ -  cpu_time->timer_state = CPU_TIMER_STATE_STOPPED; -} - - -/*! - * \brief Test if a timer is stopped. - * - * \param  cpu_time:   (input) internal information used by the timer API. - * - * \return TRUE if timer is stopped, otherwise FALSE. - */ -#if (defined __GNUC__) -__attribute__((__always_inline__)) -#endif -extern __inline__ unsigned long cpu_is_timer_stopped(t_cpu_time *cpu_time) -{ - -  if( cpu_time->timer_state==CPU_TIMER_STATE_STOPPED ) -    return TRUE; -  else -    return FALSE; -} - - -/*! - * \brief Waits during at least the specified delay (in millisecond) before returning. - * - * \param  delay:   Number of millisecond to wait. - * \param  fcpu_hz: CPU frequency in Hz. - */ -#if (defined __GNUC__) -__attribute__((__always_inline__)) -#endif -extern __inline__ void cpu_delay_ms(unsigned long delay, unsigned long fcpu_hz) -{ -  t_cpu_time timer; -  cpu_set_timeout( cpu_ms_2_cy(delay, fcpu_hz), &timer); -  while( !cpu_is_timeout(&timer) ); -} - -/*! - * \brief Waits during at least the specified delay (in microsecond) before returning. - * - * \param  delay:   Number of microsecond to wait. - * \param  fcpu_hz: CPU frequency in Hz. - */ -#if (defined __GNUC__) -__attribute__((__always_inline__)) -#endif -extern __inline__ void cpu_delay_us(unsigned long delay, unsigned long fcpu_hz) -{ -  t_cpu_time timer; -  cpu_set_timeout( cpu_us_2_cy(delay, fcpu_hz), &timer); -  while( !cpu_is_timeout(&timer) ); -} - -/*! - * \brief Waits during at least the specified delay (in CPU cycles) before returning. - * - * \param  delay:   Number of CPU cycles to wait. - */ -#if (defined __GNUC__) -__attribute__((__always_inline__)) -#endif -extern __inline__ void cpu_delay_cy(unsigned long delay) -{ -  t_cpu_time timer; -  cpu_set_timeout( delay, &timer); -  while( !cpu_is_timeout(&timer) ); -} - - -#define Get_sys_count()     ( Get_system_register(AVR32_COUNT)        ) -#define Set_sys_count(x)    ( Set_system_register(AVR32_COUNT,   (x)) ) -#define Get_sys_compare()   ( Get_system_register(AVR32_COMPARE)      ) -#define Set_sys_compare(x)  ( Set_system_register(AVR32_COMPARE, (x)) ) - - -#endif // _CYCLE_COUNTER_H_  | 
