summaryrefslogtreecommitdiff
path: root/digital/beacon/src/Bitcloud_stack/Components/SystemEnvironment
diff options
context:
space:
mode:
Diffstat (limited to 'digital/beacon/src/Bitcloud_stack/Components/SystemEnvironment')
-rw-r--r--digital/beacon/src/Bitcloud_stack/Components/SystemEnvironment/include/bcEndian.h144
-rw-r--r--digital/beacon/src/Bitcloud_stack/Components/SystemEnvironment/include/bcSysSleep.h37
-rw-r--r--digital/beacon/src/Bitcloud_stack/Components/SystemEnvironment/include/dbg.h244
-rw-r--r--digital/beacon/src/Bitcloud_stack/Components/SystemEnvironment/include/mnUtils.h127
-rw-r--r--digital/beacon/src/Bitcloud_stack/Components/SystemEnvironment/include/queue.h92
-rw-r--r--digital/beacon/src/Bitcloud_stack/Components/SystemEnvironment/include/sysDbg.h31
-rw-r--r--digital/beacon/src/Bitcloud_stack/Components/SystemEnvironment/include/sysDuplicateTable.h82
-rw-r--r--digital/beacon/src/Bitcloud_stack/Components/SystemEnvironment/include/sysStat.h53
-rw-r--r--digital/beacon/src/Bitcloud_stack/Components/SystemEnvironment/include/sysTimer.h79
-rw-r--r--digital/beacon/src/Bitcloud_stack/Components/SystemEnvironment/include/taskManager.h118
-rw-r--r--digital/beacon/src/Bitcloud_stack/Components/SystemEnvironment/include/types.h242
11 files changed, 0 insertions, 1249 deletions
diff --git a/digital/beacon/src/Bitcloud_stack/Components/SystemEnvironment/include/bcEndian.h b/digital/beacon/src/Bitcloud_stack/Components/SystemEnvironment/include/bcEndian.h
deleted file mode 100644
index 405e2fc3..00000000
--- a/digital/beacon/src/Bitcloud_stack/Components/SystemEnvironment/include/bcEndian.h
+++ /dev/null
@@ -1,144 +0,0 @@
-/***************************************************************************//**
- \file bcEndian.h
-
- \brief
- Interface for endian-neutral code.
-
- \author
- Atmel Corporation: http://www.atmel.com \n
- Support email: avr@atmel.com
-
- Copyright (c) 2008-2011, Atmel Corporation. All rights reserved.
- Licensed under Atmel's Limited License Agreement (BitCloudTM).
-
- \internal
- History:
- 3/10/09 Max Gekk - Created.
- ******************************************************************************/
-#ifndef _BC_ENDIAN_H
-#define _BC_ENDIAN_H
-#ifdef _BIG_ENDIAN_
- #ifdef _DO_NOT_USE_BE
- #undef _BIG_ENDIAN_
- #endif //_DO_NOT_USE_BE
-#endif //_BIG_ENDIAN_
-
-/******************************************************************************
- Definitions section
- ******************************************************************************/
-/* Swaping bytes */
-#define SWAP16(x) ((uint16_t)(\
- (((uint16_t)(x) & (uint16_t)0x00ffU) << 8) | \
- (((uint16_t)(x) & (uint16_t)0xff00U) >> 8)))
-
-#define SWAP32(x) ((uint32_t)(\
- (((uint32_t)(x) & (uint32_t)0x000000ffUL) << 24) | \
- (((uint32_t)(x) & (uint32_t)0x0000ff00UL) << 8) | \
- (((uint32_t)(x) & (uint32_t)0x00ff0000UL) >> 8) | \
- (((uint32_t)(x) & (uint32_t)0xff000000UL) >> 24)))
-
-#define SWAP64(x) ((uint64_t)(\
- (((uint64_t)(x) & (uint64_t)0x00000000000000ffULL) << 56) | \
- (((uint64_t)(x) & (uint64_t)0x000000000000ff00ULL) << 40) | \
- (((uint64_t)(x) & (uint64_t)0x0000000000ff0000ULL) << 24) | \
- (((uint64_t)(x) & (uint64_t)0x00000000ff000000ULL) << 8) | \
- (((uint64_t)(x) & (uint64_t)0x000000ff00000000ULL) >> 8) | \
- (((uint64_t)(x) & (uint64_t)0x0000ff0000000000ULL) >> 24) | \
- (((uint64_t)(x) & (uint64_t)0x00ff000000000000ULL) >> 40) | \
- (((uint64_t)(x) & (uint64_t)0xff00000000000000ULL) >> 56)))
-/* Macroses for reversing of bit fields in structure type depending on endian. */
-#if defined _BIG_ENDIAN_
- #define BIT_FIELDS_1(f1) f1;
- #define BIT_FIELDS_2(f1, f2) f2; f1;
- #define BIT_FIELDS_3(f1, f2, f3) f3; f2; f1;
- #define BIT_FIELDS_4(f1, f2, f3, f4) f4; f3; f2; f1;
- #define BIT_FIELDS_5(f1, f2, f3, f4, f5) f5; f4; f3; f2; f1;
- #define BIT_FIELDS_6(f1, f2, f3, f4, f5, f6) f6; f5; f4; f3; f2; f1;
- #define BIT_FIELDS_7(f1, f2, f3, f4, f5, f6, f7) f7; f6; f5; f4; f3; f2; f1;
- #define BIT_FIELDS_8(f1, f2, f3, f4, f5, f6, f7, f8) \
- f8; f7; f6; f5; f4; f3; f2; f1;
-#else /* _LITTLE_ENDIAN_ by default */
- #define BIT_FIELDS_1(f1) f1;
- #define BIT_FIELDS_2(f1, f2) f1; f2;
- #define BIT_FIELDS_3(f1, f2, f3) f1; f2; f3;
- #define BIT_FIELDS_4(f1, f2, f3, f4) f1; f2; f3; f4;
- #define BIT_FIELDS_5(f1, f2, f3, f4, f5) f1; f2; f3; f4; f5;
- #define BIT_FIELDS_6(f1, f2, f3, f4, f5, f6) f1; f2; f3; f4; f5; f6;
- #define BIT_FIELDS_7(f1, f2, f3, f4, f5, f6, f7) f1; f2; f3; f4; f5; f6; f7;
- #define BIT_FIELDS_8(f1, f2, f3, f4, f5, f6, f7, f8) \
- f1; f2; f3; f4; f5; f6; f7; f8;
-#endif /* _BIG_ENDIAN_ */
-
-/* various macroses to swap bytes */
-#ifdef _BIG_ENDIAN_
-// Toggles the endianism of u16 (by swapping its bytes).
-#if (defined __GNUC__)
- #define swap16(x) ((uint16_t)__builtin_bswap_16((uint16_t)(x)))
-#elif (defined __ICCAVR32__)
- #define swap16(x) ((uint16_t)__swap_bytes_in_halfwords((uint16_t)(x)))
-#else
- #error unknown compiler
-#endif
-
-// Toggles the endianism of u32 (by swapping its bytes).
-#if (defined __GNUC__)
- #define swap32(x) ((uint32_t)__builtin_bswap_32((uint32_t)(x)))
-#elif (defined __ICCAVR32__)
- #define swap32(x) ((uint32_t)__swap_bytes((uint32_t)(x)))
-#else
- #error unknown compiler
-#endif
-
-// Toggles the endianism of u64 (by swapping its bytes).
-#define swap64(x) ((uint64_t)(((uint64_t)swap32((uint64_t)(x) >> 32)) | ((uint64_t)swap32((uint64_t)(x)) << 32)))
-
-#define CPU_TO_LE16(x) swap16(x)
-#define CPU_TO_LE32(x) swap32(x)
-#define CPU_TO_LE64(x) swap64(x)
-#define LE16_TO_CPU(x) swap16(x)
-#define LE32_TO_CPU(x) swap32(x)
-#define LE64_TO_CPU(x) swap64(x)
-
-/* Converting of constants from CPU endian to little endian. */
-#define CCPU_TO_LE16(x) SWAP16(x)
-
-#define CCPU_TO_LE32(x) SWAP32(x)
-
-#define CCPU_TO_LE64(x) SWAP64(x)
-
-/* Converting of constants from little endian to CPU endian. */
-#define CLE16_TO_CPU(x) CCPU_TO_LE16(x)
-#define CLE32_TO_CPU(x) CCPU_TO_LE32(x)
-#define CLE64_TO_CPU(x) CCPU_TO_LE64(x)
-
-#else //_BIG_ENDIAN_
-
-#define CPU_TO_LE16(x) (x)
-#define CPU_TO_LE32(x) (x)
-#define CPU_TO_LE64(x) (x)
-#define LE16_TO_CPU(x) (x)
-#define LE32_TO_CPU(x) (x)
-#define LE64_TO_CPU(x) (x)
-#define CLE16_TO_CPU(x) (x)
-#define CLE32_TO_CPU(x) (x)
-#define CLE64_TO_CPU(x) (x)
-
-/* Converting of constants from CPU endian to little endian. */
-#define CCPU_TO_LE16(x) (x)
-#define CCPU_TO_LE32(x) (x)
-#define CCPU_TO_LE64(x) (x)
-
-#endif
-
-/******************************************************************************
- \brief The macro for declaration of bit fields with little endian order.
-
- Total size of bit fields must equal 8 bit (or one octet).
-
- \param amount - amount of bit fields in octet.
- \param fields - list of bit fields that are separated by ','.
- ******************************************************************************/
-#define LITTLE_ENDIAN_OCTET(amount, fields) BIT_FIELDS_ ## amount fields
-
-#endif /* _BC_ENDIAN_H */
-/* eof bcEndian.h */
diff --git a/digital/beacon/src/Bitcloud_stack/Components/SystemEnvironment/include/bcSysSleep.h b/digital/beacon/src/Bitcloud_stack/Components/SystemEnvironment/include/bcSysSleep.h
deleted file mode 100644
index 6ea0be2c..00000000
--- a/digital/beacon/src/Bitcloud_stack/Components/SystemEnvironment/include/bcSysSleep.h
+++ /dev/null
@@ -1,37 +0,0 @@
-/****************************************************************************//**
- \file bcSysSleep.h
-
- \brief
- Implementation of the system sleep service.
-
- \author
- Atmel Corporation: http://www.atmel.com \n
- Support email: avr@atmel.com
-
- Copyright (c) 2008-2011, Atmel Corporation. All rights reserved.
- Licensed under Atmel's Limited License Agreement (BitCloudTM).
-
- \internal
- History:
- 8/06/09 A. Khromykh - Created
-*********************************************************************************/
-
-#ifndef _MNSYSSLEEP_H
-#define _MNSYSSLEEP_H
-/*********************************************************************************
- Includes section.
-**********************************************************************************/
-#include <sleep.h>
-
-/*********************************************************************************
- Function prototypes section.
-**********************************************************************************/
-/******************************************************************************//**
-\brief Prepares system for sleep.
-
-\param[in]
- sleepParam - pointer to sleep structure.
-**********************************************************************************/
-void SYS_Sleep(HAL_Sleep_t *sleepParam);
-
-#endif /* _MNSYSSLEEP_H */
diff --git a/digital/beacon/src/Bitcloud_stack/Components/SystemEnvironment/include/dbg.h b/digital/beacon/src/Bitcloud_stack/Components/SystemEnvironment/include/dbg.h
deleted file mode 100644
index 16b277eb..00000000
--- a/digital/beacon/src/Bitcloud_stack/Components/SystemEnvironment/include/dbg.h
+++ /dev/null
@@ -1,244 +0,0 @@
-/*******************************************************************************//**
- \file dbg.h
-
- \brief
- A module should use the SYS_writeLog define and should not use writeLog() directly
- Module should define own #define on SYS_WriteLog() to have an opportunity
- to turn on/off logging by setting special define during compilation
-
- The LOG is turned on by the _SYS_LOG_ON_ define defined in Makefile
- \author
- Atmel Corporation: http://www.atmel.com \n
- Support email: avr@atmel.com
-
- Copyright (c) 2008-2011, Atmel Corporation. All rights reserved.
- Licensed under Atmel's Limited License Agreement (BitCloudTM).
-
- \internal
- History:
- 29/05/07 D. Ovechkin - Created
- 17/01/11 M. Gekk - Guards are added
-**********************************************************************************/
-
-#ifndef _DBG_H
-#define _DBG_H
-
-/*********************************************************************************
- Includes section.
-**********************************************************************************/
-#include <types.h>
-#ifdef _SYS_ASSERT_ON_
- #include <halAssert.h>
-#endif // _SYS_ASSERT_ON_
-
-/******************************************************************************
- Define(s) section
-******************************************************************************/
-/* log type of message */
-typedef enum
-{
- HAL_LOG_MESSAGE = 0x80,
- MAC_LOG_MESSAGE = 0x81,
- NWK_LOG_MESSAGE = 0x82,
- APS_LOG_MESSAGE = 0x83,
- ZDO_LOG_MESSAGE = 0x84,
- SSP_TC_LOG_MESSAGE = 0x85,
- ZCL_LOG_MESSAGE = 0x86,
- APL_LOG_MESSAGE = 0x87
-} LogMessageLevel_t;
-
-#if defined(_SYS_LOG_ON_) && defined(_HAL_LOG_ON_)
- #define HAL_WRITE_LOG(A) SYS_WriteLog((uint8_t)HAL_LOG_MESSAGE, (uint8_t)A);
-#else
- #define HAL_WRITE_LOG(A)
-#endif
-
-#if defined(_SYS_LOG_ON_) && defined(_MAC_LOG_ON_)
- #define MAC_WRITE_LOG(A) SYS_WriteLog((uint8_t)MAC_LOG_MESSAGE, (uint8_t)A);
-#else
- #define MAC_WRITE_LOG(A)
-#endif
-
-#if defined(_SYS_LOG_ON_) && defined(_NWK_LOG_ON_)
- #define NWK_WRITE_LOG(A) SYS_WriteLog((uint8_t)NWK_LOG_MESSAGE, (uint8_t)A);
-#else
- #define NWK_WRITE_LOG(A)
-#endif
-
-#if defined(_SYS_LOG_ON_) && defined(_APS_LOG_ON_)
- #define APS_WRITE_LOG(A) SYS_WriteLog((uint8_t)APS_LOG_MESSAGE, (uint8_t)A);
-#else
- #define APS_WRITE_LOG(A)
-#endif
-
-#if defined(_SYS_LOG_ON_) && defined(_ZDO_LOG_ON_)
- #define ZDO_WRITE_LOG(A) SYS_WriteLog((uint8_t)ZDO_LOG_MESSAGE, (uint8_t)A);
-#else
- #define ZDO_WRITE_LOG(A)
-#endif
-
-#if defined(_SYS_LOG_ON_) && defined(_SSP_TC_LOG_ON_)
- #define SSP_TC_WRITE_LOG(A) SYS_WriteLog((uint8_t)SSP_TC_LOG_MESSAGE, (uint8_t)A);
-#else
- #define SSP_TC_WRITE_LOG(A)
-#endif
-
-#if defined(_SYS_LOG_ON_) && defined(_ZCL_LOG_ON_)
- #define ZCL_WRITE_LOG(A) SYS_WriteLog((uint8_t)ZCL_LOG_MESSAGE, (uint8_t)A);
-#else
- #define ZCL_WRITE_LOG(A)
-#endif
-
-#if defined(_SYS_LOG_ON_) && defined(_APL_LOG_ON_)
- #define APL_WRITE_LOG(A) SYS_WriteLog((uint8_t)APL_LOG_MESSAGE, (uint8_t)A);
-#else
- #define APL_WRITE_LOG(A)
-#endif
-
-#define assert_static(e) {enum {_SA_ = 1/(e)};}
-
-/*********************************************************************************
- Function prototypes section.
-**********************************************************************************/
-/* ________________________________ SYS_LOG __________________________________ */
-#ifdef _SYS_LOG_ON_
- /******************************************************************************
- Define(s) section
- ******************************************************************************/
- #define SYS_INFINITY_LOOP_MONITORING sysInfinityLoopMonitoring = 0;
- /* 1 = 10 ms */
- #define TASK_LENGTH 100
-
- #if defined(_HAL_LOG_INTERFACE_UART0_)
- #define INFORMATION_HANDLER HAL_TaskHandler();
- #elif defined(_HAL_LOG_INTERFACE_UART1_)
- #define INFORMATION_HANDLER HAL_TaskHandler();
- #else
- #define INFORMATION_HANDLER
- #endif
-
- /******************************************************************************
- External variables section
- ******************************************************************************/
- extern volatile uint8_t sysInfinityLoopMonitoring;
-
- /*********************************************************************************
- Function prototypes section.
- **********************************************************************************/
- /*****************************************************************************//**
- \brief Write log information to defined destination. The destination can be
- UART, EEPROM, Ethernet... The destination is determined by the define
- during compilation
- \param[in]
- leyerID - identical definition of application layer;
- \param[in]
- message - information byte (must be less then 0x80);
- **********************************************************************************/
- void SYS_WriteLog(uint8_t leyerID, uint8_t message);
-
- /*****************************************************************************//**
- \brief Initialization of logging system.
- **********************************************************************************/
- void SYS_InitLog(void);
-
- #if defined(_HAL_LOG_INTERFACE_UART0_) || defined(_HAL_LOG_INTERFACE_UART1_)
- /**************************************************************************//**
- \brief HAL task handler.
- ******************************************************************************/
- void HAL_TaskHandler(void);
- #endif
-
- /*********************************************************************************
- Inline static functions section
- **********************************************************************************/
- /*****************************************************************************//**
- \brief Monitoring infinity loop in the soft.
- **********************************************************************************/
- INLINE void SYS_InfinityLoopMonitoring(void)
- {
- sysInfinityLoopMonitoring++;
- if (sysInfinityLoopMonitoring > TASK_LENGTH)
- {
- INFORMATION_HANDLER
- }
- }
-#else
- INLINE void SYS_InitLog(void){}
- INLINE void SYS_InfinityLoopMonitoring(void){}
- INLINE void SYS_WriteLog(uint8_t leyerID, uint8_t message){(void)leyerID; (void)message;}
- #define SYS_INFINITY_LOOP_MONITORING
-#endif // _SYS_LOG_ON_
-
-
-
-/* ________________________________ SYS_ASSERT _______________________________ */
-#ifdef _SYS_ASSERT_ON_
- /*********************************************************************************
- ASSERT is used for debugging wrong conditions
- Dbg codes are in each layers.
- *********************************************************************************/
- /*********************************************************************************
- Function catches unexpected conditions in the logic.
- Parameters:
- condition - TRUE or FALSE. FALSE means problems in the logic.
- dbgCode - assert's unique code.
- dbgCode ranges: 0x1000 - 0x1fff - MAC
- 0x2000 - 0x2fff - HAL
- 0x3000 - 0x3fff - NWK
- 0x4000 - 0x4fff - APS
- 0x5000 - 0x5fff - ZDO
- 0x6000 - 0x6fff - Configuration Server
- 0x7000 - 0x7fff - SSP/TC
- 0x8000 - 0x8fff - System Environment
- 0x9000 - 0x9fff - BSP
- 0xf000 - 0xfffe - APL
- Returns:
- none.
- *********************************************************************************/
- void assert(bool condition, uint16_t dbgCode);
- // Inline Assert
- #define ASSERT(condition, dbgCode) halAssert(condition, dbgCode);
-
-#else // !_SYS_ASSERT_ON_
- #define ASSERT(condition, dbgCode) {if(condition){}}
-#ifndef assert
- #define assert(condition, dbgCode) {if(condition){}}
-#endif
-#endif // _SYS_ASSERT_ON_
-
-#define assert_static(e) {enum {_SA_ = 1/(e)};}
-
-#if defined _SYS_ASSERT_ON_
-#define TOP_GUARD_VALUE 0x55U
-#define BOTTOM_GUARD_VALUE 0xAAU
-
-#define TOP_GUARD uint8_t topGuard;
-#define BOTTOM_GUARD uint8_t bottomGuard;
-#define INIT_GUARDS(obj) \
- {\
- (obj)->topGuard = TOP_GUARD_VALUE;\
- (obj)->bottomGuard = BOTTOM_GUARD_VALUE;\
- }
-
-#define CHECK_GUARDS(obj, assertNum) \
- assert((TOP_GUARD_VALUE == (obj)->topGuard) \
- && (BOTTOM_GUARD_VALUE == (obj)->bottomGuard), assertNum)
-
-#define GUARDED_STRUCT(obj) \
- (obj) = \
- { \
- .topGuard = TOP_GUARD_VALUE, \
- .bottomGuard = BOTTOM_GUARD_VALUE \
- }
-
-#else
-#define TOP_GUARD
-#define BOTTOM_GUARD
-#define INIT_GUARDS(obj) ((void)0)
-#define CHECK_GUARDS(obj, assertNum) ((void)0)
-#define GUARDED_STRUCT(obj) (obj)
-#endif
-
-#endif // _DBG_H
-//end of dbg.h
-
diff --git a/digital/beacon/src/Bitcloud_stack/Components/SystemEnvironment/include/mnUtils.h b/digital/beacon/src/Bitcloud_stack/Components/SystemEnvironment/include/mnUtils.h
deleted file mode 100644
index 1be01c42..00000000
--- a/digital/beacon/src/Bitcloud_stack/Components/SystemEnvironment/include/mnUtils.h
+++ /dev/null
@@ -1,127 +0,0 @@
-/**************************************************************************//**
- \file mnUtils.h
- \brief Header file describes stack utilities functions.
-
- \author
- Atmel Corporation: http://www.atmel.com \n
- Support email: avr@atmel.com
-
- Copyright (c) 2008-2011, Atmel Corporation. All rights reserved.
- Licensed under Atmel's Limited License Agreement (BitCloudTM).
-
- \internal
- History:
- 07/10/08 - Created.
-******************************************************************************/
-#ifndef _MNUTILS_H
-#define _MNUTILS_H
-
-/******************************************************************************
- Includes section.
-******************************************************************************/
-#include <types.h>
-#include <string.h>
-#include <stdlib.h>
-
-/******************************************************************************
- Definitions section.
-******************************************************************************/
-#if defined(AT91SAM7X256) || defined(AT91SAM3S4C)
- #define SYS_BYTE_MEMCPY SYS_ByteMemcpy
-#elif defined(ATMEGA1281) || defined(ATMEGA2561) || defined(ATMEGA1284) || defined(AT90USB1287) \
- || defined(ATXMEGA128A1) || defined(ATXMEGA256A3) || defined(ATXMEGA256D3) || defined(ATMEGA128RFA1)
- #define SYS_BYTE_MEMCPY memcpy
-#else
- #define SYS_BYTE_MEMCPY memcpy
-#endif
-
-#if defined(ATMEGA1281) || defined(ATMEGA2561) || defined(ATMEGA1284) || defined(AT90USB1287) || \
- defined(ATMEGA128RFA1)
-/* Macroses to accept memory I/O registers for AVR Mega family */
-#define MMIO_BYTE(mem_addr) (*(volatile uint8_t *)(mem_addr))
-#define MMIO_WORD(mem_addr) (*(volatile uint16_t *)(mem_addr))
-#endif /* AVR Mega family */
-
-#define GET_FIELD_PTR(structPtr, typeName, fieldName) \
- ((uint8_t *)(structPtr) + offsetof(typeName, fieldName))
-
-#define GET_PARENT_BY_FIELD(TYPE, FIELD, FIELD_POINTER) \
- ((TYPE *)(((uint8_t *)FIELD_POINTER) - offsetof(TYPE, FIELD)))
-#define GET_CONST_PARENT_BY_FIELD(TYPE, FIELD, FIELD_POINTER) \
- ((const TYPE *)(((const uint8_t *)FIELD_POINTER) - offsetof(TYPE, FIELD)))
-
-#define GET_STRUCT_BY_FIELD_POINTER(struct_type, field_name, field_pointer)\
- ((struct_type *) (((uint8_t *) field_pointer) - FIELD_OFFSET(struct_type, field_name)))
-#define GET_INDEX_FROM_OFFSET(PTR1, PTR2) (PTR1 - PTR2)
-
-// Size of slice between firstField end lastField of struct (including lastField)
-#define SLICE_SIZE(type, firstField, lastField)\
- (offsetof(type, lastField) - offsetof(type, firstField) + sizeof(((type *)0)->lastField))
-
-#define ARRAY_SIZE(a) (sizeof(a)/sizeof(a[0]))
-
-#undef FIELD_OFFSET
-#define FIELD_OFFSET(struct_type, field_name)\
- (((uint8_t*) &((struct_type *)(NULL))->field_name) - (uint8_t*)NULL)
-
-#define MIN(x,y) ((x)<(y)?(x):(y))
-#define MAX(x,y) ((x)<(y)?(y):(x))
-
-/******************************************************************************
- Inline functions' section.
-******************************************************************************/
-/**************************************************************************//**
- \brief Performs bytes memory copying operation.
-
- \param dst - points destination memory start address.
- src - points source memory start address.
- size - number of bytes to copy.
- \return pointer to dst.
-******************************************************************************/
-INLINE void *SYS_ByteMemcpy(void *dst, const void *src, uint16_t size)
-{
- uint8_t *dst_ = (uint8_t *) dst;
- const uint8_t *src_ = (const uint8_t *) src;
-
- while(size--)
- *(dst_++) = *(src_++);
- return dst;
-}
-
-/**************************************************************************//**
- \brief Performs swap bytes in array of length
-
- \param array - pointer to array.
- length - array length
- \return no return.
-******************************************************************************/
-void SYS_Swap(uint8_t *array, uint8_t length);
-
-/**************************************************************************//**
- \brief Random number generator. The range of the generator is 0-0xFFFF.The SID
- is generated in ZDO from UID by srand()
-
- \param: none.
- \returns: a random number.
-******************************************************************************/
-static inline uint16_t SYS_GetRandomNumber(void)
-{
- uint16_t result = (rand() << 4) & 0xFF00;
-
- result |= rand() & 0x00FF;
- return result;
-}
-
-/**************************************************************************//**
- \brief This function copies size bytes of random data into buffer.
-
- \param: buffer - This is an unsigned char array of size at least sz to hold
- the random data.
- size - The number of bytes of random data to compute and store.
-
- \return: 0 Indicates successful completion.
-******************************************************************************/
-int SYS_GetRandomSequence(uint8_t *buffer, unsigned long size);
-
-#endif // _MNUTILS_H
-// eof mnUtils.h
diff --git a/digital/beacon/src/Bitcloud_stack/Components/SystemEnvironment/include/queue.h b/digital/beacon/src/Bitcloud_stack/Components/SystemEnvironment/include/queue.h
deleted file mode 100644
index 0a7f8094..00000000
--- a/digital/beacon/src/Bitcloud_stack/Components/SystemEnvironment/include/queue.h
+++ /dev/null
@@ -1,92 +0,0 @@
-/**********************************************************************//**
- \file queue.h
-
- \brief
-
- \author
- Atmel Corporation: http://www.atmel.com \n
- Support email: avr@atmel.com
-
- Copyright (c) 2008-2011, Atmel Corporation. All rights reserved.
- Licensed under Atmel's Limited License Agreement (BitCloudTM).
-
- \internal
- History:
- 21/05/07 D. Ovechkin - Created
-**************************************************************************/
-#ifndef _QUEUE_H
-#define _QUEUE_H
-
-#include <types.h>
-
-/***************************************************************************
- Declare a queue and reset to the default state
- Every queue should be declared with this macros!
- Any queue element passed as parameter to functions should have as first
- field pointer for adding to a queue.
-
- Parameters:
- queue - the name of object.
- Returns:
- None
-****************************************************************************/
-#define DECLARE_QUEUE(queue) QueueDescriptor_t queue = {.head = NULL,}
-
-// Type of queue element
-typedef struct _QueueElement_t
-{
- struct _QueueElement_t *next;
-} QueueElement_t;
-
-// Queue descriptor
-typedef struct
-{
- QueueElement_t *head;
-} QueueDescriptor_t;
-
-/***************************************************************************
- Reset a queue
- Parameters:
- queue - pointer to a queue descriptor
- Returns:
- None
-****************************************************************************/
-INLINE void resetQueue(QueueDescriptor_t *queue)
-{
- queue->head = NULL;
-}
-
-/***************************************************************************
- Get a element from a queue. Element is got from the head
- Parameters:
- queue - pointer to a queue descriptor
- Returns:
- None
-****************************************************************************/
-INLINE void *getQueueElem(const QueueDescriptor_t *queue)
-{
- return queue->head;
-}
-
-/***************************************************************************
- Get next element of queue after current element. The movement is made from
- head to tail. At the beginning of looking for elements the head element
- should be obtained.
- Parameters:
- currElement - current element
- Returns:
- NULL - no next element
- NOT NULL - next element is got
-****************************************************************************/
-INLINE void* getNextQueueElem(const void *currElem)
-{
- return currElem? ((const QueueElement_t*) currElem)->next: NULL;
-}
-
-bool isQueueElem(const QueueDescriptor_t *const queue, const void *const element);
-void putQueueElem(QueueDescriptor_t *queue, void *element);
-void *deleteHeadQueueElem(QueueDescriptor_t *queue);
-bool deleteQueueElem(QueueDescriptor_t *queue, void *element);
-
-#endif
-//eof queue.h
diff --git a/digital/beacon/src/Bitcloud_stack/Components/SystemEnvironment/include/sysDbg.h b/digital/beacon/src/Bitcloud_stack/Components/SystemEnvironment/include/sysDbg.h
deleted file mode 100644
index 2e6494f7..00000000
--- a/digital/beacon/src/Bitcloud_stack/Components/SystemEnvironment/include/sysDbg.h
+++ /dev/null
@@ -1,31 +0,0 @@
-/*****************************************************************************
- \file sysDbg.h
-
- \brief
-
- \author
- Atmel Corporation: http://www.atmel.com \n
- Support email: avr@atmel.com
-
- Copyright (c) 2008-2011, Atmel Corporation. All rights reserved.
- Licensed under Atmel's Limited License Agreement (BitCloudTM).
-
- \internal
- History:
- 13.10.2009 ivagulin - Created
-******************************************************************************/
-
-
-#ifndef _SYSDBG_H_
-#define _SYSDBG_H_
-
-#include <dbg.h>
-
-typedef enum
-{
- SYS_ASSERT_ID_DOUBLE_QUEUE_PUT = 0x8000,
- SYS_ASSERT_ID_DRT_SIZE_TOO_BIG = 0x8001,
- SYS_ASSERT_ID_DEVICE_WAS_NOT_ABLE_TO_SLEEP = 0x8002
-} SysAssertId_t;
-
-#endif /* _SYSDBG_H_ */
diff --git a/digital/beacon/src/Bitcloud_stack/Components/SystemEnvironment/include/sysDuplicateTable.h b/digital/beacon/src/Bitcloud_stack/Components/SystemEnvironment/include/sysDuplicateTable.h
deleted file mode 100644
index 4fd5fe89..00000000
--- a/digital/beacon/src/Bitcloud_stack/Components/SystemEnvironment/include/sysDuplicateTable.h
+++ /dev/null
@@ -1,82 +0,0 @@
-/*****************************************************************************
- \file sysDuplicateEntry.h
-
- \brief
-
- \author
- Atmel Corporation: http://www.atmel.com \n
- Support email: avr@atmel.com
-
- Copyright (c) 2008-2011, Atmel Corporation. All rights reserved.
- Licensed under Atmel's Limited License Agreement (BitCloudTM).
-
- \internal
- History:
- 11/20/2009 I.Vagulin - Created
-******************************************************************************/
-
-
-#ifndef _SYSDUPLICATEENTRY_H_
-#define _SYSDUPLICATEENTRY_H_
-
-#include <types.h>
-
-typedef enum
-{
- SYS_DUPLICATE_TABLE_ANSWER_FOUND,
- SYS_DUPLICATE_TABLE_ANSWER_ADDED,
- SYS_DUPLICATE_TABLE_ANSWER_FULL, // check can return Full only if removeOldest set to false
-} SysDuplicateTableAnswer_t ;
-
-typedef struct _SYS_DuplicateTableEntry_t
-{
- uint16_t address;
- uint8_t seqNumber;
- uint8_t ttl;
- uint8_t mask;
-} SYS_DuplicateTableEntry_t ;
-
-typedef struct _SYS_DuplicateTable_t
-{
- bool removeOldest:1;
- uint8_t size:7;
- SYS_DuplicateTableEntry_t *entries;
-
- uint16_t agingPeriod;
- uint32_t lastStamp;
- uint8_t maxTTL;
-} SYS_DuplicateTable_t ;
-
-/*****************************************************************************
- Prepare duplicate table to real work :)
-
- Parameters: table - pointer to allocated table,
- entrySize - count of entries in table
- entries - pointer to array of entries
- agingPeriod - aging period ms
- removeOldest - change behaviour on full table
- Returns: nothing
-*****************************************************************************/
-void SYS_DuplicateTableReset(SYS_DuplicateTable_t *table,
- SYS_DuplicateTableEntry_t *entries, uint8_t tableSize,
- uint16_t agingPeriod, uint8_t maxTTL, bool removeOldest);
-
-/*****************************************************************************
- Search for record in table, add if not found
- Parameters: table - pointer to allocated table,
- address, seqNumber - record to search for or to add if not found
- Returns: true if record is found false otherwise.
-*****************************************************************************/
-SysDuplicateTableAnswer_t SYS_DuplicateTableCheck(SYS_DuplicateTable_t *table,
- uint16_t address, uint8_t seqNumber);
-
-/*****************************************************************************
- Search for record in table, remove if found.
- Parameters: table - pointer to allocated table,
- address, seqNumber - record to search for and to remove if found
- Returns: nothing
-*****************************************************************************/
-void SYS_DuplicateTableClear(SYS_DuplicateTable_t *table,
- uint16_t address, uint8_t seqNumber);
-
-#endif /* _SYSDUPLICATEENTRY_H_ */
diff --git a/digital/beacon/src/Bitcloud_stack/Components/SystemEnvironment/include/sysStat.h b/digital/beacon/src/Bitcloud_stack/Components/SystemEnvironment/include/sysStat.h
deleted file mode 100644
index 79b36051..00000000
--- a/digital/beacon/src/Bitcloud_stack/Components/SystemEnvironment/include/sysStat.h
+++ /dev/null
@@ -1,53 +0,0 @@
-/**************************************************************************//**
-\file sysStat.h
-
-\brief Collection of internal runtime data for report
-
-\author
- Atmel Corporation: http://www.atmel.com \n
- Support email: avr@atmel.com
-
- Copyright (c) 2008-2011, Atmel Corporation. All rights reserved.
- Licensed under Atmel's Limited License Agreement (BitCloudTM).
-
-\internal
- History:
- 15/04/11 D. Loskutnikov - Created
-*******************************************************************************/
-#ifndef _SYS_STAT_H
-#define _SYS_STAT_H
-
-#ifdef _REPORT_STATS_
-/******************************************************************************
- Types section
-******************************************************************************/
-typedef struct _SYS_StatGenerator_t
-{
- void *next;
- uint8_t (*gen)(uint8_t *buf, uint8_t maxSize);
-} SYS_StatGenerator_t;
-
-/******************************************************************************
- Prototypes section
-******************************************************************************/
-
-/**************************************************************************//**
-\brief Register new generator of stat data
-
-\param[in] gen - generator
-******************************************************************************/
-extern void SYS_RegisterStatGenerator(SYS_StatGenerator_t *gen);
-
-/**************************************************************************//**
-\brief Collect stats from registered generators into the supplied buffer
-
-\param[out] buf - buffer to place stat report
-\param[in] maxSize - size limit of buffer
-\return number of actually placed bytes
-******************************************************************************/
-extern uint8_t SYS_GenerateStatReport(uint8_t *buf, uint8_t maxSize);
-
-#endif // _REPORT_STATS_
-
-#endif // _SYS_STAT_H
-// eof sysStat.h
diff --git a/digital/beacon/src/Bitcloud_stack/Components/SystemEnvironment/include/sysTimer.h b/digital/beacon/src/Bitcloud_stack/Components/SystemEnvironment/include/sysTimer.h
deleted file mode 100644
index 4420725d..00000000
--- a/digital/beacon/src/Bitcloud_stack/Components/SystemEnvironment/include/sysTimer.h
+++ /dev/null
@@ -1,79 +0,0 @@
-/**************************************************************************//**
- \file sysTimer.h
-
- \brief Simple interface of HAL application timer.
-
- \author
- Atmel Corporation: http://www.atmel.com \n
- Support email: avr@atmel.com
-
- Copyright (c) 2008-2011, Atmel Corporation. All rights reserved.
- Licensed under Atmel's Limited License Agreement (BitCloudTM).
-
- \internal
- History:
- 2010-10-18 Max Gekk - Created.
- Last change:
- $Id: sysTimer.h 17448 2011-06-09 13:53:59Z ataradov $
- ******************************************************************************/
-#if !defined _SYS_TIMER_H
-#define _SYS_TIMER_H
-
-/******************************************************************************
- Includes section
- ******************************************************************************/
-#include <appTimer.h>
-
-/******************************************************************************
- Types section
- ******************************************************************************/
-/* Internal states of system timer. */
-typedef enum _SYS_TimerState_t
-{
- SYS_TIMER_STOPPED = 0x00,
- SYS_TIMER_STARTED = 0x01
-} SYS_TimerState_t;
-
-/* Type of the system timer. */
-typedef struct _SYS_Timer_t
-{
- SYS_TimerState_t state;
- HAL_AppTimer_t timer;
-} SYS_Timer_t;
-
-
-/******************************************************************************
- Prototypes section
- ******************************************************************************/
-/******************************************************************************
- \brief Initialize the System Timer.
-
- \param[in] sysTimer - timer pointer will be initialized.
- \param[in] mode - timer mode: TIMER_ONE_SHOT_MODE or TIMER_REPEAT_MODE.
- \param[in] interval - timer interval (milliseconds).
- \param[in] handler - timer handler function pointer.
-
- \return None.
- *****************************************************************************/
-void SYS_InitTimer(SYS_Timer_t *const sysTimer, const TimerMode_t mode,
- const uint32_t interval, void (*handler)(void));
-
-/******************************************************************************
- \brief Start the HAL Application Timer.
-
- \param[in] appTimer - timer pointer will be started.
- \return None.
- ******************************************************************************/
-void SYS_StartTimer(SYS_Timer_t *const sysTimer);
-
-/******************************************************************************
- \brief Stop the HAL Application Timer.
-
- \param[in] appTimer - timer pointer will be stopped.
-
- \return None.
- *****************************************************************************/
-void SYS_StopTimer(SYS_Timer_t *const sysTimer);
-
-#endif /* _SYS_TIMER_H */
-/** eof sysTimer.h */
diff --git a/digital/beacon/src/Bitcloud_stack/Components/SystemEnvironment/include/taskManager.h b/digital/beacon/src/Bitcloud_stack/Components/SystemEnvironment/include/taskManager.h
deleted file mode 100644
index ad974a16..00000000
--- a/digital/beacon/src/Bitcloud_stack/Components/SystemEnvironment/include/taskManager.h
+++ /dev/null
@@ -1,118 +0,0 @@
-/*************************************************************************//**
- \file taskManager.h
-
- \brief The header file describes the public stack Task Manager interface,
- task handlers and tasks IDs of Task Manager
-
- \author
- Atmel Corporation: http://www.atmel.com \n
- Support email: avr@atmel.com
-
- Copyright (c) 2008-2011, Atmel Corporation. All rights reserved.
- Licensed under Atmel's Limited License Agreement (BitCloudTM).
-
- \internal
- History:
- 15/05/07 E. Ivanov - Created
-*****************************************************************************/
-
-#ifndef _TASKMANAGER_H
-#define _TASKMANAGER_H
-#include <types.h>
-#include <atomic.h>
-
-// \cond internal
-//! The list of task ID
-typedef enum
-{
- MAC_PHY_HWD_TASK_ID = 1 << 0,
- HAL_TASK_ID = 1 << 1,
- MAC_HWI_TASK_ID = 1 << 2,
- NWK_TASK_ID = 1 << 3,
- ZDO_TASK_ID = 1 << 4,
- APS_TASK_ID = 1 << 5,
- SSP_TASK_ID = 1 << 6,
- TC_TASK_ID = 1 << 7,
- BSP_TASK_ID = 1 << 8,
- ZCL_TASK_ID = 1 << 9,
- APL_TASK_ID = 1 << 0x0A,
-} SYS_TaskId_t;
-// \endcond
-
-/*! This function is called to process a user application task.
- The function should be defined in the user application.
- Its very first call is intended just for setting stack parameters.
- For starting a network a new task should be posted. */
-extern void APL_TaskHandler(void);
-// \cond internal
-//! This function is called for processing HAL task. Should be defined in HAL
-extern void HAL_TaskHandler(void);
-//! This function is called for processing BSP task. Should be defined in BSP
-extern void BSP_TaskHandler(void);
-//! This function is called for processing MAC_PHY_HWD task. Should be defined in MAC_PHY_HWD
-extern void MAC_PHY_HWD_TaskHandler(void);
-//! This function is called for processing MAC_HWI task. Should be defined in MAC_HWI
-extern void MAC_HWI_TaskHandler(void);
-//! This function is called for processing NWK task. Should be defined in NWK
-extern void NWK_TaskHandler(void);
-//! This function is called for processing ZDO task. Should be defined in ZDO
-extern void ZDO_TaskHandler(void);
-//! This function is called for processing APS task. Should be defined in APS
-extern void APS_TaskHandler(void);
-//! This function is called for processing SSP task. Should be defined in SSP
-extern void SSP_TaskHandler(void);
-//! This function is called for processing Trust Center task. Should be defined in Trust Center
-extern void TC_TaskHandler(void);
-//! This function is called for processing ZCL task. Should be defined in ZCL
-extern void ZCL_TaskHandler(void);
-//! Initializes radio chip
-extern void RF_Init(void);
-
-extern volatile uint16_t SYS_taskFlag;
-// \endcond
-
-/**************************************************************************************//**
-\brief Posts task to the stack Task Manager
-
-\param[in] taskId - ID of the posted task. An application has APL_TASK_ID.
-*********************************************************************************************/
-/*
-IDs of the tasks are listed in the SYS_TaskId enum. Each task has its own priority and is called
-only if there is no any task with higher priority. A handler is called when respective task can be run.
-Each task has its own task handler. Correspondence between tasks and handlers is listed below: \n
-HAL - HAL_TaskHandler() \n
-BSP - BSP_TaskHandler() \n
-MAC_PHY_HWD - MAC_PHY_HWD_TaskHandler() \n
-MAC_HWI - MAC_HWI_TaskHandler() \n
-NWK - NWK_TaskHandler() \n
-ZDO - ZDO_TaskHandler() \n
-APS - APS_TaskHandler() \n
-APL - APL_TaskHandler() \n
-*/
-INLINE void SYS_PostTask(SYS_TaskId_t taskId)
-{
- ATOMIC_SECTION_ENTER
- SYS_taskFlag |= taskId;
- ATOMIC_SECTION_LEAVE
-}
-
-//\cond internal
-/**************************************************************************************//**
-\brief This function is called by the stack or from the main() function to process tasks.
-***************************************************************************************/
-bool SYS_RunTask(void);
-
-/**************************************************************************************//**
- \brief To force runTask to help making sync calls
-******************************************************************************************/
-void SYS_ForceRunTask(void);
-// \endcond
-
-/**************************************************************************//**
- \brief Initializes the microconroller and the radio chip
-
- \param none
- \return none
-******************************************************************************/
-void SYS_SysInit(void);
-#endif
diff --git a/digital/beacon/src/Bitcloud_stack/Components/SystemEnvironment/include/types.h b/digital/beacon/src/Bitcloud_stack/Components/SystemEnvironment/include/types.h
deleted file mode 100644
index 16be4404..00000000
--- a/digital/beacon/src/Bitcloud_stack/Components/SystemEnvironment/include/types.h
+++ /dev/null
@@ -1,242 +0,0 @@
-/************************************************************************************************//**
- \file types.h
-
- \brief The header file describes global system types and pre-processor words
- which depends on compiler or platform
-
- \author
- Atmel Corporation: http://www.atmel.com \n
- Support email: avr@atmel.com
-
- Copyright (c) 2008-2011, Atmel Corporation. All rights reserved.
- Licensed under Atmel's Limited License Agreement (BitCloudTM).
-
- \internal
-*****************************************************************************************************/
-
-#ifndef _TYPES_H
-#define _TYPES_H
-
-#include <stdint.h>
-#include <string.h>
-#include <stdbool.h>
-#include <stddef.h>
-#include <bcEndian.h>
-
-#if defined(__ICCAVR__) || defined(__ICCARM__) || defined(__ICCAVR32__)
-
-// \cond
-#if defined(AT91SAM7X256) || defined(AT91SAM3S4C)
- #include <intrinsics.h>
-#elif defined(ATMEGA1281) || defined(ATMEGA2561) || defined(ATMEGA1284) || defined(AT90USB1287) \
- || defined(ATXMEGA128A1) || defined(ATXMEGA256A3) || defined(ATXMEGA256D3) || defined(ATMEGA128RFA1)
- #include <inavr.h>
- #include <ioavr.h>
- #include <intrinsics.h>
- #include <pgmspace.h>
-#elif defined(AT32UC3A0512)
- #include <intrinsics.h>
-#endif
-// \endcond
-
-/**
- * Some preprocessor magic to allow for a header file abstraction of
- * interrupt service routine declarations for the IAR compiler. This
- * requires the use of the C99 _Pragma() directive (rather than the
- * old #pragma one that could not be used as a macro replacement), as
- * well as two different levels of preprocessor concetanations in
- * order to do both, assign the correct interrupt vector name, as well
- * as construct a unique function name for the ISR.
- *
- * Do *NOT* try to reorder the macros below, or you'll suddenly find
- * out about all kinds of IAR bugs...
- */
-#define PRAGMA(x) _Pragma(#x)
-
-// \cond
-#if defined(AT91SAM7X256) || defined(AT91SAM3S4C)
-
- #define PROGMEM_DECLARE(x) x
- #define FLASH_VAR
- #define FLASH_PTR
- #define memcpy_P memcpy
- #define hw_platform_address_size_t uint32_t
- #define BEGIN_PACK PRAGMA(pack(push, 1))
- #define END_PACK PRAGMA(pack(pop))
- #define INLINE static inline
-
-#elif defined(AT32UC3A0512)
-
- #define PROGMEM_DECLARE(x) x
- #define FLASH_VAR
- #define FLASH_PTR
- #define memcpy_P memcpy
- #define hw_platform_address_size_t uint32_t
- #define BEGIN_PACK PRAGMA(pack(push, 1))
- #define END_PACK PRAGMA(pack(pop))
- #define INLINE static inline
- #define INTERRUPT __interrupt
-
-#elif defined(ATMEGA1281) || defined(ATMEGA2561) || defined(ATMEGA1284) || defined(AT90USB1287) \
- || defined(ATXMEGA128A1) || defined(ATXMEGA256A3) || defined(ATXMEGA256D3) || defined(ATMEGA128RFA1)
-
- #ifndef __HAS_ELPM__
- #define _MEMATTR __flash
- #else /* __HAS_ELPM__ */
- #define _MEMATTR __farflash
- #endif /* __HAS_ELPM__ */
-
- #define PROGMEM_DECLARE(x) _MEMATTR x
- #define FLASH_VAR _MEMATTR
- #define FLASH_PTR _MEMATTR
- #define BEGIN_PACK
- #define END_PACK
- #define INLINE PRAGMA(inline=forced) static
-
- #define ASM asm
- #define __SLEEP __sleep()
-
- #if defined(ATXMEGA128A1) || defined(ATXMEGA256A3) || defined(ATXMEGA256D3)
- #define ENABLE_CHANGE_PROTECTION_REGISTER CCP = 0xD8
- #endif
-
- #define ISR(vec) PRAGMA(vector=vec) __interrupt void handler_##vec(void)
- #define sei() (__enable_interrupt())
- #define cli() (__disable_interrupt())
- /** Wait until bit \c bit in IO register \c sfr is clear. */
- #define loop_until_bit_is_clear(sfr, bit) do {;} while (sfr & (1 << bit))
-
- #define wdt_reset() (__watchdog_reset())
-
- #define SF_GET_LOW_FUSES() __AddrToZByteToSPMCR_LPM((void __flash *)0x0000, 0x09)
-#endif
-
-#if defined(ATMEGA1284)
- #define EEMPE 2
- #define EEPE 1
- #define PSRASY 1
-#endif
-
-#if defined(AT90USB1287)
- #define UPE1 2
- #define USB_GEN_vect USB_General_vect
- #define USB_COM_vect USB_Endpoint_Pipe_vect
-#endif
-
-// \endcond
-
-#define PACK
-#define MAY_ALIAS
-#define NOP __no_operation()
-#define nop() (__no_operation())
-#define PRINTF_STYLE
-
-#elif defined(__GNUC__)
-
-// Leave this here until new security naming will settle
-#pragma GCC poison _HIGH_SECURITY_ _USE_SKKE_ _AUTHENTICATION_ _ZCL_KE_CLUSTER_
-
-// \cond
-#if defined(AT91SAM7X256) || defined(AT91SAM3S4C)
-#elif defined(X86)
-#elif defined(ATMEGA1281) || defined(ATMEGA2561) || defined(ATMEGA1284) || defined(AT90USB1287) \
- || defined(ATXMEGA128A1) || defined(ATXMEGA256A3) || defined(ATXMEGA256D3) || defined(ATMEGA128RFA1)
- #include <avr/io.h>
- #include <avr/pgmspace.h>
- #if !defined(ATXMEGA128A1) && !defined(ATXMEGA256A3) && !defined(ATXMEGA256D3)
- #include <avr/boot.h>
- #endif
- #include <avr/interrupt.h>
- #include <avr/wdt.h>
-#elif defined(SIMULATOR)
-#endif
-// \endcond
-
-// \cond
-#if defined(AT91SAM7X256) || defined(AT91SAM3S4C)
-
- #define PROGMEM_DECLARE(x) x
- #define FLASH_VAR
- #define FLASH_PTR
- #define memcpy_P memcpy
- #define hw_platform_address_size_t uint32_t
- #define BEGIN_PACK
- #define END_PACK
- #define PACK __attribute__ ((packed))
-
-#elif defined(ATMEGA1281) || defined(ATMEGA2561) || defined(ATMEGA1284) || defined(AT90USB1287) \
- || defined(ATXMEGA128A1) || defined(ATXMEGA256A3) || defined(ATXMEGA256D3) || defined(ATMEGA128RFA1)
-
- #define SF_GET_LOW_FUSES() boot_lock_fuse_bits_get(GET_LOW_FUSE_BITS)
- #define PROGMEM_DECLARE(x) x __attribute__((__progmem__))
- #define FLASH_VAR PROGMEM
- #define FLASH_PTR
- #define hw_platform_address_size_t uint16_t
- #define BEGIN_PACK
- #define END_PACK
- #define PACK
-
- #define ASM asm volatile
- #define __SLEEP asm volatile ("sleep")
- #define UINT64_MEMCMP
-
- #if defined(ATXMEGA128A1) || defined(ATXMEGA256A3) || defined(ATXMEGA256D3)
- #define ENABLE_CHANGE_PROTECTION_REGISTER CCP = 0xD8
- #endif
-
-#elif defined(X86)
- #define PROGMEM_DECLARE(x) x
- #define FLASH_VAR
- #define FLASH_PTR
- #define memcpy_P memcpy
- #define hw_platform_address_size_t uint32_t
- #define BEGIN_PACK
- #define END_PACK
- #define PACK __attribute__ ((packed))
-
-#elif defined(SIMULATOR)
- #define PROGMEM_DECLARE(x) x
- #define FLASH_VAR
- #define FLASH_PTR
- #define memcpy_P memcpy
- #define hw_platform_address_size_t uint32_t
- #define BEGIN_PACK
- #define END_PACK
- #define PACK __attribute__ ((packed))
-
-#endif
-// \endcond
-
-#define INLINE static inline __attribute__ ((always_inline))
-#define MAY_ALIAS __attribute__((__may_alias__))
-#define NOP asm volatile ("nop")
-#define PRINTF_STYLE __attribute__ ((format (printf, 1, 2)))
-
-#else
- #error 'Compiler not supported.'
-#endif
-
-typedef bool result_t;
-typedef uint64_t BcTime_t;
-
-BEGIN_PACK
-typedef struct PACK {uint16_t val;} u16Packed_t;
-typedef struct PACK {uint32_t val;} u32Packed_t;
-typedef struct PACK {uint64_t val;} u64Packed_t;
-typedef struct PACK {int16_t val;} s16Packed_t;
-typedef struct PACK {int32_t val;} s32Packed_t;
-typedef struct PACK {int64_t val;} s64Packed_t;
-END_PACK
-
-#if defined __ICCAVR__ || defined __ICCARM__
- typedef uint8_t BitField_t;
-#else
- typedef unsigned int BitField_t;
-#endif
-
-#define BC_SUCCESS false
-#define BC_FAIL true
-
-#endif
-// eof types.h
-