diff options
author | Harald Welte <laforge@gnumonks.org> | 2018-05-07 19:59:35 +0200 |
---|---|---|
committer | Harald Welte <laforge@gnumonks.org> | 2018-05-07 19:59:35 +0200 |
commit | 3634cc8e5d3124e3cf6cf46c0f1d5385ff511426 (patch) | |
tree | 1af66e339e767fc62d588766fd8d3b26edd29e3b /thirdparty/prime/mac |
initial check-in of ASF 3.39.0
Diffstat (limited to 'thirdparty/prime/mac')
79 files changed, 34547 insertions, 0 deletions
diff --git a/thirdparty/prime/mac/mac_1_3/addons/bootloader/boot_regions_sam4c16c_0.h b/thirdparty/prime/mac/mac_1_3/addons/bootloader/boot_regions_sam4c16c_0.h new file mode 100644 index 00000000..2a2d8d2a --- /dev/null +++ b/thirdparty/prime/mac/mac_1_3/addons/bootloader/boot_regions_sam4c16c_0.h @@ -0,0 +1,133 @@ +/** + * \file + * + * \brief Bootloader configuration for SAM4C16C_0. + * + * Copyright (c) 2014-2015 Atmel Corporation. All rights reserved. + * + * \asf_license_start + * + * \page License + * + * 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 microcontroller 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. + * + * \asf_license_stop + * + */ + +#ifndef BOOT_REGIONS_SAM4C_H_INCLUDED +#define BOOT_REGIONS_SAM4C_H_INCLUDED + +#include "compiler.h" + +/* Bootloader regions */ +#define BOOT_REGIONS 2 + +/* Bootloader address */ +#define BOOT_START_ADDRESS IFLASH_CNC_ADDR +/* Bootloader configuration */ +#define BOOT_FIRMWARE_MAX_SIZE 0x00004000 +#define BOOT_STATUS_OFFSET_USER_SIGN 128 +#define BOOT_WD_MODE_OFFSET_USER_SIGN 0x108 + +/* Firmware configuration */ +#define BOOT_FLASH_FIRMWARE_MAX_SIZE 0x00050000 +#define BOOT_FLASH_PAGE_SIZE IFLASH_PAGE_SIZE +#define BOOT_FLASH_PAGES_PER_SECTOR 128 +#define BOOT_FLASH_SECTOR_SIZE (BOOT_FLASH_PAGES_PER_SECTOR * \ + BOOT_FLASH_PAGE_SIZE) +#define BOOT_FLASH_FIRMWARE_MAX_SIZE_IN_SECTORS (BOOT_FLASH_FIRMWARE_MAX_SIZE / \ + BOOT_FLASH_SECTOR_SIZE) + +/* Region configuration */ +#define BOOT_FIRST_SECTOR_START_ADDRESS (IFLASH_CNC_ADDR + 0x00010000) +#define BOOT_FLASH_EXEC_FIRMWARE_START_ADDRESS (IFLASH_CNC_ADDR + 0x00010000) +#define BOOT_FLASH_EXEC_FIRMWARE_RESET_ADDRESS (BOOT_FLASH_EXEC_FIRMWARE_START_ADDRESS + 4) +#define BOOT_FLASH_FIRMWARE_V1_START_ADDRESS (BOOT_FLASH_EXEC_FIRMWARE_START_ADDRESS + \ + BOOT_FLASH_FIRMWARE_MAX_SIZE) +#define BOOT_FLASH_FIRMWARE_V1_RESET_ADDRESS (BOOT_FLASH_FIRMWARE_V1_START_ADDRESS + 4) +#define BOOT_FLASH_FIRMWARE_V2_START_ADDRESS (BOOT_FLASH_FIRMWARE_V1_START_ADDRESS + \ + BOOT_FLASH_FIRMWARE_MAX_SIZE) +#define BOOT_FLASH_FIRMWARE_V2_RESET_ADDRESS (BOOT_FLASH_FIRMWARE_V2_START_ADDRESS + 4) + +/* Bootloader register flags */ +#define BOOT_CMD_SWAP_ENABLE 0x01 +#define BOOT_FW_V1_IN_USE_MSK 0x02 +#define BOOT_FW_V2_IN_USE_MSK 0x04 + +/* Bootloader values */ +typedef enum { + BOOT_FLASH_FW_VERSION_EXEC, + BOOT_FLASH_FW_VERSION_1, + BOOT_FLASH_FW_VERSION_2, + BOOT_FLASH_FW_VERSION_INVALID +} boot_flash_fw_version_t; + +/** + * \brief Get FW V1 in use + * + */ +static inline uint8_t boot_is_fw_v1_in_use(uint8_t uc_boot_status) +{ + return(uc_boot_status & BOOT_FW_V1_IN_USE_MSK); +} + +/** + * \brief Get FW V2 in use + * + */ +static inline uint8_t boot_is_fw_v2_in_use(uint8_t uc_boot_status) +{ + return(uc_boot_status & BOOT_FW_V2_IN_USE_MSK); +} + +/** + * \brief Get status of swap command + * + */ +static inline uint8_t boot_is_swap_cmd(uint8_t uc_boot_status) +{ + return(uc_boot_status & BOOT_CMD_SWAP_ENABLE); +} + +/** + * \brief Get status error + * + */ +static inline uint8_t boot_is_error(uint8_t uc_boot_status) +{ + if ((uc_boot_status & BOOT_FW_V1_IN_USE_MSK) && + (uc_boot_status & BOOT_FW_V2_IN_USE_MSK)) { + return true; + } else { + return false; + } +} + +#endif /* BOOT_REGIONS_SAM4C_H_INCLUDED */ diff --git a/thirdparty/prime/mac/mac_1_3/addons/bootloader/boot_regions_sam4cmp16c_0.h b/thirdparty/prime/mac/mac_1_3/addons/bootloader/boot_regions_sam4cmp16c_0.h new file mode 100644 index 00000000..4184e668 --- /dev/null +++ b/thirdparty/prime/mac/mac_1_3/addons/bootloader/boot_regions_sam4cmp16c_0.h @@ -0,0 +1,133 @@ +/** + * \file + * + * \brief Bootloader configuration for SAM4CMP16C_0. + * + * Copyright (c) 2014-2015 Atmel Corporation. All rights reserved. + * + * \asf_license_start + * + * \page License + * + * 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 microcontroller 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. + * + * \asf_license_stop + * + */ + +#ifndef BOOT_REGIONS_SAM4CMP_H_INCLUDED +#define BOOT_REGIONS_SAM4CMP_H_INCLUDED + +#include "compiler.h" + +/* Bootloader regions */ +#define BOOT_REGIONS 2 + +/* Bootloader address */ +#define BOOT_START_ADDRESS IFLASH_CNC_ADDR +/* Bootloader configuration */ +#define BOOT_FIRMWARE_MAX_SIZE 0x00004000 +#define BOOT_STATUS_OFFSET_USER_SIGN 128 +#define BOOT_WD_MODE_OFFSET_USER_SIGN 0x108 + +/* Firmware configuration */ +#define BOOT_FLASH_FIRMWARE_MAX_SIZE 0x00050000 +#define BOOT_FLASH_PAGE_SIZE IFLASH_PAGE_SIZE +#define BOOT_FLASH_PAGES_PER_SECTOR 128 +#define BOOT_FLASH_SECTOR_SIZE (BOOT_FLASH_PAGES_PER_SECTOR * \ + BOOT_FLASH_PAGE_SIZE) +#define BOOT_FLASH_FIRMWARE_MAX_SIZE_IN_SECTORS (BOOT_FLASH_FIRMWARE_MAX_SIZE / \ + BOOT_FLASH_SECTOR_SIZE) + +/* Region configuration */ +#define BOOT_FIRST_SECTOR_START_ADDRESS (IFLASH_CNC_ADDR + 0x00010000) +#define BOOT_FLASH_EXEC_FIRMWARE_START_ADDRESS (IFLASH_CNC_ADDR + 0x00010000) +#define BOOT_FLASH_EXEC_FIRMWARE_RESET_ADDRESS (BOOT_FLASH_EXEC_FIRMWARE_START_ADDRESS + 4) +#define BOOT_FLASH_FIRMWARE_V1_START_ADDRESS (BOOT_FLASH_EXEC_FIRMWARE_START_ADDRESS + \ + BOOT_FLASH_FIRMWARE_MAX_SIZE) +#define BOOT_FLASH_FIRMWARE_V1_RESET_ADDRESS (BOOT_FLASH_FIRMWARE_V1_START_ADDRESS + 4) +#define BOOT_FLASH_FIRMWARE_V2_START_ADDRESS (BOOT_FLASH_FIRMWARE_V1_START_ADDRESS + \ + BOOT_FLASH_FIRMWARE_MAX_SIZE) +#define BOOT_FLASH_FIRMWARE_V2_RESET_ADDRESS (BOOT_FLASH_FIRMWARE_V2_START_ADDRESS + 4) + +/* Bootloader register flags */ +#define BOOT_CMD_SWAP_ENABLE 0x01 +#define BOOT_FW_V1_IN_USE_MSK 0x02 +#define BOOT_FW_V2_IN_USE_MSK 0x04 + +/* Bootloader values */ +typedef enum { + BOOT_FLASH_FW_VERSION_EXEC, + BOOT_FLASH_FW_VERSION_1, + BOOT_FLASH_FW_VERSION_2, + BOOT_FLASH_FW_VERSION_INVALID +} boot_flash_fw_version_t; + +/** + * \brief Get FW V1 in use + * + */ +static inline uint8_t boot_is_fw_v1_in_use(uint8_t uc_boot_status) +{ + return(uc_boot_status & BOOT_FW_V1_IN_USE_MSK); +} + +/** + * \brief Get FW V2 in use + * + */ +static inline uint8_t boot_is_fw_v2_in_use(uint8_t uc_boot_status) +{ + return(uc_boot_status & BOOT_FW_V2_IN_USE_MSK); +} + +/** + * \brief Get status of swap command + * + */ +static inline uint8_t boot_is_swap_cmd(uint8_t uc_boot_status) +{ + return(uc_boot_status & BOOT_CMD_SWAP_ENABLE); +} + +/** + * \brief Get status error + * + */ +static inline uint8_t boot_is_error(uint8_t uc_boot_status) +{ + if ((uc_boot_status & BOOT_FW_V1_IN_USE_MSK) && + (uc_boot_status & BOOT_FW_V2_IN_USE_MSK)) { + return true; + } else { + return false; + } +} + +#endif /* BOOT_REGIONS_SAM4CMP_H_INCLUDED */ diff --git a/thirdparty/prime/mac/mac_1_3/addons/bootloader/boot_regions_sam4cms16c_0.h b/thirdparty/prime/mac/mac_1_3/addons/bootloader/boot_regions_sam4cms16c_0.h new file mode 100644 index 00000000..e749379f --- /dev/null +++ b/thirdparty/prime/mac/mac_1_3/addons/bootloader/boot_regions_sam4cms16c_0.h @@ -0,0 +1,133 @@ +/** + * \file + * + * \brief Bootloader configuration for SAM4CMS16C_0. + * + * Copyright (c) 2014-2015 Atmel Corporation. All rights reserved. + * + * \asf_license_start + * + * \page License + * + * 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 microcontroller 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. + * + * \asf_license_stop + * + */ + +#ifndef BOOT_REGIONS_SAM4CMS_H_INCLUDED +#define BOOT_REGIONS_SAM4CMS_H_INCLUDED + +#include "compiler.h" + +/* Bootloader regions */ +#define BOOT_REGIONS 2 + +/* Bootloader address */ +#define BOOT_START_ADDRESS IFLASH_CNC_ADDR +/* Bootloader configuration */ +#define BOOT_FIRMWARE_MAX_SIZE 0x00004000 +#define BOOT_STATUS_OFFSET_USER_SIGN 128 +#define BOOT_WD_MODE_OFFSET_USER_SIGN 0x108 + +/* Firmware configuration */ +#define BOOT_FLASH_FIRMWARE_MAX_SIZE 0x00050000 +#define BOOT_FLASH_PAGE_SIZE IFLASH_PAGE_SIZE +#define BOOT_FLASH_PAGES_PER_SECTOR 128 +#define BOOT_FLASH_SECTOR_SIZE (BOOT_FLASH_PAGES_PER_SECTOR * \ + BOOT_FLASH_PAGE_SIZE) +#define BOOT_FLASH_FIRMWARE_MAX_SIZE_IN_SECTORS (BOOT_FLASH_FIRMWARE_MAX_SIZE / \ + BOOT_FLASH_SECTOR_SIZE) + +/* Region configuration */ +#define BOOT_FIRST_SECTOR_START_ADDRESS (IFLASH_CNC_ADDR + 0x00010000) +#define BOOT_FLASH_EXEC_FIRMWARE_START_ADDRESS (IFLASH_CNC_ADDR + 0x00010000) +#define BOOT_FLASH_EXEC_FIRMWARE_RESET_ADDRESS (BOOT_FLASH_EXEC_FIRMWARE_START_ADDRESS + 4) +#define BOOT_FLASH_FIRMWARE_V1_START_ADDRESS (BOOT_FLASH_EXEC_FIRMWARE_START_ADDRESS + \ + BOOT_FLASH_FIRMWARE_MAX_SIZE) +#define BOOT_FLASH_FIRMWARE_V1_RESET_ADDRESS (BOOT_FLASH_FIRMWARE_V1_START_ADDRESS + 4) +#define BOOT_FLASH_FIRMWARE_V2_START_ADDRESS (BOOT_FLASH_FIRMWARE_V1_START_ADDRESS + \ + BOOT_FLASH_FIRMWARE_MAX_SIZE) +#define BOOT_FLASH_FIRMWARE_V2_RESET_ADDRESS (BOOT_FLASH_FIRMWARE_V2_START_ADDRESS + 4) + +/* Bootloader register flags */ +#define BOOT_CMD_SWAP_ENABLE 0x01 +#define BOOT_FW_V1_IN_USE_MSK 0x02 +#define BOOT_FW_V2_IN_USE_MSK 0x04 + +/* Bootloader values */ +typedef enum { + BOOT_FLASH_FW_VERSION_EXEC, + BOOT_FLASH_FW_VERSION_1, + BOOT_FLASH_FW_VERSION_2, + BOOT_FLASH_FW_VERSION_INVALID +} boot_flash_fw_version_t; + +/** + * \brief Get FW V1 in use + * + */ +static inline uint8_t boot_is_fw_v1_in_use(uint8_t uc_boot_status) +{ + return(uc_boot_status & BOOT_FW_V1_IN_USE_MSK); +} + +/** + * \brief Get FW V2 in use + * + */ +static inline uint8_t boot_is_fw_v2_in_use(uint8_t uc_boot_status) +{ + return(uc_boot_status & BOOT_FW_V2_IN_USE_MSK); +} + +/** + * \brief Get status of swap command + * + */ +static inline uint8_t boot_is_swap_cmd(uint8_t uc_boot_status) +{ + return(uc_boot_status & BOOT_CMD_SWAP_ENABLE); +} + +/** + * \brief Get status error + * + */ +static inline uint8_t boot_is_error(uint8_t uc_boot_status) +{ + if ((uc_boot_status & BOOT_FW_V1_IN_USE_MSK) && + (uc_boot_status & BOOT_FW_V2_IN_USE_MSK)) { + return true; + } else { + return false; + } +} + +#endif /* BOOT_REGIONS_SAM4CMS_H_INCLUDED */ diff --git a/thirdparty/prime/mac/mac_1_3/addons/bootloader/boot_regions_sam4cp16b_0.h b/thirdparty/prime/mac/mac_1_3/addons/bootloader/boot_regions_sam4cp16b_0.h new file mode 100644 index 00000000..517ff1f0 --- /dev/null +++ b/thirdparty/prime/mac/mac_1_3/addons/bootloader/boot_regions_sam4cp16b_0.h @@ -0,0 +1,133 @@ +/** + * \file + * + * \brief PLC Bootloader configuration for SAM4CP16B_0. + * + * Copyright (c) 2014-2015 Atmel Corporation. All rights reserved. + * + * \asf_license_start + * + * \page License + * + * 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 microcontroller 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. + * + * \asf_license_stop + * + */ + +#ifndef BOOT_REGIONS_SAM4CP_H_INCLUDED +#define BOOT_REGIONS_SAM4CP_H_INCLUDED + +#include "compiler.h" + +/* Bootloader regions */ +#define BOOT_REGIONS 2 + +/* Bootloader address */ +#define BOOT_START_ADDRESS IFLASH_CNC_ADDR +/* Bootloader configuration */ +#define BOOT_FIRMWARE_MAX_SIZE 0x00004000 +#define BOOT_STATUS_OFFSET_USER_SIGN 128 +#define BOOT_WD_MODE_OFFSET_USER_SIGN 0x108 + +/* Firmware configuration */ +#define BOOT_FLASH_FIRMWARE_MAX_SIZE 0x00050000 +#define BOOT_FLASH_PAGE_SIZE IFLASH_PAGE_SIZE +#define BOOT_FLASH_PAGES_PER_SECTOR 128 +#define BOOT_FLASH_SECTOR_SIZE (BOOT_FLASH_PAGES_PER_SECTOR * \ + BOOT_FLASH_PAGE_SIZE) +#define BOOT_FLASH_FIRMWARE_MAX_SIZE_IN_SECTORS (BOOT_FLASH_FIRMWARE_MAX_SIZE / \ + BOOT_FLASH_SECTOR_SIZE) + +/* Region configuration */ +#define BOOT_FIRST_SECTOR_START_ADDRESS (IFLASH_CNC_ADDR + 0x00010000) +#define BOOT_FLASH_EXEC_FIRMWARE_START_ADDRESS (IFLASH_CNC_ADDR + 0x00010000) +#define BOOT_FLASH_EXEC_FIRMWARE_RESET_ADDRESS (BOOT_FLASH_EXEC_FIRMWARE_START_ADDRESS + 4) +#define BOOT_FLASH_FIRMWARE_V1_START_ADDRESS (BOOT_FLASH_EXEC_FIRMWARE_START_ADDRESS + \ + BOOT_FLASH_FIRMWARE_MAX_SIZE) +#define BOOT_FLASH_FIRMWARE_V1_RESET_ADDRESS (BOOT_FLASH_FIRMWARE_V1_START_ADDRESS + 4) +#define BOOT_FLASH_FIRMWARE_V2_START_ADDRESS (BOOT_FLASH_FIRMWARE_V1_START_ADDRESS + \ + BOOT_FLASH_FIRMWARE_MAX_SIZE) +#define BOOT_FLASH_FIRMWARE_V2_RESET_ADDRESS (BOOT_FLASH_FIRMWARE_V2_START_ADDRESS + 4) + +/* Bootloader register flags */ +#define BOOT_CMD_SWAP_ENABLE 0x01 +#define BOOT_FW_V1_IN_USE_MSK 0x02 +#define BOOT_FW_V2_IN_USE_MSK 0x04 + +/* Bootloader values */ +typedef enum { + BOOT_FLASH_FW_VERSION_EXEC, + BOOT_FLASH_FW_VERSION_1, + BOOT_FLASH_FW_VERSION_2, + BOOT_FLASH_FW_VERSION_INVALID +} boot_flash_fw_version_t; + +/** + * \brief Get FW V1 in use + * + */ +static inline uint8_t boot_is_fw_v1_in_use(uint8_t uc_boot_status) +{ + return(uc_boot_status & BOOT_FW_V1_IN_USE_MSK); +} + +/** + * \brief Get FW V2 in use + * + */ +static inline uint8_t boot_is_fw_v2_in_use(uint8_t uc_boot_status) +{ + return(uc_boot_status & BOOT_FW_V2_IN_USE_MSK); +} + +/** + * \brief Get status of swap command + * + */ +static inline uint8_t boot_is_swap_cmd(uint8_t uc_boot_status) +{ + return(uc_boot_status & BOOT_CMD_SWAP_ENABLE); +} + +/** + * \brief Get status error + * + */ +static inline uint8_t boot_is_error(uint8_t uc_boot_status) +{ + if ((uc_boot_status & BOOT_FW_V1_IN_USE_MSK) && + (uc_boot_status & BOOT_FW_V2_IN_USE_MSK)) { + return 1; + } else { + return 0; + } +} + +#endif /* BOOT_REGIONS_SAM4CP_H_INCLUDED */ diff --git a/thirdparty/prime/mac/mac_1_3/addons/bootloader/bootloader.c b/thirdparty/prime/mac/mac_1_3/addons/bootloader/bootloader.c new file mode 100644 index 00000000..444fd192 --- /dev/null +++ b/thirdparty/prime/mac/mac_1_3/addons/bootloader/bootloader.c @@ -0,0 +1,320 @@ +/** + * \file + * + * \brief PLC Bootloader application for ATMEL PRIME Service Node + * + * Copyright (c) 2014-2015 Atmel Corporation. All rights reserved. + * + * \asf_license_start + * + * \page License + * + * 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 microcontroller 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. + * + * \asf_license_stop + * + */ + +/** + * \mainpage ATMEL PLC Bootloader Application for Service Node + * + * \section Purpose + * + * This application shows how to use the bootloader in a Service Node on PLC + * boards. + * + * \section Requirements + * + * This package should be used with PLC boards, on which there is dedicated PLC + * hardware. + * + * \section Description + * + * This application will check the firmware that must be used and will + * initialize the board with it. + * + */ + +#include "string.h" + +/* Atmel boards includes. */ +#include "board.h" + +/* Atmel library includes. */ +#include "asf.h" + +/* Bootloader include. */ +#include "conf_version.h" + +#if SAM4CP +#include "boot_regions_sam4cp16b_0.h" +#elif SAM4CMP16_0 +#include "boot_regions_sam4cmp16c_0.h" +#elif SAM4CMS16_0 +#include "boot_regions_sam4cms16c_0.h" +#elif SAM4C +#include "boot_regions_sam4c16c_0.h" +#else +# error No known Atmel PLC boot defined +#endif + +/* watchdog reset period is 3 seconds, (base unit is the slow clock divided by + * 128, ~ 4 ms) */ +#define WATCHDOG_INITIAL_VALUE 0xFFFF + +/* Array to translate the FW identifier to its associated flash memory zone */ +uint32_t ul_fw_version_to_address[3] = {BOOT_FLASH_EXEC_FIRMWARE_START_ADDRESS, + BOOT_FLASH_FIRMWARE_V1_START_ADDRESS, + BOOT_FLASH_FIRMWARE_V2_START_ADDRESS}; + +/* Prime Bootloader version (in fixed position in flash) */ +#ifdef __GNUC__ +const unsigned char PRBO_version[32] __attribute__((section(".frwvrs"))) = PRBO_VERSION; +#endif +#ifdef __ICCARM__ +#pragma location = ".frwvrs" +__root const char PRBO_version[32] = PRBO_VERSION; +#endif + +/* Temporal buffer to store the flash pages content */ +uint8_t uc_page[BOOT_FLASH_PAGE_SIZE]; + +#define BOOT_USER_SIGNATURE_SIZE_8 BOOT_FLASH_PAGE_SIZE +#define BOOT_USER_SIGNATURE_SIZE_32 (BOOT_FLASH_PAGE_SIZE / sizeof(uint32_t)) + +/** + * \brief Verify one page of written flash against its data + * source in ram. + * + * \param puc_page_in_ram Pointer to the data source in ram + * \param puc_page_in_flash Pointer to the page in flash + * + * \return 1 Comparison result is OK + * \return 0 Comparison result is NOK + */ +static uint8_t verify_page(uint8_t *puc_page_in_ram, uint8_t *puc_page_in_flash) +{ + uint16_t i = 0; + + while (i < BOOT_FLASH_PAGE_SIZE) { + if (puc_page_in_ram[i] != puc_page_in_flash[i]) { + return 0; + } + + i++; + } + return 1; +} + +/** + * \brief This function erases the indicated FW version. + * + * \param fw_to_erase Identifier of the FW version to erase. + * + * \return 1 Erase OK + * \return 0 Erase NOK + */ +static uint8_t erase_fw_version(boot_flash_fw_version_t fw_to_erase) +{ + uint8_t i = 0; + uint8_t ul_result; + uint32_t *pul_flash = NULL; + uint32_t ul_base_address = 0; + + if (fw_to_erase > BOOT_REGIONS) { + return 0; + } + + ul_base_address = ul_fw_version_to_address[fw_to_erase]; + + for (i = 0; i < BOOT_FLASH_FIRMWARE_MAX_SIZE_IN_SECTORS; i++) { + pul_flash = (uint32_t *)(ul_base_address + i * BOOT_FLASH_SECTOR_SIZE); + ul_result = flash_erase_sector((uint32_t)pul_flash); + if (ul_result != FLASH_RC_OK) { + return 0; + } + } + return 1; +} + +/** + * \brief This function copies the FW stored in orig_version into dest_version. + * + * \param orig_version Identifier of the FW version to copy. + * \param dest_version Destination of the copy process. + * + * \return 1 Copy is OK + * \return 0 Copy is NOK + */ +static uint8_t copy_fw_version(boot_flash_fw_version_t orig_version, + boot_flash_fw_version_t dest_version) +{ + uint8_t i = 0, j = 0; + uint8_t ul_result; + uint32_t ul_sector_offset = 0; + uint32_t ul_page_offset = 0; + uint32_t ul_orig_base_address = 0; + uint32_t ul_dest_base_address = 0; + + if ((orig_version > BOOT_REGIONS) || (dest_version > BOOT_REGIONS)) { + return 0; + } + + ul_orig_base_address = ul_fw_version_to_address[orig_version]; + ul_dest_base_address = ul_fw_version_to_address[dest_version]; + + for (i = 0; i < BOOT_FLASH_FIRMWARE_MAX_SIZE_IN_SECTORS; i++) { + ul_sector_offset = i * BOOT_FLASH_SECTOR_SIZE; + /* Copy sector, page by page */ + for (j = 0; j < BOOT_FLASH_PAGES_PER_SECTOR; j++) { + ul_page_offset = ul_sector_offset + j * BOOT_FLASH_PAGE_SIZE; + memcpy(uc_page, (uint8_t *)(ul_orig_base_address + ul_page_offset), sizeof(uc_page)); + ul_result = flash_write(ul_dest_base_address + ul_page_offset, uc_page, sizeof(uc_page), 0); + if (ul_result != FLASH_RC_OK) { + return 0; + } + + /* Verify the written data */ + + /* If not successfully verified, repeat the page writing process */ + if (!verify_page(uc_page, (uint8_t *)(ul_dest_base_address + ul_page_offset))) { + j--; + } + } + } + return 1; +} + +/** + * \brief Main code entry point. + */ +int main(void) +{ + uint8_t uc_user_sign_buf[BOOT_FLASH_PAGE_SIZE]; + uint8_t *puc_boot_config; + uint8_t uc_boot_status; + uint8_t uc_value = 0; + boot_flash_fw_version_t uc_fw_to_use = BOOT_FLASH_FW_VERSION_EXEC; + uint32_t i; + + /* Ensure all priority bits are assigned as preemption priority bits. */ + NVIC_SetPriorityGrouping(__NVIC_PRIO_BITS); + __set_BASEPRI(0); + + /* Initialize flash: 6 wait states for flash writing. */ + flash_init(FLASH_ACCESS_MODE_128, 6); + + /* Read the Boot status from user signature */ + flash_read_user_signature((void *)uc_user_sign_buf, + BOOT_USER_SIGNATURE_SIZE_32); + + /* provide boot config */ + puc_boot_config = uc_user_sign_buf + BOOT_STATUS_OFFSET_USER_SIGN; + uc_boot_status = (uint8_t)(*puc_boot_config); + + /* check validity boot status. In case of error, FW V1 is loaded by default */ + if (!boot_is_error(uc_boot_status)) { + /* Check if it is needed to change firmware */ + if (boot_is_swap_cmd(uc_boot_status)) { + /* Update "FW in use" information and clear the "FU done" flag */ + if (boot_is_fw_v1_in_use(uc_boot_status)) { + uc_value = BOOT_FW_V2_IN_USE_MSK; + uc_fw_to_use = BOOT_FLASH_FW_VERSION_2; + } else { + uc_value = BOOT_FW_V1_IN_USE_MSK; + uc_fw_to_use = BOOT_FLASH_FW_VERSION_1; + } + } + } else { + uc_value = BOOT_FW_V1_IN_USE_MSK; + } + + /* Swap Fw if it is needed */ + if (uc_value) { + /* change osc to external to optimize proc. time */ + sysclk_init(); + /* store boot config */ + *puc_boot_config = uc_value; + /* Erase the user signature */ + flash_erase_user_signature(); + /* Update user signature */ + flash_write_user_signature((void *)uc_user_sign_buf, BOOT_USER_SIGNATURE_SIZE_32); + if (uc_fw_to_use) { + /* Erase the execution zone */ + (void)erase_fw_version(BOOT_FLASH_FW_VERSION_EXEC); + /* Update new FW */ + (void)copy_fw_version(uc_fw_to_use, BOOT_FLASH_FW_VERSION_EXEC); + } + + /* Return to slow RC */ + osc_enable(OSC_SLCK_32K_RC); + osc_wait_ready(OSC_SLCK_32K_RC); + pmc_switch_mck_to_sclk(SYSCLK_PRES_1); + /* Switch clock to fast RC */ + osc_enable(OSC_MAINCK_12M_RC); + osc_wait_ready(OSC_MAINCK_12M_RC); + pmc_switch_mck_to_mainck(SYSCLK_PRES_1); + } + + __disable_irq(); + /* Disable SysTick */ + SysTick->CTRL = 0; + /* Disable IRQs & clear pending IRQs */ + for (i = 0; i < 8; i++) { + NVIC->ICER[i] = 0xFFFFFFFF; + NVIC->ICPR[i] = 0xFFFFFFFF; + } + + /* Modify vector table location */ + __DSB(); + __ISB(); + /* set the stack pointer also to the start of the firmware */ + __set_MSP(*(int *)(BOOT_FLASH_EXEC_FIRMWARE_START_ADDRESS)); + /* offset the start of the vector table (first 6 bits must be zero) */ + /* The register containing the offset, from 0x00000000, is at 0xE000ED08 + **/ + SCB->VTOR = ((uint32_t)BOOT_FLASH_EXEC_FIRMWARE_START_ADDRESS & SCB_VTOR_TBLOFF_Msk); + __DSB(); + __ISB(); + __enable_irq(); + /* * (int *) 0xE000ED08 = FIRMWARE_START_ADDRESS; */ + + /* jump to the start of the firmware, casting the address as function + * pointer to the start of the firmware. We want to jump to the address + * of the reset */ + + /* handler function, that is the value that is being pointed at position + * FIRMWARE_RESET_ADDRESS */ + void (*runFirmware)(void) = NULL; + runFirmware = (void (*)(void))(*(uint32_t *)BOOT_FLASH_EXEC_FIRMWARE_RESET_ADDRESS); + runFirmware(); + + while (1) { + } +} diff --git a/thirdparty/prime/mac/mac_1_3/addons/bootloader/linker_scripts/gcc/atpl230amb_flash.ld b/thirdparty/prime/mac/mac_1_3/addons/bootloader/linker_scripts/gcc/atpl230amb_flash.ld new file mode 100644 index 00000000..8e488e41 --- /dev/null +++ b/thirdparty/prime/mac/mac_1_3/addons/bootloader/linker_scripts/gcc/atpl230amb_flash.ld @@ -0,0 +1,159 @@ +/** + * \file + * + * \brief Flash Linker script for SAM4SD32. + * + * Copyright (c) 2014 Atmel Corporation. All rights reserved. + * + * \asf_license_start + * + * \page License + * + * 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 microcontroller 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. + * + * \asf_license_stop + * + */ + +OUTPUT_FORMAT("elf32-littlearm", "elf32-littlearm", "elf32-littlearm") +OUTPUT_ARCH(arm) +SEARCH_DIR(.) + +/* Memory Spaces Definitions */ +MEMORY +{ + rom (rx) : ORIGIN = 0x00400000, LENGTH = 0x00200000 /* flash, 2*1024K */ + ram (rwx) : ORIGIN = 0x20000000, LENGTH = 0x00028000 /* sram, 160K */ +} + +/* The stack size used by the application. NOTE: you need to adjust according to your application. */ +__stack_size__ = DEFINED(__stack_size__) ? __stack_size__ : 0x3000; +__ram_end__ = ORIGIN(ram) + LENGTH(ram) - 4; + +/* Section Definitions */ +SECTIONS +{ + .text : + { + . = ALIGN(4); + _sfixed = .; + KEEP(*(.vectors .vectors.*)) + . = ALIGN(0x100); + KEEP(*(.frwvrs)) + *(.text .text.* .gnu.linkonce.t.*) + *(.glue_7t) *(.glue_7) + *(.rodata .rodata* .gnu.linkonce.r.*) + *(.ARM.extab* .gnu.linkonce.armextab.*) + + /* Support C constructors, and C destructors in both user code + and the C library. This also provides support for C++ code. */ + . = ALIGN(4); + KEEP(*(.init)) + . = ALIGN(4); + __preinit_array_start = .; + KEEP (*(.preinit_array)) + __preinit_array_end = .; + + . = ALIGN(4); + __init_array_start = .; + KEEP (*(SORT(.init_array.*))) + KEEP (*(.init_array)) + __init_array_end = .; + + . = ALIGN(0x4); + KEEP (*crtbegin.o(.ctors)) + KEEP (*(EXCLUDE_FILE (*crtend.o) .ctors)) + KEEP (*(SORT(.ctors.*))) + KEEP (*crtend.o(.ctors)) + + . = ALIGN(4); + KEEP(*(.fini)) + + . = ALIGN(4); + __fini_array_start = .; + KEEP (*(.fini_array)) + KEEP (*(SORT(.fini_array.*))) + __fini_array_end = .; + + KEEP (*crtbegin.o(.dtors)) + KEEP (*(EXCLUDE_FILE (*crtend.o) .dtors)) + KEEP (*(SORT(.dtors.*))) + KEEP (*crtend.o(.dtors)) + + . = ALIGN(4); + _efixed = .; /* End of text section */ + } > rom + + /* .ARM.exidx is sorted, so has to go in its own output section. */ + PROVIDE_HIDDEN (__exidx_start = .); + .ARM.exidx : + { + *(.ARM.exidx* .gnu.linkonce.armexidx.*) + } > rom + PROVIDE_HIDDEN (__exidx_end = .); + + . = ALIGN(4); + _etext = .; + + .relocate : AT (_etext) + { + . = ALIGN(4); + _srelocate = .; + *(.ramfunc .ramfunc.*); + *(.data .data.*); + . = ALIGN(4); + _erelocate = .; + } > ram + + /* .bss section which is used for uninitialized data */ + .bss (NOLOAD) : + { + . = ALIGN(4); + _sbss = . ; + _szero = .; + *(.bss .bss.*) + *(COMMON) + . = ALIGN(4); + _ebss = . ; + _ezero = .; + } > ram + + /* stack section */ + .stack (NOLOAD): + { + . = ALIGN(8); + _sstack = .; + . = . + __stack_size__; + . = ALIGN(8); + _estack = .; + } > ram + + . = ALIGN(4); + _end = . ; +} diff --git a/thirdparty/prime/mac/mac_1_3/addons/bootloader/linker_scripts/gcc/sam4c16c_0_flash.ld b/thirdparty/prime/mac/mac_1_3/addons/bootloader/linker_scripts/gcc/sam4c16c_0_flash.ld new file mode 100644 index 00000000..88f985a5 --- /dev/null +++ b/thirdparty/prime/mac/mac_1_3/addons/bootloader/linker_scripts/gcc/sam4c16c_0_flash.ld @@ -0,0 +1,163 @@ +/** + * \file + * + * \brief Flash Linker script for SAM4C16C. + * + * Copyright (c) 2014 Atmel Corporation. All rights reserved. + * + * \asf_license_start + * + * \page License + * + * 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 microcontroller 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. + * + * \asf_license_stop + * + */ + +/*------------------------------------------------------------------------------ + * Linker script for running in internal FLASH on the ATSAM4C16C (Core0) + *----------------------------------------------------------------------------*/ + +OUTPUT_FORMAT("elf32-littlearm", "elf32-littlearm", "elf32-littlearm") +OUTPUT_ARCH(arm) +SEARCH_DIR(.) + +/* Memory Spaces Definitions */ +MEMORY +{ + rom (rx) : ORIGIN = 0x01000000, LENGTH = 0x000F0000 + ram (rwx) : ORIGIN = 0x20000000, LENGTH = 0x00020000 +} + +/* The stack size used by the application. NOTE: you need to adjust according to your application. */ +__stack_size__ = DEFINED(__stack_size__) ? __stack_size__ : 0x3000; +__ram_end__ = ORIGIN(ram) + LENGTH(ram) - 4; + +/* Section Definitions */ +SECTIONS +{ + .text : + { + . = ALIGN(4); + _sfixed = .; + KEEP(*(.vectors .vectors.*)) + . = ALIGN(0x100); + KEEP(*(.frwvrs)) + *(.text .text.* .gnu.linkonce.t.*) + *(.glue_7t) *(.glue_7) + *(.rodata .rodata* .gnu.linkonce.r.*) + *(.ARM.extab* .gnu.linkonce.armextab.*) + + /* Support C constructors, and C destructors in both user code + and the C library. This also provides support for C++ code. */ + . = ALIGN(4); + KEEP(*(.init)) + . = ALIGN(4); + __preinit_array_start = .; + KEEP (*(.preinit_array)) + __preinit_array_end = .; + + . = ALIGN(4); + __init_array_start = .; + KEEP (*(SORT(.init_array.*))) + KEEP (*(.init_array)) + __init_array_end = .; + + . = ALIGN(0x4); + KEEP (*crtbegin.o(.ctors)) + KEEP (*(EXCLUDE_FILE (*crtend.o) .ctors)) + KEEP (*(SORT(.ctors.*))) + KEEP (*crtend.o(.ctors)) + + . = ALIGN(4); + KEEP(*(.fini)) + + . = ALIGN(4); + __fini_array_start = .; + KEEP (*(.fini_array)) + KEEP (*(SORT(.fini_array.*))) + __fini_array_end = .; + + KEEP (*crtbegin.o(.dtors)) + KEEP (*(EXCLUDE_FILE (*crtend.o) .dtors)) + KEEP (*(SORT(.dtors.*))) + KEEP (*crtend.o(.dtors)) + + . = ALIGN(4); + _efixed = .; /* End of text section */ + } > rom + + /* .ARM.exidx is sorted, so has to go in its own output section. */ + PROVIDE_HIDDEN (__exidx_start = .); + .ARM.exidx : + { + *(.ARM.exidx* .gnu.linkonce.armexidx.*) + } > rom + PROVIDE_HIDDEN (__exidx_end = .); + + . = ALIGN(4); + _etext = .; + + .relocate : AT (_etext) + { + . = ALIGN(4); + _srelocate = .; + *(.ramfunc .ramfunc.*); + *(.data .data.*); + . = ALIGN(4); + _erelocate = .; + } > ram + + /* .bss section which is used for uninitialized data */ + .bss (NOLOAD) : + { + . = ALIGN(4); + _sbss = . ; + _szero = .; + *(.bss .bss.*) + *(COMMON) + . = ALIGN(4); + _ebss = . ; + _ezero = .; + } > ram + + /* stack section */ + .stack (NOLOAD): + { + . = ALIGN(8); + _sstack = .; + . = . + __stack_size__; + . = ALIGN(8); + _estack = .; + } > ram + + . = ALIGN(4); + _end = . ; +} diff --git a/thirdparty/prime/mac/mac_1_3/addons/bootloader/linker_scripts/gcc/sam4cmp16c_0_flash.ld b/thirdparty/prime/mac/mac_1_3/addons/bootloader/linker_scripts/gcc/sam4cmp16c_0_flash.ld new file mode 100644 index 00000000..968b8762 --- /dev/null +++ b/thirdparty/prime/mac/mac_1_3/addons/bootloader/linker_scripts/gcc/sam4cmp16c_0_flash.ld @@ -0,0 +1,163 @@ +/** + * \file + * + * \brief Flash Linker script for SAM4CM. + * + * Copyright (c) 2014 Atmel Corporation. All rights reserved. + * + * \asf_license_start + * + * \page License + * + * 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 microcontroller 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. + * + * \asf_license_stop + * + */ + +/*------------------------------------------------------------------------------ + * Linker script for running in internal FLASH on the ATSAM4CMP16C (Core0) + *----------------------------------------------------------------------------*/ + +OUTPUT_FORMAT("elf32-littlearm", "elf32-littlearm", "elf32-littlearm") +OUTPUT_ARCH(arm) +SEARCH_DIR(.) + +/* Memory Spaces Definitions */ +MEMORY +{ + rom (rx) : ORIGIN = 0x01000000, LENGTH = 0x000F0000 + ram (rwx) : ORIGIN = 0x20000000, LENGTH = 0x00020000 +} + +/* The stack size used by the application. NOTE: you need to adjust according to your application. */ +__stack_size__ = DEFINED(__stack_size__) ? __stack_size__ : 0x3000; +__ram_end__ = ORIGIN(ram) + LENGTH(ram) - 4; + +/* Section Definitions */ +SECTIONS +{ + .text : + { + . = ALIGN(4); + _sfixed = .; + KEEP(*(.vectors .vectors.*)) + . = ALIGN(0x100); + KEEP(*(.frwvrs)) + *(.text .text.* .gnu.linkonce.t.*) + *(.glue_7t) *(.glue_7) + *(.rodata .rodata* .gnu.linkonce.r.*) + *(.ARM.extab* .gnu.linkonce.armextab.*) + + /* Support C constructors, and C destructors in both user code + and the C library. This also provides support for C++ code. */ + . = ALIGN(4); + KEEP(*(.init)) + . = ALIGN(4); + __preinit_array_start = .; + KEEP (*(.preinit_array)) + __preinit_array_end = .; + + . = ALIGN(4); + __init_array_start = .; + KEEP (*(SORT(.init_array.*))) + KEEP (*(.init_array)) + __init_array_end = .; + + . = ALIGN(0x4); + KEEP (*crtbegin.o(.ctors)) + KEEP (*(EXCLUDE_FILE (*crtend.o) .ctors)) + KEEP (*(SORT(.ctors.*))) + KEEP (*crtend.o(.ctors)) + + . = ALIGN(4); + KEEP(*(.fini)) + + . = ALIGN(4); + __fini_array_start = .; + KEEP (*(.fini_array)) + KEEP (*(SORT(.fini_array.*))) + __fini_array_end = .; + + KEEP (*crtbegin.o(.dtors)) + KEEP (*(EXCLUDE_FILE (*crtend.o) .dtors)) + KEEP (*(SORT(.dtors.*))) + KEEP (*crtend.o(.dtors)) + + . = ALIGN(4); + _efixed = .; /* End of text section */ + } > rom + + /* .ARM.exidx is sorted, so has to go in its own output section. */ + PROVIDE_HIDDEN (__exidx_start = .); + .ARM.exidx : + { + *(.ARM.exidx* .gnu.linkonce.armexidx.*) + } > rom + PROVIDE_HIDDEN (__exidx_end = .); + + . = ALIGN(4); + _etext = .; + + .relocate : AT (_etext) + { + . = ALIGN(4); + _srelocate = .; + *(.ramfunc .ramfunc.*); + *(.data .data.*); + . = ALIGN(4); + _erelocate = .; + } > ram + + /* .bss section which is used for uninitialized data */ + .bss (NOLOAD) : + { + . = ALIGN(4); + _sbss = . ; + _szero = .; + *(.bss .bss.*) + *(COMMON) + . = ALIGN(4); + _ebss = . ; + _ezero = .; + } > ram + + /* stack section */ + .stack (NOLOAD): + { + . = ALIGN(8); + _sstack = .; + . = . + __stack_size__; + . = ALIGN(8); + _estack = .; + } > ram + + . = ALIGN(4); + _end = . ; +} diff --git a/thirdparty/prime/mac/mac_1_3/addons/bootloader/linker_scripts/gcc/sam4cms16c_0_flash.ld b/thirdparty/prime/mac/mac_1_3/addons/bootloader/linker_scripts/gcc/sam4cms16c_0_flash.ld new file mode 100644 index 00000000..ca0abb7a --- /dev/null +++ b/thirdparty/prime/mac/mac_1_3/addons/bootloader/linker_scripts/gcc/sam4cms16c_0_flash.ld @@ -0,0 +1,163 @@ +/** + * \file + * + * \brief Flash Linker script for SAM4CM. + * + * Copyright (c) 2014 Atmel Corporation. All rights reserved. + * + * \asf_license_start + * + * \page License + * + * 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 microcontroller 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. + * + * \asf_license_stop + * + */ + +/*------------------------------------------------------------------------------ + * Linker script for running in internal FLASH on the ATSAM4CMS16C (Core0) + *----------------------------------------------------------------------------*/ + +OUTPUT_FORMAT("elf32-littlearm", "elf32-littlearm", "elf32-littlearm") +OUTPUT_ARCH(arm) +SEARCH_DIR(.) + +/* Memory Spaces Definitions */ +MEMORY +{ + rom (rx) : ORIGIN = 0x01000000, LENGTH = 0x000F0000 + ram (rwx) : ORIGIN = 0x20000000, LENGTH = 0x00020000 +} + +/* The stack size used by the application. NOTE: you need to adjust according to your application. */ +__stack_size__ = DEFINED(__stack_size__) ? __stack_size__ : 0x3000; +__ram_end__ = ORIGIN(ram) + LENGTH(ram) - 4; + +/* Section Definitions */ +SECTIONS +{ + .text : + { + . = ALIGN(4); + _sfixed = .; + KEEP(*(.vectors .vectors.*)) + . = ALIGN(0x100); + KEEP(*(.frwvrs)) + *(.text .text.* .gnu.linkonce.t.*) + *(.glue_7t) *(.glue_7) + *(.rodata .rodata* .gnu.linkonce.r.*) + *(.ARM.extab* .gnu.linkonce.armextab.*) + + /* Support C constructors, and C destructors in both user code + and the C library. This also provides support for C++ code. */ + . = ALIGN(4); + KEEP(*(.init)) + . = ALIGN(4); + __preinit_array_start = .; + KEEP (*(.preinit_array)) + __preinit_array_end = .; + + . = ALIGN(4); + __init_array_start = .; + KEEP (*(SORT(.init_array.*))) + KEEP (*(.init_array)) + __init_array_end = .; + + . = ALIGN(0x4); + KEEP (*crtbegin.o(.ctors)) + KEEP (*(EXCLUDE_FILE (*crtend.o) .ctors)) + KEEP (*(SORT(.ctors.*))) + KEEP (*crtend.o(.ctors)) + + . = ALIGN(4); + KEEP(*(.fini)) + + . = ALIGN(4); + __fini_array_start = .; + KEEP (*(.fini_array)) + KEEP (*(SORT(.fini_array.*))) + __fini_array_end = .; + + KEEP (*crtbegin.o(.dtors)) + KEEP (*(EXCLUDE_FILE (*crtend.o) .dtors)) + KEEP (*(SORT(.dtors.*))) + KEEP (*crtend.o(.dtors)) + + . = ALIGN(4); + _efixed = .; /* End of text section */ + } > rom + + /* .ARM.exidx is sorted, so has to go in its own output section. */ + PROVIDE_HIDDEN (__exidx_start = .); + .ARM.exidx : + { + *(.ARM.exidx* .gnu.linkonce.armexidx.*) + } > rom + PROVIDE_HIDDEN (__exidx_end = .); + + . = ALIGN(4); + _etext = .; + + .relocate : AT (_etext) + { + . = ALIGN(4); + _srelocate = .; + *(.ramfunc .ramfunc.*); + *(.data .data.*); + . = ALIGN(4); + _erelocate = .; + } > ram + + /* .bss section which is used for uninitialized data */ + .bss (NOLOAD) : + { + . = ALIGN(4); + _sbss = . ; + _szero = .; + *(.bss .bss.*) + *(COMMON) + . = ALIGN(4); + _ebss = . ; + _ezero = .; + } > ram + + /* stack section */ + .stack (NOLOAD): + { + . = ALIGN(8); + _sstack = .; + . = . + __stack_size__; + . = ALIGN(8); + _estack = .; + } > ram + + . = ALIGN(4); + _end = . ; +} diff --git a/thirdparty/prime/mac/mac_1_3/addons/bootloader/linker_scripts/gcc/sam4cp16b_0_flash.ld b/thirdparty/prime/mac/mac_1_3/addons/bootloader/linker_scripts/gcc/sam4cp16b_0_flash.ld new file mode 100644 index 00000000..c7a79db8 --- /dev/null +++ b/thirdparty/prime/mac/mac_1_3/addons/bootloader/linker_scripts/gcc/sam4cp16b_0_flash.ld @@ -0,0 +1,163 @@ +/** + * \file + * + * \brief Flash Linker script for SAM4CP. + * + * Copyright (c) 2014 Atmel Corporation. All rights reserved. + * + * \asf_license_start + * + * \page License + * + * 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 microcontroller 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. + * + * \asf_license_stop + * + */ + +/*------------------------------------------------------------------------------ + * Linker script for running in internal FLASH on the ATSAM4CP16B (Core0) + *----------------------------------------------------------------------------*/ + +OUTPUT_FORMAT("elf32-littlearm", "elf32-littlearm", "elf32-littlearm") +OUTPUT_ARCH(arm) +SEARCH_DIR(.) + +/* Memory Spaces Definitions */ +MEMORY +{ + rom (rx) : ORIGIN = 0x01000000, LENGTH = 0x000F0000 + ram (rwx) : ORIGIN = 0x20000000, LENGTH = 0x00020000 +} + +/* The stack size used by the application. NOTE: you need to adjust according to your application. */ +__stack_size__ = DEFINED(__stack_size__) ? __stack_size__ : 0x3000; +__ram_end__ = ORIGIN(ram) + LENGTH(ram) - 4; + +/* Section Definitions */ +SECTIONS +{ + .text : + { + . = ALIGN(4); + _sfixed = .; + KEEP(*(.vectors .vectors.*)) + . = ALIGN(0x100); + KEEP(*(.frwvrs)) + *(.text .text.* .gnu.linkonce.t.*) + *(.glue_7t) *(.glue_7) + *(.rodata .rodata* .gnu.linkonce.r.*) + *(.ARM.extab* .gnu.linkonce.armextab.*) + + /* Support C constructors, and C destructors in both user code + and the C library. This also provides support for C++ code. */ + . = ALIGN(4); + KEEP(*(.init)) + . = ALIGN(4); + __preinit_array_start = .; + KEEP (*(.preinit_array)) + __preinit_array_end = .; + + . = ALIGN(4); + __init_array_start = .; + KEEP (*(SORT(.init_array.*))) + KEEP (*(.init_array)) + __init_array_end = .; + + . = ALIGN(0x4); + KEEP (*crtbegin.o(.ctors)) + KEEP (*(EXCLUDE_FILE (*crtend.o) .ctors)) + KEEP (*(SORT(.ctors.*))) + KEEP (*crtend.o(.ctors)) + + . = ALIGN(4); + KEEP(*(.fini)) + + . = ALIGN(4); + __fini_array_start = .; + KEEP (*(.fini_array)) + KEEP (*(SORT(.fini_array.*))) + __fini_array_end = .; + + KEEP (*crtbegin.o(.dtors)) + KEEP (*(EXCLUDE_FILE (*crtend.o) .dtors)) + KEEP (*(SORT(.dtors.*))) + KEEP (*crtend.o(.dtors)) + + . = ALIGN(4); + _efixed = .; /* End of text section */ + } > rom + + /* .ARM.exidx is sorted, so has to go in its own output section. */ + PROVIDE_HIDDEN (__exidx_start = .); + .ARM.exidx : + { + *(.ARM.exidx* .gnu.linkonce.armexidx.*) + } > rom + PROVIDE_HIDDEN (__exidx_end = .); + + . = ALIGN(4); + _etext = .; + + .relocate : AT (_etext) + { + . = ALIGN(4); + _srelocate = .; + *(.ramfunc .ramfunc.*); + *(.data .data.*); + . = ALIGN(4); + _erelocate = .; + } > ram + + /* .bss section which is used for uninitialized data */ + .bss (NOLOAD) : + { + . = ALIGN(4); + _sbss = . ; + _szero = .; + *(.bss .bss.*) + *(COMMON) + . = ALIGN(4); + _ebss = . ; + _ezero = .; + } > ram + + /* stack section */ + .stack (NOLOAD): + { + . = ALIGN(8); + _sstack = .; + . = . + __stack_size__; + . = ALIGN(8); + _estack = .; + } > ram + + . = ALIGN(4); + _end = . ; +} diff --git a/thirdparty/prime/mac/mac_1_3/addons/bootloader/linker_scripts/iar/atpl230amb_flash.icf b/thirdparty/prime/mac/mac_1_3/addons/bootloader/linker_scripts/iar/atpl230amb_flash.icf new file mode 100644 index 00000000..614db887 --- /dev/null +++ b/thirdparty/prime/mac/mac_1_3/addons/bootloader/linker_scripts/iar/atpl230amb_flash.icf @@ -0,0 +1,34 @@ +/*###ICF### Section handled by ICF editor, don't touch! ****/ +/*-Editor annotation file-*/ +/* IcfEditorFile="$TOOLKIT_DIR$\config\ide\IcfEditor\cortex_v1_0.xml" */ +/*-Specials-*/ +define symbol __ICFEDIT_intvec_start__ = 0x00400000; +define symbol __ICFEDIT_frwvrs_start__ = 0x00400100; +/*-Memory Regions-*/ +define symbol __ICFEDIT_region_RAM_start__ = 0x20000000; +define symbol __ICFEDIT_region_RAM_end__ = 0x20027FFF; +define symbol __ICFEDIT_region_ROM_start__ = 0x00400000; +define symbol __ICFEDIT_region_ROM_end__ = 0x00487FFF; +/*-Sizes-*/ +if (!isdefinedsymbol(__ICFEDIT_size_cstack__)) { +define symbol __ICFEDIT_size_cstack__ = 0x2000; +} +if (!isdefinedsymbol(__ICFEDIT_size_heap__)) { +define symbol __ICFEDIT_size_heap__ = 0x200; +} +/**** End of ICF editor section. ###ICF###*/ + +define memory mem with size = 4G; +define region RAM_region = mem:[from __ICFEDIT_region_RAM_start__ to __ICFEDIT_region_RAM_end__]; +define region ROM_region = mem:[from __ICFEDIT_region_ROM_start__ to __ICFEDIT_region_ROM_end__]; + +define block CSTACK with alignment = 8, size = __ICFEDIT_size_cstack__ { }; +define block HEAP with alignment = 8, size = __ICFEDIT_size_heap__ { }; + +initialize by copy { readwrite }; +do not initialize { section .noinit }; + +place at address mem:__ICFEDIT_intvec_start__ { readonly section .intvec }; +place at address mem:__ICFEDIT_frwvrs_start__ { readonly section .frwvrs }; +place in ROM_region { readonly }; +place in RAM_region { readwrite, block CSTACK, block HEAP }; diff --git a/thirdparty/prime/mac/mac_1_3/addons/bootloader/linker_scripts/iar/sam4c16c_0_flash.icf b/thirdparty/prime/mac/mac_1_3/addons/bootloader/linker_scripts/iar/sam4c16c_0_flash.icf new file mode 100644 index 00000000..c9a189bc --- /dev/null +++ b/thirdparty/prime/mac/mac_1_3/addons/bootloader/linker_scripts/iar/sam4c16c_0_flash.icf @@ -0,0 +1,34 @@ +/*###ICF### Section handled by ICF editor, don't touch! ****/ +/*-Editor annotation file-*/ +/* IcfEditorFile="$TOOLKIT_DIR$\config\ide\IcfEditor\cortex_v1_0.xml" */ +/*-Specials-*/ +define symbol __ICFEDIT_intvec_start__ = 0x01000000; +define symbol __ICFEDIT_frwvrs_start__ = 0x01000100; +/*-Memory Regions-*/ +define symbol __ICFEDIT_region_RAM_start__ = 0x20000000; +define symbol __ICFEDIT_region_RAM_end__ = 0x20020000; +define symbol __ICFEDIT_region_ROM_start__ = 0x01000000; +define symbol __ICFEDIT_region_ROM_end__ = 0x01100000; +/*-Sizes-*/ +if (!isdefinedsymbol(__ICFEDIT_size_cstack__)) { +define symbol __ICFEDIT_size_cstack__ = 0x2000; +} +if (!isdefinedsymbol(__ICFEDIT_size_heap__)) { +define symbol __ICFEDIT_size_heap__ = 0x200; +} +/**** End of ICF editor section. ###ICF###*/ + +define memory mem with size = 4G; +define region RAM_region = mem:[from __ICFEDIT_region_RAM_start__ to __ICFEDIT_region_RAM_end__]; +define region ROM_region = mem:[from __ICFEDIT_region_ROM_start__ to __ICFEDIT_region_ROM_end__]; + +define block CSTACK with alignment = 8, size = __ICFEDIT_size_cstack__ { }; +define block HEAP with alignment = 8, size = __ICFEDIT_size_heap__ { }; + +initialize by copy { readwrite }; +do not initialize { section .noinit }; + +place at address mem:__ICFEDIT_intvec_start__ { readonly section .intvec }; +place at address mem:__ICFEDIT_frwvrs_start__ { readonly section .frwvrs }; +place in ROM_region { readonly }; +place in RAM_region { readwrite, block CSTACK, block HEAP }; diff --git a/thirdparty/prime/mac/mac_1_3/addons/bootloader/linker_scripts/iar/sam4cmp16c_0_flash.icf b/thirdparty/prime/mac/mac_1_3/addons/bootloader/linker_scripts/iar/sam4cmp16c_0_flash.icf new file mode 100644 index 00000000..c9a189bc --- /dev/null +++ b/thirdparty/prime/mac/mac_1_3/addons/bootloader/linker_scripts/iar/sam4cmp16c_0_flash.icf @@ -0,0 +1,34 @@ +/*###ICF### Section handled by ICF editor, don't touch! ****/ +/*-Editor annotation file-*/ +/* IcfEditorFile="$TOOLKIT_DIR$\config\ide\IcfEditor\cortex_v1_0.xml" */ +/*-Specials-*/ +define symbol __ICFEDIT_intvec_start__ = 0x01000000; +define symbol __ICFEDIT_frwvrs_start__ = 0x01000100; +/*-Memory Regions-*/ +define symbol __ICFEDIT_region_RAM_start__ = 0x20000000; +define symbol __ICFEDIT_region_RAM_end__ = 0x20020000; +define symbol __ICFEDIT_region_ROM_start__ = 0x01000000; +define symbol __ICFEDIT_region_ROM_end__ = 0x01100000; +/*-Sizes-*/ +if (!isdefinedsymbol(__ICFEDIT_size_cstack__)) { +define symbol __ICFEDIT_size_cstack__ = 0x2000; +} +if (!isdefinedsymbol(__ICFEDIT_size_heap__)) { +define symbol __ICFEDIT_size_heap__ = 0x200; +} +/**** End of ICF editor section. ###ICF###*/ + +define memory mem with size = 4G; +define region RAM_region = mem:[from __ICFEDIT_region_RAM_start__ to __ICFEDIT_region_RAM_end__]; +define region ROM_region = mem:[from __ICFEDIT_region_ROM_start__ to __ICFEDIT_region_ROM_end__]; + +define block CSTACK with alignment = 8, size = __ICFEDIT_size_cstack__ { }; +define block HEAP with alignment = 8, size = __ICFEDIT_size_heap__ { }; + +initialize by copy { readwrite }; +do not initialize { section .noinit }; + +place at address mem:__ICFEDIT_intvec_start__ { readonly section .intvec }; +place at address mem:__ICFEDIT_frwvrs_start__ { readonly section .frwvrs }; +place in ROM_region { readonly }; +place in RAM_region { readwrite, block CSTACK, block HEAP }; diff --git a/thirdparty/prime/mac/mac_1_3/addons/bootloader/linker_scripts/iar/sam4cms16c_0_flash.icf b/thirdparty/prime/mac/mac_1_3/addons/bootloader/linker_scripts/iar/sam4cms16c_0_flash.icf new file mode 100644 index 00000000..c9a189bc --- /dev/null +++ b/thirdparty/prime/mac/mac_1_3/addons/bootloader/linker_scripts/iar/sam4cms16c_0_flash.icf @@ -0,0 +1,34 @@ +/*###ICF### Section handled by ICF editor, don't touch! ****/ +/*-Editor annotation file-*/ +/* IcfEditorFile="$TOOLKIT_DIR$\config\ide\IcfEditor\cortex_v1_0.xml" */ +/*-Specials-*/ +define symbol __ICFEDIT_intvec_start__ = 0x01000000; +define symbol __ICFEDIT_frwvrs_start__ = 0x01000100; +/*-Memory Regions-*/ +define symbol __ICFEDIT_region_RAM_start__ = 0x20000000; +define symbol __ICFEDIT_region_RAM_end__ = 0x20020000; +define symbol __ICFEDIT_region_ROM_start__ = 0x01000000; +define symbol __ICFEDIT_region_ROM_end__ = 0x01100000; +/*-Sizes-*/ +if (!isdefinedsymbol(__ICFEDIT_size_cstack__)) { +define symbol __ICFEDIT_size_cstack__ = 0x2000; +} +if (!isdefinedsymbol(__ICFEDIT_size_heap__)) { +define symbol __ICFEDIT_size_heap__ = 0x200; +} +/**** End of ICF editor section. ###ICF###*/ + +define memory mem with size = 4G; +define region RAM_region = mem:[from __ICFEDIT_region_RAM_start__ to __ICFEDIT_region_RAM_end__]; +define region ROM_region = mem:[from __ICFEDIT_region_ROM_start__ to __ICFEDIT_region_ROM_end__]; + +define block CSTACK with alignment = 8, size = __ICFEDIT_size_cstack__ { }; +define block HEAP with alignment = 8, size = __ICFEDIT_size_heap__ { }; + +initialize by copy { readwrite }; +do not initialize { section .noinit }; + +place at address mem:__ICFEDIT_intvec_start__ { readonly section .intvec }; +place at address mem:__ICFEDIT_frwvrs_start__ { readonly section .frwvrs }; +place in ROM_region { readonly }; +place in RAM_region { readwrite, block CSTACK, block HEAP }; diff --git a/thirdparty/prime/mac/mac_1_3/addons/bootloader/linker_scripts/iar/sam4cp16b_0_flash.icf b/thirdparty/prime/mac/mac_1_3/addons/bootloader/linker_scripts/iar/sam4cp16b_0_flash.icf new file mode 100644 index 00000000..c9a189bc --- /dev/null +++ b/thirdparty/prime/mac/mac_1_3/addons/bootloader/linker_scripts/iar/sam4cp16b_0_flash.icf @@ -0,0 +1,34 @@ +/*###ICF### Section handled by ICF editor, don't touch! ****/ +/*-Editor annotation file-*/ +/* IcfEditorFile="$TOOLKIT_DIR$\config\ide\IcfEditor\cortex_v1_0.xml" */ +/*-Specials-*/ +define symbol __ICFEDIT_intvec_start__ = 0x01000000; +define symbol __ICFEDIT_frwvrs_start__ = 0x01000100; +/*-Memory Regions-*/ +define symbol __ICFEDIT_region_RAM_start__ = 0x20000000; +define symbol __ICFEDIT_region_RAM_end__ = 0x20020000; +define symbol __ICFEDIT_region_ROM_start__ = 0x01000000; +define symbol __ICFEDIT_region_ROM_end__ = 0x01100000; +/*-Sizes-*/ +if (!isdefinedsymbol(__ICFEDIT_size_cstack__)) { +define symbol __ICFEDIT_size_cstack__ = 0x2000; +} +if (!isdefinedsymbol(__ICFEDIT_size_heap__)) { +define symbol __ICFEDIT_size_heap__ = 0x200; +} +/**** End of ICF editor section. ###ICF###*/ + +define memory mem with size = 4G; +define region RAM_region = mem:[from __ICFEDIT_region_RAM_start__ to __ICFEDIT_region_RAM_end__]; +define region ROM_region = mem:[from __ICFEDIT_region_ROM_start__ to __ICFEDIT_region_ROM_end__]; + +define block CSTACK with alignment = 8, size = __ICFEDIT_size_cstack__ { }; +define block HEAP with alignment = 8, size = __ICFEDIT_size_heap__ { }; + +initialize by copy { readwrite }; +do not initialize { section .noinit }; + +place at address mem:__ICFEDIT_intvec_start__ { readonly section .intvec }; +place at address mem:__ICFEDIT_frwvrs_start__ { readonly section .frwvrs }; +place in ROM_region { readonly }; +place in RAM_region { readwrite, block CSTACK, block HEAP }; diff --git a/thirdparty/prime/mac/mac_1_3/addons/bootloader/module_config/conf_version.h b/thirdparty/prime/mac/mac_1_3/addons/bootloader/module_config/conf_version.h new file mode 100644 index 00000000..7c5c0e37 --- /dev/null +++ b/thirdparty/prime/mac/mac_1_3/addons/bootloader/module_config/conf_version.h @@ -0,0 +1,45 @@ +/** + * \file + * + * \brief Version file of SAM4 Bootloader application for ATMEL PRIME + * Service Node + * + * Copyright (c) 2014-2015 Atmel Corporation. All rights reserved. + * + * \asf_license_start + * + * \page License + * + * 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 microcontroller 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. + * + * \asf_license_stop + * + */ + +#define PRBO_VERSION "ATMBOOTSAM400000000000" diff --git a/thirdparty/prime/mac/mac_1_3/addons/bootloader/sam4c16c_sam4c_ek/conf_board.h b/thirdparty/prime/mac/mac_1_3/addons/bootloader/sam4c16c_sam4c_ek/conf_board.h new file mode 100644 index 00000000..faecd715 --- /dev/null +++ b/thirdparty/prime/mac/mac_1_3/addons/bootloader/sam4c16c_sam4c_ek/conf_board.h @@ -0,0 +1,105 @@ +/** + * \file + * + * \brief SAM4C-EK board configuration. + * + * Copyright (c) 2014-2015 Atmel Corporation. All rights reserved. + * + * \asf_license_start + * + * \page License + * + * 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 microcontroller 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. + * + * \asf_license_stop + * + */ + +#ifndef CONF_BOARD_H_INCLUDED +#define CONF_BOARD_H_INCLUDED + +/* Keep watchdog at board initialization (not disable it) */ +//#define CONF_BOARD_KEEP_WATCHDOG_AT_INIT + +/* Configure UART0 pins */ +#define CONF_BOARD_UART_CONSOLE +#define CONF_BOARD_UART0 + +/* Configure LCD backlight */ +//#define CONF_BOARD_UART_CONSOLE + +/* Configure PWM LED0 pin */ +//#define CONF_BOARD_PWM_LED0 + +/* Configure PWM LED1 pin */ +//#define CONF_BOARD_PWM_LED1 + +/* Configure PWM LED2 pin */ +//#define CONF_BOARD_PWM_LED2 + +/* Configure SPI0 pins */ +#define CONF_BOARD_SPI0 +#define CONF_BOARD_SPI0_NPCS0 + +/* Configure SPI1 pins */ +//#define CONF_BOARD_SPI1 +//#define CONF_BOARD_SPI0_NPCS1 + +/* Configure TWI0 pins */ +//#define CONF_BOARD_TWI0 + +/* Configure TWI0 pins for AT30TSE */ +//#define CONF_BOARD_AT30TSE + +/* Configure TWI1 pins */ +//#define CONF_BOARD_TWI1 + +/* Configure USART pins */ +//#define CONF_BOARD_USART_RXD +//#define CONF_BOARD_USART_TXD +//#define CONF_BOARD_USART_CTS +//#define CONF_BOARD_USART_RTS +//#define CONF_BOARD_USART_SCK + +/* Configure IrDA transceiver shutdown pin */ +//#define CONF_BOARD_TFDU4300_SD + +/* Configure RS485 transceiver RE pin */ +//#define CONF_BOARD_ADM3485_RE + +/* Configure ISO7816 card reset pin */ +//#define CONF_BOARD_ISO7816_RST + +/* Configure ISO7816 interface TXD & SCK pin */ +//#define CONF_BOARD_ISO7816 + +/* Configure ADC pins */ +//#define CONF_BOARD_ADC + +#endif /* CONF_BOARD_H_INCLUDED */ diff --git a/thirdparty/prime/mac/mac_1_3/addons/bootloader/sam4c16c_sam4c_ek/conf_clock.h b/thirdparty/prime/mac/mac_1_3/addons/bootloader/sam4c16c_sam4c_ek/conf_clock.h new file mode 100644 index 00000000..bd03dc41 --- /dev/null +++ b/thirdparty/prime/mac/mac_1_3/addons/bootloader/sam4c16c_sam4c_ek/conf_clock.h @@ -0,0 +1,108 @@ +/** + * \file + * + * \brief SAM4C clock configuration. + * + * Copyright (c) 2014-2015 Atmel Corporation. All rights reserved. + * + * \asf_license_start + * + * \page License + * + * 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 microcontroller 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. + * + * \asf_license_stop + * + */ + +#ifndef CONF_CLOCK_H_INCLUDED +#define CONF_CLOCK_H_INCLUDED + +// ===== System Clock (MCK) Source Options +//#define CONFIG_SYSCLK_SOURCE SYSCLK_SRC_SLCK_RC +//#define CONFIG_SYSCLK_SOURCE SYSCLK_SRC_SLCK_XTAL +//#define CONFIG_SYSCLK_SOURCE SYSCLK_SRC_SLCK_BYPASS +//#define CONFIG_SYSCLK_SOURCE SYSCLK_SRC_MAINCK_4M_RC +//#define CONFIG_SYSCLK_SOURCE SYSCLK_SRC_MAINCK_8M_RC +//#define CONFIG_SYSCLK_SOURCE SYSCLK_SRC_MAINCK_12M_RC +//#define CONFIG_SYSCLK_SOURCE SYSCLK_SRC_MAINCK_XTAL +//#define CONFIG_SYSCLK_SOURCE SYSCLK_SRC_MAINCK_BYPASS +//#define CONFIG_SYSCLK_SOURCE SYSCLK_SRC_PLLACK +#define CONFIG_SYSCLK_SOURCE SYSCLK_SRC_PLLBCK + +// ===== System Clock (MCK) Prescaler Options (Fmck = Fsys / (SYSCLK_PRES)) +#define CONFIG_SYSCLK_PRES SYSCLK_PRES_1 +//#define CONFIG_SYSCLK_PRES SYSCLK_PRES_2 +//#define CONFIG_SYSCLK_PRES SYSCLK_PRES_4 +//#define CONFIG_SYSCLK_PRES SYSCLK_PRES_8 +//#define CONFIG_SYSCLK_PRES SYSCLK_PRES_16 +//#define CONFIG_SYSCLK_PRES SYSCLK_PRES_32 +//#define CONFIG_SYSCLK_PRES SYSCLK_PRES_64 +//#define CONFIG_SYSCLK_PRES SYSCLK_PRES_3 + +// ===== PLL0 (A) Options (8.192M = (32.768K * 250) / 1) +//#define CONFIG_PLL0_SOURCE PLLA_SRC_SLCK_32K_XTAL + +// ===== PLL1 (B) Options (Fpll = (Fclk * PLL_mul) / PLL_div) +// Use mul and div effective values here. +#define CONFIG_PLL1_SOURCE PLLB_SRC_MAINCK_XTAL +#define CONFIG_PLL1_MUL (240000000UL / BOARD_FREQ_MAINCK_XTAL) +#define CONFIG_PLL1_DIV 2 + +// ===== Coprocessor System Clock (CPMCK) Options +// Fcpmck = Fcpclk_source / CPCLK_PRES + +// Note: +// CONFIG_CPCLK_ENABLE MUST be defined if using peripherals on bus matrix 1. +#define CONFIG_CPCLK_ENABLE + +// Coprocessor System Clock Source Options +//#define CONFIG_CPCLK_SOURCE CPCLK_SRC_SLCK +//#define CONFIG_CPCLK_SOURCE CPCLK_SRC_MAINCK +//#define CONFIG_CPCLK_SOURCE CPCLK_SRC_PLLACK +//#define CONFIG_CPCLK_SOURCE CPCLK_SRC_PLLBCK +#define CONFIG_CPCLK_SOURCE CPCLK_SRC_MCK + +// Coprocessor System Clock Prescaler Options (CPCLK_PRES may be 1 to 16). +#define CONFIG_CPCLK_PRES 1 + +// ===== Main processor frequency (MCK) +// - XTAL frequency: 8MHz +// - System clock source: PLLB +// - System clock prescaler: 1 (divided by 1) +// - PLLB source: XTAL +// - PLLB output: XTAL * 30 / 2 +// - System clock: 8 * 30 / 2 / 1 = 120MHz +// +// ===== Coprocessor frequency (CPMCK) +// - Coprocessor system clock source: MCK +// - Coprocessor system clock prescaler: 1 (divided by 1) +// - Coprocessor system clock: 120MHz / 1 = 120MHz + +#endif /* CONF_CLOCK_H_INCLUDED */ diff --git a/thirdparty/prime/mac/mac_1_3/addons/bootloader/sam4c16c_sam4c_ek/conf_sleepmgr.h b/thirdparty/prime/mac/mac_1_3/addons/bootloader/sam4c16c_sam4c_ek/conf_sleepmgr.h new file mode 100644 index 00000000..cb9866ca --- /dev/null +++ b/thirdparty/prime/mac/mac_1_3/addons/bootloader/sam4c16c_sam4c_ek/conf_sleepmgr.h @@ -0,0 +1,49 @@ +/** + * \file + * + * \brief Chip-specific sleep manager configuration + * + * Copyright (c) 2014-2015 Atmel Corporation. All rights reserved. + * + * \asf_license_start + * + * \page License + * + * 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 microcontroller 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. + * + * \asf_license_stop + * + */ +#ifndef CONF_SLEEPMGR_H +#define CONF_SLEEPMGR_H + +/* Sleep manager options */ +#define CONFIG_SLEEPMGR_ENABLE + +#endif /* CONF_SLEEPMGR_H */ diff --git a/thirdparty/prime/mac/mac_1_3/addons/bootloader/sam4c16c_sam4c_ek/conf_version.h b/thirdparty/prime/mac/mac_1_3/addons/bootloader/sam4c16c_sam4c_ek/conf_version.h new file mode 100644 index 00000000..fdc0e7e5 --- /dev/null +++ b/thirdparty/prime/mac/mac_1_3/addons/bootloader/sam4c16c_sam4c_ek/conf_version.h @@ -0,0 +1,45 @@ +/** + * \file + * + * \brief Version file of SAM4CMP Bootloader application for ATMEL PRIME + * Service Node + * + * Copyright (c) 2014-2015 Atmel Corporation. All rights reserved. + * + * \asf_license_start + * + * \page License + * + * 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 microcontroller 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. + * + * \asf_license_stop + * + */ + +#define PRBO_VERSION "ATMBOOTSAM4C16CI0100" diff --git a/thirdparty/prime/mac/mac_1_3/addons/bootloader/sam4c16c_sam4c_ek/iar/addons_bootloader.eww b/thirdparty/prime/mac/mac_1_3/addons/bootloader/sam4c16c_sam4c_ek/iar/addons_bootloader.eww new file mode 100644 index 00000000..b549eb12 --- /dev/null +++ b/thirdparty/prime/mac/mac_1_3/addons/bootloader/sam4c16c_sam4c_ek/iar/addons_bootloader.eww @@ -0,0 +1,6 @@ +<workspace> + <batchBuild></batchBuild> + <project> + <path>$WS_DIR$\addons_bootloader_flash.ewp</path> + </project> +</workspace> diff --git a/thirdparty/prime/mac/mac_1_3/addons/bootloader/sam4c16c_sam4c_ek/iar/addons_bootloader_flash.ewd b/thirdparty/prime/mac/mac_1_3/addons/bootloader/sam4c16c_sam4c_ek/iar/addons_bootloader_flash.ewd new file mode 100644 index 00000000..ce148ea1 --- /dev/null +++ b/thirdparty/prime/mac/mac_1_3/addons/bootloader/sam4c16c_sam4c_ek/iar/addons_bootloader_flash.ewd @@ -0,0 +1,1655 @@ +<project> + <fileVersion>2</fileVersion> + <configuration> + <name>Debug</name> + <toolchain> + <name>ARM</name> + </toolchain> + <debug>1</debug> + <settings> + <name>C-SPY</name> + <archiveVersion>2</archiveVersion> + <data> + <version>22</version> + <wantNonLocal>1</wantNonLocal> + <debug>1</debug> + <option> + <name>CInput</name> + <state>1</state> + </option> + <option> + <name>CEndian</name> + <state>1</state> + </option> + <option> + <name>CProcessor</name> + <state>1</state> + </option> + <option> + <name>OCVariant</name> + <state>0</state> + </option> + <option> + <name>MacOverride</name> + <state>1</state> + </option> + <option> + <name>MacFile</name> + <state>$PROJ_DIR$\../../../../../../../../sam/boards/sam4c_ek/debug_scripts/iar/sam4c_ek_flash_0.mac</state> + </option> + <option> + <name>MemOverride</name> + <state>0</state> + </option> + <option> + <name>MemFile</name> + <state>$TOOLKIT_DIR$\CONFIG\debugger\Atmel\ATSAM4C16C_0.ddf</state> + </option> + <option> + <name>RunToEnable</name> + <state>1</state> + </option> + <option> + <name>RunToName</name> + <state>main</state> + </option> + <option> + <name>CExtraOptionsCheck</name> + <state>0</state> + </option> + <option> + <name>CExtraOptions</name> + <state></state> + </option> + <option> + <name>CFpuProcessor</name> + <state>1</state> + </option> + <option> + <name>OCDDFArgumentProducer</name> + <state></state> + </option> + <option> + <name>OCDownloadSuppressDownload</name> + <state>0</state> + </option> + <option> + <name>OCDownloadVerifyAll</name> + <state>1</state> + </option> + <option> + <name>OCProductVersion</name> + <state>6.10.5.52324</state> + </option> + <option> + <name>OCDynDriverList</name> + <state>JLINK_ID</state> + </option> + <option> + <name>OCLastSavedByProductVersion</name> + <state>6.10.5.52324</state> + </option> + <option> + <name>OCDownloadAttachToProgram</name> + <state>0</state> + </option> + <option> + <name>UseFlashLoader</name> + <state>1</state> + </option> + <option> + <name>CLowLevel</name> + <state>1</state> + </option> + <option> + <name>OCBE8Slave</name> + <state>1</state> + </option> + <option> + <name>MacFile2</name> + <state></state> + </option> + <option> + <name>CDevice</name> + <state>1</state> + </option> + <option> + <name>FlashLoadersV3</name> + <state>$TOOLKIT_DIR$\config\flashloader\Atmel\sam4c16c\sam4c16c-flash.board</state> + </option> + <option> + <name>OCImagesSuppressCheck1</name> + <state>0</state> + </option> + <option> + <name>OCImagesPath1</name> + <state></state> + </option> + <option> + <name>OCImagesSuppressCheck2</name> + <state>0</state> + </option> + <option> + <name>OCImagesPath2</name> + <state></state> + </option> + <option> + <name>OCImagesSuppressCheck3</name> + <state>0</state> + </option> + <option> + <name>OCImagesPath3</name> + <state></state> + </option> + <option> + <name>OverrideDefFlashBoard</name> + <state>0</state> + </option> + <option> + <name>OCImagesOffset1</name> + <state></state> + </option> + <option> + <name>OCImagesOffset2</name> + <state></state> + </option> + <option> + <name>OCImagesOffset3</name> + <state></state> + </option> + <option> + <name>OCImagesUse1</name> + <state>0</state> + </option> + <option> + <name>OCImagesUse2</name> + <state>0</state> + </option> + <option> + <name>OCImagesUse3</name> + <state>0</state> + </option> + </data> + </settings> + <settings> + <name>ARMSIM_ID</name> + <archiveVersion>2</archiveVersion> + <data> + <version>1</version> + <wantNonLocal>1</wantNonLocal> + <debug>1</debug> + <option> + <name>OCSimDriverInfo</name> + <state>1</state> + </option> + <option> + <name>OCSimEnablePSP</name> + <state>0</state> + </option> + <option> + <name>OCSimPspOverrideConfig</name> + <state>0</state> + </option> + <option> + <name>OCSimPspConfigFile</name> + <state></state> + </option> + </data> + </settings> + <settings> + <name>ANGEL_ID</name> + <archiveVersion>2</archiveVersion> + <data> + <version>0</version> + <wantNonLocal>1</wantNonLocal> + <debug>1</debug> + <option> + <name>CCAngelHeartbeat</name> + <state>1</state> + </option> + <option> + <name>CAngelCommunication</name> + <state>1</state> + </option> + <option> + <name>CAngelCommBaud</name> + <version>0</version> + <state>3</state> + </option> + <option> + <name>CAngelCommPort</name> + <version>0</version> + <state>0</state> + </option> + <option> + <name>ANGELTCPIP</name> + <state>aaa.bbb.ccc.ddd</state> + </option> + <option> + <name>DoAngelLogfile</name> + <state>0</state> + </option> + <option> + <name>AngelLogFile</name> + <state>$PROJ_DIR$\cspycomm.log</state> + </option> + <option> + <name>OCDriverInfo</name> + <state>1</state> + </option> + </data> + </settings> + <settings> + <name>GDBSERVER_ID</name> + <archiveVersion>2</archiveVersion> + <data> + <version>0</version> + <wantNonLocal>1</wantNonLocal> + <debug>1</debug> + <option> + <name>OCDriverInfo</name> + <state>1</state> + </option> + <option> + <name>TCPIP</name> + <state>aaa.bbb.ccc.ddd</state> + </option> + <option> + <name>DoLogfile</name> + <state>0</state> + </option> + <option> + <name>LogFile</name> + <state>$PROJ_DIR$\cspycomm.log</state> + </option> + <option> + <name>CCJTagBreakpointRadio</name> + <state>0</state> + </option> + <option> + <name>CCJTagDoUpdateBreakpoints</name> + <state>0</state> + </option> + <option> + <name>CCJTagUpdateBreakpoints</name> + <state>_call_main</state> + </option> + </data> + </settings> + <settings> + <name>IARROM_ID</name> + <archiveVersion>2</archiveVersion> + <data> + <version>1</version> + <wantNonLocal>1</wantNonLocal> + <debug>1</debug> + <option> + <name>CRomLogFileCheck</name> + <state>0</state> + </option> + <option> + <name>CRomLogFileEditB</name> + <state>$PROJ_DIR$\cspycomm.log</state> + </option> + <option> + <name>CRomCommPort</name> + <version>0</version> + <state>0</state> + </option> + <option> + <name>CRomCommBaud</name> + <version>0</version> + <state>7</state> + </option> + <option> + <name>OCDriverInfo</name> + <state>1</state> + </option> + </data> + </settings> + <settings> + <name>JLINK_ID</name> + <archiveVersion>2</archiveVersion> + <data> + <version>12</version> + <wantNonLocal>1</wantNonLocal> + <debug>1</debug> + <option> + <name>JLinkSpeed</name> + <state>32</state> + </option> + <option> + <name>CCJLinkDoLogfile</name> + <state>0</state> + </option> + <option> + <name>CCJLinkLogFile</name> + <state>$PROJ_DIR$\cspycomm.log</state> + </option> + <option> + <name>CCJLinkHWResetDelay</name> + <state>0</state> + </option> + <option> + <name>OCDriverInfo</name> + <state>1</state> + </option> + <option> + <name>JLinkInitialSpeed</name> + <state>32</state> + </option> + <option> + <name>CCDoJlinkMultiTarget</name> + <state>0</state> + </option> + <option> + <name>CCScanChainNonARMDevices</name> + <state>0</state> + </option> + <option> + <name>CCJLinkMultiTarget</name> + <state>0</state> + </option> + <option> + <name>CCJLinkIRLength</name> + <state>0</state> + </option> + <option> + <name>CCJLinkCommRadio</name> + <state>0</state> + </option> + <option> + <name>CCJLinkTCPIP</name> + <state>aaa.bbb.ccc.ddd</state> + </option> + <option> + <name>CCJLinkSpeedRadioV2</name> + <state>0</state> + </option> + <option> + <name>CCUSBDevice</name> + <version>1</version> + <state>1</state> + </option> + <option> + <name>CCRDICatchReset</name> + <state>0</state> + </option> + <option> + <name>CCRDICatchUndef</name> + <state>0</state> + </option> + <option> + <name>CCRDICatchSWI</name> + <state>0</state> + </option> + <option> + <name>CCRDICatchData</name> + <state>0</state> + </option> + <option> + <name>CCRDICatchPrefetch</name> + <state>0</state> + </option> + <option> + <name>CCRDICatchIRQ</name> + <state>0</state> + </option> + <option> + <name>CCRDICatchFIQ</name> + <state>0</state> + </option> + <option> + <name>CCJLinkBreakpointRadio</name> + <state>0</state> + </option> + <option> + <name>CCJLinkDoUpdateBreakpoints</name> + <state>0</state> + </option> + <option> + <name>CCJLinkUpdateBreakpoints</name> + <state>_call_main</state> + </option> + <option> + <name>CCJLinkInterfaceRadio</name> + <state>0</state> + </option> + <option> + <name>OCJLinkAttachSlave</name> + <state>1</state> + </option> + <option> + <name>CCJLinkResetList</name> + <version>5</version> + <state>7</state> + </option> + <option> + <name>CCJLinkInterfaceCmdLine</name> + <state>0</state> + </option> + <option> + <name>CCCatchCORERESET</name> + <state>0</state> + </option> + <option> + <name>CCCatchMMERR</name> + <state>0</state> + </option> + <option> + <name>CCCatchNOCPERR</name> + <state>0</state> + </option> + <option> + <name>CCCatchCHRERR</name> + <state>0</state> + </option> + <option> + <name>CCCatchSTATERR</name> + <state>0</state> + </option> + <option> + <name>CCCatchBUSERR</name> + <state>0</state> + </option> + <option> + <name>CCCatchINTERR</name> + <state>0</state> + </option> + <option> + <name>CCCatchHARDERR</name> + <state>0</state> + </option> + <option> + <name>CCCatchDummy</name> + <state>0</state> + </option> + <option> + <name>OCJLinkScriptFile</name> + <state>1</state> + </option> + </data> + </settings> + <settings> + <name>LMIFTDI_ID</name> + <archiveVersion>2</archiveVersion> + <data> + <version>2</version> + <wantNonLocal>1</wantNonLocal> + <debug>1</debug> + <option> + <name>OCDriverInfo</name> + <state>1</state> + </option> + <option> + <name>LmiftdiSpeed</name> + <state>500</state> + </option> + <option> + <name>CCLmiftdiDoLogfile</name> + <state>0</state> + </option> + <option> + <name>CCLmiftdiLogFile</name> + <state>$PROJ_DIR$\cspycomm.log</state> + </option> + <option> + <name>CCLmiFtdiInterfaceRadio</name> + <state>0</state> + </option> + <option> + <name>CCLmiFtdiInterfaceCmdLine</name> + <state>0</state> + </option> + </data> + </settings> + <settings> + <name>MACRAIGOR_ID</name> + <archiveVersion>2</archiveVersion> + <data> + <version>3</version> + <wantNonLocal>1</wantNonLocal> + <debug>1</debug> + <option> + <name>jtag</name> + <version>0</version> + <state>0</state> + </option> + <option> + <name>EmuSpeed</name> + <state>1</state> + </option> + <option> + <name>TCPIP</name> + <state>aaa.bbb.ccc.ddd</state> + </option> + <option> + <name>DoLogfile</name> + <state>0</state> + </option> + <option> + <name>LogFile</name> + <state>$PROJ_DIR$\cspycomm.log</state> + </option> + <option> + <name>DoEmuMultiTarget</name> + <state>0</state> + </option> + <option> + <name>EmuMultiTarget</name> + <state>0@ARM7TDMI</state> + </option> + <option> + <name>EmuHWReset</name> + <state>0</state> + </option> + <option> + <name>CEmuCommBaud</name> + <version>0</version> + <state>4</state> + </option> + <option> + <name>CEmuCommPort</name> + <version>0</version> + <state>0</state> + </option> + <option> + <name>jtago</name> + <version>0</version> + <state>0</state> + </option> + <option> + <name>OCDriverInfo</name> + <state>1</state> + </option> + <option> + <name>UnusedAddr</name> + <state>0x00800000</state> + </option> + <option> + <name>CCMacraigorHWResetDelay</name> + <state></state> + </option> + <option> + <name>CCJTagBreakpointRadio</name> + <state>0</state> + </option> + <option> + <name>CCJTagDoUpdateBreakpoints</name> + <state>0</state> + </option> + <option> + <name>CCJTagUpdateBreakpoints</name> + <state>_call_main</state> + </option> + <option> + <name>CCMacraigorInterfaceRadio</name> + <state>0</state> + </option> + <option> + <name>CCMacraigorInterfaceCmdLine</name> + <state>0</state> + </option> + </data> + </settings> + <settings> + <name>PEMICRO_ID</name> + <archiveVersion>2</archiveVersion> + <data> + <version>0</version> + <wantNonLocal>1</wantNonLocal> + <debug>1</debug> + <option> + <name>OCDriverInfo</name> + <state>1</state> + </option> + <option> + <name>OCPEMicroAttachSlave</name> + <state>1</state> + </option> + <option> + <name>CCPEMicroInterfaceList</name> + <version>0</version> + <state>0</state> + </option> + <option> + <name>CCPEMicroResetDelay</name> + <state></state> + </option> + <option> + <name>CCPEMicroJtagSpeed</name> + <state>#UNINITIALIZED#</state> + </option> + <option> + <name>CCJPEMicroShowSettings</name> + <state>0</state> + </option> + <option> + <name>DoLogfile</name> + <state>0</state> + </option> + <option> + <name>LogFile</name> + <state>$PROJ_DIR$\cspycomm.log</state> + </option> + <option> + <name>CCPEMicroUSBDevice</name> + <version>0</version> + <state>0</state> + </option> + <option> + <name>CCPEMicroSerialPort</name> + <version>0</version> + <state>0</state> + </option> + <option> + <name>CCJPEMicroTCPIPAutoScanNetwork</name> + <state>1</state> + </option> + <option> + <name>CCPEMicroTCPIP</name> + <state>10.0.0.1</state> + </option> + <option> + <name>CCPEMicroCommCmdLineProducer</name> + <state>0</state> + </option> + </data> + </settings> + <settings> + <name>RDI_ID</name> + <archiveVersion>2</archiveVersion> + <data> + <version>1</version> + <wantNonLocal>1</wantNonLocal> + <debug>1</debug> + <option> + <name>CRDIDriverDll</name> + <state>###Uninitialized###</state> + </option> + <option> + <name>CRDILogFileCheck</name> + <state>0</state> + </option> + <option> + <name>CRDILogFileEdit</name> + <state>$PROJ_DIR$\cspycomm.log</state> + </option> + <option> + <name>CCRDIHWReset</name> + <state>0</state> + </option> + <option> + <name>CCRDICatchReset</name> + <state>0</state> + </option> + <option> + <name>CCRDICatchUndef</name> + <state>0</state> + </option> + <option> + <name>CCRDICatchSWI</name> + <state>0</state> + </option> + <option> + <name>CCRDICatchData</name> + <state>0</state> + </option> + <option> + <name>CCRDICatchPrefetch</name> + <state>0</state> + </option> + <option> + <name>CCRDICatchIRQ</name> + <state>0</state> + </option> + <option> + <name>CCRDICatchFIQ</name> + <state>0</state> + </option> + <option> + <name>CCRDIUseETM</name> + <state>0</state> + </option> + <option> + <name>OCDriverInfo</name> + <state>1</state> + </option> + </data> + </settings> + <settings> + <name>STLINK_ID</name> + <archiveVersion>2</archiveVersion> + <data> + <version>1</version> + <wantNonLocal>1</wantNonLocal> + <debug>1</debug> + <option> + <name>OCDriverInfo</name> + <state>1</state> + </option> + <option> + <name>CCSTLinkInterfaceRadio</name> + <state>0</state> + </option> + <option> + <name>CCSTLinkInterfaceCmdLine</name> + <state>0</state> + </option> + </data> + </settings> + <settings> + <name>THIRDPARTY_ID</name> + <archiveVersion>2</archiveVersion> + <data> + <version>0</version> + <wantNonLocal>1</wantNonLocal> + <debug>1</debug> + <option> + <name>CThirdPartyDriverDll</name> + <state>Browse to your third-party driver</state> + </option> + <option> + <name>CThirdPartyLogFileCheck</name> + <state>0</state> + </option> + <option> + <name>CThirdPartyLogFileEditB</name> + <state>$PROJ_DIR$\cspycomm.log</state> + </option> + <option> + <name>OCDriverInfo</name> + <state>1</state> + </option> + </data> + </settings> + <debuggerPlugins> + <plugin> + <file>$TOOLKIT_DIR$\plugins\rtos\CMX\CmxArmPlugin.ENU.ewplugin</file> + <loadFlag>0</loadFlag> + </plugin> + <plugin> + <file>$TOOLKIT_DIR$\plugins\rtos\CMX\CmxTinyArmPlugin.ENU.ewplugin</file> + <loadFlag>0</loadFlag> + </plugin> + <plugin> + <file>$TOOLKIT_DIR$\plugins\rtos\embOS\embOSPlugin.ewplugin</file> + <loadFlag>0</loadFlag> + </plugin> + <plugin> + <file>$TOOLKIT_DIR$\plugins\rtos\MQX\MQXRtosPlugin.ewplugin</file> + <loadFlag>0</loadFlag> + </plugin> + <plugin> + <file>$TOOLKIT_DIR$\plugins\rtos\OpenRTOS\OpenRTOSPlugin.ewplugin</file> + <loadFlag>0</loadFlag> + </plugin> + <plugin> + <file>$TOOLKIT_DIR$\plugins\rtos\PowerPac\PowerPacRTOS.ewplugin</file> + <loadFlag>0</loadFlag> + </plugin> + <plugin> + <file>$TOOLKIT_DIR$\plugins\rtos\Quadros\Quadros_EWB6_Plugin.ewplugin</file> + <loadFlag>0</loadFlag> + </plugin> + <plugin> + <file>$TOOLKIT_DIR$\plugins\rtos\SafeRTOS\SafeRTOSPlugin.ewplugin</file> + <loadFlag>0</loadFlag> + </plugin> + <plugin> + <file>$TOOLKIT_DIR$\plugins\rtos\ThreadX\ThreadXArmPlugin.ENU.ewplugin</file> + <loadFlag>0</loadFlag> + </plugin> + <plugin> + <file>$TOOLKIT_DIR$\plugins\rtos\uCOS-II\uCOS-II-286-KA-CSpy.ewplugin</file> + <loadFlag>0</loadFlag> + </plugin> + <plugin> + <file>$TOOLKIT_DIR$\plugins\rtos\uCOS-II\uCOS-II-KA-CSpy.ewplugin</file> + <loadFlag>0</loadFlag> + </plugin> + <plugin> + <file>$EW_DIR$\common\plugins\CodeCoverage\CodeCoverage.ENU.ewplugin</file> + <loadFlag>1</loadFlag> + </plugin> + <plugin> + <file>$EW_DIR$\common\plugins\Orti\Orti.ENU.ewplugin</file> + <loadFlag>0</loadFlag> + </plugin> + <plugin> + <file>$EW_DIR$\common\plugins\Stack\Stack.ENU.ewplugin</file> + <loadFlag>1</loadFlag> + </plugin> + <plugin> + <file>$EW_DIR$\common\plugins\SymList\SymList.ENU.ewplugin</file> + <loadFlag>1</loadFlag> + </plugin> + </debuggerPlugins> + </configuration> + <configuration> + <name>Release</name> + <toolchain> + <name>ARM</name> + </toolchain> + <debug>0</debug> + <settings> + <name>C-SPY</name> + <archiveVersion>2</archiveVersion> + <data> + <version>22</version> + <wantNonLocal>1</wantNonLocal> + <debug>0</debug> + <option> + <name>CInput</name> + <state>1</state> + </option> + <option> + <name>CEndian</name> + <state>1</state> + </option> + <option> + <name>CProcessor</name> + <state>1</state> + </option> + <option> + <name>OCVariant</name> + <state>0</state> + </option> + <option> + <name>MacOverride</name> + <state>1</state> + </option> + <option> + <name>MacFile</name> + <state>$PROJ_DIR$\../../../../../../../../sam/boards/sam4c_ek/debug_scripts/iar/sam4c_ek_flash_0.mac</state> + </option> + <option> + <name>MemOverride</name> + <state>0</state> + </option> + <option> + <name>MemFile</name> + <state>$TOOLKIT_DIR$\CONFIG\debugger\Atmel\ATSAM4C16C_0.ddf</state> + </option> + <option> + <name>RunToEnable</name> + <state>1</state> + </option> + <option> + <name>RunToName</name> + <state>main</state> + </option> + <option> + <name>CExtraOptionsCheck</name> + <state>0</state> + </option> + <option> + <name>CExtraOptions</name> + <state></state> + </option> + <option> + <name>CFpuProcessor</name> + <state>1</state> + </option> + <option> + <name>OCDDFArgumentProducer</name> + <state></state> + </option> + <option> + <name>OCDownloadSuppressDownload</name> + <state>0</state> + </option> + <option> + <name>OCDownloadVerifyAll</name> + <state>1</state> + </option> + <option> + <name>OCProductVersion</name> + <state>6.10.5.52324</state> + </option> + <option> + <name>OCDynDriverList</name> + <state>JLINK_ID</state> + </option> + <option> + <name>OCLastSavedByProductVersion</name> + <state></state> + </option> + <option> + <name>OCDownloadAttachToProgram</name> + <state>0</state> + </option> + <option> + <name>UseFlashLoader</name> + <state>1</state> + </option> + <option> + <name>CLowLevel</name> + <state>1</state> + </option> + <option> + <name>OCBE8Slave</name> + <state>1</state> + </option> + <option> + <name>MacFile2</name> + <state></state> + </option> + <option> + <name>CDevice</name> + <state>1</state> + </option> + <option> + <name>FlashLoadersV3</name> + <state>$TOOLKIT_DIR$\config\flashloader\Atmel\sam4c16c\sam4c16c-flash.board</state> + </option> + <option> + <name>OCImagesSuppressCheck1</name> + <state>0</state> + </option> + <option> + <name>OCImagesPath1</name> + <state></state> + </option> + <option> + <name>OCImagesSuppressCheck2</name> + <state>0</state> + </option> + <option> + <name>OCImagesPath2</name> + <state></state> + </option> + <option> + <name>OCImagesSuppressCheck3</name> + <state>0</state> + </option> + <option> + <name>OCImagesPath3</name> + <state></state> + </option> + <option> + <name>OverrideDefFlashBoard</name> + <state>0</state> + </option> + <option> + <name>OCImagesOffset1</name> + <state></state> + </option> + <option> + <name>OCImagesOffset2</name> + <state></state> + </option> + <option> + <name>OCImagesOffset3</name> + <state></state> + </option> + <option> + <name>OCImagesUse1</name> + <state>0</state> + </option> + <option> + <name>OCImagesUse2</name> + <state>0</state> + </option> + <option> + <name>OCImagesUse3</name> + <state>0</state> + </option> + </data> + </settings> + <settings> + <name>ARMSIM_ID</name> + <archiveVersion>2</archiveVersion> + <data> + <version>1</version> + <wantNonLocal>1</wantNonLocal> + <debug>0</debug> + <option> + <name>OCSimDriverInfo</name> + <state>1</state> + </option> + <option> + <name>OCSimEnablePSP</name> + <state>0</state> + </option> + <option> + <name>OCSimPspOverrideConfig</name> + <state>0</state> + </option> + <option> + <name>OCSimPspConfigFile</name> + <state></state> + </option> + </data> + </settings> + <settings> + <name>ANGEL_ID</name> + <archiveVersion>2</archiveVersion> + <data> + <version>0</version> + <wantNonLocal>1</wantNonLocal> + <debug>0</debug> + <option> + <name>CCAngelHeartbeat</name> + <state>1</state> + </option> + <option> + <name>CAngelCommunication</name> + <state>1</state> + </option> + <option> + <name>CAngelCommBaud</name> + <version>0</version> + <state>3</state> + </option> + <option> + <name>CAngelCommPort</name> + <version>0</version> + <state>0</state> + </option> + <option> + <name>ANGELTCPIP</name> + <state>aaa.bbb.ccc.ddd</state> + </option> + <option> + <name>DoAngelLogfile</name> + <state>0</state> + </option> + <option> + <name>AngelLogFile</name> + <state>$PROJ_DIR$\cspycomm.log</state> + </option> + <option> + <name>OCDriverInfo</name> + <state>1</state> + </option> + </data> + </settings> + <settings> + <name>GDBSERVER_ID</name> + <archiveVersion>2</archiveVersion> + <data> + <version>0</version> + <wantNonLocal>1</wantNonLocal> + <debug>0</debug> + <option> + <name>OCDriverInfo</name> + <state>1</state> + </option> + <option> + <name>TCPIP</name> + <state>aaa.bbb.ccc.ddd</state> + </option> + <option> + <name>DoLogfile</name> + <state>0</state> + </option> + <option> + <name>LogFile</name> + <state>$PROJ_DIR$\cspycomm.log</state> + </option> + <option> + <name>CCJTagBreakpointRadio</name> + <state>0</state> + </option> + <option> + <name>CCJTagDoUpdateBreakpoints</name> + <state>0</state> + </option> + <option> + <name>CCJTagUpdateBreakpoints</name> + <state>_call_main</state> + </option> + </data> + </settings> + <settings> + <name>IARROM_ID</name> + <archiveVersion>2</archiveVersion> + <data> + <version>1</version> + <wantNonLocal>1</wantNonLocal> + <debug>0</debug> + <option> + <name>CRomLogFileCheck</name> + <state>0</state> + </option> + <option> + <name>CRomLogFileEditB</name> + <state>$PROJ_DIR$\cspycomm.log</state> + </option> + <option> + <name>CRomCommPort</name> + <version>0</version> + <state>0</state> + </option> + <option> + <name>CRomCommBaud</name> + <version>0</version> + <state>7</state> + </option> + <option> + <name>OCDriverInfo</name> + <state>1</state> + </option> + </data> + </settings> + <settings> + <name>JLINK_ID</name> + <archiveVersion>2</archiveVersion> + <data> + <version>12</version> + <wantNonLocal>1</wantNonLocal> + <debug>0</debug> + <option> + <name>JLinkSpeed</name> + <state>32</state> + </option> + <option> + <name>CCJLinkDoLogfile</name> + <state>0</state> + </option> + <option> + <name>CCJLinkLogFile</name> + <state>$PROJ_DIR$\cspycomm.log</state> + </option> + <option> + <name>CCJLinkHWResetDelay</name> + <state>0</state> + </option> + <option> + <name>OCDriverInfo</name> + <state>1</state> + </option> + <option> + <name>JLinkInitialSpeed</name> + <state>32</state> + </option> + <option> + <name>CCDoJlinkMultiTarget</name> + <state>0</state> + </option> + <option> + <name>CCScanChainNonARMDevices</name> + <state>0</state> + </option> + <option> + <name>CCJLinkMultiTarget</name> + <state>0</state> + </option> + <option> + <name>CCJLinkIRLength</name> + <state>0</state> + </option> + <option> + <name>CCJLinkCommRadio</name> + <state>0</state> + </option> + <option> + <name>CCJLinkTCPIP</name> + <state>aaa.bbb.ccc.ddd</state> + </option> + <option> + <name>CCJLinkSpeedRadioV2</name> + <state>0</state> + </option> + <option> + <name>CCUSBDevice</name> + <version>1</version> + <state>1</state> + </option> + <option> + <name>CCRDICatchReset</name> + <state>0</state> + </option> + <option> + <name>CCRDICatchUndef</name> + <state>0</state> + </option> + <option> + <name>CCRDICatchSWI</name> + <state>0</state> + </option> + <option> + <name>CCRDICatchData</name> + <state>0</state> + </option> + <option> + <name>CCRDICatchPrefetch</name> + <state>0</state> + </option> + <option> + <name>CCRDICatchIRQ</name> + <state>0</state> + </option> + <option> + <name>CCRDICatchFIQ</name> + <state>0</state> + </option> + <option> + <name>CCJLinkBreakpointRadio</name> + <state>0</state> + </option> + <option> + <name>CCJLinkDoUpdateBreakpoints</name> + <state>0</state> + </option> + <option> + <name>CCJLinkUpdateBreakpoints</name> + <state>_call_main</state> + </option> + <option> + <name>CCJLinkInterfaceRadio</name> + <state>0</state> + </option> + <option> + <name>OCJLinkAttachSlave</name> + <state>1</state> + </option> + <option> + <name>CCJLinkResetList</name> + <version>5</version> + <state>7</state> + </option> + <option> + <name>CCJLinkInterfaceCmdLine</name> + <state>0</state> + </option> + <option> + <name>CCCatchCORERESET</name> + <state>0</state> + </option> + <option> + <name>CCCatchMMERR</name> + <state>0</state> + </option> + <option> + <name>CCCatchNOCPERR</name> + <state>0</state> + </option> + <option> + <name>CCCatchCHRERR</name> + <state>0</state> + </option> + <option> + <name>CCCatchSTATERR</name> + <state>0</state> + </option> + <option> + <name>CCCatchBUSERR</name> + <state>0</state> + </option> + <option> + <name>CCCatchINTERR</name> + <state>0</state> + </option> + <option> + <name>CCCatchHARDERR</name> + <state>0</state> + </option> + <option> + <name>CCCatchDummy</name> + <state>0</state> + </option> + <option> + <name>OCJLinkScriptFile</name> + <state>1</state> + </option> + </data> + </settings> + <settings> + <name>LMIFTDI_ID</name> + <archiveVersion>2</archiveVersion> + <data> + <version>2</version> + <wantNonLocal>1</wantNonLocal> + <debug>0</debug> + <option> + <name>OCDriverInfo</name> + <state>1</state> + </option> + <option> + <name>LmiftdiSpeed</name> + <state>500</state> + </option> + <option> + <name>CCLmiftdiDoLogfile</name> + <state>0</state> + </option> + <option> + <name>CCLmiftdiLogFile</name> + <state>$PROJ_DIR$\cspycomm.log</state> + </option> + <option> + <name>CCLmiFtdiInterfaceRadio</name> + <state>0</state> + </option> + <option> + <name>CCLmiFtdiInterfaceCmdLine</name> + <state>0</state> + </option> + </data> + </settings> + <settings> + <name>MACRAIGOR_ID</name> + <archiveVersion>2</archiveVersion> + <data> + <version>3</version> + <wantNonLocal>1</wantNonLocal> + <debug>0</debug> + <option> + <name>jtag</name> + <version>0</version> + <state>0</state> + </option> + <option> + <name>EmuSpeed</name> + <state>1</state> + </option> + <option> + <name>TCPIP</name> + <state>aaa.bbb.ccc.ddd</state> + </option> + <option> + <name>DoLogfile</name> + <state>0</state> + </option> + <option> + <name>LogFile</name> + <state>$PROJ_DIR$\cspycomm.log</state> + </option> + <option> + <name>DoEmuMultiTarget</name> + <state>0</state> + </option> + <option> + <name>EmuMultiTarget</name> + <state>0@ARM7TDMI</state> + </option> + <option> + <name>EmuHWReset</name> + <state>0</state> + </option> + <option> + <name>CEmuCommBaud</name> + <version>0</version> + <state>4</state> + </option> + <option> + <name>CEmuCommPort</name> + <version>0</version> + <state>0</state> + </option> + <option> + <name>jtago</name> + <version>0</version> + <state>0</state> + </option> + <option> + <name>OCDriverInfo</name> + <state>1</state> + </option> + <option> + <name>UnusedAddr</name> + <state>0x00800000</state> + </option> + <option> + <name>CCMacraigorHWResetDelay</name> + <state></state> + </option> + <option> + <name>CCJTagBreakpointRadio</name> + <state>0</state> + </option> + <option> + <name>CCJTagDoUpdateBreakpoints</name> + <state>0</state> + </option> + <option> + <name>CCJTagUpdateBreakpoints</name> + <state>_call_main</state> + </option> + <option> + <name>CCMacraigorInterfaceRadio</name> + <state>0</state> + </option> + <option> + <name>CCMacraigorInterfaceCmdLine</name> + <state>0</state> + </option> + </data> + </settings> + <settings> + <name>PEMICRO_ID</name> + <archiveVersion>2</archiveVersion> + <data> + <version>0</version> + <wantNonLocal>1</wantNonLocal> + <debug>0</debug> + <option> + <name>OCDriverInfo</name> + <state>1</state> + </option> + <option> + <name>OCPEMicroAttachSlave</name> + <state>1</state> + </option> + <option> + <name>CCPEMicroInterfaceList</name> + <version>0</version> + <state>0</state> + </option> + <option> + <name>CCPEMicroResetDelay</name> + <state></state> + </option> + <option> + <name>CCPEMicroJtagSpeed</name> + <state>#UNINITIALIZED#</state> + </option> + <option> + <name>CCJPEMicroShowSettings</name> + <state>0</state> + </option> + <option> + <name>DoLogfile</name> + <state>0</state> + </option> + <option> + <name>LogFile</name> + <state>$PROJ_DIR$\cspycomm.log</state> + </option> + <option> + <name>CCPEMicroUSBDevice</name> + <version>0</version> + <state>0</state> + </option> + <option> + <name>CCPEMicroSerialPort</name> + <version>0</version> + <state>0</state> + </option> + <option> + <name>CCJPEMicroTCPIPAutoScanNetwork</name> + <state>1</state> + </option> + <option> + <name>CCPEMicroTCPIP</name> + <state>10.0.0.1</state> + </option> + <option> + <name>CCPEMicroCommCmdLineProducer</name> + <state>0</state> + </option> + </data> + </settings> + <settings> + <name>RDI_ID</name> + <archiveVersion>2</archiveVersion> + <data> + <version>1</version> + <wantNonLocal>1</wantNonLocal> + <debug>0</debug> + <option> + <name>CRDIDriverDll</name> + <state>###Uninitialized###</state> + </option> + <option> + <name>CRDILogFileCheck</name> + <state>0</state> + </option> + <option> + <name>CRDILogFileEdit</name> + <state>$PROJ_DIR$\cspycomm.log</state> + </option> + <option> + <name>CCRDIHWReset</name> + <state>0</state> + </option> + <option> + <name>CCRDICatchReset</name> + <state>0</state> + </option> + <option> + <name>CCRDICatchUndef</name> + <state>0</state> + </option> + <option> + <name>CCRDICatchSWI</name> + <state>0</state> + </option> + <option> + <name>CCRDICatchData</name> + <state>0</state> + </option> + <option> + <name>CCRDICatchPrefetch</name> + <state>0</state> + </option> + <option> + <name>CCRDICatchIRQ</name> + <state>0</state> + </option> + <option> + <name>CCRDICatchFIQ</name> + <state>0</state> + </option> + <option> + <name>CCRDIUseETM</name> + <state>0</state> + </option> + <option> + <name>OCDriverInfo</name> + <state>1</state> + </option> + </data> + </settings> + <settings> + <name>STLINK_ID</name> + <archiveVersion>2</archiveVersion> + <data> + <version>1</version> + <wantNonLocal>1</wantNonLocal> + <debug>0</debug> + <option> + <name>OCDriverInfo</name> + <state>1</state> + </option> + <option> + <name>CCSTLinkInterfaceRadio</name> + <state>0</state> + </option> + <option> + <name>CCSTLinkInterfaceCmdLine</name> + <state>0</state> + </option> + </data> + </settings> + <settings> + <name>THIRDPARTY_ID</name> + <archiveVersion>2</archiveVersion> + <data> + <version>0</version> + <wantNonLocal>1</wantNonLocal> + <debug>0</debug> + <option> + <name>CThirdPartyDriverDll</name> + <state>###Uninitialized###</state> + </option> + <option> + <name>CThirdPartyLogFileCheck</name> + <state>0</state> + </option> + <option> + <name>CThirdPartyLogFileEditB</name> + <state>$PROJ_DIR$\cspycomm.log</state> + </option> + <option> + <name>OCDriverInfo</name> + <state>1</state> + </option> + </data> + </settings> + <debuggerPlugins> + <plugin> + <file>$TOOLKIT_DIR$\plugins\rtos\CMX\CmxArmPlugin.ENU.ewplugin</file> + <loadFlag>0</loadFlag> + </plugin> + <plugin> + <file>$TOOLKIT_DIR$\plugins\rtos\CMX\CmxTinyArmPlugin.ENU.ewplugin</file> + <loadFlag>0</loadFlag> + </plugin> + <plugin> + <file>$TOOLKIT_DIR$\plugins\rtos\embOS\embOSPlugin.ewplugin</file> + <loadFlag>0</loadFlag> + </plugin> + <plugin> + <file>$TOOLKIT_DIR$\plugins\rtos\MQX\MQXRtosPlugin.ewplugin</file> + <loadFlag>0</loadFlag> + </plugin> + <plugin> + <file>$TOOLKIT_DIR$\plugins\rtos\OpenRTOS\OpenRTOSPlugin.ewplugin</file> + <loadFlag>0</loadFlag> + </plugin> + <plugin> + <file>$TOOLKIT_DIR$\plugins\rtos\PowerPac\PowerPacRTOS.ewplugin</file> + <loadFlag>0</loadFlag> + </plugin> + <plugin> + <file>$TOOLKIT_DIR$\plugins\rtos\Quadros\Quadros_EWB6_Plugin.ewplugin</file> + <loadFlag>0</loadFlag> + </plugin> + <plugin> + <file>$TOOLKIT_DIR$\plugins\rtos\SafeRTOS\SafeRTOSPlugin.ewplugin</file> + <loadFlag>0</loadFlag> + </plugin> + <plugin> + <file>$TOOLKIT_DIR$\plugins\rtos\ThreadX\ThreadXArmPlugin.ENU.ewplugin</file> + <loadFlag>0</loadFlag> + </plugin> + <plugin> + <file>$TOOLKIT_DIR$\plugins\rtos\uCOS-II\uCOS-II-286-KA-CSpy.ewplugin</file> + <loadFlag>0</loadFlag> + </plugin> + <plugin> + <file>$TOOLKIT_DIR$\plugins\rtos\uCOS-II\uCOS-II-KA-CSpy.ewplugin</file> + <loadFlag>0</loadFlag> + </plugin> + <plugin> + <file>$EW_DIR$\common\plugins\CodeCoverage\CodeCoverage.ENU.ewplugin</file> + <loadFlag>1</loadFlag> + </plugin> + <plugin> + <file>$EW_DIR$\common\plugins\Orti\Orti.ENU.ewplugin</file> + <loadFlag>0</loadFlag> + </plugin> + <plugin> + <file>$EW_DIR$\common\plugins\Stack\Stack.ENU.ewplugin</file> + <loadFlag>1</loadFlag> + </plugin> + <plugin> + <file>$EW_DIR$\common\plugins\SymList\SymList.ENU.ewplugin</file> + <loadFlag>1</loadFlag> + </plugin> + </debuggerPlugins> + </configuration> +</project> diff --git a/thirdparty/prime/mac/mac_1_3/addons/bootloader/sam4c16c_sam4c_ek/iar/addons_bootloader_flash.ewp b/thirdparty/prime/mac/mac_1_3/addons/bootloader/sam4c16c_sam4c_ek/iar/addons_bootloader_flash.ewp new file mode 100644 index 00000000..ed4e717a --- /dev/null +++ b/thirdparty/prime/mac/mac_1_3/addons/bootloader/sam4c16c_sam4c_ek/iar/addons_bootloader_flash.ewp @@ -0,0 +1,2344 @@ +<project> + <fileVersion>2</fileVersion> + <configuration> + <name>Debug</name> + <toolchain> + <name>ARM</name> + </toolchain> + <debug>1</debug> + <settings> + <name>General</name> + <archiveVersion>3</archiveVersion> + <data> + <version>21</version> + <wantNonLocal>1</wantNonLocal> + <debug>1</debug> + <option> + <name>ExePath</name> + <state>Debug\Exe</state> + </option> + <option> + <name>ObjPath</name> + <state>Debug\Obj</state> + </option> + <option> + <name>ListPath</name> + <state>Debug\List</state> + </option> + <option> + <name>Variant</name> + <version>19</version> + <state>37</state> + </option> + <option> + <name>GEndianMode</name> + <state>0</state> + </option> + <option> + <name>Input variant</name> + <version>3</version> + <state>6</state> + </option> + <option> + <name>Input description</name> + <state>No specifier n, no float nor long long, no scan set, no assignment suppressing.</state> + </option> + <option> + <name>Output variant</name> + <version>2</version> + <state>3</state> + </option> + <option> + <name>Output description</name> + <state>No specifier a, A.</state> + </option> + <option> + <name>GOutputBinary</name> + <state>0</state> + </option> + <option> + <name>FPU</name> + <version>2</version> + <state>0</state> + </option> + <option> + <name>OGCoreOrChip</name> + <state>1</state> + </option> + <option> + <name>GRuntimeLibSelect</name> + <version>0</version> + <state>2</state> + </option> + <option> + <name>GRuntimeLibSelectSlave</name> + <version>0</version> + <state>2</state> + </option> + <option> + <name>RTDescription</name> + <state>Use the normal configuration of the C/C++ runtime library. No locale interface, C locale, no file descriptor support, no multibytes in printf and scanf, and no hex floats in strtod.</state> + </option> + <option> + <name>OGProductVersion</name> + <state>5.10.0.159</state> + </option> + <option> + <name>OGLastSavedByProductVersion</name> + <state>6.21.1.52845</state> + </option> + <option> + <name>GeneralEnableMisra</name> + <state>0</state> + </option> + <option> + <name>GeneralMisraVerbose</name> + <state>0</state> + </option> + <option> + <name>OGChipSelectEditMenu</name> + <state>ATSAM4C16C_0 Atmel ATSAM4C16C Core0</state> + </option> + <option> + <name>GenLowLevelInterface</name> + <state>0</state> + </option> + <option> + <name>GEndianModeBE</name> + <state>1</state> + </option> + <option> + <name>OGBufferedTerminalOutput</name> + <state>0</state> + </option> + <option> + <name>GenStdoutInterface</name> + <state>0</state> + </option> + <option> + <name>GeneralMisraRules98</name> + <version>0</version> + <state>1000111110110101101110011100111111101110011011000101110111101101100111111111111100110011111001110111001111111111111111111111111</state> + </option> + <option> + <name>GeneralMisraVer</name> + <state>0</state> + </option> + <option> + <name>GeneralMisraRules04</name> + <version>0</version> + <state>111101110010111111111000110111111111111111111111111110010111101111010101111111111111111111111111101111111011111001111011111011111111111111111</state> + </option> + <option> + <name>RTConfigPath2</name> + <state>$TOOLKIT_DIR$\INC\c\DLib_Config_Full.h</state> + </option> + <option> + <name>GFPUCoreSlave</name> + <version>19</version> + <state>37</state> + </option> + <option> + <name>GBECoreSlave</name> + <version>19</version> + <state>37</state> + </option> + <option> + <name>OGUseCmsis</name> + <state>1</state> + </option> + <option> + <name>OGUseCmsisDspLib</name> + <state>1</state> + </option> + </data> + </settings> + <settings> + <name>ICCARM</name> + <archiveVersion>2</archiveVersion> + <data> + <version>27</version> + <wantNonLocal>1</wantNonLocal> + <debug>1</debug> + <option> + <name>CCDefines</name> + <state>BOARD=SAM4C_EK</state> + <state>ARM_MATH_CM4=true</state> + <state>__SAM4C16C_0__</state> + </option> + <option> + <name>CCPreprocFile</name> + <state>0</state> + </option> + <option> + <name>CCPreprocComments</name> + <state>0</state> + </option> + <option> + <name>CCPreprocLine</name> + <state>0</state> + </option> + <option> + <name>CCListCFile</name> + <state>0</state> + </option> + <option> + <name>CCListCMnemonics</name> + <state>0</state> + </option> + <option> + <name>CCListCMessages</name> + <state>0</state> + </option> + <option> + <name>CCListAssFile</name> + <state>0</state> + </option> + <option> + <name>CCListAssSource</name> + <state>0</state> + </option> + <option> + <name>CCEnableRemarks</name> + <state>1</state> + </option> + <option> + <name>CCDiagSuppress</name> + <state></state> + </option> + <option> + <name>CCDiagRemark</name> + <state></state> + </option> + <option> + <name>CCDiagWarning</name> + <state></state> + </option> + <option> + <name>CCDiagError</name> + <state></state> + </option> + <option> + <name>CCObjPrefix</name> + <state>1</state> + </option> + <option> + <name>CCAllowList</name> + <version>0</version> + <state>1111111</state> + </option> + <option> + <name>CCDebugInfo</name> + <state>1</state> + </option> + <option> + <name>IEndianMode</name> + <state>1</state> + </option> + <option> + <name>IProcessor</name> + <state>1</state> + </option> + <option> + <name>IExtraOptionsCheck</name> + <state>0</state> + </option> + <option> + <name>IExtraOptions</name> + <state></state> + </option> + <option> + <name>CCLangConformance</name> + <state>0</state> + </option> + <option> + <name>CCSignedPlainChar</name> + <state>1</state> + </option> + <option> + <name>CCRequirePrototypes</name> + <state>1</state> + </option> + <option> + <name>CCMultibyteSupport</name> + <state>0</state> + </option> + <option> + <name>CCDiagWarnAreErr</name> + <state>0</state> + </option> + <option> + <name>CCCompilerRuntimeInfo</name> + <state>0</state> + </option> + <option> + <name>IFpuProcessor</name> + <state>1</state> + </option> + <option> + <name>OutputFile</name> + <state>$FILE_BNAME$.o</state> + </option> + <option> + <name>CCLibConfigHeader</name> + <state>1</state> + </option> + <option> + <name>PreInclude</name> + <state></state> + </option> + <option> + <name>CompilerMisraOverride</name> + <state>0</state> + </option> + <option> + <name>CCIncludePath2</name> + <state>$PROJ_DIR$/../..</state> + <state>$PROJ_DIR$/../../../../../../../../sam/boards/sam4c_ek</state> + <state>$PROJ_DIR$/../../../../../../../../sam/utils</state> + <state>$PROJ_DIR$/../../../../../../../../common/services/clock</state> + <state>$PROJ_DIR$/../../../../../../../../sam/boards</state> + <state>$PROJ_DIR$/../../../../../../../../sam/utils/cmsis/sam4c/include</state> + <state>$PROJ_DIR$/../../../../../../../../sam/utils/header_files</state> + <state>$PROJ_DIR$/../../../../../../../../common/boards</state> + <state>$PROJ_DIR$/../../../../../../../../sam/utils/preprocessor</state> + <state>$PROJ_DIR$/../../../../../../../../sam/utils/cmsis/sam4c/source/templates</state> + <state>$PROJ_DIR$/../../../../../../../../common/services/ioport</state> + <state>$PROJ_DIR$/../../../../../../../../sam/drivers/pmc</state> + <state>$PROJ_DIR$/../../../../../../../../sam/services/flash_efc</state> + <state>$PROJ_DIR$/../../../../../../../../common/utils</state> + <state>$PROJ_DIR$/..</state> + <state>$PROJ_DIR$/../../../../../../../../sam/drivers/efc</state> + <state>$PROJ_DIR$/.</state> + </option> + <option> + <name>CCStdIncCheck</name> + <state>0</state> + </option> + <option> + <name>CCCodeSection</name> + <state>.text</state> + </option> + <option> + <name>IInterwork2</name> + <state>0</state> + </option> + <option> + <name>IProcessorMode2</name> + <state>1</state> + </option> + <option> + <name>CCOptLevel</name> + <state>3</state> + </option> + <option> + <name>CCOptStrategy</name> + <version>0</version> + <state>1</state> + </option> + <option> + <name>CCOptLevelSlave</name> + <state>3</state> + </option> + <option> + <name>CompilerMisraRules98</name> + <version>0</version> + <state>1000111110110101101110011100111111101110011011000101110111101101100111111111111100110011111001110111001111111111111111111111111</state> + </option> + <option> + <name>CompilerMisraRules04</name> + <version>0</version> + <state>111101110010111111111000110111111111111111111111111110010111101111010101111111111111111111111111101111111011111001111011111011111111111111111</state> + </option> + <option> + <name>CCPosIndRopi</name> + <state>0</state> + </option> + <option> + <name>CCPosIndRwpi</name> + <state>0</state> + </option> + <option> + <name>CCPosIndNoDynInit</name> + <state>0</state> + </option> + <option> + <name>IccLang</name> + <state>0</state> + </option> + <option> + <name>IccCDialect</name> + <state>1</state> + </option> + <option> + <name>IccAllowVLA</name> + <state>0</state> + </option> + <option> + <name>IccCppDialect</name> + <state>1</state> + </option> + <option> + <name>IccExceptions</name> + <state>1</state> + </option> + <option> + <name>IccRTTI</name> + <state>1</state> + </option> + <option> + <name>IccStaticDestr</name> + <state>1</state> + </option> + <option> + <name>IccRelaxedFpPrecision</name> + <state>0</state> + </option> + <option> + <name>IccCppInlineSemantics</name> + <state>0</state> + </option> + <option> + <name>IccCmsis</name> + <state>1</state> + </option> + </data> + </settings> + <settings> + <name>AARM</name> + <archiveVersion>2</archiveVersion> + <data> + <version>8</version> + <wantNonLocal>1</wantNonLocal> + <debug>1</debug> + <option> + <name>AObjPrefix</name> + <state>1</state> + </option> + <option> + <name>AEndian</name> + <state>1</state> + </option> + <option> + <name>ACaseSensitivity</name> + <state>1</state> + </option> + <option> + <name>MacroChars</name> + <version>0</version> + <state>0</state> + </option> + <option> + <name>AWarnEnable</name> + <state>0</state> + </option> + <option> + <name>AWarnWhat</name> + <state>0</state> + </option> + <option> + <name>AWarnOne</name> + <state></state> + </option> + <option> + <name>AWarnRange1</name> + <state></state> + </option> + <option> + <name>AWarnRange2</name> + <state></state> + </option> + <option> + <name>ADebug</name> + <state>1</state> + </option> + <option> + <name>AltRegisterNames</name> + <state>0</state> + </option> + <option> + <name>ADefines</name> + <state>BOARD=SAM4C_EK</state> + <state>ARM_MATH_CM4=true</state> + <state>__SAM4C16C_0__</state> + </option> + <option> + <name>AList</name> + <state>0</state> + </option> + <option> + <name>AListHeader</name> + <state>1</state> + </option> + <option> + <name>AListing</name> + <state>1</state> + </option> + <option> + <name>Includes</name> + <state>0</state> + </option> + <option> + <name>MacDefs</name> + <state>0</state> + </option> + <option> + <name>MacExps</name> + <state>1</state> + </option> + <option> + <name>MacExec</name> + <state>0</state> + </option> + <option> + <name>OnlyAssed</name> + <state>0</state> + </option> + <option> + <name>MultiLine</name> + <state>0</state> + </option> + <option> + <name>PageLengthCheck</name> + <state>0</state> + </option> + <option> + <name>PageLength</name> + <state>80</state> + </option> + <option> + <name>TabSpacing</name> + <state>8</state> + </option> + <option> + <name>AXRef</name> + <state>0</state> + </option> + <option> + <name>AXRefDefines</name> + <state>0</state> + </option> + <option> + <name>AXRefInternal</name> + <state>0</state> + </option> + <option> + <name>AXRefDual</name> + <state>0</state> + </option> + <option> + <name>AProcessor</name> + <state>1</state> + </option> + <option> + <name>AFpuProcessor</name> + <state>1</state> + </option> + <option> + <name>AOutputFile</name> + <state>$FILE_BNAME$.o</state> + </option> + <option> + <name>AMultibyteSupport</name> + <state>0</state> + </option> + <option> + <name>ALimitErrorsCheck</name> + <state>0</state> + </option> + <option> + <name>ALimitErrorsEdit</name> + <state>100</state> + </option> + <option> + <name>AIgnoreStdInclude</name> + <state>0</state> + </option> + <option> + <name>AUserIncludes</name> + <state>$PROJ_DIR$/../..</state> + <state>$PROJ_DIR$/../../../../../../../../sam/boards/sam4c_ek</state> + <state>$PROJ_DIR$/../../../../../../../../sam/utils</state> + <state>$PROJ_DIR$/../../../../../../../../common/services/clock</state> + <state>$PROJ_DIR$/../../../../../../../../sam/boards</state> + <state>$PROJ_DIR$/../../../../../../../../sam/utils/cmsis/sam4c/include</state> + <state>$PROJ_DIR$/../../../../../../../../sam/utils/header_files</state> + <state>$PROJ_DIR$/../../../../../../../../common/boards</state> + <state>$PROJ_DIR$/../../../../../../../../sam/utils/preprocessor</state> + <state>$PROJ_DIR$/../../../../../../../../sam/utils/cmsis/sam4c/source/templates</state> + <state>$PROJ_DIR$/../../../../../../../../common/services/ioport</state> + <state>$PROJ_DIR$/../../../../../../../../sam/drivers/pmc</state> + <state>$PROJ_DIR$/../../../../../../../../sam/services/flash_efc</state> + <state>$PROJ_DIR$/../../../../../../../../common/utils</state> + <state>$PROJ_DIR$/..</state> + <state>$PROJ_DIR$/../../../../../../../../sam/drivers/efc</state> + <state>$PROJ_DIR$/.</state> + </option> + <option> + <name>AExtraOptionsCheckV2</name> + <state>0</state> + </option> + <option> + <name>AExtraOptionsV2</name> + <state></state> + </option> + </data> + </settings> + <settings> + <name>OBJCOPY</name> + <archiveVersion>0</archiveVersion> + <data> + <version>1</version> + <wantNonLocal>1</wantNonLocal> + <debug>1</debug> + <option> + <name>OOCOutputFormat</name> + <version>2</version> + <state>2</state> + </option> + <option> + <name>OCOutputOverride</name> + <state>1</state> + </option> + <option> + <name>OOCOutputFile</name> + <state>addons_bootloader_flash.bin</state> + </option> + <option> + <name>OOCCommandLineProducer</name> + <state>1</state> + </option> + <option> + <name>OOCObjCopyEnable</name> + <state>0</state> + </option> + </data> + </settings> + <settings> + <name>CUSTOM</name> + <archiveVersion>3</archiveVersion> + <data> + <extensions></extensions> + <cmdline></cmdline> + </data> + </settings> + <settings> + <name>BICOMP</name> + <archiveVersion>0</archiveVersion> + <data></data> + </settings> + <settings> + <name>BUILDACTION</name> + <archiveVersion>1</archiveVersion> + <data> + <prebuild></prebuild> + <postbuild></postbuild> + </data> + </settings> + <settings> + <name>ILINK</name> + <archiveVersion>0</archiveVersion> + <data> + <version>12</version> + <wantNonLocal>1</wantNonLocal> + <debug>1</debug> + <option> + <name>IlinkOutputFile</name> + <state>addons_bootloader_flash.out</state> + </option> + <option> + <name>IlinkLibIOConfig</name> + <state>1</state> + </option> + <option> + <name>XLinkMisraHandler</name> + <state>0</state> + </option> + <option> + <name>IlinkInputFileSlave</name> + <state>0</state> + </option> + <option> + <name>IlinkDebugInfoEnable</name> + <state>1</state> + </option> + <option> + <name>IlinkKeepSymbols</name> + <state></state> + </option> + <option> + <name>IlinkRawBinaryFile</name> + <state></state> + </option> + <option> + <name>IlinkRawBinarySymbol</name> + <state></state> + </option> + <option> + <name>IlinkRawBinarySegment</name> + <state></state> + </option> + <option> + <name>IlinkRawBinaryAlign</name> + <state></state> + </option> + <option> + <name>IlinkDefines</name> + <state></state> + </option> + <option> + <name>IlinkConfigDefines</name> + <state></state> + </option> + <option> + <name>IlinkMapFile</name> + <state>1</state> + </option> + <option> + <name>IlinkLogFile</name> + <state>0</state> + </option> + <option> + <name>IlinkLogInitialization</name> + <state>0</state> + </option> + <option> + <name>IlinkLogModule</name> + <state>0</state> + </option> + <option> + <name>IlinkLogSection</name> + <state>0</state> + </option> + <option> + <name>IlinkLogVeneer</name> + <state>0</state> + </option> + <option> + <name>IlinkIcfOverride</name> + <state>1</state> + </option> + <option> + <name>IlinkIcfFile</name> + <state>$PROJ_DIR$/../../linker_scripts/iar/sam4c16c_0_flash.icf</state> + </option> + <option> + <name>IlinkIcfFileSlave</name> + <state></state> + </option> + <option> + <name>IlinkEnableRemarks</name> + <state>1</state> + </option> + <option> + <name>IlinkSuppressDiags</name> + <state></state> + </option> + <option> + <name>IlinkTreatAsRem</name> + <state></state> + </option> + <option> + <name>IlinkTreatAsWarn</name> + <state></state> + </option> + <option> + <name>IlinkTreatAsErr</name> + <state></state> + </option> + <option> + <name>IlinkWarningsAreErrors</name> + <state>0</state> + </option> + <option> + <name>IlinkUseExtraOptions</name> + <state>1</state> + </option> + <option> + <name>IlinkExtraOptions</name> + </option> + <option> + <name>IlinkLowLevelInterfaceSlave</name> + <state>1</state> + </option> + <option> + <name>IlinkAutoLibEnable</name> + <state>1</state> + </option> + <option> + <name>IlinkAdditionalLibs</name> + <state></state> + </option> + <option> + <name>IlinkOverrideProgramEntryLabel</name> + <state>0</state> + </option> + <option> + <name>IlinkProgramEntryLabelSelect</name> + <state>0</state> + </option> + <option> + <name>IlinkProgramEntryLabel</name> + <state>__iar_program_start</state> + </option> + <option> + <name>DoFill</name> + <state>0</state> + </option> + <option> + <name>FillerByte</name> + <state>0xFF</state> + </option> + <option> + <name>FillerStart</name> + <state>0x0</state> + </option> + <option> + <name>FillerEnd</name> + <state>0x0</state> + </option> + <option> + <name>CrcSize</name> + <version>0</version> + <state>1</state> + </option> + <option> + <name>CrcAlign</name> + <state>1</state> + </option> + <option> + <name>CrcAlgo</name> + <state>1</state> + </option> + <option> + <name>CrcPoly</name> + <state>0x11021</state> + </option> + <option> + <name>CrcCompl</name> + <version>0</version> + <state>0</state> + </option> + <option> + <name>CrcBitOrder</name> + <version>0</version> + <state>0</state> + </option> + <option> + <name>CrcInitialValue</name> + <state>0x0</state> + </option> + <option> + <name>DoCrc</name> + <state>0</state> + </option> + <option> + <name>IlinkBE8Slave</name> + <state>1</state> + </option> + <option> + <name>IlinkBufferedTerminalOutput</name> + <state>1</state> + </option> + <option> + <name>IlinkStdoutInterfaceSlave</name> + <state>1</state> + </option> + <option> + <name>CrcFullSize</name> + <state>0</state> + </option> + <option> + <name>IlinkIElfToolPostProcess</name> + <state>0</state> + </option> + <option> + <name>IlinkLogAutoLibSelect</name> + <state>0</state> + </option> + <option> + <name>IlinkLogRedirSymbols</name> + <state>0</state> + </option> + <option> + <name>IlinkLogUnusedFragments</name> + <state>0</state> + </option> + <option> + <name>IlinkCrcReverseByteOrder</name> + <state>0</state> + </option> + <option> + <name>IlinkCrcUseAsInput</name> + <state>1</state> + </option> + <option> + <name>IlinkOptInline</name> + <state>0</state> + </option> + <option> + <name>IlinkOptExceptionsAllow</name> + <state>0</state> + </option> + <option> + <name>IlinkOptExceptionsForce</name> + <state>0</state> + </option> + <option> + <name>IlinkCmsis</name> + <state>1</state> + </option> + </data> + </settings> + <settings> + <name>IARCHIVE</name> + <archiveVersion>0</archiveVersion> + <data> + <version>0</version> + <wantNonLocal>1</wantNonLocal> + <debug>1</debug> + <option> + <name>IarchiveInputs</name> + <state></state> + </option> + <option> + <name>IarchiveOverride</name> + <state>0</state> + </option> + <option> + <name>IarchiveOutput</name> + <state>###Unitialized###</state> + </option> + </data> + </settings> + <settings> + <name>BILINK</name> + <archiveVersion>0</archiveVersion> + <data></data> + </settings> + </configuration> + <configuration> + <name>Release</name> + <toolchain> + <name>ARM</name> + </toolchain> + <debug>0</debug> + <settings> + <name>General</name> + <archiveVersion>3</archiveVersion> + <data> + <version>21</version> + <wantNonLocal>1</wantNonLocal> + <debug>0</debug> + <option> + <name>ExePath</name> + <state>Release\Exe</state> + </option> + <option> + <name>ObjPath</name> + <state>Release\Obj</state> + </option> + <option> + <name>ListPath</name> + <state>Release\List</state> + </option> + <option> + <name>Variant</name> + <version>19</version> + <state>37</state> + </option> + <option> + <name>GEndianMode</name> + <state>0</state> + </option> + <option> + <name>Input variant</name> + <version>3</version> + <state>6</state> + </option> + <option> + <name>Input description</name> + <state>No specifier n, no float nor long long, no scan set, no assignment suppressing.</state> + </option> + <option> + <name>Output variant</name> + <version>2</version> + <state>3</state> + </option> + <option> + <name>Output description</name> + <state>No specifier a, A.</state> + </option> + <option> + <name>GOutputBinary</name> + <state>0</state> + </option> + <option> + <name>FPU</name> + <version>2</version> + <state>0</state> + </option> + <option> + <name>OGCoreOrChip</name> + <state>1</state> + </option> + <option> + <name>GRuntimeLibSelect</name> + <version>0</version> + <state>2</state> + </option> + <option> + <name>GRuntimeLibSelectSlave</name> + <version>0</version> + <state>2</state> + </option> + <option> + <name>RTDescription</name> + <state>Use the normal configuration of the C/C++ runtime library. No locale interface, C locale, no file descriptor support, no multibytes in printf and scanf, and no hex floats in strtod.</state> + </option> + <option> + <name>OGProductVersion</name> + <state>5.10.0.159</state> + </option> + <option> + <name>OGLastSavedByProductVersion</name> + <state>6.21.1.52845</state> + </option> + <option> + <name>GeneralEnableMisra</name> + <state>0</state> + </option> + <option> + <name>GeneralMisraVerbose</name> + <state>0</state> + </option> + <option> + <name>OGChipSelectEditMenu</name> + <state>ATSAM4C16C_0 Atmel ATSAM4C16C Core0</state> + </option> + <option> + <name>GenLowLevelInterface</name> + <state>0</state> + </option> + <option> + <name>GEndianModeBE</name> + <state>1</state> + </option> + <option> + <name>OGBufferedTerminalOutput</name> + <state>0</state> + </option> + <option> + <name>GenStdoutInterface</name> + <state>0</state> + </option> + <option> + <name>GeneralMisraRules98</name> + <version>0</version> + <state>1000111110110101101110011100111111101110011011000101110111101101100111111111111100110011111001110111001111111111111111111111111</state> + </option> + <option> + <name>GeneralMisraVer</name> + <state>0</state> + </option> + <option> + <name>GeneralMisraRules04</name> + <version>0</version> + <state>111101110010111111111000110111111111111111111111111110010111101111010101111111111111111111111111101111111011111001111011111011111111111111111</state> + </option> + <option> + <name>RTConfigPath2</name> + <state>$TOOLKIT_DIR$\INC\c\DLib_Config_Full.h</state> + </option> + <option> + <name>GFPUCoreSlave</name> + <version>19</version> + <state>37</state> + </option> + <option> + <name>GBECoreSlave</name> + <version>19</version> + <state>37</state> + </option> + <option> + <name>OGUseCmsis</name> + <state>1</state> + </option> + <option> + <name>OGUseCmsisDspLib</name> + <state>1</state> + </option> + </data> + </settings> + <settings> + <name>ICCARM</name> + <archiveVersion>2</archiveVersion> + <data> + <version>27</version> + <wantNonLocal>1</wantNonLocal> + <debug>0</debug> + <option> + <name>CCDefines</name> + <state>BOARD=SAM4C_EK</state> + <state>ARM_MATH_CM4=true</state> + <state>__SAM4C16C_0__</state> + </option> + <option> + <name>CCPreprocFile</name> + <state>0</state> + </option> + <option> + <name>CCPreprocComments</name> + <state>0</state> + </option> + <option> + <name>CCPreprocLine</name> + <state>0</state> + </option> + <option> + <name>CCListCFile</name> + <state>0</state> + </option> + <option> + <name>CCListCMnemonics</name> + <state>0</state> + </option> + <option> + <name>CCListCMessages</name> + <state>0</state> + </option> + <option> + <name>CCListAssFile</name> + <state>0</state> + </option> + <option> + <name>CCListAssSource</name> + <state>0</state> + </option> + <option> + <name>CCEnableRemarks</name> + <state>1</state> + </option> + <option> + <name>CCDiagSuppress</name> + <state></state> + </option> + <option> + <name>CCDiagRemark</name> + <state></state> + </option> + <option> + <name>CCDiagWarning</name> + <state></state> + </option> + <option> + <name>CCDiagError</name> + <state></state> + </option> + <option> + <name>CCObjPrefix</name> + <state>1</state> + </option> + <option> + <name>CCAllowList</name> + <version>0</version> + <state>1111111</state> + </option> + <option> + <name>CCDebugInfo</name> + <state>0</state> + </option> + <option> + <name>IEndianMode</name> + <state>1</state> + </option> + <option> + <name>IProcessor</name> + <state>1</state> + </option> + <option> + <name>IExtraOptionsCheck</name> + <state>0</state> + </option> + <option> + <name>IExtraOptions</name> + <state></state> + </option> + <option> + <name>CCLangConformance</name> + <state>0</state> + </option> + <option> + <name>CCSignedPlainChar</name> + <state>1</state> + </option> + <option> + <name>CCRequirePrototypes</name> + <state>1</state> + </option> + <option> + <name>CCMultibyteSupport</name> + <state>0</state> + </option> + <option> + <name>CCDiagWarnAreErr</name> + <state>0</state> + </option> + <option> + <name>CCCompilerRuntimeInfo</name> + <state>0</state> + </option> + <option> + <name>IFpuProcessor</name> + <state>1</state> + </option> + <option> + <name>OutputFile</name> + <state>$FILE_BNAME$.o</state> + </option> + <option> + <name>CCLibConfigHeader</name> + <state>1</state> + </option> + <option> + <name>PreInclude</name> + <state></state> + </option> + <option> + <name>CompilerMisraOverride</name> + <state>0</state> + </option> + <option> + <name>CCIncludePath2</name> + <state>$PROJ_DIR$/../..</state> + <state>$PROJ_DIR$/../../../../../../../../sam/boards/sam4c_ek</state> + <state>$PROJ_DIR$/../../../../../../../../sam/utils</state> + <state>$PROJ_DIR$/../../../../../../../../common/services/clock</state> + <state>$PROJ_DIR$/../../../../../../../../sam/boards</state> + <state>$PROJ_DIR$/../../../../../../../../sam/utils/cmsis/sam4c/include</state> + <state>$PROJ_DIR$/../../../../../../../../sam/utils/header_files</state> + <state>$PROJ_DIR$/../../../../../../../../common/boards</state> + <state>$PROJ_DIR$/../../../../../../../../sam/utils/preprocessor</state> + <state>$PROJ_DIR$/../../../../../../../../sam/utils/cmsis/sam4c/source/templates</state> + <state>$PROJ_DIR$/../../../../../../../../common/services/ioport</state> + <state>$PROJ_DIR$/../../../../../../../../sam/drivers/pmc</state> + <state>$PROJ_DIR$/../../../../../../../../sam/services/flash_efc</state> + <state>$PROJ_DIR$/../../../../../../../../common/utils</state> + <state>$PROJ_DIR$/..</state> + <state>$PROJ_DIR$/../../../../../../../../sam/drivers/efc</state> + <state>$PROJ_DIR$/.</state> + </option> + <option> + <name>CCStdIncCheck</name> + <state>0</state> + </option> + <option> + <name>CCCodeSection</name> + <state>.text</state> + </option> + <option> + <name>IInterwork2</name> + <state>0</state> + </option> + <option> + <name>IProcessorMode2</name> + <state>1</state> + </option> + <option> + <name>CCOptLevel</name> + <state>3</state> + </option> + <option> + <name>CCOptStrategy</name> + <version>0</version> + <state>1</state> + </option> + <option> + <name>CCOptLevelSlave</name> + <state>3</state> + </option> + <option> + <name>CompilerMisraRules98</name> + <version>0</version> + <state>1000111110110101101110011100111111101110011011000101110111101101100111111111111100110011111001110111001111111111111111111111111</state> + </option> + <option> + <name>CompilerMisraRules04</name> + <version>0</version> + <state>111101110010111111111000110111111111111111111111111110010111101111010101111111111111111111111111101111111011111001111011111011111111111111111</state> + </option> + <option> + <name>CCPosIndRopi</name> + <state>0</state> + </option> + <option> + <name>CCPosIndRwpi</name> + <state>0</state> + </option> + <option> + <name>CCPosIndNoDynInit</name> + <state>0</state> + </option> + <option> + <name>IccLang</name> + <state>0</state> + </option> + <option> + <name>IccCDialect</name> + <state>1</state> + </option> + <option> + <name>IccAllowVLA</name> + <state>0</state> + </option> + <option> + <name>IccCppDialect</name> + <state>1</state> + </option> + <option> + <name>IccExceptions</name> + <state>1</state> + </option> + <option> + <name>IccRTTI</name> + <state>1</state> + </option> + <option> + <name>IccStaticDestr</name> + <state>1</state> + </option> + <option> + <name>IccRelaxedFpPrecision</name> + <state>0</state> + </option> + <option> + <name>IccCppInlineSemantics</name> + <state>0</state> + </option> + <option> + <name>IccCmsis</name> + <state>1</state> + </option> + </data> + </settings> + <settings> + <name>AARM</name> + <archiveVersion>2</archiveVersion> + <data> + <version>8</version> + <wantNonLocal>1</wantNonLocal> + <debug>0</debug> + <option> + <name>AObjPrefix</name> + <state>1</state> + </option> + <option> + <name>AEndian</name> + <state>1</state> + </option> + <option> + <name>ACaseSensitivity</name> + <state>1</state> + </option> + <option> + <name>MacroChars</name> + <version>0</version> + <state>0</state> + </option> + <option> + <name>AWarnEnable</name> + <state>0</state> + </option> + <option> + <name>AWarnWhat</name> + <state>0</state> + </option> + <option> + <name>AWarnOne</name> + <state></state> + </option> + <option> + <name>AWarnRange1</name> + <state></state> + </option> + <option> + <name>AWarnRange2</name> + <state></state> + </option> + <option> + <name>ADebug</name> + <state>0</state> + </option> + <option> + <name>AltRegisterNames</name> + <state>0</state> + </option> + <option> + <name>ADefines</name> + <state>BOARD=SAM4C_EK</state> + <state>ARM_MATH_CM4=true</state> + <state>__SAM4C16C_0__</state> + </option> + <option> + <name>AList</name> + <state>0</state> + </option> + <option> + <name>AListHeader</name> + <state>1</state> + </option> + <option> + <name>AListing</name> + <state>1</state> + </option> + <option> + <name>Includes</name> + <state>0</state> + </option> + <option> + <name>MacDefs</name> + <state>0</state> + </option> + <option> + <name>MacExps</name> + <state>1</state> + </option> + <option> + <name>MacExec</name> + <state>0</state> + </option> + <option> + <name>OnlyAssed</name> + <state>0</state> + </option> + <option> + <name>MultiLine</name> + <state>0</state> + </option> + <option> + <name>PageLengthCheck</name> + <state>0</state> + </option> + <option> + <name>PageLength</name> + <state>80</state> + </option> + <option> + <name>TabSpacing</name> + <state>8</state> + </option> + <option> + <name>AXRef</name> + <state>0</state> + </option> + <option> + <name>AXRefDefines</name> + <state>0</state> + </option> + <option> + <name>AXRefInternal</name> + <state>0</state> + </option> + <option> + <name>AXRefDual</name> + <state>0</state> + </option> + <option> + <name>AProcessor</name> + <state>1</state> + </option> + <option> + <name>AFpuProcessor</name> + <state>1</state> + </option> + <option> + <name>AOutputFile</name> + <state>$FILE_BNAME$.o</state> + </option> + <option> + <name>AMultibyteSupport</name> + <state>0</state> + </option> + <option> + <name>ALimitErrorsCheck</name> + <state>0</state> + </option> + <option> + <name>ALimitErrorsEdit</name> + <state>100</state> + </option> + <option> + <name>AIgnoreStdInclude</name> + <state>0</state> + </option> + <option> + <name>AUserIncludes</name> + <state>$PROJ_DIR$/../..</state> + <state>$PROJ_DIR$/../../../../../../../../sam/boards/sam4c_ek</state> + <state>$PROJ_DIR$/../../../../../../../../sam/utils</state> + <state>$PROJ_DIR$/../../../../../../../../common/services/clock</state> + <state>$PROJ_DIR$/../../../../../../../../sam/boards</state> + <state>$PROJ_DIR$/../../../../../../../../sam/utils/cmsis/sam4c/include</state> + <state>$PROJ_DIR$/../../../../../../../../sam/utils/header_files</state> + <state>$PROJ_DIR$/../../../../../../../../common/boards</state> + <state>$PROJ_DIR$/../../../../../../../../sam/utils/preprocessor</state> + <state>$PROJ_DIR$/../../../../../../../../sam/utils/cmsis/sam4c/source/templates</state> + <state>$PROJ_DIR$/../../../../../../../../common/services/ioport</state> + <state>$PROJ_DIR$/../../../../../../../../sam/drivers/pmc</state> + <state>$PROJ_DIR$/../../../../../../../../sam/services/flash_efc</state> + <state>$PROJ_DIR$/../../../../../../../../common/utils</state> + <state>$PROJ_DIR$/..</state> + <state>$PROJ_DIR$/../../../../../../../../sam/drivers/efc</state> + <state>$PROJ_DIR$/.</state> + </option> + <option> + <name>AExtraOptionsCheckV2</name> + <state>0</state> + </option> + <option> + <name>AExtraOptionsV2</name> + <state></state> + </option> + </data> + </settings> + <settings> + <name>OBJCOPY</name> + <archiveVersion>0</archiveVersion> + <data> + <version>1</version> + <wantNonLocal>1</wantNonLocal> + <debug>0</debug> + <option> + <name>OOCOutputFormat</name> + <version>2</version> + <state>2</state> + </option> + <option> + <name>OCOutputOverride</name> + <state>1</state> + </option> + <option> + <name>OOCOutputFile</name> + <state>addons_bootloader_flash.bin</state> + </option> + <option> + <name>OOCCommandLineProducer</name> + <state>1</state> + </option> + <option> + <name>OOCObjCopyEnable</name> + <state>0</state> + </option> + </data> + </settings> + <settings> + <name>CUSTOM</name> + <archiveVersion>3</archiveVersion> + <data> + <extensions></extensions> + <cmdline></cmdline> + </data> + </settings> + <settings> + <name>BICOMP</name> + <archiveVersion>0</archiveVersion> + <data></data> + </settings> + <settings> + <name>BUILDACTION</name> + <archiveVersion>1</archiveVersion> + <data> + <prebuild></prebuild> + <postbuild></postbuild> + </data> + </settings> + <settings> + <name>ILINK</name> + <archiveVersion>0</archiveVersion> + <data> + <version>12</version> + <wantNonLocal>1</wantNonLocal> + <debug>0</debug> + <option> + <name>IlinkOutputFile</name> + <state>addons_bootloader_flash.out</state> + </option> + <option> + <name>IlinkLibIOConfig</name> + <state>1</state> + </option> + <option> + <name>XLinkMisraHandler</name> + <state>0</state> + </option> + <option> + <name>IlinkInputFileSlave</name> + <state>0</state> + </option> + <option> + <name>IlinkDebugInfoEnable</name> + <state>1</state> + </option> + <option> + <name>IlinkKeepSymbols</name> + <state></state> + </option> + <option> + <name>IlinkRawBinaryFile</name> + <state></state> + </option> + <option> + <name>IlinkRawBinarySymbol</name> + <state></state> + </option> + <option> + <name>IlinkRawBinarySegment</name> + <state></state> + </option> + <option> + <name>IlinkRawBinaryAlign</name> + <state></state> + </option> + <option> + <name>IlinkDefines</name> + <state></state> + </option> + <option> + <name>IlinkConfigDefines</name> + <state></state> + </option> + <option> + <name>IlinkMapFile</name> + <state>1</state> + </option> + <option> + <name>IlinkLogFile</name> + <state>0</state> + </option> + <option> + <name>IlinkLogInitialization</name> + <state>0</state> + </option> + <option> + <name>IlinkLogModule</name> + <state>0</state> + </option> + <option> + <name>IlinkLogSection</name> + <state>0</state> + </option> + <option> + <name>IlinkLogVeneer</name> + <state>0</state> + </option> + <option> + <name>IlinkIcfOverride</name> + <state>1</state> + </option> + <option> + <name>IlinkIcfFile</name> + <state>$PROJ_DIR$/../../linker_scripts/iar/sam4c16c_0_flash.icf</state> + </option> + <option> + <name>IlinkIcfFileSlave</name> + <state></state> + </option> + <option> + <name>IlinkEnableRemarks</name> + <state>0</state> + </option> + <option> + <name>IlinkSuppressDiags</name> + <state></state> + </option> + <option> + <name>IlinkTreatAsRem</name> + <state></state> + </option> + <option> + <name>IlinkTreatAsWarn</name> + <state></state> + </option> + <option> + <name>IlinkTreatAsErr</name> + <state></state> + </option> + <option> + <name>IlinkWarningsAreErrors</name> + <state>0</state> + </option> + <option> + <name>IlinkUseExtraOptions</name> + <state>1</state> + </option> + <option> + <name>IlinkExtraOptions</name> + </option> + <option> + <name>IlinkLowLevelInterfaceSlave</name> + <state>1</state> + </option> + <option> + <name>IlinkAutoLibEnable</name> + <state>1</state> + </option> + <option> + <name>IlinkAdditionalLibs</name> + <state></state> + </option> + <option> + <name>IlinkOverrideProgramEntryLabel</name> + <state>0</state> + </option> + <option> + <name>IlinkProgramEntryLabelSelect</name> + <state>0</state> + </option> + <option> + <name>IlinkProgramEntryLabel</name> + <state>__iar_program_start</state> + </option> + <option> + <name>DoFill</name> + <state>0</state> + </option> + <option> + <name>FillerByte</name> + <state>0xFF</state> + </option> + <option> + <name>FillerStart</name> + <state>0x0</state> + </option> + <option> + <name>FillerEnd</name> + <state>0x0</state> + </option> + <option> + <name>CrcSize</name> + <version>0</version> + <state>1</state> + </option> + <option> + <name>CrcAlign</name> + <state>1</state> + </option> + <option> + <name>CrcAlgo</name> + <state>1</state> + </option> + <option> + <name>CrcPoly</name> + <state>0x11021</state> + </option> + <option> + <name>CrcCompl</name> + <version>0</version> + <state>0</state> + </option> + <option> + <name>CrcBitOrder</name> + <version>0</version> + <state>0</state> + </option> + <option> + <name>CrcInitialValue</name> + <state>0x0</state> + </option> + <option> + <name>DoCrc</name> + <state>0</state> + </option> + <option> + <name>IlinkBE8Slave</name> + <state>1</state> + </option> + <option> + <name>IlinkBufferedTerminalOutput</name> + <state>1</state> + </option> + <option> + <name>IlinkStdoutInterfaceSlave</name> + <state>1</state> + </option> + <option> + <name>CrcFullSize</name> + <state>0</state> + </option> + <option> + <name>IlinkIElfToolPostProcess</name> + <state>0</state> + </option> + <option> + <name>IlinkLogAutoLibSelect</name> + <state>0</state> + </option> + <option> + <name>IlinkLogRedirSymbols</name> + <state>0</state> + </option> + <option> + <name>IlinkLogUnusedFragments</name> + <state>0</state> + </option> + <option> + <name>IlinkCrcReverseByteOrder</name> + <state>0</state> + </option> + <option> + <name>IlinkCrcUseAsInput</name> + <state>1</state> + </option> + <option> + <name>IlinkOptInline</name> + <state>1</state> + </option> + <option> + <name>IlinkOptExceptionsAllow</name> + <state>1</state> + </option> + <option> + <name>IlinkOptExceptionsForce</name> + <state>0</state> + </option> + <option> + <name>IlinkCmsis</name> + <state>1</state> + </option> + </data> + </settings> + <settings> + <name>IARCHIVE</name> + <archiveVersion>0</archiveVersion> + <data> + <version>0</version> + <wantNonLocal>1</wantNonLocal> + <debug>0</debug> + <option> + <name>IarchiveInputs</name> + <state></state> + </option> + <option> + <name>IarchiveOverride</name> + <state>0</state> + </option> + <option> + <name>IarchiveOutput</name> + <state>###Unitialized###</state> + </option> + </data> + </settings> + <settings> + <name>BILINK</name> + <archiveVersion>0</archiveVersion> + <data></data> + </settings> + </configuration> + <group> + <name>sam</name> + <group> + <name>utils</name> + <group> + <name>cmsis</name> + <group> + <name>sam4c</name> + <group> + <name>source</name> + <group> + <name>templates</name> + <group> + <name>iar</name> + <file> + <name>$PROJ_DIR$/../../../../../../../../sam/utils/cmsis/sam4c/source/templates/iar/startup_sam4c.c</name> + </file> + </group> + <file> + <name>$PROJ_DIR$/../../../../../../../../sam/utils/cmsis/sam4c/source/templates/system_sam4c.c</name> + </file> + </group> + </group> + <group> + <name>include</name> + <file> + <name>$PROJ_DIR$/../../../../../../../../sam/utils/cmsis/sam4c/include/sam4c32c_0.h</name> + </file> + <group> + <name>instance</name> + <file> + <name>$PROJ_DIR$/../../../../../../../../sam/utils/cmsis/sam4c/include/instance/instance_matrix1.h</name> + </file> + <file> + <name>$PROJ_DIR$/../../../../../../../../sam/utils/cmsis/sam4c/include/instance/instance_ipc1.h</name> + </file> + <file> + <name>$PROJ_DIR$/../../../../../../../../sam/utils/cmsis/sam4c/include/instance/instance_adc.h</name> + </file> + <file> + <name>$PROJ_DIR$/../../../../../../../../sam/utils/cmsis/sam4c/include/instance/instance_aes.h</name> + </file> + <file> + <name>$PROJ_DIR$/../../../../../../../../sam/utils/cmsis/sam4c/include/instance/instance_uotghs.h</name> + </file> + <file> + <name>$PROJ_DIR$/../../../../../../../../sam/utils/cmsis/sam4c/include/instance/instance_pwm.h</name> + </file> + <file> + <name>$PROJ_DIR$/../../../../../../../../sam/utils/cmsis/sam4c/include/instance/instance_wdt.h</name> + </file> + <file> + <name>$PROJ_DIR$/../../../../../../../../sam/utils/cmsis/sam4c/include/instance/instance_uart0.h</name> + </file> + <file> + <name>$PROJ_DIR$/../../../../../../../../sam/utils/cmsis/sam4c/include/instance/instance_tc1.h</name> + </file> + <file> + <name>$PROJ_DIR$/../../../../../../../../sam/utils/cmsis/sam4c/include/instance/instance_icm.h</name> + </file> + <file> + <name>$PROJ_DIR$/../../../../../../../../sam/utils/cmsis/sam4c/include/instance/instance_efc0.h</name> + </file> + <file> + <name>$PROJ_DIR$/../../../../../../../../sam/utils/cmsis/sam4c/include/instance/instance_pmc.h</name> + </file> + <file> + <name>$PROJ_DIR$/../../../../../../../../sam/utils/cmsis/sam4c/include/instance/instance_rstc.h</name> + </file> + <file> + <name>$PROJ_DIR$/../../../../../../../../sam/utils/cmsis/sam4c/include/instance/instance_matrix0.h</name> + </file> + <file> + <name>$PROJ_DIR$/../../../../../../../../sam/utils/cmsis/sam4c/include/instance/instance_piob.h</name> + </file> + <file> + <name>$PROJ_DIR$/../../../../../../../../sam/utils/cmsis/sam4c/include/instance/instance_gpbr.h</name> + </file> + <file> + <name>$PROJ_DIR$/../../../../../../../../sam/utils/cmsis/sam4c/include/instance/instance_supc.h</name> + </file> + <file> + <name>$PROJ_DIR$/../../../../../../../../sam/utils/cmsis/sam4c/include/instance/instance_twi0.h</name> + </file> + <file> + <name>$PROJ_DIR$/../../../../../../../../sam/utils/cmsis/sam4c/include/instance/instance_uart1.h</name> + </file> + <file> + <name>$PROJ_DIR$/../../../../../../../../sam/utils/cmsis/sam4c/include/instance/instance_tc0.h</name> + </file> + <file> + <name>$PROJ_DIR$/../../../../../../../../sam/utils/cmsis/sam4c/include/instance/instance_cmcc0.h</name> + </file> + <file> + <name>$PROJ_DIR$/../../../../../../../../sam/utils/cmsis/sam4c/include/instance/instance_usart1.h</name> + </file> + <file> + <name>$PROJ_DIR$/../../../../../../../../sam/utils/cmsis/sam4c/include/instance/instance_spi0.h</name> + </file> + <file> + <name>$PROJ_DIR$/../../../../../../../../sam/utils/cmsis/sam4c/include/instance/instance_rswdt.h</name> + </file> + <file> + <name>$PROJ_DIR$/../../../../../../../../sam/utils/cmsis/sam4c/include/instance/instance_pioa.h</name> + </file> + <file> + <name>$PROJ_DIR$/../../../../../../../../sam/utils/cmsis/sam4c/include/instance/instance_usart3.h</name> + </file> + <file> + <name>$PROJ_DIR$/../../../../../../../../sam/utils/cmsis/sam4c/include/instance/instance_pioc.h</name> + </file> + <file> + <name>$PROJ_DIR$/../../../../../../../../sam/utils/cmsis/sam4c/include/instance/instance_efc1.h</name> + </file> + <file> + <name>$PROJ_DIR$/../../../../../../../../sam/utils/cmsis/sam4c/include/instance/instance_twi1.h</name> + </file> + <file> + <name>$PROJ_DIR$/../../../../../../../../sam/utils/cmsis/sam4c/include/instance/instance_smc1.h</name> + </file> + <file> + <name>$PROJ_DIR$/../../../../../../../../sam/utils/cmsis/sam4c/include/instance/instance_rtt.h</name> + </file> + <file> + <name>$PROJ_DIR$/../../../../../../../../sam/utils/cmsis/sam4c/include/instance/instance_spi1.h</name> + </file> + <file> + <name>$PROJ_DIR$/../../../../../../../../sam/utils/cmsis/sam4c/include/instance/instance_chipid.h</name> + </file> + <file> + <name>$PROJ_DIR$/../../../../../../../../sam/utils/cmsis/sam4c/include/instance/instance_ipc0.h</name> + </file> + <file> + <name>$PROJ_DIR$/../../../../../../../../sam/utils/cmsis/sam4c/include/instance/instance_usart0.h</name> + </file> + <file> + <name>$PROJ_DIR$/../../../../../../../../sam/utils/cmsis/sam4c/include/instance/instance_cmcc1.h</name> + </file> + <file> + <name>$PROJ_DIR$/../../../../../../../../sam/utils/cmsis/sam4c/include/instance/instance_slcdc.h</name> + </file> + <file> + <name>$PROJ_DIR$/../../../../../../../../sam/utils/cmsis/sam4c/include/instance/instance_efc.h</name> + </file> + <file> + <name>$PROJ_DIR$/../../../../../../../../sam/utils/cmsis/sam4c/include/instance/instance_usart2.h</name> + </file> + <file> + <name>$PROJ_DIR$/../../../../../../../../sam/utils/cmsis/sam4c/include/instance/instance_rtc.h</name> + </file> + <file> + <name>$PROJ_DIR$/../../../../../../../../sam/utils/cmsis/sam4c/include/instance/instance_usart4.h</name> + </file> + <file> + <name>$PROJ_DIR$/../../../../../../../../sam/utils/cmsis/sam4c/include/instance/instance_trng.h</name> + </file> + <file> + <name>$PROJ_DIR$/../../../../../../../../sam/utils/cmsis/sam4c/include/instance/instance_smc0.h</name> + </file> + <file> + <name>$PROJ_DIR$/../../../../../../../../sam/utils/cmsis/sam4c/include/instance/instance_piod.h</name> + </file> + </group> + <group> + <name>component</name> + <file> + <name>$PROJ_DIR$/../../../../../../../../sam/utils/cmsis/sam4c/include/component/component_gpbr.h</name> + </file> + <file> + <name>$PROJ_DIR$/../../../../../../../../sam/utils/cmsis/sam4c/include/component/component_trng.h</name> + </file> + <file> + <name>$PROJ_DIR$/../../../../../../../../sam/utils/cmsis/sam4c/include/component/component_chipid.h</name> + </file> + <file> + <name>$PROJ_DIR$/../../../../../../../../sam/utils/cmsis/sam4c/include/component/component_rswdt.h</name> + </file> + <file> + <name>$PROJ_DIR$/../../../../../../../../sam/utils/cmsis/sam4c/include/component/component_tc.h</name> + </file> + <file> + <name>$PROJ_DIR$/../../../../../../../../sam/utils/cmsis/sam4c/include/component/component_pwm.h</name> + </file> + <file> + <name>$PROJ_DIR$/../../../../../../../../sam/utils/cmsis/sam4c/include/component/component_adc.h</name> + </file> + <file> + <name>$PROJ_DIR$/../../../../../../../../sam/utils/cmsis/sam4c/include/component/component_icm.h</name> + </file> + <file> + <name>$PROJ_DIR$/../../../../../../../../sam/utils/cmsis/sam4c/include/component/component_ipc.h</name> + </file> + <file> + <name>$PROJ_DIR$/../../../../../../../../sam/utils/cmsis/sam4c/include/component/component_slcdc.h</name> + </file> + <file> + <name>$PROJ_DIR$/../../../../../../../../sam/utils/cmsis/sam4c/include/component/component_cmcc.h</name> + </file> + <file> + <name>$PROJ_DIR$/../../../../../../../../sam/utils/cmsis/sam4c/include/component/component_uotghs.h</name> + </file> + <file> + <name>$PROJ_DIR$/../../../../../../../../sam/utils/cmsis/sam4c/include/component/component_pio.h</name> + </file> + <file> + <name>$PROJ_DIR$/../../../../../../../../sam/utils/cmsis/sam4c/include/component/component_smc.h</name> + </file> + <file> + <name>$PROJ_DIR$/../../../../../../../../sam/utils/cmsis/sam4c/include/component/component_matrix.h</name> + </file> + <file> + <name>$PROJ_DIR$/../../../../../../../../sam/utils/cmsis/sam4c/include/component/component_spi.h</name> + </file> + <file> + <name>$PROJ_DIR$/../../../../../../../../sam/utils/cmsis/sam4c/include/component/component_efc.h</name> + </file> + <file> + <name>$PROJ_DIR$/../../../../../../../../sam/utils/cmsis/sam4c/include/component/component_rstc.h</name> + </file> + <file> + <name>$PROJ_DIR$/../../../../../../../../sam/utils/cmsis/sam4c/include/component/component_usart.h</name> + </file> + <file> + <name>$PROJ_DIR$/../../../../../../../../sam/utils/cmsis/sam4c/include/component/component_pdc.h</name> + </file> + <file> + <name>$PROJ_DIR$/../../../../../../../../sam/utils/cmsis/sam4c/include/component/component_rtc.h</name> + </file> + <file> + <name>$PROJ_DIR$/../../../../../../../../sam/utils/cmsis/sam4c/include/component/component_aes.h</name> + </file> + <file> + <name>$PROJ_DIR$/../../../../../../../../sam/utils/cmsis/sam4c/include/component/component_uart.h</name> + </file> + <file> + <name>$PROJ_DIR$/../../../../../../../../sam/utils/cmsis/sam4c/include/component/component_wdt.h</name> + </file> + <file> + <name>$PROJ_DIR$/../../../../../../../../sam/utils/cmsis/sam4c/include/component/component_twi.h</name> + </file> + <file> + <name>$PROJ_DIR$/../../../../../../../../sam/utils/cmsis/sam4c/include/component/component_rtt.h</name> + </file> + <file> + <name>$PROJ_DIR$/../../../../../../../../sam/utils/cmsis/sam4c/include/component/component_pmc.h</name> + </file> + <file> + <name>$PROJ_DIR$/../../../../../../../../sam/utils/cmsis/sam4c/include/component/component_supc.h</name> + </file> + </group> + <file> + <name>$PROJ_DIR$/../../../../../../../../sam/utils/cmsis/sam4c/include/sam4c8c_1.h</name> + </file> + <group> + <name>pio</name> + <file> + <name>$PROJ_DIR$/../../../../../../../../sam/utils/cmsis/sam4c/include/pio/pio_sam4c32c.h</name> + </file> + <file> + <name>$PROJ_DIR$/../../../../../../../../sam/utils/cmsis/sam4c/include/pio/pio_sam4c16c.h</name> + </file> + <file> + <name>$PROJ_DIR$/../../../../../../../../sam/utils/cmsis/sam4c/include/pio/pio_sam4c4c.h</name> + </file> + <file> + <name>$PROJ_DIR$/../../../../../../../../sam/utils/cmsis/sam4c/include/pio/pio_sam4c8c.h</name> + </file> + <file> + <name>$PROJ_DIR$/../../../../../../../../sam/utils/cmsis/sam4c/include/pio/pio_sam4c32e.h</name> + </file> + </group> + <file> + <name>$PROJ_DIR$/../../../../../../../../sam/utils/cmsis/sam4c/include/sam4c.h</name> + </file> + <file> + <name>$PROJ_DIR$/../../../../../../../../sam/utils/cmsis/sam4c/include/sam4c16c_0.h</name> + </file> + <file> + <name>$PROJ_DIR$/../../../../../../../../sam/utils/cmsis/sam4c/include/sam4c32e_1.h</name> + </file> + <file> + <name>$PROJ_DIR$/../../../../../../../../sam/utils/cmsis/sam4c/include/sam4c4c_0.h</name> + </file> + <file> + <name>$PROJ_DIR$/../../../../../../../../sam/utils/cmsis/sam4c/include/sam4c32e_0.h</name> + </file> + <file> + <name>$PROJ_DIR$/../../../../../../../../sam/utils/cmsis/sam4c/include/sam4c4c_1.h</name> + </file> + <file> + <name>$PROJ_DIR$/../../../../../../../../sam/utils/cmsis/sam4c/include/sam4c32c_1.h</name> + </file> + <file> + <name>$PROJ_DIR$/../../../../../../../../sam/utils/cmsis/sam4c/include/sam4c8c_0.h</name> + </file> + <file> + <name>$PROJ_DIR$/../../../../../../../../sam/utils/cmsis/sam4c/include/system_sam4c.h</name> + </file> + <file> + <name>$PROJ_DIR$/../../../../../../../../sam/utils/cmsis/sam4c/include/sam4c16c_1.h</name> + </file> + </group> + </group> + </group> + <group> + <name>preprocessor</name> + <file> + <name>$PROJ_DIR$/../../../../../../../../sam/utils/preprocessor/preprocessor.h</name> + </file> + <file> + <name>$PROJ_DIR$/../../../../../../../../sam/utils/preprocessor/stringz.h</name> + </file> + <file> + <name>$PROJ_DIR$/../../../../../../../../sam/utils/preprocessor/tpaste.h</name> + </file> + <file> + <name>$PROJ_DIR$/../../../../../../../../sam/utils/preprocessor/mrepeat.h</name> + </file> + </group> + <file> + <name>$PROJ_DIR$/../../../../../../../../sam/utils/compiler.h</name> + </file> + <file> + <name>$PROJ_DIR$/../../../../../../../../sam/utils/status_codes.h</name> + </file> + <group> + <name>header_files</name> + <file> + <name>$PROJ_DIR$/../../../../../../../../sam/utils/header_files/io.h</name> + </file> + </group> + </group> + <group> + <name>drivers</name> + <group> + <name>efc</name> + <file> + <name>$PROJ_DIR$/../../../../../../../../sam/drivers/efc/efc.c</name> + </file> + <file> + <name>$PROJ_DIR$/../../../../../../../../sam/drivers/efc/efc.h</name> + </file> + </group> + <group> + <name>pmc</name> + <file> + <name>$PROJ_DIR$/../../../../../../../../sam/drivers/pmc/sleep.c</name> + </file> + <file> + <name>$PROJ_DIR$/../../../../../../../../sam/drivers/pmc/pmc.c</name> + </file> + <file> + <name>$PROJ_DIR$/../../../../../../../../sam/drivers/pmc/sleep.h</name> + </file> + <file> + <name>$PROJ_DIR$/../../../../../../../../sam/drivers/pmc/pmc.h</name> + </file> + </group> + </group> + <group> + <name>services</name> + <group> + <name>flash_efc</name> + <file> + <name>$PROJ_DIR$/../../../../../../../../sam/services/flash_efc/flash_efc.c</name> + </file> + <file> + <name>$PROJ_DIR$/../../../../../../../../sam/services/flash_efc/flash_efc.h</name> + </file> + </group> + </group> + <group> + <name>boards</name> + <group> + <name>sam4c_ek</name> + <file> + <name>$PROJ_DIR$/../../../../../../../../sam/boards/sam4c_ek/init.c</name> + </file> + <file> + <name>$PROJ_DIR$/../../../../../../../../sam/boards/sam4c_ek/led.h</name> + </file> + <file> + <name>$PROJ_DIR$/../../../../../../../../sam/boards/sam4c_ek/sam4c_ek.h</name> + </file> + </group> + </group> + </group> + <group> + <name>thirdparty</name> + <group> + <name>prime</name> + <group> + <name>mac</name> + <group> + <name>mac_1_3</name> + <group> + <name>addons</name> + <group> + <name>bootloader</name> + <file> + <name>$PROJ_DIR$/../../bootloader.c</name> + </file> + <file> + <name>$PROJ_DIR$/../../boot_regions_sam4c16c_0.h</name> + </file> + <group> + <name>sam4c16c_sam4c_ek</name> + <file> + <name>$PROJ_DIR$/../conf_clock.h</name> + </file> + <file> + <name>$PROJ_DIR$/../conf_board.h</name> + </file> + <group> + <name>iar</name> + <file> + <name>$PROJ_DIR$/asf.h</name> + </file> + </group> + <file> + <name>$PROJ_DIR$/../conf_sleepmgr.h</name> + </file> + <file> + <name>$PROJ_DIR$/../conf_version.h</name> + </file> + </group> + </group> + </group> + </group> + </group> + </group> + </group> + <group> + <name>common</name> + <group> + <name>services</name> + <group> + <name>clock</name> + <group> + <name>sam4c</name> + <file> + <name>$PROJ_DIR$/../../../../../../../../common/services/clock/sam4c/sysclk.c</name> + </file> + <file> + <name>$PROJ_DIR$/../../../../../../../../common/services/clock/sam4c/pll.h</name> + </file> + <file> + <name>$PROJ_DIR$/../../../../../../../../common/services/clock/sam4c/genclk.h</name> + </file> + <file> + <name>$PROJ_DIR$/../../../../../../../../common/services/clock/sam4c/osc.h</name> + </file> + <file> + <name>$PROJ_DIR$/../../../../../../../../common/services/clock/sam4c/sysclk.h</name> + </file> + </group> + <file> + <name>$PROJ_DIR$/../../../../../../../../common/services/clock/pll.h</name> + </file> + <file> + <name>$PROJ_DIR$/../../../../../../../../common/services/clock/osc.h</name> + </file> + <file> + <name>$PROJ_DIR$/../../../../../../../../common/services/clock/genclk.h</name> + </file> + <file> + <name>$PROJ_DIR$/../../../../../../../../common/services/clock/sysclk.h</name> + </file> + </group> + <group> + <name>ioport</name> + <file> + <name>$PROJ_DIR$/../../../../../../../../common/services/ioport/ioport.h</name> + </file> + <group> + <name>sam</name> + <file> + <name>$PROJ_DIR$/../../../../../../../../common/services/ioport/sam/ioport_pio.h</name> + </file> + </group> + </group> + </group> + <group> + <name>utils</name> + <group> + <name>interrupt</name> + <file> + <name>$PROJ_DIR$/../../../../../../../../common/utils/interrupt/interrupt_sam_nvic.c</name> + </file> + <file> + <name>$PROJ_DIR$/../../../../../../../../common/utils/interrupt/interrupt_sam_nvic.h</name> + </file> + </group> + <file> + <name>$PROJ_DIR$/../../../../../../../../common/utils/parts.h</name> + </file> + <file> + <name>$PROJ_DIR$/../../../../../../../../common/utils/interrupt.h</name> + </file> + </group> + <group> + <name>boards</name> + <file> + <name>$PROJ_DIR$/../../../../../../../../common/boards/board.h</name> + </file> + </group> + </group> +</project> diff --git a/thirdparty/prime/mac/mac_1_3/addons/bootloader/sam4c16c_sam4c_ek/iar/asf.h b/thirdparty/prime/mac/mac_1_3/addons/bootloader/sam4c16c_sam4c_ek/iar/asf.h new file mode 100644 index 00000000..14c66e21 --- /dev/null +++ b/thirdparty/prime/mac/mac_1_3/addons/bootloader/sam4c16c_sam4c_ek/iar/asf.h @@ -0,0 +1,87 @@ +/** + * \file + * + * \brief Autogenerated API include file for the Atmel Software Framework (ASF) + * + * Copyright (c) 2012 Atmel Corporation. All rights reserved. + * + * \asf_license_start + * + * \page License + * + * 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 microcontroller 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. + * + * \asf_license_stop + * + */ + +#ifndef ASF_H +#define ASF_H + +/* + * This file includes all API header files for the selected drivers from ASF. + * Note: There might be duplicate includes required by more than one driver. + * + * The file is automatically generated and will be re-written when + * running the ASF driver selector tool. Any changes will be discarded. + */ +
+// From module: Common SAM compiler driver
+#include <compiler.h>
+#include <status_codes.h>
+
+// From module: EEFC - Enhanced Embedded Flash Controller
+#include <efc.h>
+
+// From module: Flash - SAM Flash Service API
+#include <flash_efc.h>
+
+// From module: Generic board support
+#include <board.h>
+
+// From module: IOPORT - General purpose I/O service
+#include <ioport.h>
+
+// From module: Interrupt management - SAM implementation
+#include <interrupt.h>
+
+// From module: PMC - Power Management Controller
+#include <pmc.h>
+#include <sleep.h>
+
+// From module: Part identification macros
+#include <parts.h>
+
+// From module: SAM4C EK LED support enabled
+#include <led.h>
+
+// From module: System Clock Control - SAM4C implementation
+#include <sysclk.h>
+ +#endif // ASF_H diff --git a/thirdparty/prime/mac/mac_1_3/addons/bootloader/sam4cmp16c_sam4cmpdb/conf_board.h b/thirdparty/prime/mac/mac_1_3/addons/bootloader/sam4cmp16c_sam4cmpdb/conf_board.h new file mode 100644 index 00000000..2894549c --- /dev/null +++ b/thirdparty/prime/mac/mac_1_3/addons/bootloader/sam4cmp16c_sam4cmpdb/conf_board.h @@ -0,0 +1,72 @@ +/** + * \file + * + * \brief SAM4CMP-DB board configuration. + * + * Copyright (c) 2014-2015 Atmel Corporation. All rights reserved. + * + * \asf_license_start + * + * \page License + * + * 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 microcontroller 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. + * + * \asf_license_stop + * + */ + +#ifndef CONF_BOARD_H_INCLUDED +#define CONF_BOARD_H_INCLUDED + +/* Keep watchdog at board initialization (not disable it) */ +//#define CONF_BOARD_KEEP_WATCHDOG_AT_INIT + +/* Configure UART0 pins */ +#define CONF_BOARD_UART_CONSOLE +#define CONF_BOARD_UART0 + +/* Configure SPI pins */ +#define CONF_BOARD_SPI0 + +/* Configure SPI0 NPCS1 */ +//#define CONF_BOARD_SPI0_NPCS1 + +/* Configure SPI0 NPCS3 */ +#define CONF_BOARD_SPI0_NPCS3 + +/* Configure TWI pins*/ +//#define CONF_BOARD_TWI0 + +/* Configure AT30TSE pins */ +//#define CONF_BOARD_AT30TSE + +/* Configure PPLC pins */ +#define CONF_BOARD_PPLC + +#endif /* CONF_BOARD_H_INCLUDED */ diff --git a/thirdparty/prime/mac/mac_1_3/addons/bootloader/sam4cmp16c_sam4cmpdb/conf_clock.h b/thirdparty/prime/mac/mac_1_3/addons/bootloader/sam4cmp16c_sam4cmpdb/conf_clock.h new file mode 100644 index 00000000..d2011fa1 --- /dev/null +++ b/thirdparty/prime/mac/mac_1_3/addons/bootloader/sam4cmp16c_sam4cmpdb/conf_clock.h @@ -0,0 +1,108 @@ +/** + * \file + * + * \brief SAM4CM clock configuration. + * + * Copyright (c) 2014-2015 Atmel Corporation. All rights reserved. + * + * \asf_license_start + * + * \page License + * + * 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 microcontroller 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. + * + * \asf_license_stop + * + */ + +#ifndef CONF_CLOCK_H_INCLUDED +#define CONF_CLOCK_H_INCLUDED + +// ===== System Clock (MCK) Source Options +//#define CONFIG_SYSCLK_SOURCE SYSCLK_SRC_SLCK_RC +//#define CONFIG_SYSCLK_SOURCE SYSCLK_SRC_SLCK_XTAL +//#define CONFIG_SYSCLK_SOURCE SYSCLK_SRC_SLCK_BYPASS +//#define CONFIG_SYSCLK_SOURCE SYSCLK_SRC_MAINCK_4M_RC +//#define CONFIG_SYSCLK_SOURCE SYSCLK_SRC_MAINCK_8M_RC +//#define CONFIG_SYSCLK_SOURCE SYSCLK_SRC_MAINCK_12M_RC +//#define CONFIG_SYSCLK_SOURCE SYSCLK_SRC_MAINCK_XTAL +//#define CONFIG_SYSCLK_SOURCE SYSCLK_SRC_MAINCK_BYPASS +//#define CONFIG_SYSCLK_SOURCE SYSCLK_SRC_PLLACK +#define CONFIG_SYSCLK_SOURCE SYSCLK_SRC_PLLBCK + +// ===== System Clock (MCK) Prescaler Options (Fmck = Fsys / (SYSCLK_PRES)) +#define CONFIG_SYSCLK_PRES SYSCLK_PRES_1 +//#define CONFIG_SYSCLK_PRES SYSCLK_PRES_2 +//#define CONFIG_SYSCLK_PRES SYSCLK_PRES_4 +//#define CONFIG_SYSCLK_PRES SYSCLK_PRES_8 +//#define CONFIG_SYSCLK_PRES SYSCLK_PRES_16 +//#define CONFIG_SYSCLK_PRES SYSCLK_PRES_32 +//#define CONFIG_SYSCLK_PRES SYSCLK_PRES_64 +//#define CONFIG_SYSCLK_PRES SYSCLK_PRES_3 + +// ===== PLL0 (A) Options (8.192M = (32.768K * 250) / 1) +//#define CONFIG_PLL0_SOURCE PLLA_SRC_SLCK_32K_XTAL + +// ===== PLL1 (B) Options (Fpll = (Fclk * PLL_mul) / PLL_div) +// Use mul and div effective values here. +#define CONFIG_PLL1_SOURCE PLLB_SRC_MAINCK_XTAL +#define CONFIG_PLL1_MUL (240000000UL / BOARD_FREQ_MAINCK_XTAL) +#define CONFIG_PLL1_DIV 2 + +// ===== Coprocessor System Clock (CPMCK) Options +// Fcpmck = Fcpclk_source / CPCLK_PRES + +// Note: +// CONFIG_CPCLK_ENABLE MUST be defined if using peripherals on bus matrix 1. +#define CONFIG_CPCLK_ENABLE + +// Coprocessor System Clock Source Options +//#define CONFIG_CPCLK_SOURCE CPCLK_SRC_SLCK +//#define CONFIG_CPCLK_SOURCE CPCLK_SRC_MAINCK +//#define CONFIG_CPCLK_SOURCE CPCLK_SRC_PLLACK +//#define CONFIG_CPCLK_SOURCE CPCLK_SRC_PLLBCK +#define CONFIG_CPCLK_SOURCE CPCLK_SRC_MCK + +// Coprocessor System Clock Prescaler Options (CPCLK_PRES may be 1 to 16). +#define CONFIG_CPCLK_PRES 1 + +// ===== Main processor frequency (MCK) +// - XTAL frequency: 8MHz +// - System clock source: PLLB +// - System clock prescaler: 1 (divided by 1) +// - PLLB source: XTAL +// - PLLB output: XTAL * 30 / 2 +// - System clock: 8 * 30 / 2 / 1 = 120MHz +// +// ===== Coprocessor frequency (CPMCK) +// - Coprocessor system clock source: MCK +// - Coprocessor system clock prescaler: 1 (divided by 1) +// - Coprocessor system clock: 120MHz / 1 = 120MHz + +#endif /* CONF_CLOCK_H_INCLUDED */ diff --git a/thirdparty/prime/mac/mac_1_3/addons/bootloader/sam4cmp16c_sam4cmpdb/conf_sleepmgr.h b/thirdparty/prime/mac/mac_1_3/addons/bootloader/sam4cmp16c_sam4cmpdb/conf_sleepmgr.h new file mode 100644 index 00000000..cb9866ca --- /dev/null +++ b/thirdparty/prime/mac/mac_1_3/addons/bootloader/sam4cmp16c_sam4cmpdb/conf_sleepmgr.h @@ -0,0 +1,49 @@ +/** + * \file + * + * \brief Chip-specific sleep manager configuration + * + * Copyright (c) 2014-2015 Atmel Corporation. All rights reserved. + * + * \asf_license_start + * + * \page License + * + * 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 microcontroller 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. + * + * \asf_license_stop + * + */ +#ifndef CONF_SLEEPMGR_H +#define CONF_SLEEPMGR_H + +/* Sleep manager options */ +#define CONFIG_SLEEPMGR_ENABLE + +#endif /* CONF_SLEEPMGR_H */ diff --git a/thirdparty/prime/mac/mac_1_3/addons/bootloader/sam4cmp16c_sam4cmpdb/conf_version.h b/thirdparty/prime/mac/mac_1_3/addons/bootloader/sam4cmp16c_sam4cmpdb/conf_version.h new file mode 100644 index 00000000..bf9a4d64 --- /dev/null +++ b/thirdparty/prime/mac/mac_1_3/addons/bootloader/sam4cmp16c_sam4cmpdb/conf_version.h @@ -0,0 +1,45 @@ +/** + * \file + * + * \brief Version file of SAM4CMP Bootloader application for ATMEL PRIME + * Service Node + * + * Copyright (c) 2014-2015 Atmel Corporation. All rights reserved. + * + * \asf_license_start + * + * \page License + * + * 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 microcontroller 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. + * + * \asf_license_stop + * + */ + +#define PRBO_VERSION "ATMBOOTSAM4CMP16CI0100" diff --git a/thirdparty/prime/mac/mac_1_3/addons/bootloader/sam4cmp16c_sam4cmpdb/iar/addons_bootloader.eww b/thirdparty/prime/mac/mac_1_3/addons/bootloader/sam4cmp16c_sam4cmpdb/iar/addons_bootloader.eww new file mode 100644 index 00000000..b549eb12 --- /dev/null +++ b/thirdparty/prime/mac/mac_1_3/addons/bootloader/sam4cmp16c_sam4cmpdb/iar/addons_bootloader.eww @@ -0,0 +1,6 @@ +<workspace> + <batchBuild></batchBuild> + <project> + <path>$WS_DIR$\addons_bootloader_flash.ewp</path> + </project> +</workspace> diff --git a/thirdparty/prime/mac/mac_1_3/addons/bootloader/sam4cmp16c_sam4cmpdb/iar/addons_bootloader_flash.ewd b/thirdparty/prime/mac/mac_1_3/addons/bootloader/sam4cmp16c_sam4cmpdb/iar/addons_bootloader_flash.ewd new file mode 100644 index 00000000..6d44aa79 --- /dev/null +++ b/thirdparty/prime/mac/mac_1_3/addons/bootloader/sam4cmp16c_sam4cmpdb/iar/addons_bootloader_flash.ewd @@ -0,0 +1,1655 @@ +<project> + <fileVersion>2</fileVersion> + <configuration> + <name>Debug</name> + <toolchain> + <name>ARM</name> + </toolchain> + <debug>1</debug> + <settings> + <name>C-SPY</name> + <archiveVersion>2</archiveVersion> + <data> + <version>22</version> + <wantNonLocal>1</wantNonLocal> + <debug>1</debug> + <option> + <name>CInput</name> + <state>1</state> + </option> + <option> + <name>CEndian</name> + <state>1</state> + </option> + <option> + <name>CProcessor</name> + <state>1</state> + </option> + <option> + <name>OCVariant</name> + <state>0</state> + </option> + <option> + <name>MacOverride</name> + <state>1</state> + </option> + <option> + <name>MacFile</name> + <state>$PROJ_DIR$\../../../../../../../../sam/boards/sam4cmp_db/debug_scripts/iar/sam4cmp_db_flash_0.mac</state> + </option> + <option> + <name>MemOverride</name> + <state>0</state> + </option> + <option> + <name>MemFile</name> + <state>$TOOLKIT_DIR$\CONFIG\debugger\Atmel\ATSAM4CMP16C_0.ddf</state> + </option> + <option> + <name>RunToEnable</name> + <state>1</state> + </option> + <option> + <name>RunToName</name> + <state>main</state> + </option> + <option> + <name>CExtraOptionsCheck</name> + <state>0</state> + </option> + <option> + <name>CExtraOptions</name> + <state></state> + </option> + <option> + <name>CFpuProcessor</name> + <state>1</state> + </option> + <option> + <name>OCDDFArgumentProducer</name> + <state></state> + </option> + <option> + <name>OCDownloadSuppressDownload</name> + <state>0</state> + </option> + <option> + <name>OCDownloadVerifyAll</name> + <state>1</state> + </option> + <option> + <name>OCProductVersion</name> + <state>6.10.5.52324</state> + </option> + <option> + <name>OCDynDriverList</name> + <state>JLINK_ID</state> + </option> + <option> + <name>OCLastSavedByProductVersion</name> + <state>6.10.5.52324</state> + </option> + <option> + <name>OCDownloadAttachToProgram</name> + <state>0</state> + </option> + <option> + <name>UseFlashLoader</name> + <state>1</state> + </option> + <option> + <name>CLowLevel</name> + <state>1</state> + </option> + <option> + <name>OCBE8Slave</name> + <state>1</state> + </option> + <option> + <name>MacFile2</name> + <state></state> + </option> + <option> + <name>CDevice</name> + <state>1</state> + </option> + <option> + <name>FlashLoadersV3</name> + <state>$TOOLKIT_DIR$\config\flashloader\Atmel\sam4cmp16c\sam4cmp16c-flash.board</state> + </option> + <option> + <name>OCImagesSuppressCheck1</name> + <state>0</state> + </option> + <option> + <name>OCImagesPath1</name> + <state></state> + </option> + <option> + <name>OCImagesSuppressCheck2</name> + <state>0</state> + </option> + <option> + <name>OCImagesPath2</name> + <state></state> + </option> + <option> + <name>OCImagesSuppressCheck3</name> + <state>0</state> + </option> + <option> + <name>OCImagesPath3</name> + <state></state> + </option> + <option> + <name>OverrideDefFlashBoard</name> + <state>0</state> + </option> + <option> + <name>OCImagesOffset1</name> + <state></state> + </option> + <option> + <name>OCImagesOffset2</name> + <state></state> + </option> + <option> + <name>OCImagesOffset3</name> + <state></state> + </option> + <option> + <name>OCImagesUse1</name> + <state>0</state> + </option> + <option> + <name>OCImagesUse2</name> + <state>0</state> + </option> + <option> + <name>OCImagesUse3</name> + <state>0</state> + </option> + </data> + </settings> + <settings> + <name>ARMSIM_ID</name> + <archiveVersion>2</archiveVersion> + <data> + <version>1</version> + <wantNonLocal>1</wantNonLocal> + <debug>1</debug> + <option> + <name>OCSimDriverInfo</name> + <state>1</state> + </option> + <option> + <name>OCSimEnablePSP</name> + <state>0</state> + </option> + <option> + <name>OCSimPspOverrideConfig</name> + <state>0</state> + </option> + <option> + <name>OCSimPspConfigFile</name> + <state></state> + </option> + </data> + </settings> + <settings> + <name>ANGEL_ID</name> + <archiveVersion>2</archiveVersion> + <data> + <version>0</version> + <wantNonLocal>1</wantNonLocal> + <debug>1</debug> + <option> + <name>CCAngelHeartbeat</name> + <state>1</state> + </option> + <option> + <name>CAngelCommunication</name> + <state>1</state> + </option> + <option> + <name>CAngelCommBaud</name> + <version>0</version> + <state>3</state> + </option> + <option> + <name>CAngelCommPort</name> + <version>0</version> + <state>0</state> + </option> + <option> + <name>ANGELTCPIP</name> + <state>aaa.bbb.ccc.ddd</state> + </option> + <option> + <name>DoAngelLogfile</name> + <state>0</state> + </option> + <option> + <name>AngelLogFile</name> + <state>$PROJ_DIR$\cspycomm.log</state> + </option> + <option> + <name>OCDriverInfo</name> + <state>1</state> + </option> + </data> + </settings> + <settings> + <name>GDBSERVER_ID</name> + <archiveVersion>2</archiveVersion> + <data> + <version>0</version> + <wantNonLocal>1</wantNonLocal> + <debug>1</debug> + <option> + <name>OCDriverInfo</name> + <state>1</state> + </option> + <option> + <name>TCPIP</name> + <state>aaa.bbb.ccc.ddd</state> + </option> + <option> + <name>DoLogfile</name> + <state>0</state> + </option> + <option> + <name>LogFile</name> + <state>$PROJ_DIR$\cspycomm.log</state> + </option> + <option> + <name>CCJTagBreakpointRadio</name> + <state>0</state> + </option> + <option> + <name>CCJTagDoUpdateBreakpoints</name> + <state>0</state> + </option> + <option> + <name>CCJTagUpdateBreakpoints</name> + <state>_call_main</state> + </option> + </data> + </settings> + <settings> + <name>IARROM_ID</name> + <archiveVersion>2</archiveVersion> + <data> + <version>1</version> + <wantNonLocal>1</wantNonLocal> + <debug>1</debug> + <option> + <name>CRomLogFileCheck</name> + <state>0</state> + </option> + <option> + <name>CRomLogFileEditB</name> + <state>$PROJ_DIR$\cspycomm.log</state> + </option> + <option> + <name>CRomCommPort</name> + <version>0</version> + <state>0</state> + </option> + <option> + <name>CRomCommBaud</name> + <version>0</version> + <state>7</state> + </option> + <option> + <name>OCDriverInfo</name> + <state>1</state> + </option> + </data> + </settings> + <settings> + <name>JLINK_ID</name> + <archiveVersion>2</archiveVersion> + <data> + <version>12</version> + <wantNonLocal>1</wantNonLocal> + <debug>1</debug> + <option> + <name>JLinkSpeed</name> + <state>32</state> + </option> + <option> + <name>CCJLinkDoLogfile</name> + <state>0</state> + </option> + <option> + <name>CCJLinkLogFile</name> + <state>$PROJ_DIR$\cspycomm.log</state> + </option> + <option> + <name>CCJLinkHWResetDelay</name> + <state>0</state> + </option> + <option> + <name>OCDriverInfo</name> + <state>1</state> + </option> + <option> + <name>JLinkInitialSpeed</name> + <state>32</state> + </option> + <option> + <name>CCDoJlinkMultiTarget</name> + <state>0</state> + </option> + <option> + <name>CCScanChainNonARMDevices</name> + <state>0</state> + </option> + <option> + <name>CCJLinkMultiTarget</name> + <state>0</state> + </option> + <option> + <name>CCJLinkIRLength</name> + <state>0</state> + </option> + <option> + <name>CCJLinkCommRadio</name> + <state>0</state> + </option> + <option> + <name>CCJLinkTCPIP</name> + <state>aaa.bbb.ccc.ddd</state> + </option> + <option> + <name>CCJLinkSpeedRadioV2</name> + <state>0</state> + </option> + <option> + <name>CCUSBDevice</name> + <version>1</version> + <state>1</state> + </option> + <option> + <name>CCRDICatchReset</name> + <state>0</state> + </option> + <option> + <name>CCRDICatchUndef</name> + <state>0</state> + </option> + <option> + <name>CCRDICatchSWI</name> + <state>0</state> + </option> + <option> + <name>CCRDICatchData</name> + <state>0</state> + </option> + <option> + <name>CCRDICatchPrefetch</name> + <state>0</state> + </option> + <option> + <name>CCRDICatchIRQ</name> + <state>0</state> + </option> + <option> + <name>CCRDICatchFIQ</name> + <state>0</state> + </option> + <option> + <name>CCJLinkBreakpointRadio</name> + <state>0</state> + </option> + <option> + <name>CCJLinkDoUpdateBreakpoints</name> + <state>0</state> + </option> + <option> + <name>CCJLinkUpdateBreakpoints</name> + <state>_call_main</state> + </option> + <option> + <name>CCJLinkInterfaceRadio</name> + <state>0</state> + </option> + <option> + <name>OCJLinkAttachSlave</name> + <state>1</state> + </option> + <option> + <name>CCJLinkResetList</name> + <version>5</version> + <state>7</state> + </option> + <option> + <name>CCJLinkInterfaceCmdLine</name> + <state>0</state> + </option> + <option> + <name>CCCatchCORERESET</name> + <state>0</state> + </option> + <option> + <name>CCCatchMMERR</name> + <state>0</state> + </option> + <option> + <name>CCCatchNOCPERR</name> + <state>0</state> + </option> + <option> + <name>CCCatchCHRERR</name> + <state>0</state> + </option> + <option> + <name>CCCatchSTATERR</name> + <state>0</state> + </option> + <option> + <name>CCCatchBUSERR</name> + <state>0</state> + </option> + <option> + <name>CCCatchINTERR</name> + <state>0</state> + </option> + <option> + <name>CCCatchHARDERR</name> + <state>0</state> + </option> + <option> + <name>CCCatchDummy</name> + <state>0</state> + </option> + <option> + <name>OCJLinkScriptFile</name> + <state>1</state> + </option> + </data> + </settings> + <settings> + <name>LMIFTDI_ID</name> + <archiveVersion>2</archiveVersion> + <data> + <version>2</version> + <wantNonLocal>1</wantNonLocal> + <debug>1</debug> + <option> + <name>OCDriverInfo</name> + <state>1</state> + </option> + <option> + <name>LmiftdiSpeed</name> + <state>500</state> + </option> + <option> + <name>CCLmiftdiDoLogfile</name> + <state>0</state> + </option> + <option> + <name>CCLmiftdiLogFile</name> + <state>$PROJ_DIR$\cspycomm.log</state> + </option> + <option> + <name>CCLmiFtdiInterfaceRadio</name> + <state>0</state> + </option> + <option> + <name>CCLmiFtdiInterfaceCmdLine</name> + <state>0</state> + </option> + </data> + </settings> + <settings> + <name>MACRAIGOR_ID</name> + <archiveVersion>2</archiveVersion> + <data> + <version>3</version> + <wantNonLocal>1</wantNonLocal> + <debug>1</debug> + <option> + <name>jtag</name> + <version>0</version> + <state>0</state> + </option> + <option> + <name>EmuSpeed</name> + <state>1</state> + </option> + <option> + <name>TCPIP</name> + <state>aaa.bbb.ccc.ddd</state> + </option> + <option> + <name>DoLogfile</name> + <state>0</state> + </option> + <option> + <name>LogFile</name> + <state>$PROJ_DIR$\cspycomm.log</state> + </option> + <option> + <name>DoEmuMultiTarget</name> + <state>0</state> + </option> + <option> + <name>EmuMultiTarget</name> + <state>0@ARM7TDMI</state> + </option> + <option> + <name>EmuHWReset</name> + <state>0</state> + </option> + <option> + <name>CEmuCommBaud</name> + <version>0</version> + <state>4</state> + </option> + <option> + <name>CEmuCommPort</name> + <version>0</version> + <state>0</state> + </option> + <option> + <name>jtago</name> + <version>0</version> + <state>0</state> + </option> + <option> + <name>OCDriverInfo</name> + <state>1</state> + </option> + <option> + <name>UnusedAddr</name> + <state>0x00800000</state> + </option> + <option> + <name>CCMacraigorHWResetDelay</name> + <state></state> + </option> + <option> + <name>CCJTagBreakpointRadio</name> + <state>0</state> + </option> + <option> + <name>CCJTagDoUpdateBreakpoints</name> + <state>0</state> + </option> + <option> + <name>CCJTagUpdateBreakpoints</name> + <state>_call_main</state> + </option> + <option> + <name>CCMacraigorInterfaceRadio</name> + <state>0</state> + </option> + <option> + <name>CCMacraigorInterfaceCmdLine</name> + <state>0</state> + </option> + </data> + </settings> + <settings> + <name>PEMICRO_ID</name> + <archiveVersion>2</archiveVersion> + <data> + <version>0</version> + <wantNonLocal>1</wantNonLocal> + <debug>1</debug> + <option> + <name>OCDriverInfo</name> + <state>1</state> + </option> + <option> + <name>OCPEMicroAttachSlave</name> + <state>1</state> + </option> + <option> + <name>CCPEMicroInterfaceList</name> + <version>0</version> + <state>0</state> + </option> + <option> + <name>CCPEMicroResetDelay</name> + <state></state> + </option> + <option> + <name>CCPEMicroJtagSpeed</name> + <state>#UNINITIALIZED#</state> + </option> + <option> + <name>CCJPEMicroShowSettings</name> + <state>0</state> + </option> + <option> + <name>DoLogfile</name> + <state>0</state> + </option> + <option> + <name>LogFile</name> + <state>$PROJ_DIR$\cspycomm.log</state> + </option> + <option> + <name>CCPEMicroUSBDevice</name> + <version>0</version> + <state>0</state> + </option> + <option> + <name>CCPEMicroSerialPort</name> + <version>0</version> + <state>0</state> + </option> + <option> + <name>CCJPEMicroTCPIPAutoScanNetwork</name> + <state>1</state> + </option> + <option> + <name>CCPEMicroTCPIP</name> + <state>10.0.0.1</state> + </option> + <option> + <name>CCPEMicroCommCmdLineProducer</name> + <state>0</state> + </option> + </data> + </settings> + <settings> + <name>RDI_ID</name> + <archiveVersion>2</archiveVersion> + <data> + <version>1</version> + <wantNonLocal>1</wantNonLocal> + <debug>1</debug> + <option> + <name>CRDIDriverDll</name> + <state>###Uninitialized###</state> + </option> + <option> + <name>CRDILogFileCheck</name> + <state>0</state> + </option> + <option> + <name>CRDILogFileEdit</name> + <state>$PROJ_DIR$\cspycomm.log</state> + </option> + <option> + <name>CCRDIHWReset</name> + <state>0</state> + </option> + <option> + <name>CCRDICatchReset</name> + <state>0</state> + </option> + <option> + <name>CCRDICatchUndef</name> + <state>0</state> + </option> + <option> + <name>CCRDICatchSWI</name> + <state>0</state> + </option> + <option> + <name>CCRDICatchData</name> + <state>0</state> + </option> + <option> + <name>CCRDICatchPrefetch</name> + <state>0</state> + </option> + <option> + <name>CCRDICatchIRQ</name> + <state>0</state> + </option> + <option> + <name>CCRDICatchFIQ</name> + <state>0</state> + </option> + <option> + <name>CCRDIUseETM</name> + <state>0</state> + </option> + <option> + <name>OCDriverInfo</name> + <state>1</state> + </option> + </data> + </settings> + <settings> + <name>STLINK_ID</name> + <archiveVersion>2</archiveVersion> + <data> + <version>1</version> + <wantNonLocal>1</wantNonLocal> + <debug>1</debug> + <option> + <name>OCDriverInfo</name> + <state>1</state> + </option> + <option> + <name>CCSTLinkInterfaceRadio</name> + <state>0</state> + </option> + <option> + <name>CCSTLinkInterfaceCmdLine</name> + <state>0</state> + </option> + </data> + </settings> + <settings> + <name>THIRDPARTY_ID</name> + <archiveVersion>2</archiveVersion> + <data> + <version>0</version> + <wantNonLocal>1</wantNonLocal> + <debug>1</debug> + <option> + <name>CThirdPartyDriverDll</name> + <state>Browse to your third-party driver</state> + </option> + <option> + <name>CThirdPartyLogFileCheck</name> + <state>0</state> + </option> + <option> + <name>CThirdPartyLogFileEditB</name> + <state>$PROJ_DIR$\cspycomm.log</state> + </option> + <option> + <name>OCDriverInfo</name> + <state>1</state> + </option> + </data> + </settings> + <debuggerPlugins> + <plugin> + <file>$TOOLKIT_DIR$\plugins\rtos\CMX\CmxArmPlugin.ENU.ewplugin</file> + <loadFlag>0</loadFlag> + </plugin> + <plugin> + <file>$TOOLKIT_DIR$\plugins\rtos\CMX\CmxTinyArmPlugin.ENU.ewplugin</file> + <loadFlag>0</loadFlag> + </plugin> + <plugin> + <file>$TOOLKIT_DIR$\plugins\rtos\embOS\embOSPlugin.ewplugin</file> + <loadFlag>0</loadFlag> + </plugin> + <plugin> + <file>$TOOLKIT_DIR$\plugins\rtos\MQX\MQXRtosPlugin.ewplugin</file> + <loadFlag>0</loadFlag> + </plugin> + <plugin> + <file>$TOOLKIT_DIR$\plugins\rtos\OpenRTOS\OpenRTOSPlugin.ewplugin</file> + <loadFlag>0</loadFlag> + </plugin> + <plugin> + <file>$TOOLKIT_DIR$\plugins\rtos\PowerPac\PowerPacRTOS.ewplugin</file> + <loadFlag>0</loadFlag> + </plugin> + <plugin> + <file>$TOOLKIT_DIR$\plugins\rtos\Quadros\Quadros_EWB6_Plugin.ewplugin</file> + <loadFlag>0</loadFlag> + </plugin> + <plugin> + <file>$TOOLKIT_DIR$\plugins\rtos\SafeRTOS\SafeRTOSPlugin.ewplugin</file> + <loadFlag>0</loadFlag> + </plugin> + <plugin> + <file>$TOOLKIT_DIR$\plugins\rtos\ThreadX\ThreadXArmPlugin.ENU.ewplugin</file> + <loadFlag>0</loadFlag> + </plugin> + <plugin> + <file>$TOOLKIT_DIR$\plugins\rtos\uCOS-II\uCOS-II-286-KA-CSpy.ewplugin</file> + <loadFlag>0</loadFlag> + </plugin> + <plugin> + <file>$TOOLKIT_DIR$\plugins\rtos\uCOS-II\uCOS-II-KA-CSpy.ewplugin</file> + <loadFlag>0</loadFlag> + </plugin> + <plugin> + <file>$EW_DIR$\common\plugins\CodeCoverage\CodeCoverage.ENU.ewplugin</file> + <loadFlag>1</loadFlag> + </plugin> + <plugin> + <file>$EW_DIR$\common\plugins\Orti\Orti.ENU.ewplugin</file> + <loadFlag>0</loadFlag> + </plugin> + <plugin> + <file>$EW_DIR$\common\plugins\Stack\Stack.ENU.ewplugin</file> + <loadFlag>1</loadFlag> + </plugin> + <plugin> + <file>$EW_DIR$\common\plugins\SymList\SymList.ENU.ewplugin</file> + <loadFlag>1</loadFlag> + </plugin> + </debuggerPlugins> + </configuration> + <configuration> + <name>Release</name> + <toolchain> + <name>ARM</name> + </toolchain> + <debug>0</debug> + <settings> + <name>C-SPY</name> + <archiveVersion>2</archiveVersion> + <data> + <version>22</version> + <wantNonLocal>1</wantNonLocal> + <debug>0</debug> + <option> + <name>CInput</name> + <state>1</state> + </option> + <option> + <name>CEndian</name> + <state>1</state> + </option> + <option> + <name>CProcessor</name> + <state>1</state> + </option> + <option> + <name>OCVariant</name> + <state>0</state> + </option> + <option> + <name>MacOverride</name> + <state>1</state> + </option> + <option> + <name>MacFile</name> + <state>$PROJ_DIR$\../../../../../../../../sam/boards/sam4cmp_db/debug_scripts/iar/sam4cmp_db_flash_0.mac</state> + </option> + <option> + <name>MemOverride</name> + <state>0</state> + </option> + <option> + <name>MemFile</name> + <state>$TOOLKIT_DIR$\CONFIG\debugger\Atmel\ATSAM4CMP16C_0.ddf</state> + </option> + <option> + <name>RunToEnable</name> + <state>1</state> + </option> + <option> + <name>RunToName</name> + <state>main</state> + </option> + <option> + <name>CExtraOptionsCheck</name> + <state>0</state> + </option> + <option> + <name>CExtraOptions</name> + <state></state> + </option> + <option> + <name>CFpuProcessor</name> + <state>1</state> + </option> + <option> + <name>OCDDFArgumentProducer</name> + <state></state> + </option> + <option> + <name>OCDownloadSuppressDownload</name> + <state>0</state> + </option> + <option> + <name>OCDownloadVerifyAll</name> + <state>1</state> + </option> + <option> + <name>OCProductVersion</name> + <state>6.10.5.52324</state> + </option> + <option> + <name>OCDynDriverList</name> + <state>JLINK_ID</state> + </option> + <option> + <name>OCLastSavedByProductVersion</name> + <state></state> + </option> + <option> + <name>OCDownloadAttachToProgram</name> + <state>0</state> + </option> + <option> + <name>UseFlashLoader</name> + <state>1</state> + </option> + <option> + <name>CLowLevel</name> + <state>1</state> + </option> + <option> + <name>OCBE8Slave</name> + <state>1</state> + </option> + <option> + <name>MacFile2</name> + <state></state> + </option> + <option> + <name>CDevice</name> + <state>1</state> + </option> + <option> + <name>FlashLoadersV3</name> + <state>$TOOLKIT_DIR$\config\flashloader\Atmel\sam4cmp16c\sam4cmp16c-flash.board</state> + </option> + <option> + <name>OCImagesSuppressCheck1</name> + <state>0</state> + </option> + <option> + <name>OCImagesPath1</name> + <state></state> + </option> + <option> + <name>OCImagesSuppressCheck2</name> + <state>0</state> + </option> + <option> + <name>OCImagesPath2</name> + <state></state> + </option> + <option> + <name>OCImagesSuppressCheck3</name> + <state>0</state> + </option> + <option> + <name>OCImagesPath3</name> + <state></state> + </option> + <option> + <name>OverrideDefFlashBoard</name> + <state>0</state> + </option> + <option> + <name>OCImagesOffset1</name> + <state></state> + </option> + <option> + <name>OCImagesOffset2</name> + <state></state> + </option> + <option> + <name>OCImagesOffset3</name> + <state></state> + </option> + <option> + <name>OCImagesUse1</name> + <state>0</state> + </option> + <option> + <name>OCImagesUse2</name> + <state>0</state> + </option> + <option> + <name>OCImagesUse3</name> + <state>0</state> + </option> + </data> + </settings> + <settings> + <name>ARMSIM_ID</name> + <archiveVersion>2</archiveVersion> + <data> + <version>1</version> + <wantNonLocal>1</wantNonLocal> + <debug>0</debug> + <option> + <name>OCSimDriverInfo</name> + <state>1</state> + </option> + <option> + <name>OCSimEnablePSP</name> + <state>0</state> + </option> + <option> + <name>OCSimPspOverrideConfig</name> + <state>0</state> + </option> + <option> + <name>OCSimPspConfigFile</name> + <state></state> + </option> + </data> + </settings> + <settings> + <name>ANGEL_ID</name> + <archiveVersion>2</archiveVersion> + <data> + <version>0</version> + <wantNonLocal>1</wantNonLocal> + <debug>0</debug> + <option> + <name>CCAngelHeartbeat</name> + <state>1</state> + </option> + <option> + <name>CAngelCommunication</name> + <state>1</state> + </option> + <option> + <name>CAngelCommBaud</name> + <version>0</version> + <state>3</state> + </option> + <option> + <name>CAngelCommPort</name> + <version>0</version> + <state>0</state> + </option> + <option> + <name>ANGELTCPIP</name> + <state>aaa.bbb.ccc.ddd</state> + </option> + <option> + <name>DoAngelLogfile</name> + <state>0</state> + </option> + <option> + <name>AngelLogFile</name> + <state>$PROJ_DIR$\cspycomm.log</state> + </option> + <option> + <name>OCDriverInfo</name> + <state>1</state> + </option> + </data> + </settings> + <settings> + <name>GDBSERVER_ID</name> + <archiveVersion>2</archiveVersion> + <data> + <version>0</version> + <wantNonLocal>1</wantNonLocal> + <debug>0</debug> + <option> + <name>OCDriverInfo</name> + <state>1</state> + </option> + <option> + <name>TCPIP</name> + <state>aaa.bbb.ccc.ddd</state> + </option> + <option> + <name>DoLogfile</name> + <state>0</state> + </option> + <option> + <name>LogFile</name> + <state>$PROJ_DIR$\cspycomm.log</state> + </option> + <option> + <name>CCJTagBreakpointRadio</name> + <state>0</state> + </option> + <option> + <name>CCJTagDoUpdateBreakpoints</name> + <state>0</state> + </option> + <option> + <name>CCJTagUpdateBreakpoints</name> + <state>_call_main</state> + </option> + </data> + </settings> + <settings> + <name>IARROM_ID</name> + <archiveVersion>2</archiveVersion> + <data> + <version>1</version> + <wantNonLocal>1</wantNonLocal> + <debug>0</debug> + <option> + <name>CRomLogFileCheck</name> + <state>0</state> + </option> + <option> + <name>CRomLogFileEditB</name> + <state>$PROJ_DIR$\cspycomm.log</state> + </option> + <option> + <name>CRomCommPort</name> + <version>0</version> + <state>0</state> + </option> + <option> + <name>CRomCommBaud</name> + <version>0</version> + <state>7</state> + </option> + <option> + <name>OCDriverInfo</name> + <state>1</state> + </option> + </data> + </settings> + <settings> + <name>JLINK_ID</name> + <archiveVersion>2</archiveVersion> + <data> + <version>12</version> + <wantNonLocal>1</wantNonLocal> + <debug>0</debug> + <option> + <name>JLinkSpeed</name> + <state>32</state> + </option> + <option> + <name>CCJLinkDoLogfile</name> + <state>0</state> + </option> + <option> + <name>CCJLinkLogFile</name> + <state>$PROJ_DIR$\cspycomm.log</state> + </option> + <option> + <name>CCJLinkHWResetDelay</name> + <state>0</state> + </option> + <option> + <name>OCDriverInfo</name> + <state>1</state> + </option> + <option> + <name>JLinkInitialSpeed</name> + <state>32</state> + </option> + <option> + <name>CCDoJlinkMultiTarget</name> + <state>0</state> + </option> + <option> + <name>CCScanChainNonARMDevices</name> + <state>0</state> + </option> + <option> + <name>CCJLinkMultiTarget</name> + <state>0</state> + </option> + <option> + <name>CCJLinkIRLength</name> + <state>0</state> + </option> + <option> + <name>CCJLinkCommRadio</name> + <state>0</state> + </option> + <option> + <name>CCJLinkTCPIP</name> + <state>aaa.bbb.ccc.ddd</state> + </option> + <option> + <name>CCJLinkSpeedRadioV2</name> + <state>0</state> + </option> + <option> + <name>CCUSBDevice</name> + <version>1</version> + <state>1</state> + </option> + <option> + <name>CCRDICatchReset</name> + <state>0</state> + </option> + <option> + <name>CCRDICatchUndef</name> + <state>0</state> + </option> + <option> + <name>CCRDICatchSWI</name> + <state>0</state> + </option> + <option> + <name>CCRDICatchData</name> + <state>0</state> + </option> + <option> + <name>CCRDICatchPrefetch</name> + <state>0</state> + </option> + <option> + <name>CCRDICatchIRQ</name> + <state>0</state> + </option> + <option> + <name>CCRDICatchFIQ</name> + <state>0</state> + </option> + <option> + <name>CCJLinkBreakpointRadio</name> + <state>0</state> + </option> + <option> + <name>CCJLinkDoUpdateBreakpoints</name> + <state>0</state> + </option> + <option> + <name>CCJLinkUpdateBreakpoints</name> + <state>_call_main</state> + </option> + <option> + <name>CCJLinkInterfaceRadio</name> + <state>0</state> + </option> + <option> + <name>OCJLinkAttachSlave</name> + <state>1</state> + </option> + <option> + <name>CCJLinkResetList</name> + <version>5</version> + <state>7</state> + </option> + <option> + <name>CCJLinkInterfaceCmdLine</name> + <state>0</state> + </option> + <option> + <name>CCCatchCORERESET</name> + <state>0</state> + </option> + <option> + <name>CCCatchMMERR</name> + <state>0</state> + </option> + <option> + <name>CCCatchNOCPERR</name> + <state>0</state> + </option> + <option> + <name>CCCatchCHRERR</name> + <state>0</state> + </option> + <option> + <name>CCCatchSTATERR</name> + <state>0</state> + </option> + <option> + <name>CCCatchBUSERR</name> + <state>0</state> + </option> + <option> + <name>CCCatchINTERR</name> + <state>0</state> + </option> + <option> + <name>CCCatchHARDERR</name> + <state>0</state> + </option> + <option> + <name>CCCatchDummy</name> + <state>0</state> + </option> + <option> + <name>OCJLinkScriptFile</name> + <state>1</state> + </option> + </data> + </settings> + <settings> + <name>LMIFTDI_ID</name> + <archiveVersion>2</archiveVersion> + <data> + <version>2</version> + <wantNonLocal>1</wantNonLocal> + <debug>0</debug> + <option> + <name>OCDriverInfo</name> + <state>1</state> + </option> + <option> + <name>LmiftdiSpeed</name> + <state>500</state> + </option> + <option> + <name>CCLmiftdiDoLogfile</name> + <state>0</state> + </option> + <option> + <name>CCLmiftdiLogFile</name> + <state>$PROJ_DIR$\cspycomm.log</state> + </option> + <option> + <name>CCLmiFtdiInterfaceRadio</name> + <state>0</state> + </option> + <option> + <name>CCLmiFtdiInterfaceCmdLine</name> + <state>0</state> + </option> + </data> + </settings> + <settings> + <name>MACRAIGOR_ID</name> + <archiveVersion>2</archiveVersion> + <data> + <version>3</version> + <wantNonLocal>1</wantNonLocal> + <debug>0</debug> + <option> + <name>jtag</name> + <version>0</version> + <state>0</state> + </option> + <option> + <name>EmuSpeed</name> + <state>1</state> + </option> + <option> + <name>TCPIP</name> + <state>aaa.bbb.ccc.ddd</state> + </option> + <option> + <name>DoLogfile</name> + <state>0</state> + </option> + <option> + <name>LogFile</name> + <state>$PROJ_DIR$\cspycomm.log</state> + </option> + <option> + <name>DoEmuMultiTarget</name> + <state>0</state> + </option> + <option> + <name>EmuMultiTarget</name> + <state>0@ARM7TDMI</state> + </option> + <option> + <name>EmuHWReset</name> + <state>0</state> + </option> + <option> + <name>CEmuCommBaud</name> + <version>0</version> + <state>4</state> + </option> + <option> + <name>CEmuCommPort</name> + <version>0</version> + <state>0</state> + </option> + <option> + <name>jtago</name> + <version>0</version> + <state>0</state> + </option> + <option> + <name>OCDriverInfo</name> + <state>1</state> + </option> + <option> + <name>UnusedAddr</name> + <state>0x00800000</state> + </option> + <option> + <name>CCMacraigorHWResetDelay</name> + <state></state> + </option> + <option> + <name>CCJTagBreakpointRadio</name> + <state>0</state> + </option> + <option> + <name>CCJTagDoUpdateBreakpoints</name> + <state>0</state> + </option> + <option> + <name>CCJTagUpdateBreakpoints</name> + <state>_call_main</state> + </option> + <option> + <name>CCMacraigorInterfaceRadio</name> + <state>0</state> + </option> + <option> + <name>CCMacraigorInterfaceCmdLine</name> + <state>0</state> + </option> + </data> + </settings> + <settings> + <name>PEMICRO_ID</name> + <archiveVersion>2</archiveVersion> + <data> + <version>0</version> + <wantNonLocal>1</wantNonLocal> + <debug>0</debug> + <option> + <name>OCDriverInfo</name> + <state>1</state> + </option> + <option> + <name>OCPEMicroAttachSlave</name> + <state>1</state> + </option> + <option> + <name>CCPEMicroInterfaceList</name> + <version>0</version> + <state>0</state> + </option> + <option> + <name>CCPEMicroResetDelay</name> + <state></state> + </option> + <option> + <name>CCPEMicroJtagSpeed</name> + <state>#UNINITIALIZED#</state> + </option> + <option> + <name>CCJPEMicroShowSettings</name> + <state>0</state> + </option> + <option> + <name>DoLogfile</name> + <state>0</state> + </option> + <option> + <name>LogFile</name> + <state>$PROJ_DIR$\cspycomm.log</state> + </option> + <option> + <name>CCPEMicroUSBDevice</name> + <version>0</version> + <state>0</state> + </option> + <option> + <name>CCPEMicroSerialPort</name> + <version>0</version> + <state>0</state> + </option> + <option> + <name>CCJPEMicroTCPIPAutoScanNetwork</name> + <state>1</state> + </option> + <option> + <name>CCPEMicroTCPIP</name> + <state>10.0.0.1</state> + </option> + <option> + <name>CCPEMicroCommCmdLineProducer</name> + <state>0</state> + </option> + </data> + </settings> + <settings> + <name>RDI_ID</name> + <archiveVersion>2</archiveVersion> + <data> + <version>1</version> + <wantNonLocal>1</wantNonLocal> + <debug>0</debug> + <option> + <name>CRDIDriverDll</name> + <state>###Uninitialized###</state> + </option> + <option> + <name>CRDILogFileCheck</name> + <state>0</state> + </option> + <option> + <name>CRDILogFileEdit</name> + <state>$PROJ_DIR$\cspycomm.log</state> + </option> + <option> + <name>CCRDIHWReset</name> + <state>0</state> + </option> + <option> + <name>CCRDICatchReset</name> + <state>0</state> + </option> + <option> + <name>CCRDICatchUndef</name> + <state>0</state> + </option> + <option> + <name>CCRDICatchSWI</name> + <state>0</state> + </option> + <option> + <name>CCRDICatchData</name> + <state>0</state> + </option> + <option> + <name>CCRDICatchPrefetch</name> + <state>0</state> + </option> + <option> + <name>CCRDICatchIRQ</name> + <state>0</state> + </option> + <option> + <name>CCRDICatchFIQ</name> + <state>0</state> + </option> + <option> + <name>CCRDIUseETM</name> + <state>0</state> + </option> + <option> + <name>OCDriverInfo</name> + <state>1</state> + </option> + </data> + </settings> + <settings> + <name>STLINK_ID</name> + <archiveVersion>2</archiveVersion> + <data> + <version>1</version> + <wantNonLocal>1</wantNonLocal> + <debug>0</debug> + <option> + <name>OCDriverInfo</name> + <state>1</state> + </option> + <option> + <name>CCSTLinkInterfaceRadio</name> + <state>0</state> + </option> + <option> + <name>CCSTLinkInterfaceCmdLine</name> + <state>0</state> + </option> + </data> + </settings> + <settings> + <name>THIRDPARTY_ID</name> + <archiveVersion>2</archiveVersion> + <data> + <version>0</version> + <wantNonLocal>1</wantNonLocal> + <debug>0</debug> + <option> + <name>CThirdPartyDriverDll</name> + <state>###Uninitialized###</state> + </option> + <option> + <name>CThirdPartyLogFileCheck</name> + <state>0</state> + </option> + <option> + <name>CThirdPartyLogFileEditB</name> + <state>$PROJ_DIR$\cspycomm.log</state> + </option> + <option> + <name>OCDriverInfo</name> + <state>1</state> + </option> + </data> + </settings> + <debuggerPlugins> + <plugin> + <file>$TOOLKIT_DIR$\plugins\rtos\CMX\CmxArmPlugin.ENU.ewplugin</file> + <loadFlag>0</loadFlag> + </plugin> + <plugin> + <file>$TOOLKIT_DIR$\plugins\rtos\CMX\CmxTinyArmPlugin.ENU.ewplugin</file> + <loadFlag>0</loadFlag> + </plugin> + <plugin> + <file>$TOOLKIT_DIR$\plugins\rtos\embOS\embOSPlugin.ewplugin</file> + <loadFlag>0</loadFlag> + </plugin> + <plugin> + <file>$TOOLKIT_DIR$\plugins\rtos\MQX\MQXRtosPlugin.ewplugin</file> + <loadFlag>0</loadFlag> + </plugin> + <plugin> + <file>$TOOLKIT_DIR$\plugins\rtos\OpenRTOS\OpenRTOSPlugin.ewplugin</file> + <loadFlag>0</loadFlag> + </plugin> + <plugin> + <file>$TOOLKIT_DIR$\plugins\rtos\PowerPac\PowerPacRTOS.ewplugin</file> + <loadFlag>0</loadFlag> + </plugin> + <plugin> + <file>$TOOLKIT_DIR$\plugins\rtos\Quadros\Quadros_EWB6_Plugin.ewplugin</file> + <loadFlag>0</loadFlag> + </plugin> + <plugin> + <file>$TOOLKIT_DIR$\plugins\rtos\SafeRTOS\SafeRTOSPlugin.ewplugin</file> + <loadFlag>0</loadFlag> + </plugin> + <plugin> + <file>$TOOLKIT_DIR$\plugins\rtos\ThreadX\ThreadXArmPlugin.ENU.ewplugin</file> + <loadFlag>0</loadFlag> + </plugin> + <plugin> + <file>$TOOLKIT_DIR$\plugins\rtos\uCOS-II\uCOS-II-286-KA-CSpy.ewplugin</file> + <loadFlag>0</loadFlag> + </plugin> + <plugin> + <file>$TOOLKIT_DIR$\plugins\rtos\uCOS-II\uCOS-II-KA-CSpy.ewplugin</file> + <loadFlag>0</loadFlag> + </plugin> + <plugin> + <file>$EW_DIR$\common\plugins\CodeCoverage\CodeCoverage.ENU.ewplugin</file> + <loadFlag>1</loadFlag> + </plugin> + <plugin> + <file>$EW_DIR$\common\plugins\Orti\Orti.ENU.ewplugin</file> + <loadFlag>0</loadFlag> + </plugin> + <plugin> + <file>$EW_DIR$\common\plugins\Stack\Stack.ENU.ewplugin</file> + <loadFlag>1</loadFlag> + </plugin> + <plugin> + <file>$EW_DIR$\common\plugins\SymList\SymList.ENU.ewplugin</file> + <loadFlag>1</loadFlag> + </plugin> + </debuggerPlugins> + </configuration> +</project> diff --git a/thirdparty/prime/mac/mac_1_3/addons/bootloader/sam4cmp16c_sam4cmpdb/iar/addons_bootloader_flash.ewp b/thirdparty/prime/mac/mac_1_3/addons/bootloader/sam4cmp16c_sam4cmpdb/iar/addons_bootloader_flash.ewp new file mode 100644 index 00000000..c5103bbb --- /dev/null +++ b/thirdparty/prime/mac/mac_1_3/addons/bootloader/sam4cmp16c_sam4cmpdb/iar/addons_bootloader_flash.ewp @@ -0,0 +1,2326 @@ +<project> + <fileVersion>2</fileVersion> + <configuration> + <name>Debug</name> + <toolchain> + <name>ARM</name> + </toolchain> + <debug>1</debug> + <settings> + <name>General</name> + <archiveVersion>3</archiveVersion> + <data> + <version>21</version> + <wantNonLocal>1</wantNonLocal> + <debug>1</debug> + <option> + <name>ExePath</name> + <state>Debug\Exe</state> + </option> + <option> + <name>ObjPath</name> + <state>Debug\Obj</state> + </option> + <option> + <name>ListPath</name> + <state>Debug\List</state> + </option> + <option> + <name>Variant</name> + <version>19</version> + <state>37</state> + </option> + <option> + <name>GEndianMode</name> + <state>0</state> + </option> + <option> + <name>Input variant</name> + <version>3</version> + <state>6</state> + </option> + <option> + <name>Input description</name> + <state>No specifier n, no float nor long long, no scan set, no assignment suppressing.</state> + </option> + <option> + <name>Output variant</name> + <version>2</version> + <state>3</state> + </option> + <option> + <name>Output description</name> + <state>No specifier a, A.</state> + </option> + <option> + <name>GOutputBinary</name> + <state>0</state> + </option> + <option> + <name>FPU</name> + <version>2</version> + <state>0</state> + </option> + <option> + <name>OGCoreOrChip</name> + <state>1</state> + </option> + <option> + <name>GRuntimeLibSelect</name> + <version>0</version> + <state>2</state> + </option> + <option> + <name>GRuntimeLibSelectSlave</name> + <version>0</version> + <state>2</state> + </option> + <option> + <name>RTDescription</name> + <state>Use the normal configuration of the C/C++ runtime library. No locale interface, C locale, no file descriptor support, no multibytes in printf and scanf, and no hex floats in strtod.</state> + </option> + <option> + <name>OGProductVersion</name> + <state>5.10.0.159</state> + </option> + <option> + <name>OGLastSavedByProductVersion</name> + <state>6.21.1.52845</state> + </option> + <option> + <name>GeneralEnableMisra</name> + <state>0</state> + </option> + <option> + <name>GeneralMisraVerbose</name> + <state>0</state> + </option> + <option> + <name>OGChipSelectEditMenu</name> + <state>ATSAM4CMP16C_0 Atmel ATSAM4CMP16C Core0</state> + </option> + <option> + <name>GenLowLevelInterface</name> + <state>0</state> + </option> + <option> + <name>GEndianModeBE</name> + <state>1</state> + </option> + <option> + <name>OGBufferedTerminalOutput</name> + <state>0</state> + </option> + <option> + <name>GenStdoutInterface</name> + <state>0</state> + </option> + <option> + <name>GeneralMisraRules98</name> + <version>0</version> + <state>1000111110110101101110011100111111101110011011000101110111101101100111111111111100110011111001110111001111111111111111111111111</state> + </option> + <option> + <name>GeneralMisraVer</name> + <state>0</state> + </option> + <option> + <name>GeneralMisraRules04</name> + <version>0</version> + <state>111101110010111111111000110111111111111111111111111110010111101111010101111111111111111111111111101111111011111001111011111011111111111111111</state> + </option> + <option> + <name>RTConfigPath2</name> + <state>$TOOLKIT_DIR$\INC\c\DLib_Config_Full.h</state> + </option> + <option> + <name>GFPUCoreSlave</name> + <version>19</version> + <state>37</state> + </option> + <option> + <name>GBECoreSlave</name> + <version>19</version> + <state>37</state> + </option> + <option> + <name>OGUseCmsis</name> + <state>1</state> + </option> + <option> + <name>OGUseCmsisDspLib</name> + <state>1</state> + </option> + </data> + </settings> + <settings> + <name>ICCARM</name> + <archiveVersion>2</archiveVersion> + <data> + <version>27</version> + <wantNonLocal>1</wantNonLocal> + <debug>1</debug> + <option> + <name>CCDefines</name> + <state>__SAM4CMP16C_0__</state> + <state>ARM_MATH_CM4=true</state> + <state>BOARD=SAM4CMP_DB</state> + </option> + <option> + <name>CCPreprocFile</name> + <state>0</state> + </option> + <option> + <name>CCPreprocComments</name> + <state>0</state> + </option> + <option> + <name>CCPreprocLine</name> + <state>0</state> + </option> + <option> + <name>CCListCFile</name> + <state>0</state> + </option> + <option> + <name>CCListCMnemonics</name> + <state>0</state> + </option> + <option> + <name>CCListCMessages</name> + <state>0</state> + </option> + <option> + <name>CCListAssFile</name> + <state>0</state> + </option> + <option> + <name>CCListAssSource</name> + <state>0</state> + </option> + <option> + <name>CCEnableRemarks</name> + <state>1</state> + </option> + <option> + <name>CCDiagSuppress</name> + <state></state> + </option> + <option> + <name>CCDiagRemark</name> + <state></state> + </option> + <option> + <name>CCDiagWarning</name> + <state></state> + </option> + <option> + <name>CCDiagError</name> + <state></state> + </option> + <option> + <name>CCObjPrefix</name> + <state>1</state> + </option> + <option> + <name>CCAllowList</name> + <version>0</version> + <state>1111111</state> + </option> + <option> + <name>CCDebugInfo</name> + <state>1</state> + </option> + <option> + <name>IEndianMode</name> + <state>1</state> + </option> + <option> + <name>IProcessor</name> + <state>1</state> + </option> + <option> + <name>IExtraOptionsCheck</name> + <state>0</state> + </option> + <option> + <name>IExtraOptions</name> + <state></state> + </option> + <option> + <name>CCLangConformance</name> + <state>0</state> + </option> + <option> + <name>CCSignedPlainChar</name> + <state>1</state> + </option> + <option> + <name>CCRequirePrototypes</name> + <state>1</state> + </option> + <option> + <name>CCMultibyteSupport</name> + <state>0</state> + </option> + <option> + <name>CCDiagWarnAreErr</name> + <state>0</state> + </option> + <option> + <name>CCCompilerRuntimeInfo</name> + <state>0</state> + </option> + <option> + <name>IFpuProcessor</name> + <state>1</state> + </option> + <option> + <name>OutputFile</name> + <state>$FILE_BNAME$.o</state> + </option> + <option> + <name>CCLibConfigHeader</name> + <state>1</state> + </option> + <option> + <name>PreInclude</name> + <state></state> + </option> + <option> + <name>CompilerMisraOverride</name> + <state>0</state> + </option> + <option> + <name>CCIncludePath2</name> + <state>$PROJ_DIR$/../..</state> + <state>$PROJ_DIR$/../../../../../../../../sam/utils</state> + <state>$PROJ_DIR$/../../../../../../../../common/services/clock</state> + <state>$PROJ_DIR$/../../../../../../../../sam/utils/cmsis/sam4cm/include</state> + <state>$PROJ_DIR$/../../../../../../../../sam/utils/header_files</state> + <state>$PROJ_DIR$/../../../../../../../../common/boards</state> + <state>$PROJ_DIR$/../../../../../../../../sam/utils/preprocessor</state> + <state>$PROJ_DIR$/../../../../../../../../sam/boards/sam4cmp_db</state> + <state>$PROJ_DIR$/../../../../../../../../sam/utils/cmsis/sam4cm/source/templates</state> + <state>$PROJ_DIR$/../../../../../../../../sam/drivers/pmc</state> + <state>$PROJ_DIR$/../../../../../../../../sam/services/flash_efc</state> + <state>$PROJ_DIR$/../../../../../../../../sam/boards</state> + <state>$PROJ_DIR$/../../../../../../../../common/utils</state> + <state>$PROJ_DIR$/..</state> + <state>$PROJ_DIR$/../../../../../../../../common/services/ioport</state> + <state>$PROJ_DIR$/../../../../../../../../sam/drivers/efc</state> + <state>$PROJ_DIR$/.</state> + </option> + <option> + <name>CCStdIncCheck</name> + <state>0</state> + </option> + <option> + <name>CCCodeSection</name> + <state>.text</state> + </option> + <option> + <name>IInterwork2</name> + <state>0</state> + </option> + <option> + <name>IProcessorMode2</name> + <state>1</state> + </option> + <option> + <name>CCOptLevel</name> + <state>3</state> + </option> + <option> + <name>CCOptStrategy</name> + <version>0</version> + <state>1</state> + </option> + <option> + <name>CCOptLevelSlave</name> + <state>3</state> + </option> + <option> + <name>CompilerMisraRules98</name> + <version>0</version> + <state>1000111110110101101110011100111111101110011011000101110111101101100111111111111100110011111001110111001111111111111111111111111</state> + </option> + <option> + <name>CompilerMisraRules04</name> + <version>0</version> + <state>111101110010111111111000110111111111111111111111111110010111101111010101111111111111111111111111101111111011111001111011111011111111111111111</state> + </option> + <option> + <name>CCPosIndRopi</name> + <state>0</state> + </option> + <option> + <name>CCPosIndRwpi</name> + <state>0</state> + </option> + <option> + <name>CCPosIndNoDynInit</name> + <state>0</state> + </option> + <option> + <name>IccLang</name> + <state>0</state> + </option> + <option> + <name>IccCDialect</name> + <state>1</state> + </option> + <option> + <name>IccAllowVLA</name> + <state>0</state> + </option> + <option> + <name>IccCppDialect</name> + <state>1</state> + </option> + <option> + <name>IccExceptions</name> + <state>1</state> + </option> + <option> + <name>IccRTTI</name> + <state>1</state> + </option> + <option> + <name>IccStaticDestr</name> + <state>1</state> + </option> + <option> + <name>IccRelaxedFpPrecision</name> + <state>0</state> + </option> + <option> + <name>IccCppInlineSemantics</name> + <state>0</state> + </option> + <option> + <name>IccCmsis</name> + <state>1</state> + </option> + </data> + </settings> + <settings> + <name>AARM</name> + <archiveVersion>2</archiveVersion> + <data> + <version>8</version> + <wantNonLocal>1</wantNonLocal> + <debug>1</debug> + <option> + <name>AObjPrefix</name> + <state>1</state> + </option> + <option> + <name>AEndian</name> + <state>1</state> + </option> + <option> + <name>ACaseSensitivity</name> + <state>1</state> + </option> + <option> + <name>MacroChars</name> + <version>0</version> + <state>0</state> + </option> + <option> + <name>AWarnEnable</name> + <state>0</state> + </option> + <option> + <name>AWarnWhat</name> + <state>0</state> + </option> + <option> + <name>AWarnOne</name> + <state></state> + </option> + <option> + <name>AWarnRange1</name> + <state></state> + </option> + <option> + <name>AWarnRange2</name> + <state></state> + </option> + <option> + <name>ADebug</name> + <state>1</state> + </option> + <option> + <name>AltRegisterNames</name> + <state>0</state> + </option> + <option> + <name>ADefines</name> + <state>__SAM4CMP16C_0__</state> + <state>ARM_MATH_CM4=true</state> + <state>BOARD=SAM4CMP_DB</state> + </option> + <option> + <name>AList</name> + <state>0</state> + </option> + <option> + <name>AListHeader</name> + <state>1</state> + </option> + <option> + <name>AListing</name> + <state>1</state> + </option> + <option> + <name>Includes</name> + <state>0</state> + </option> + <option> + <name>MacDefs</name> + <state>0</state> + </option> + <option> + <name>MacExps</name> + <state>1</state> + </option> + <option> + <name>MacExec</name> + <state>0</state> + </option> + <option> + <name>OnlyAssed</name> + <state>0</state> + </option> + <option> + <name>MultiLine</name> + <state>0</state> + </option> + <option> + <name>PageLengthCheck</name> + <state>0</state> + </option> + <option> + <name>PageLength</name> + <state>80</state> + </option> + <option> + <name>TabSpacing</name> + <state>8</state> + </option> + <option> + <name>AXRef</name> + <state>0</state> + </option> + <option> + <name>AXRefDefines</name> + <state>0</state> + </option> + <option> + <name>AXRefInternal</name> + <state>0</state> + </option> + <option> + <name>AXRefDual</name> + <state>0</state> + </option> + <option> + <name>AProcessor</name> + <state>1</state> + </option> + <option> + <name>AFpuProcessor</name> + <state>1</state> + </option> + <option> + <name>AOutputFile</name> + <state>$FILE_BNAME$.o</state> + </option> + <option> + <name>AMultibyteSupport</name> + <state>0</state> + </option> + <option> + <name>ALimitErrorsCheck</name> + <state>0</state> + </option> + <option> + <name>ALimitErrorsEdit</name> + <state>100</state> + </option> + <option> + <name>AIgnoreStdInclude</name> + <state>0</state> + </option> + <option> + <name>AUserIncludes</name> + <state>$PROJ_DIR$/../..</state> + <state>$PROJ_DIR$/../../../../../../../../sam/utils</state> + <state>$PROJ_DIR$/../../../../../../../../common/services/clock</state> + <state>$PROJ_DIR$/../../../../../../../../sam/utils/cmsis/sam4cm/include</state> + <state>$PROJ_DIR$/../../../../../../../../sam/utils/header_files</state> + <state>$PROJ_DIR$/../../../../../../../../common/boards</state> + <state>$PROJ_DIR$/../../../../../../../../sam/utils/preprocessor</state> + <state>$PROJ_DIR$/../../../../../../../../sam/boards/sam4cmp_db</state> + <state>$PROJ_DIR$/../../../../../../../../sam/utils/cmsis/sam4cm/source/templates</state> + <state>$PROJ_DIR$/../../../../../../../../sam/drivers/pmc</state> + <state>$PROJ_DIR$/../../../../../../../../sam/services/flash_efc</state> + <state>$PROJ_DIR$/../../../../../../../../sam/boards</state> + <state>$PROJ_DIR$/../../../../../../../../common/utils</state> + <state>$PROJ_DIR$/..</state> + <state>$PROJ_DIR$/../../../../../../../../common/services/ioport</state> + <state>$PROJ_DIR$/../../../../../../../../sam/drivers/efc</state> + <state>$PROJ_DIR$/.</state> + </option> + <option> + <name>AExtraOptionsCheckV2</name> + <state>0</state> + </option> + <option> + <name>AExtraOptionsV2</name> + <state></state> + </option> + </data> + </settings> + <settings> + <name>OBJCOPY</name> + <archiveVersion>0</archiveVersion> + <data> + <version>1</version> + <wantNonLocal>1</wantNonLocal> + <debug>1</debug> + <option> + <name>OOCOutputFormat</name> + <version>2</version> + <state>2</state> + </option> + <option> + <name>OCOutputOverride</name> + <state>1</state> + </option> + <option> + <name>OOCOutputFile</name> + <state>addons_bootloader_flash.bin</state> + </option> + <option> + <name>OOCCommandLineProducer</name> + <state>1</state> + </option> + <option> + <name>OOCObjCopyEnable</name> + <state>0</state> + </option> + </data> + </settings> + <settings> + <name>CUSTOM</name> + <archiveVersion>3</archiveVersion> + <data> + <extensions></extensions> + <cmdline></cmdline> + </data> + </settings> + <settings> + <name>BICOMP</name> + <archiveVersion>0</archiveVersion> + <data></data> + </settings> + <settings> + <name>BUILDACTION</name> + <archiveVersion>1</archiveVersion> + <data> + <prebuild></prebuild> + <postbuild></postbuild> + </data> + </settings> + <settings> + <name>ILINK</name> + <archiveVersion>0</archiveVersion> + <data> + <version>12</version> + <wantNonLocal>1</wantNonLocal> + <debug>1</debug> + <option> + <name>IlinkOutputFile</name> + <state>addons_bootloader_flash.out</state> + </option> + <option> + <name>IlinkLibIOConfig</name> + <state>1</state> + </option> + <option> + <name>XLinkMisraHandler</name> + <state>0</state> + </option> + <option> + <name>IlinkInputFileSlave</name> + <state>0</state> + </option> + <option> + <name>IlinkDebugInfoEnable</name> + <state>1</state> + </option> + <option> + <name>IlinkKeepSymbols</name> + <state></state> + </option> + <option> + <name>IlinkRawBinaryFile</name> + <state></state> + </option> + <option> + <name>IlinkRawBinarySymbol</name> + <state></state> + </option> + <option> + <name>IlinkRawBinarySegment</name> + <state></state> + </option> + <option> + <name>IlinkRawBinaryAlign</name> + <state></state> + </option> + <option> + <name>IlinkDefines</name> + <state></state> + </option> + <option> + <name>IlinkConfigDefines</name> + <state></state> + </option> + <option> + <name>IlinkMapFile</name> + <state>1</state> + </option> + <option> + <name>IlinkLogFile</name> + <state>0</state> + </option> + <option> + <name>IlinkLogInitialization</name> + <state>0</state> + </option> + <option> + <name>IlinkLogModule</name> + <state>0</state> + </option> + <option> + <name>IlinkLogSection</name> + <state>0</state> + </option> + <option> + <name>IlinkLogVeneer</name> + <state>0</state> + </option> + <option> + <name>IlinkIcfOverride</name> + <state>1</state> + </option> + <option> + <name>IlinkIcfFile</name> + <state>$PROJ_DIR$/../../linker_scripts/iar/sam4cmp16c_0_flash.icf</state> + </option> + <option> + <name>IlinkIcfFileSlave</name> + <state></state> + </option> + <option> + <name>IlinkEnableRemarks</name> + <state>1</state> + </option> + <option> + <name>IlinkSuppressDiags</name> + <state></state> + </option> + <option> + <name>IlinkTreatAsRem</name> + <state></state> + </option> + <option> + <name>IlinkTreatAsWarn</name> + <state></state> + </option> + <option> + <name>IlinkTreatAsErr</name> + <state></state> + </option> + <option> + <name>IlinkWarningsAreErrors</name> + <state>0</state> + </option> + <option> + <name>IlinkUseExtraOptions</name> + <state>1</state> + </option> + <option> + <name>IlinkExtraOptions</name> + </option> + <option> + <name>IlinkLowLevelInterfaceSlave</name> + <state>1</state> + </option> + <option> + <name>IlinkAutoLibEnable</name> + <state>1</state> + </option> + <option> + <name>IlinkAdditionalLibs</name> + <state></state> + </option> + <option> + <name>IlinkOverrideProgramEntryLabel</name> + <state>0</state> + </option> + <option> + <name>IlinkProgramEntryLabelSelect</name> + <state>0</state> + </option> + <option> + <name>IlinkProgramEntryLabel</name> + <state>__iar_program_start</state> + </option> + <option> + <name>DoFill</name> + <state>0</state> + </option> + <option> + <name>FillerByte</name> + <state>0xFF</state> + </option> + <option> + <name>FillerStart</name> + <state>0x0</state> + </option> + <option> + <name>FillerEnd</name> + <state>0x0</state> + </option> + <option> + <name>CrcSize</name> + <version>0</version> + <state>1</state> + </option> + <option> + <name>CrcAlign</name> + <state>1</state> + </option> + <option> + <name>CrcAlgo</name> + <state>1</state> + </option> + <option> + <name>CrcPoly</name> + <state>0x11021</state> + </option> + <option> + <name>CrcCompl</name> + <version>0</version> + <state>0</state> + </option> + <option> + <name>CrcBitOrder</name> + <version>0</version> + <state>0</state> + </option> + <option> + <name>CrcInitialValue</name> + <state>0x0</state> + </option> + <option> + <name>DoCrc</name> + <state>0</state> + </option> + <option> + <name>IlinkBE8Slave</name> + <state>1</state> + </option> + <option> + <name>IlinkBufferedTerminalOutput</name> + <state>1</state> + </option> + <option> + <name>IlinkStdoutInterfaceSlave</name> + <state>1</state> + </option> + <option> + <name>CrcFullSize</name> + <state>0</state> + </option> + <option> + <name>IlinkIElfToolPostProcess</name> + <state>0</state> + </option> + <option> + <name>IlinkLogAutoLibSelect</name> + <state>0</state> + </option> + <option> + <name>IlinkLogRedirSymbols</name> + <state>0</state> + </option> + <option> + <name>IlinkLogUnusedFragments</name> + <state>0</state> + </option> + <option> + <name>IlinkCrcReverseByteOrder</name> + <state>0</state> + </option> + <option> + <name>IlinkCrcUseAsInput</name> + <state>1</state> + </option> + <option> + <name>IlinkOptInline</name> + <state>0</state> + </option> + <option> + <name>IlinkOptExceptionsAllow</name> + <state>0</state> + </option> + <option> + <name>IlinkOptExceptionsForce</name> + <state>0</state> + </option> + <option> + <name>IlinkCmsis</name> + <state>1</state> + </option> + </data> + </settings> + <settings> + <name>IARCHIVE</name> + <archiveVersion>0</archiveVersion> + <data> + <version>0</version> + <wantNonLocal>1</wantNonLocal> + <debug>1</debug> + <option> + <name>IarchiveInputs</name> + <state></state> + </option> + <option> + <name>IarchiveOverride</name> + <state>0</state> + </option> + <option> + <name>IarchiveOutput</name> + <state>###Unitialized###</state> + </option> + </data> + </settings> + <settings> + <name>BILINK</name> + <archiveVersion>0</archiveVersion> + <data></data> + </settings> + </configuration> + <configuration> + <name>Release</name> + <toolchain> + <name>ARM</name> + </toolchain> + <debug>0</debug> + <settings> + <name>General</name> + <archiveVersion>3</archiveVersion> + <data> + <version>21</version> + <wantNonLocal>1</wantNonLocal> + <debug>0</debug> + <option> + <name>ExePath</name> + <state>Release\Exe</state> + </option> + <option> + <name>ObjPath</name> + <state>Release\Obj</state> + </option> + <option> + <name>ListPath</name> + <state>Release\List</state> + </option> + <option> + <name>Variant</name> + <version>19</version> + <state>37</state> + </option> + <option> + <name>GEndianMode</name> + <state>0</state> + </option> + <option> + <name>Input variant</name> + <version>3</version> + <state>6</state> + </option> + <option> + <name>Input description</name> + <state>No specifier n, no float nor long long, no scan set, no assignment suppressing.</state> + </option> + <option> + <name>Output variant</name> + <version>2</version> + <state>3</state> + </option> + <option> + <name>Output description</name> + <state>No specifier a, A.</state> + </option> + <option> + <name>GOutputBinary</name> + <state>0</state> + </option> + <option> + <name>FPU</name> + <version>2</version> + <state>0</state> + </option> + <option> + <name>OGCoreOrChip</name> + <state>1</state> + </option> + <option> + <name>GRuntimeLibSelect</name> + <version>0</version> + <state>2</state> + </option> + <option> + <name>GRuntimeLibSelectSlave</name> + <version>0</version> + <state>2</state> + </option> + <option> + <name>RTDescription</name> + <state>Use the normal configuration of the C/C++ runtime library. No locale interface, C locale, no file descriptor support, no multibytes in printf and scanf, and no hex floats in strtod.</state> + </option> + <option> + <name>OGProductVersion</name> + <state>5.10.0.159</state> + </option> + <option> + <name>OGLastSavedByProductVersion</name> + <state>6.21.1.52845</state> + </option> + <option> + <name>GeneralEnableMisra</name> + <state>0</state> + </option> + <option> + <name>GeneralMisraVerbose</name> + <state>0</state> + </option> + <option> + <name>OGChipSelectEditMenu</name> + <state>ATSAM4CMP16C_0 Atmel ATSAM4CMP16C Core0</state> + </option> + <option> + <name>GenLowLevelInterface</name> + <state>0</state> + </option> + <option> + <name>GEndianModeBE</name> + <state>1</state> + </option> + <option> + <name>OGBufferedTerminalOutput</name> + <state>0</state> + </option> + <option> + <name>GenStdoutInterface</name> + <state>0</state> + </option> + <option> + <name>GeneralMisraRules98</name> + <version>0</version> + <state>1000111110110101101110011100111111101110011011000101110111101101100111111111111100110011111001110111001111111111111111111111111</state> + </option> + <option> + <name>GeneralMisraVer</name> + <state>0</state> + </option> + <option> + <name>GeneralMisraRules04</name> + <version>0</version> + <state>111101110010111111111000110111111111111111111111111110010111101111010101111111111111111111111111101111111011111001111011111011111111111111111</state> + </option> + <option> + <name>RTConfigPath2</name> + <state>$TOOLKIT_DIR$\INC\c\DLib_Config_Full.h</state> + </option> + <option> + <name>GFPUCoreSlave</name> + <version>19</version> + <state>37</state> + </option> + <option> + <name>GBECoreSlave</name> + <version>19</version> + <state>37</state> + </option> + <option> + <name>OGUseCmsis</name> + <state>1</state> + </option> + <option> + <name>OGUseCmsisDspLib</name> + <state>1</state> + </option> + </data> + </settings> + <settings> + <name>ICCARM</name> + <archiveVersion>2</archiveVersion> + <data> + <version>27</version> + <wantNonLocal>1</wantNonLocal> + <debug>0</debug> + <option> + <name>CCDefines</name> + <state>__SAM4CMP16C_0__</state> + <state>ARM_MATH_CM4=true</state> + <state>BOARD=SAM4CMP_DB</state> + </option> + <option> + <name>CCPreprocFile</name> + <state>0</state> + </option> + <option> + <name>CCPreprocComments</name> + <state>0</state> + </option> + <option> + <name>CCPreprocLine</name> + <state>0</state> + </option> + <option> + <name>CCListCFile</name> + <state>0</state> + </option> + <option> + <name>CCListCMnemonics</name> + <state>0</state> + </option> + <option> + <name>CCListCMessages</name> + <state>0</state> + </option> + <option> + <name>CCListAssFile</name> + <state>0</state> + </option> + <option> + <name>CCListAssSource</name> + <state>0</state> + </option> + <option> + <name>CCEnableRemarks</name> + <state>1</state> + </option> + <option> + <name>CCDiagSuppress</name> + <state></state> + </option> + <option> + <name>CCDiagRemark</name> + <state></state> + </option> + <option> + <name>CCDiagWarning</name> + <state></state> + </option> + <option> + <name>CCDiagError</name> + <state></state> + </option> + <option> + <name>CCObjPrefix</name> + <state>1</state> + </option> + <option> + <name>CCAllowList</name> + <version>0</version> + <state>1111111</state> + </option> + <option> + <name>CCDebugInfo</name> + <state>0</state> + </option> + <option> + <name>IEndianMode</name> + <state>1</state> + </option> + <option> + <name>IProcessor</name> + <state>1</state> + </option> + <option> + <name>IExtraOptionsCheck</name> + <state>0</state> + </option> + <option> + <name>IExtraOptions</name> + <state></state> + </option> + <option> + <name>CCLangConformance</name> + <state>0</state> + </option> + <option> + <name>CCSignedPlainChar</name> + <state>1</state> + </option> + <option> + <name>CCRequirePrototypes</name> + <state>1</state> + </option> + <option> + <name>CCMultibyteSupport</name> + <state>0</state> + </option> + <option> + <name>CCDiagWarnAreErr</name> + <state>0</state> + </option> + <option> + <name>CCCompilerRuntimeInfo</name> + <state>0</state> + </option> + <option> + <name>IFpuProcessor</name> + <state>1</state> + </option> + <option> + <name>OutputFile</name> + <state>$FILE_BNAME$.o</state> + </option> + <option> + <name>CCLibConfigHeader</name> + <state>1</state> + </option> + <option> + <name>PreInclude</name> + <state></state> + </option> + <option> + <name>CompilerMisraOverride</name> + <state>0</state> + </option> + <option> + <name>CCIncludePath2</name> + <state>$PROJ_DIR$/../..</state> + <state>$PROJ_DIR$/../../../../../../../../sam/utils</state> + <state>$PROJ_DIR$/../../../../../../../../common/services/clock</state> + <state>$PROJ_DIR$/../../../../../../../../sam/utils/cmsis/sam4cm/include</state> + <state>$PROJ_DIR$/../../../../../../../../sam/utils/header_files</state> + <state>$PROJ_DIR$/../../../../../../../../common/boards</state> + <state>$PROJ_DIR$/../../../../../../../../sam/utils/preprocessor</state> + <state>$PROJ_DIR$/../../../../../../../../sam/boards/sam4cmp_db</state> + <state>$PROJ_DIR$/../../../../../../../../sam/utils/cmsis/sam4cm/source/templates</state> + <state>$PROJ_DIR$/../../../../../../../../sam/drivers/pmc</state> + <state>$PROJ_DIR$/../../../../../../../../sam/services/flash_efc</state> + <state>$PROJ_DIR$/../../../../../../../../sam/boards</state> + <state>$PROJ_DIR$/../../../../../../../../common/utils</state> + <state>$PROJ_DIR$/..</state> + <state>$PROJ_DIR$/../../../../../../../../common/services/ioport</state> + <state>$PROJ_DIR$/../../../../../../../../sam/drivers/efc</state> + <state>$PROJ_DIR$/.</state> + </option> + <option> + <name>CCStdIncCheck</name> + <state>0</state> + </option> + <option> + <name>CCCodeSection</name> + <state>.text</state> + </option> + <option> + <name>IInterwork2</name> + <state>0</state> + </option> + <option> + <name>IProcessorMode2</name> + <state>1</state> + </option> + <option> + <name>CCOptLevel</name> + <state>3</state> + </option> + <option> + <name>CCOptStrategy</name> + <version>0</version> + <state>1</state> + </option> + <option> + <name>CCOptLevelSlave</name> + <state>3</state> + </option> + <option> + <name>CompilerMisraRules98</name> + <version>0</version> + <state>1000111110110101101110011100111111101110011011000101110111101101100111111111111100110011111001110111001111111111111111111111111</state> + </option> + <option> + <name>CompilerMisraRules04</name> + <version>0</version> + <state>111101110010111111111000110111111111111111111111111110010111101111010101111111111111111111111111101111111011111001111011111011111111111111111</state> + </option> + <option> + <name>CCPosIndRopi</name> + <state>0</state> + </option> + <option> + <name>CCPosIndRwpi</name> + <state>0</state> + </option> + <option> + <name>CCPosIndNoDynInit</name> + <state>0</state> + </option> + <option> + <name>IccLang</name> + <state>0</state> + </option> + <option> + <name>IccCDialect</name> + <state>1</state> + </option> + <option> + <name>IccAllowVLA</name> + <state>0</state> + </option> + <option> + <name>IccCppDialect</name> + <state>1</state> + </option> + <option> + <name>IccExceptions</name> + <state>1</state> + </option> + <option> + <name>IccRTTI</name> + <state>1</state> + </option> + <option> + <name>IccStaticDestr</name> + <state>1</state> + </option> + <option> + <name>IccRelaxedFpPrecision</name> + <state>0</state> + </option> + <option> + <name>IccCppInlineSemantics</name> + <state>0</state> + </option> + <option> + <name>IccCmsis</name> + <state>1</state> + </option> + </data> + </settings> + <settings> + <name>AARM</name> + <archiveVersion>2</archiveVersion> + <data> + <version>8</version> + <wantNonLocal>1</wantNonLocal> + <debug>0</debug> + <option> + <name>AObjPrefix</name> + <state>1</state> + </option> + <option> + <name>AEndian</name> + <state>1</state> + </option> + <option> + <name>ACaseSensitivity</name> + <state>1</state> + </option> + <option> + <name>MacroChars</name> + <version>0</version> + <state>0</state> + </option> + <option> + <name>AWarnEnable</name> + <state>0</state> + </option> + <option> + <name>AWarnWhat</name> + <state>0</state> + </option> + <option> + <name>AWarnOne</name> + <state></state> + </option> + <option> + <name>AWarnRange1</name> + <state></state> + </option> + <option> + <name>AWarnRange2</name> + <state></state> + </option> + <option> + <name>ADebug</name> + <state>0</state> + </option> + <option> + <name>AltRegisterNames</name> + <state>0</state> + </option> + <option> + <name>ADefines</name> + <state>__SAM4CMP16C_0__</state> + <state>ARM_MATH_CM4=true</state> + <state>BOARD=SAM4CMP_DB</state> + </option> + <option> + <name>AList</name> + <state>0</state> + </option> + <option> + <name>AListHeader</name> + <state>1</state> + </option> + <option> + <name>AListing</name> + <state>1</state> + </option> + <option> + <name>Includes</name> + <state>0</state> + </option> + <option> + <name>MacDefs</name> + <state>0</state> + </option> + <option> + <name>MacExps</name> + <state>1</state> + </option> + <option> + <name>MacExec</name> + <state>0</state> + </option> + <option> + <name>OnlyAssed</name> + <state>0</state> + </option> + <option> + <name>MultiLine</name> + <state>0</state> + </option> + <option> + <name>PageLengthCheck</name> + <state>0</state> + </option> + <option> + <name>PageLength</name> + <state>80</state> + </option> + <option> + <name>TabSpacing</name> + <state>8</state> + </option> + <option> + <name>AXRef</name> + <state>0</state> + </option> + <option> + <name>AXRefDefines</name> + <state>0</state> + </option> + <option> + <name>AXRefInternal</name> + <state>0</state> + </option> + <option> + <name>AXRefDual</name> + <state>0</state> + </option> + <option> + <name>AProcessor</name> + <state>1</state> + </option> + <option> + <name>AFpuProcessor</name> + <state>1</state> + </option> + <option> + <name>AOutputFile</name> + <state>$FILE_BNAME$.o</state> + </option> + <option> + <name>AMultibyteSupport</name> + <state>0</state> + </option> + <option> + <name>ALimitErrorsCheck</name> + <state>0</state> + </option> + <option> + <name>ALimitErrorsEdit</name> + <state>100</state> + </option> + <option> + <name>AIgnoreStdInclude</name> + <state>0</state> + </option> + <option> + <name>AUserIncludes</name> + <state>$PROJ_DIR$/../..</state> + <state>$PROJ_DIR$/../../../../../../../../sam/utils</state> + <state>$PROJ_DIR$/../../../../../../../../common/services/clock</state> + <state>$PROJ_DIR$/../../../../../../../../sam/utils/cmsis/sam4cm/include</state> + <state>$PROJ_DIR$/../../../../../../../../sam/utils/header_files</state> + <state>$PROJ_DIR$/../../../../../../../../common/boards</state> + <state>$PROJ_DIR$/../../../../../../../../sam/utils/preprocessor</state> + <state>$PROJ_DIR$/../../../../../../../../sam/boards/sam4cmp_db</state> + <state>$PROJ_DIR$/../../../../../../../../sam/utils/cmsis/sam4cm/source/templates</state> + <state>$PROJ_DIR$/../../../../../../../../sam/drivers/pmc</state> + <state>$PROJ_DIR$/../../../../../../../../sam/services/flash_efc</state> + <state>$PROJ_DIR$/../../../../../../../../sam/boards</state> + <state>$PROJ_DIR$/../../../../../../../../common/utils</state> + <state>$PROJ_DIR$/..</state> + <state>$PROJ_DIR$/../../../../../../../../common/services/ioport</state> + <state>$PROJ_DIR$/../../../../../../../../sam/drivers/efc</state> + <state>$PROJ_DIR$/.</state> + </option> + <option> + <name>AExtraOptionsCheckV2</name> + <state>0</state> + </option> + <option> + <name>AExtraOptionsV2</name> + <state></state> + </option> + </data> + </settings> + <settings> + <name>OBJCOPY</name> + <archiveVersion>0</archiveVersion> + <data> + <version>1</version> + <wantNonLocal>1</wantNonLocal> + <debug>0</debug> + <option> + <name>OOCOutputFormat</name> + <version>2</version> + <state>2</state> + </option> + <option> + <name>OCOutputOverride</name> + <state>1</state> + </option> + <option> + <name>OOCOutputFile</name> + <state>addons_bootloader_flash.bin</state> + </option> + <option> + <name>OOCCommandLineProducer</name> + <state>1</state> + </option> + <option> + <name>OOCObjCopyEnable</name> + <state>0</state> + </option> + </data> + </settings> + <settings> + <name>CUSTOM</name> + <archiveVersion>3</archiveVersion> + <data> + <extensions></extensions> + <cmdline></cmdline> + </data> + </settings> + <settings> + <name>BICOMP</name> + <archiveVersion>0</archiveVersion> + <data></data> + </settings> + <settings> + <name>BUILDACTION</name> + <archiveVersion>1</archiveVersion> + <data> + <prebuild></prebuild> + <postbuild></postbuild> + </data> + </settings> + <settings> + <name>ILINK</name> + <archiveVersion>0</archiveVersion> + <data> + <version>12</version> + <wantNonLocal>1</wantNonLocal> + <debug>0</debug> + <option> + <name>IlinkOutputFile</name> + <state>addons_bootloader_flash.out</state> + </option> + <option> + <name>IlinkLibIOConfig</name> + <state>1</state> + </option> + <option> + <name>XLinkMisraHandler</name> + <state>0</state> + </option> + <option> + <name>IlinkInputFileSlave</name> + <state>0</state> + </option> + <option> + <name>IlinkDebugInfoEnable</name> + <state>1</state> + </option> + <option> + <name>IlinkKeepSymbols</name> + <state></state> + </option> + <option> + <name>IlinkRawBinaryFile</name> + <state></state> + </option> + <option> + <name>IlinkRawBinarySymbol</name> + <state></state> + </option> + <option> + <name>IlinkRawBinarySegment</name> + <state></state> + </option> + <option> + <name>IlinkRawBinaryAlign</name> + <state></state> + </option> + <option> + <name>IlinkDefines</name> + <state></state> + </option> + <option> + <name>IlinkConfigDefines</name> + <state></state> + </option> + <option> + <name>IlinkMapFile</name> + <state>1</state> + </option> + <option> + <name>IlinkLogFile</name> + <state>0</state> + </option> + <option> + <name>IlinkLogInitialization</name> + <state>0</state> + </option> + <option> + <name>IlinkLogModule</name> + <state>0</state> + </option> + <option> + <name>IlinkLogSection</name> + <state>0</state> + </option> + <option> + <name>IlinkLogVeneer</name> + <state>0</state> + </option> + <option> + <name>IlinkIcfOverride</name> + <state>1</state> + </option> + <option> + <name>IlinkIcfFile</name> + <state>$PROJ_DIR$/../../linker_scripts/iar/sam4cmp16c_0_flash.icf</state> + </option> + <option> + <name>IlinkIcfFileSlave</name> + <state></state> + </option> + <option> + <name>IlinkEnableRemarks</name> + <state>0</state> + </option> + <option> + <name>IlinkSuppressDiags</name> + <state></state> + </option> + <option> + <name>IlinkTreatAsRem</name> + <state></state> + </option> + <option> + <name>IlinkTreatAsWarn</name> + <state></state> + </option> + <option> + <name>IlinkTreatAsErr</name> + <state></state> + </option> + <option> + <name>IlinkWarningsAreErrors</name> + <state>0</state> + </option> + <option> + <name>IlinkUseExtraOptions</name> + <state>1</state> + </option> + <option> + <name>IlinkExtraOptions</name> + </option> + <option> + <name>IlinkLowLevelInterfaceSlave</name> + <state>1</state> + </option> + <option> + <name>IlinkAutoLibEnable</name> + <state>1</state> + </option> + <option> + <name>IlinkAdditionalLibs</name> + <state></state> + </option> + <option> + <name>IlinkOverrideProgramEntryLabel</name> + <state>0</state> + </option> + <option> + <name>IlinkProgramEntryLabelSelect</name> + <state>0</state> + </option> + <option> + <name>IlinkProgramEntryLabel</name> + <state>__iar_program_start</state> + </option> + <option> + <name>DoFill</name> + <state>0</state> + </option> + <option> + <name>FillerByte</name> + <state>0xFF</state> + </option> + <option> + <name>FillerStart</name> + <state>0x0</state> + </option> + <option> + <name>FillerEnd</name> + <state>0x0</state> + </option> + <option> + <name>CrcSize</name> + <version>0</version> + <state>1</state> + </option> + <option> + <name>CrcAlign</name> + <state>1</state> + </option> + <option> + <name>CrcAlgo</name> + <state>1</state> + </option> + <option> + <name>CrcPoly</name> + <state>0x11021</state> + </option> + <option> + <name>CrcCompl</name> + <version>0</version> + <state>0</state> + </option> + <option> + <name>CrcBitOrder</name> + <version>0</version> + <state>0</state> + </option> + <option> + <name>CrcInitialValue</name> + <state>0x0</state> + </option> + <option> + <name>DoCrc</name> + <state>0</state> + </option> + <option> + <name>IlinkBE8Slave</name> + <state>1</state> + </option> + <option> + <name>IlinkBufferedTerminalOutput</name> + <state>1</state> + </option> + <option> + <name>IlinkStdoutInterfaceSlave</name> + <state>1</state> + </option> + <option> + <name>CrcFullSize</name> + <state>0</state> + </option> + <option> + <name>IlinkIElfToolPostProcess</name> + <state>0</state> + </option> + <option> + <name>IlinkLogAutoLibSelect</name> + <state>0</state> + </option> + <option> + <name>IlinkLogRedirSymbols</name> + <state>0</state> + </option> + <option> + <name>IlinkLogUnusedFragments</name> + <state>0</state> + </option> + <option> + <name>IlinkCrcReverseByteOrder</name> + <state>0</state> + </option> + <option> + <name>IlinkCrcUseAsInput</name> + <state>1</state> + </option> + <option> + <name>IlinkOptInline</name> + <state>1</state> + </option> + <option> + <name>IlinkOptExceptionsAllow</name> + <state>1</state> + </option> + <option> + <name>IlinkOptExceptionsForce</name> + <state>0</state> + </option> + <option> + <name>IlinkCmsis</name> + <state>1</state> + </option> + </data> + </settings> + <settings> + <name>IARCHIVE</name> + <archiveVersion>0</archiveVersion> + <data> + <version>0</version> + <wantNonLocal>1</wantNonLocal> + <debug>0</debug> + <option> + <name>IarchiveInputs</name> + <state></state> + </option> + <option> + <name>IarchiveOverride</name> + <state>0</state> + </option> + <option> + <name>IarchiveOutput</name> + <state>###Unitialized###</state> + </option> + </data> + </settings> + <settings> + <name>BILINK</name> + <archiveVersion>0</archiveVersion> + <data></data> + </settings> + </configuration> + <group> + <name>sam</name> + <group> + <name>utils</name> + <group> + <name>cmsis</name> + <group> + <name>sam4cm</name> + <group> + <name>source</name> + <group> + <name>templates</name> + <group> + <name>iar</name> + <file> + <name>$PROJ_DIR$/../../../../../../../../sam/utils/cmsis/sam4cm/source/templates/iar/startup_sam4cm.c</name> + </file> + </group> + <file> + <name>$PROJ_DIR$/../../../../../../../../sam/utils/cmsis/sam4cm/source/templates/system_sam4cm.c</name> + </file> + </group> + </group> + <group> + <name>include</name> + <file> + <name>$PROJ_DIR$/../../../../../../../../sam/utils/cmsis/sam4cm/include/sam4cms8c_0.h</name> + </file> + <file> + <name>$PROJ_DIR$/../../../../../../../../sam/utils/cmsis/sam4cm/include/sam4cmp8c_0.h</name> + </file> + <group> + <name>instance</name> + <file> + <name>$PROJ_DIR$/../../../../../../../../sam/utils/cmsis/sam4cm/include/instance/cmcc0.h</name> + </file> + <file> + <name>$PROJ_DIR$/../../../../../../../../sam/utils/cmsis/sam4cm/include/instance/efc.h</name> + </file> + <file> + <name>$PROJ_DIR$/../../../../../../../../sam/utils/cmsis/sam4cm/include/instance/smc1.h</name> + </file> + <file> + <name>$PROJ_DIR$/../../../../../../../../sam/utils/cmsis/sam4cm/include/instance/wdt.h</name> + </file> + <file> + <name>$PROJ_DIR$/../../../../../../../../sam/utils/cmsis/sam4cm/include/instance/ipc1.h</name> + </file> + <file> + <name>$PROJ_DIR$/../../../../../../../../sam/utils/cmsis/sam4cm/include/instance/uart1.h</name> + </file> + <file> + <name>$PROJ_DIR$/../../../../../../../../sam/utils/cmsis/sam4cm/include/instance/spi0.h</name> + </file> + <file> + <name>$PROJ_DIR$/../../../../../../../../sam/utils/cmsis/sam4cm/include/instance/twi1.h</name> + </file> + <file> + <name>$PROJ_DIR$/../../../../../../../../sam/utils/cmsis/sam4cm/include/instance/rtc.h</name> + </file> + <file> + <name>$PROJ_DIR$/../../../../../../../../sam/utils/cmsis/sam4cm/include/instance/matrix0.h</name> + </file> + <file> + <name>$PROJ_DIR$/../../../../../../../../sam/utils/cmsis/sam4cm/include/instance/chipid.h</name> + </file> + <file> + <name>$PROJ_DIR$/../../../../../../../../sam/utils/cmsis/sam4cm/include/instance/usart3.h</name> + </file> + <file> + <name>$PROJ_DIR$/../../../../../../../../sam/utils/cmsis/sam4cm/include/instance/usart0.h</name> + </file> + <file> + <name>$PROJ_DIR$/../../../../../../../../sam/utils/cmsis/sam4cm/include/instance/usart2.h</name> + </file> + <file> + <name>$PROJ_DIR$/../../../../../../../../sam/utils/cmsis/sam4cm/include/instance/rtt.h</name> + </file> + <file> + <name>$PROJ_DIR$/../../../../../../../../sam/utils/cmsis/sam4cm/include/instance/tc0.h</name> + </file> + <file> + <name>$PROJ_DIR$/../../../../../../../../sam/utils/cmsis/sam4cm/include/instance/tc1.h</name> + </file> + <file> + <name>$PROJ_DIR$/../../../../../../../../sam/utils/cmsis/sam4cm/include/instance/rswdt.h</name> + </file> + <file> + <name>$PROJ_DIR$/../../../../../../../../sam/utils/cmsis/sam4cm/include/instance/adc.h</name> + </file> + <file> + <name>$PROJ_DIR$/../../../../../../../../sam/utils/cmsis/sam4cm/include/instance/gpbr.h</name> + </file> + <file> + <name>$PROJ_DIR$/../../../../../../../../sam/utils/cmsis/sam4cm/include/instance/ipc0.h</name> + </file> + <file> + <name>$PROJ_DIR$/../../../../../../../../sam/utils/cmsis/sam4cm/include/instance/pioa.h</name> + </file> + <file> + <name>$PROJ_DIR$/../../../../../../../../sam/utils/cmsis/sam4cm/include/instance/pmc.h</name> + </file> + <file> + <name>$PROJ_DIR$/../../../../../../../../sam/utils/cmsis/sam4cm/include/instance/pioc.h</name> + </file> + <file> + <name>$PROJ_DIR$/../../../../../../../../sam/utils/cmsis/sam4cm/include/instance/matrix1.h</name> + </file> + <file> + <name>$PROJ_DIR$/../../../../../../../../sam/utils/cmsis/sam4cm/include/instance/uart0.h</name> + </file> + <file> + <name>$PROJ_DIR$/../../../../../../../../sam/utils/cmsis/sam4cm/include/instance/usart1.h</name> + </file> + <file> + <name>$PROJ_DIR$/../../../../../../../../sam/utils/cmsis/sam4cm/include/instance/rstc.h</name> + </file> + <file> + <name>$PROJ_DIR$/../../../../../../../../sam/utils/cmsis/sam4cm/include/instance/twi0.h</name> + </file> + <file> + <name>$PROJ_DIR$/../../../../../../../../sam/utils/cmsis/sam4cm/include/instance/supc.h</name> + </file> + <file> + <name>$PROJ_DIR$/../../../../../../../../sam/utils/cmsis/sam4cm/include/instance/smc0.h</name> + </file> + <file> + <name>$PROJ_DIR$/../../../../../../../../sam/utils/cmsis/sam4cm/include/instance/trng.h</name> + </file> + <file> + <name>$PROJ_DIR$/../../../../../../../../sam/utils/cmsis/sam4cm/include/instance/slcdc.h</name> + </file> + <file> + <name>$PROJ_DIR$/../../../../../../../../sam/utils/cmsis/sam4cm/include/instance/cmcc1.h</name> + </file> + <file> + <name>$PROJ_DIR$/../../../../../../../../sam/utils/cmsis/sam4cm/include/instance/piob.h</name> + </file> + <file> + <name>$PROJ_DIR$/../../../../../../../../sam/utils/cmsis/sam4cm/include/instance/pwm.h</name> + </file> + <file> + <name>$PROJ_DIR$/../../../../../../../../sam/utils/cmsis/sam4cm/include/instance/icm.h</name> + </file> + <file> + <name>$PROJ_DIR$/../../../../../../../../sam/utils/cmsis/sam4cm/include/instance/spi1.h</name> + </file> + <file> + <name>$PROJ_DIR$/../../../../../../../../sam/utils/cmsis/sam4cm/include/instance/aes.h</name> + </file> + </group> + <group> + <name>component</name> + <file> + <name>$PROJ_DIR$/../../../../../../../../sam/utils/cmsis/sam4cm/include/component/gpbr.h</name> + </file> + <file> + <name>$PROJ_DIR$/../../../../../../../../sam/utils/cmsis/sam4cm/include/component/tc.h</name> + </file> + <file> + <name>$PROJ_DIR$/../../../../../../../../sam/utils/cmsis/sam4cm/include/component/rtc.h</name> + </file> + <file> + <name>$PROJ_DIR$/../../../../../../../../sam/utils/cmsis/sam4cm/include/component/adc.h</name> + </file> + <file> + <name>$PROJ_DIR$/../../../../../../../../sam/utils/cmsis/sam4cm/include/component/chipid.h</name> + </file> + <file> + <name>$PROJ_DIR$/../../../../../../../../sam/utils/cmsis/sam4cm/include/component/matrix.h</name> + </file> + <file> + <name>$PROJ_DIR$/../../../../../../../../sam/utils/cmsis/sam4cm/include/component/rswdt.h</name> + </file> + <file> + <name>$PROJ_DIR$/../../../../../../../../sam/utils/cmsis/sam4cm/include/component/rstc.h</name> + </file> + <file> + <name>$PROJ_DIR$/../../../../../../../../sam/utils/cmsis/sam4cm/include/component/efc.h</name> + </file> + <file> + <name>$PROJ_DIR$/../../../../../../../../sam/utils/cmsis/sam4cm/include/component/slcdc.h</name> + </file> + <file> + <name>$PROJ_DIR$/../../../../../../../../sam/utils/cmsis/sam4cm/include/component/twi.h</name> + </file> + <file> + <name>$PROJ_DIR$/../../../../../../../../sam/utils/cmsis/sam4cm/include/component/pwm.h</name> + </file> + <file> + <name>$PROJ_DIR$/../../../../../../../../sam/utils/cmsis/sam4cm/include/component/trng.h</name> + </file> + <file> + <name>$PROJ_DIR$/../../../../../../../../sam/utils/cmsis/sam4cm/include/component/rtt.h</name> + </file> + <file> + <name>$PROJ_DIR$/../../../../../../../../sam/utils/cmsis/sam4cm/include/component/supc.h</name> + </file> + <file> + <name>$PROJ_DIR$/../../../../../../../../sam/utils/cmsis/sam4cm/include/component/pdc.h</name> + </file> + <file> + <name>$PROJ_DIR$/../../../../../../../../sam/utils/cmsis/sam4cm/include/component/spi.h</name> + </file> + <file> + <name>$PROJ_DIR$/../../../../../../../../sam/utils/cmsis/sam4cm/include/component/pio.h</name> + </file> + <file> + <name>$PROJ_DIR$/../../../../../../../../sam/utils/cmsis/sam4cm/include/component/smc.h</name> + </file> + <file> + <name>$PROJ_DIR$/../../../../../../../../sam/utils/cmsis/sam4cm/include/component/pmc.h</name> + </file> + <file> + <name>$PROJ_DIR$/../../../../../../../../sam/utils/cmsis/sam4cm/include/component/uart.h</name> + </file> + <file> + <name>$PROJ_DIR$/../../../../../../../../sam/utils/cmsis/sam4cm/include/component/aes.h</name> + </file> + <file> + <name>$PROJ_DIR$/../../../../../../../../sam/utils/cmsis/sam4cm/include/component/icm.h</name> + </file> + <file> + <name>$PROJ_DIR$/../../../../../../../../sam/utils/cmsis/sam4cm/include/component/usart.h</name> + </file> + <file> + <name>$PROJ_DIR$/../../../../../../../../sam/utils/cmsis/sam4cm/include/component/wdt.h</name> + </file> + <file> + <name>$PROJ_DIR$/../../../../../../../../sam/utils/cmsis/sam4cm/include/component/ipc.h</name> + </file> + <file> + <name>$PROJ_DIR$/../../../../../../../../sam/utils/cmsis/sam4cm/include/component/cmcc.h</name> + </file> + </group> + <file> + <name>$PROJ_DIR$/../../../../../../../../sam/utils/cmsis/sam4cm/include/sam4cms4c_1.h</name> + </file> + <file> + <name>$PROJ_DIR$/../../../../../../../../sam/utils/cmsis/sam4cm/include/sam4cms16c_1.h</name> + </file> + <group> + <name>pio</name> + <file> + <name>$PROJ_DIR$/../../../../../../../../sam/utils/cmsis/sam4cm/include/pio/sam4cms8c.h</name> + </file> + <file> + <name>$PROJ_DIR$/../../../../../../../../sam/utils/cmsis/sam4cm/include/pio/sam4cms4c.h</name> + </file> + <file> + <name>$PROJ_DIR$/../../../../../../../../sam/utils/cmsis/sam4cm/include/pio/sam4cmp16c.h</name> + </file> + <file> + <name>$PROJ_DIR$/../../../../../../../../sam/utils/cmsis/sam4cm/include/pio/sam4cmp8c.h</name> + </file> + <file> + <name>$PROJ_DIR$/../../../../../../../../sam/utils/cmsis/sam4cm/include/pio/sam4cms16c.h</name> + </file> + </group> + <file> + <name>$PROJ_DIR$/../../../../../../../../sam/utils/cmsis/sam4cm/include/sam4cmp16c_0.h</name> + </file> + <file> + <name>$PROJ_DIR$/../../../../../../../../sam/utils/cmsis/sam4cm/include/sam4cmp8c_1.h</name> + </file> + <file> + <name>$PROJ_DIR$/../../../../../../../../sam/utils/cmsis/sam4cm/include/sam4cms4c_0.h</name> + </file> + <file> + <name>$PROJ_DIR$/../../../../../../../../sam/utils/cmsis/sam4cm/include/sam4cm.h</name> + </file> + <file> + <name>$PROJ_DIR$/../../../../../../../../sam/utils/cmsis/sam4cm/include/system_sam4cm.h</name> + </file> + <file> + <name>$PROJ_DIR$/../../../../../../../../sam/utils/cmsis/sam4cm/include/sam4cms8c_1.h</name> + </file> + <file> + <name>$PROJ_DIR$/../../../../../../../../sam/utils/cmsis/sam4cm/include/sam4cms16c_0.h</name> + </file> + <file> + <name>$PROJ_DIR$/../../../../../../../../sam/utils/cmsis/sam4cm/include/sam4cmp16c_1.h</name> + </file> + </group> + </group> + </group> + <group> + <name>preprocessor</name> + <file> + <name>$PROJ_DIR$/../../../../../../../../sam/utils/preprocessor/preprocessor.h</name> + </file> + <file> + <name>$PROJ_DIR$/../../../../../../../../sam/utils/preprocessor/stringz.h</name> + </file> + <file> + <name>$PROJ_DIR$/../../../../../../../../sam/utils/preprocessor/tpaste.h</name> + </file> + <file> + <name>$PROJ_DIR$/../../../../../../../../sam/utils/preprocessor/mrepeat.h</name> + </file> + </group> + <file> + <name>$PROJ_DIR$/../../../../../../../../sam/utils/compiler.h</name> + </file> + <file> + <name>$PROJ_DIR$/../../../../../../../../sam/utils/status_codes.h</name> + </file> + <group> + <name>header_files</name> + <file> + <name>$PROJ_DIR$/../../../../../../../../sam/utils/header_files/io.h</name> + </file> + </group> + </group> + <group> + <name>drivers</name> + <group> + <name>efc</name> + <file> + <name>$PROJ_DIR$/../../../../../../../../sam/drivers/efc/efc.c</name> + </file> + <file> + <name>$PROJ_DIR$/../../../../../../../../sam/drivers/efc/efc.h</name> + </file> + </group> + <group> + <name>pmc</name> + <file> + <name>$PROJ_DIR$/../../../../../../../../sam/drivers/pmc/sleep.c</name> + </file> + <file> + <name>$PROJ_DIR$/../../../../../../../../sam/drivers/pmc/pmc.c</name> + </file> + <file> + <name>$PROJ_DIR$/../../../../../../../../sam/drivers/pmc/sleep.h</name> + </file> + <file> + <name>$PROJ_DIR$/../../../../../../../../sam/drivers/pmc/pmc.h</name> + </file> + </group> + </group> + <group> + <name>boards</name> + <group> + <name>sam4cmp_db</name> + <file> + <name>$PROJ_DIR$/../../../../../../../../sam/boards/sam4cmp_db/init.c</name> + </file> + <file> + <name>$PROJ_DIR$/../../../../../../../../sam/boards/sam4cmp_db/sam4cmp_db.h</name> + </file> + <file> + <name>$PROJ_DIR$/../../../../../../../../sam/boards/sam4cmp_db/led.h</name> + </file> + </group> + </group> + <group> + <name>services</name> + <group> + <name>flash_efc</name> + <file> + <name>$PROJ_DIR$/../../../../../../../../sam/services/flash_efc/flash_efc.c</name> + </file> + <file> + <name>$PROJ_DIR$/../../../../../../../../sam/services/flash_efc/flash_efc.h</name> + </file> + </group> + </group> + </group> + <group> + <name>common</name> + <group> + <name>services</name> + <group> + <name>clock</name> + <group> + <name>sam4cm</name> + <file> + <name>$PROJ_DIR$/../../../../../../../../common/services/clock/sam4cm/sysclk.c</name> + </file> + <file> + <name>$PROJ_DIR$/../../../../../../../../common/services/clock/sam4cm/genclk.h</name> + </file> + <file> + <name>$PROJ_DIR$/../../../../../../../../common/services/clock/sam4cm/sysclk.h</name> + </file> + <file> + <name>$PROJ_DIR$/../../../../../../../../common/services/clock/sam4cm/pll.h</name> + </file> + <file> + <name>$PROJ_DIR$/../../../../../../../../common/services/clock/sam4cm/osc.h</name> + </file> + </group> + <file> + <name>$PROJ_DIR$/../../../../../../../../common/services/clock/pll.h</name> + </file> + <file> + <name>$PROJ_DIR$/../../../../../../../../common/services/clock/osc.h</name> + </file> + <file> + <name>$PROJ_DIR$/../../../../../../../../common/services/clock/genclk.h</name> + </file> + <file> + <name>$PROJ_DIR$/../../../../../../../../common/services/clock/sysclk.h</name> + </file> + </group> + <group> + <name>ioport</name> + <file> + <name>$PROJ_DIR$/../../../../../../../../common/services/ioport/ioport.h</name> + </file> + <group> + <name>sam</name> + <file> + <name>$PROJ_DIR$/../../../../../../../../common/services/ioport/sam/ioport_pio.h</name> + </file> + </group> + </group> + </group> + <group> + <name>utils</name> + <group> + <name>interrupt</name> + <file> + <name>$PROJ_DIR$/../../../../../../../../common/utils/interrupt/interrupt_sam_nvic.c</name> + </file> + <file> + <name>$PROJ_DIR$/../../../../../../../../common/utils/interrupt/interrupt_sam_nvic.h</name> + </file> + </group> + <file> + <name>$PROJ_DIR$/../../../../../../../../common/utils/parts.h</name> + </file> + <file> + <name>$PROJ_DIR$/../../../../../../../../common/utils/interrupt.h</name> + </file> + </group> + <group> + <name>boards</name> + <file> + <name>$PROJ_DIR$/../../../../../../../../common/boards/board.h</name> + </file> + </group> + </group> + <group> + <name>thirdparty</name> + <group> + <name>prime</name> + <group> + <name>mac</name> + <group> + <name>mac_1_3</name> + <group> + <name>addons</name> + <group> + <name>bootloader</name> + <file> + <name>$PROJ_DIR$/../../bootloader.c</name> + </file> + <file> + <name>$PROJ_DIR$/../../boot_regions_sam4cmp16c_0.h</name> + </file> + <group> + <name>sam4cmp16c_sam4cmpdb</name> + <file> + <name>$PROJ_DIR$/../conf_clock.h</name> + </file> + <file> + <name>$PROJ_DIR$/../conf_board.h</name> + </file> + <group> + <name>iar</name> + <file> + <name>$PROJ_DIR$/asf.h</name> + </file> + </group> + <file> + <name>$PROJ_DIR$/../conf_sleepmgr.h</name> + </file> + <file> + <name>$PROJ_DIR$/../conf_version.h</name> + </file> + </group> + </group> + </group> + </group> + </group> + </group> + </group> +</project> diff --git a/thirdparty/prime/mac/mac_1_3/addons/bootloader/sam4cmp16c_sam4cmpdb/iar/asf.h b/thirdparty/prime/mac/mac_1_3/addons/bootloader/sam4cmp16c_sam4cmpdb/iar/asf.h new file mode 100644 index 00000000..46a842a8 --- /dev/null +++ b/thirdparty/prime/mac/mac_1_3/addons/bootloader/sam4cmp16c_sam4cmpdb/iar/asf.h @@ -0,0 +1,87 @@ +/** + * \file + * + * \brief Autogenerated API include file for the Atmel Software Framework (ASF) + * + * Copyright (c) 2012 Atmel Corporation. All rights reserved. + * + * \asf_license_start + * + * \page License + * + * 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 microcontroller 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. + * + * \asf_license_stop + * + */ + +#ifndef ASF_H +#define ASF_H + +/* + * This file includes all API header files for the selected drivers from ASF. + * Note: There might be duplicate includes required by more than one driver. + * + * The file is automatically generated and will be re-written when + * running the ASF driver selector tool. Any changes will be discarded. + */ +
+// From module: Common SAM compiler driver
+#include <compiler.h>
+#include <status_codes.h>
+
+// From module: EEFC - Enhanced Embedded Flash Controller
+#include <efc.h>
+
+// From module: Flash - SAM Flash Service API
+#include <flash_efc.h>
+
+// From module: Generic board support
+#include <board.h>
+
+// From module: IOPORT - General purpose I/O service
+#include <ioport.h>
+
+// From module: Interrupt management - SAM implementation
+#include <interrupt.h>
+
+// From module: PMC - Power Management Controller
+#include <pmc.h>
+#include <sleep.h>
+
+// From module: Part identification macros
+#include <parts.h>
+
+// From module: SAM4CMP Demo Board LED support enabled
+#include <led.h>
+
+// From module: System Clock Control - SAM4CM implementation
+#include <sysclk.h>
+ +#endif // ASF_H diff --git a/thirdparty/prime/mac/mac_1_3/addons/bootloader/sam4cms16c_sam4cmsdb/conf_board.h b/thirdparty/prime/mac/mac_1_3/addons/bootloader/sam4cms16c_sam4cmsdb/conf_board.h new file mode 100644 index 00000000..7dbb592f --- /dev/null +++ b/thirdparty/prime/mac/mac_1_3/addons/bootloader/sam4cms16c_sam4cmsdb/conf_board.h @@ -0,0 +1,72 @@ +/** + * \file + * + * \brief SAM4CMS-DB board configuration. + * + * Copyright (c) 2014-2015 Atmel Corporation. All rights reserved. + * + * \asf_license_start + * + * \page License + * + * 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 microcontroller 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. + * + * \asf_license_stop + * + */ + +#ifndef CONF_BOARD_H_INCLUDED +#define CONF_BOARD_H_INCLUDED + +/* Keep watchdog at board initialization (not disable it) */ +//#define CONF_BOARD_KEEP_WATCHDOG_AT_INIT + +/* Configure UART0 pins */ +#define CONF_BOARD_UART_CONSOLE +#define CONF_BOARD_UART0 + +/* Configure SPI pins */ +#define CONF_BOARD_SPI0 + +/* Configure SPI0 NPCS1 */ +//#define CONF_BOARD_SPI0_NPCS1 + +/* Configure SPI0 NPCS3 */ +#define CONF_BOARD_SPI0_NPCS3 + +/* Configure TWI pins*/ +//#define CONF_BOARD_TWI0 + +/* Configure AT30TSE pins */ +//#define CONF_BOARD_AT30TSE + +/* Configure PPLC pins */ +#define CONF_BOARD_PPLC + +#endif /* CONF_BOARD_H_INCLUDED */ diff --git a/thirdparty/prime/mac/mac_1_3/addons/bootloader/sam4cms16c_sam4cmsdb/conf_clock.h b/thirdparty/prime/mac/mac_1_3/addons/bootloader/sam4cms16c_sam4cmsdb/conf_clock.h new file mode 100644 index 00000000..d2011fa1 --- /dev/null +++ b/thirdparty/prime/mac/mac_1_3/addons/bootloader/sam4cms16c_sam4cmsdb/conf_clock.h @@ -0,0 +1,108 @@ +/** + * \file + * + * \brief SAM4CM clock configuration. + * + * Copyright (c) 2014-2015 Atmel Corporation. All rights reserved. + * + * \asf_license_start + * + * \page License + * + * 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 microcontroller 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. + * + * \asf_license_stop + * + */ + +#ifndef CONF_CLOCK_H_INCLUDED +#define CONF_CLOCK_H_INCLUDED + +// ===== System Clock (MCK) Source Options +//#define CONFIG_SYSCLK_SOURCE SYSCLK_SRC_SLCK_RC +//#define CONFIG_SYSCLK_SOURCE SYSCLK_SRC_SLCK_XTAL +//#define CONFIG_SYSCLK_SOURCE SYSCLK_SRC_SLCK_BYPASS +//#define CONFIG_SYSCLK_SOURCE SYSCLK_SRC_MAINCK_4M_RC +//#define CONFIG_SYSCLK_SOURCE SYSCLK_SRC_MAINCK_8M_RC +//#define CONFIG_SYSCLK_SOURCE SYSCLK_SRC_MAINCK_12M_RC +//#define CONFIG_SYSCLK_SOURCE SYSCLK_SRC_MAINCK_XTAL +//#define CONFIG_SYSCLK_SOURCE SYSCLK_SRC_MAINCK_BYPASS +//#define CONFIG_SYSCLK_SOURCE SYSCLK_SRC_PLLACK +#define CONFIG_SYSCLK_SOURCE SYSCLK_SRC_PLLBCK + +// ===== System Clock (MCK) Prescaler Options (Fmck = Fsys / (SYSCLK_PRES)) +#define CONFIG_SYSCLK_PRES SYSCLK_PRES_1 +//#define CONFIG_SYSCLK_PRES SYSCLK_PRES_2 +//#define CONFIG_SYSCLK_PRES SYSCLK_PRES_4 +//#define CONFIG_SYSCLK_PRES SYSCLK_PRES_8 +//#define CONFIG_SYSCLK_PRES SYSCLK_PRES_16 +//#define CONFIG_SYSCLK_PRES SYSCLK_PRES_32 +//#define CONFIG_SYSCLK_PRES SYSCLK_PRES_64 +//#define CONFIG_SYSCLK_PRES SYSCLK_PRES_3 + +// ===== PLL0 (A) Options (8.192M = (32.768K * 250) / 1) +//#define CONFIG_PLL0_SOURCE PLLA_SRC_SLCK_32K_XTAL + +// ===== PLL1 (B) Options (Fpll = (Fclk * PLL_mul) / PLL_div) +// Use mul and div effective values here. +#define CONFIG_PLL1_SOURCE PLLB_SRC_MAINCK_XTAL +#define CONFIG_PLL1_MUL (240000000UL / BOARD_FREQ_MAINCK_XTAL) +#define CONFIG_PLL1_DIV 2 + +// ===== Coprocessor System Clock (CPMCK) Options +// Fcpmck = Fcpclk_source / CPCLK_PRES + +// Note: +// CONFIG_CPCLK_ENABLE MUST be defined if using peripherals on bus matrix 1. +#define CONFIG_CPCLK_ENABLE + +// Coprocessor System Clock Source Options +//#define CONFIG_CPCLK_SOURCE CPCLK_SRC_SLCK +//#define CONFIG_CPCLK_SOURCE CPCLK_SRC_MAINCK +//#define CONFIG_CPCLK_SOURCE CPCLK_SRC_PLLACK +//#define CONFIG_CPCLK_SOURCE CPCLK_SRC_PLLBCK +#define CONFIG_CPCLK_SOURCE CPCLK_SRC_MCK + +// Coprocessor System Clock Prescaler Options (CPCLK_PRES may be 1 to 16). +#define CONFIG_CPCLK_PRES 1 + +// ===== Main processor frequency (MCK) +// - XTAL frequency: 8MHz +// - System clock source: PLLB +// - System clock prescaler: 1 (divided by 1) +// - PLLB source: XTAL +// - PLLB output: XTAL * 30 / 2 +// - System clock: 8 * 30 / 2 / 1 = 120MHz +// +// ===== Coprocessor frequency (CPMCK) +// - Coprocessor system clock source: MCK +// - Coprocessor system clock prescaler: 1 (divided by 1) +// - Coprocessor system clock: 120MHz / 1 = 120MHz + +#endif /* CONF_CLOCK_H_INCLUDED */ diff --git a/thirdparty/prime/mac/mac_1_3/addons/bootloader/sam4cms16c_sam4cmsdb/conf_sleepmgr.h b/thirdparty/prime/mac/mac_1_3/addons/bootloader/sam4cms16c_sam4cmsdb/conf_sleepmgr.h new file mode 100644 index 00000000..cb9866ca --- /dev/null +++ b/thirdparty/prime/mac/mac_1_3/addons/bootloader/sam4cms16c_sam4cmsdb/conf_sleepmgr.h @@ -0,0 +1,49 @@ +/** + * \file + * + * \brief Chip-specific sleep manager configuration + * + * Copyright (c) 2014-2015 Atmel Corporation. All rights reserved. + * + * \asf_license_start + * + * \page License + * + * 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 microcontroller 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. + * + * \asf_license_stop + * + */ +#ifndef CONF_SLEEPMGR_H +#define CONF_SLEEPMGR_H + +/* Sleep manager options */ +#define CONFIG_SLEEPMGR_ENABLE + +#endif /* CONF_SLEEPMGR_H */ diff --git a/thirdparty/prime/mac/mac_1_3/addons/bootloader/sam4cms16c_sam4cmsdb/conf_version.h b/thirdparty/prime/mac/mac_1_3/addons/bootloader/sam4cms16c_sam4cmsdb/conf_version.h new file mode 100644 index 00000000..2858ed91 --- /dev/null +++ b/thirdparty/prime/mac/mac_1_3/addons/bootloader/sam4cms16c_sam4cmsdb/conf_version.h @@ -0,0 +1,45 @@ +/** + * \file + * + * \brief Version file of SAM4CMS Bootloader application for ATMEL PRIME + * Service Node + * + * Copyright (c) 2014-2015 Atmel Corporation. All rights reserved. + * + * \asf_license_start + * + * \page License + * + * 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 microcontroller 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. + * + * \asf_license_stop + * + */ + +#define PRBO_VERSION "ATMBOOTSAM4CMS16CI0100" diff --git a/thirdparty/prime/mac/mac_1_3/addons/bootloader/sam4cms16c_sam4cmsdb/iar/addons_bootloader.eww b/thirdparty/prime/mac/mac_1_3/addons/bootloader/sam4cms16c_sam4cmsdb/iar/addons_bootloader.eww new file mode 100644 index 00000000..b549eb12 --- /dev/null +++ b/thirdparty/prime/mac/mac_1_3/addons/bootloader/sam4cms16c_sam4cmsdb/iar/addons_bootloader.eww @@ -0,0 +1,6 @@ +<workspace> + <batchBuild></batchBuild> + <project> + <path>$WS_DIR$\addons_bootloader_flash.ewp</path> + </project> +</workspace> diff --git a/thirdparty/prime/mac/mac_1_3/addons/bootloader/sam4cms16c_sam4cmsdb/iar/addons_bootloader_flash.ewd b/thirdparty/prime/mac/mac_1_3/addons/bootloader/sam4cms16c_sam4cmsdb/iar/addons_bootloader_flash.ewd new file mode 100644 index 00000000..ce85d59f --- /dev/null +++ b/thirdparty/prime/mac/mac_1_3/addons/bootloader/sam4cms16c_sam4cmsdb/iar/addons_bootloader_flash.ewd @@ -0,0 +1,1655 @@ +<project> + <fileVersion>2</fileVersion> + <configuration> + <name>Debug</name> + <toolchain> + <name>ARM</name> + </toolchain> + <debug>1</debug> + <settings> + <name>C-SPY</name> + <archiveVersion>2</archiveVersion> + <data> + <version>22</version> + <wantNonLocal>1</wantNonLocal> + <debug>1</debug> + <option> + <name>CInput</name> + <state>1</state> + </option> + <option> + <name>CEndian</name> + <state>1</state> + </option> + <option> + <name>CProcessor</name> + <state>1</state> + </option> + <option> + <name>OCVariant</name> + <state>0</state> + </option> + <option> + <name>MacOverride</name> + <state>1</state> + </option> + <option> + <name>MacFile</name> + <state>$PROJ_DIR$\../../../../../../../../sam/boards/sam4cms_db/debug_scripts/iar/sam4cms_db_flash_0.mac</state> + </option> + <option> + <name>MemOverride</name> + <state>0</state> + </option> + <option> + <name>MemFile</name> + <state>$TOOLKIT_DIR$\CONFIG\debugger\Atmel\ATSAM4CMS16C_0.ddf</state> + </option> + <option> + <name>RunToEnable</name> + <state>1</state> + </option> + <option> + <name>RunToName</name> + <state>main</state> + </option> + <option> + <name>CExtraOptionsCheck</name> + <state>0</state> + </option> + <option> + <name>CExtraOptions</name> + <state></state> + </option> + <option> + <name>CFpuProcessor</name> + <state>1</state> + </option> + <option> + <name>OCDDFArgumentProducer</name> + <state></state> + </option> + <option> + <name>OCDownloadSuppressDownload</name> + <state>0</state> + </option> + <option> + <name>OCDownloadVerifyAll</name> + <state>1</state> + </option> + <option> + <name>OCProductVersion</name> + <state>6.10.5.52324</state> + </option> + <option> + <name>OCDynDriverList</name> + <state>JLINK_ID</state> + </option> + <option> + <name>OCLastSavedByProductVersion</name> + <state>6.10.5.52324</state> + </option> + <option> + <name>OCDownloadAttachToProgram</name> + <state>0</state> + </option> + <option> + <name>UseFlashLoader</name> + <state>1</state> + </option> + <option> + <name>CLowLevel</name> + <state>1</state> + </option> + <option> + <name>OCBE8Slave</name> + <state>1</state> + </option> + <option> + <name>MacFile2</name> + <state></state> + </option> + <option> + <name>CDevice</name> + <state>1</state> + </option> + <option> + <name>FlashLoadersV3</name> + <state>$TOOLKIT_DIR$\config\flashloader\Atmel\sam4cms16c\sam4cms16c-flash.board</state> + </option> + <option> + <name>OCImagesSuppressCheck1</name> + <state>0</state> + </option> + <option> + <name>OCImagesPath1</name> + <state></state> + </option> + <option> + <name>OCImagesSuppressCheck2</name> + <state>0</state> + </option> + <option> + <name>OCImagesPath2</name> + <state></state> + </option> + <option> + <name>OCImagesSuppressCheck3</name> + <state>0</state> + </option> + <option> + <name>OCImagesPath3</name> + <state></state> + </option> + <option> + <name>OverrideDefFlashBoard</name> + <state>0</state> + </option> + <option> + <name>OCImagesOffset1</name> + <state></state> + </option> + <option> + <name>OCImagesOffset2</name> + <state></state> + </option> + <option> + <name>OCImagesOffset3</name> + <state></state> + </option> + <option> + <name>OCImagesUse1</name> + <state>0</state> + </option> + <option> + <name>OCImagesUse2</name> + <state>0</state> + </option> + <option> + <name>OCImagesUse3</name> + <state>0</state> + </option> + </data> + </settings> + <settings> + <name>ARMSIM_ID</name> + <archiveVersion>2</archiveVersion> + <data> + <version>1</version> + <wantNonLocal>1</wantNonLocal> + <debug>1</debug> + <option> + <name>OCSimDriverInfo</name> + <state>1</state> + </option> + <option> + <name>OCSimEnablePSP</name> + <state>0</state> + </option> + <option> + <name>OCSimPspOverrideConfig</name> + <state>0</state> + </option> + <option> + <name>OCSimPspConfigFile</name> + <state></state> + </option> + </data> + </settings> + <settings> + <name>ANGEL_ID</name> + <archiveVersion>2</archiveVersion> + <data> + <version>0</version> + <wantNonLocal>1</wantNonLocal> + <debug>1</debug> + <option> + <name>CCAngelHeartbeat</name> + <state>1</state> + </option> + <option> + <name>CAngelCommunication</name> + <state>1</state> + </option> + <option> + <name>CAngelCommBaud</name> + <version>0</version> + <state>3</state> + </option> + <option> + <name>CAngelCommPort</name> + <version>0</version> + <state>0</state> + </option> + <option> + <name>ANGELTCPIP</name> + <state>aaa.bbb.ccc.ddd</state> + </option> + <option> + <name>DoAngelLogfile</name> + <state>0</state> + </option> + <option> + <name>AngelLogFile</name> + <state>$PROJ_DIR$\cspycomm.log</state> + </option> + <option> + <name>OCDriverInfo</name> + <state>1</state> + </option> + </data> + </settings> + <settings> + <name>GDBSERVER_ID</name> + <archiveVersion>2</archiveVersion> + <data> + <version>0</version> + <wantNonLocal>1</wantNonLocal> + <debug>1</debug> + <option> + <name>OCDriverInfo</name> + <state>1</state> + </option> + <option> + <name>TCPIP</name> + <state>aaa.bbb.ccc.ddd</state> + </option> + <option> + <name>DoLogfile</name> + <state>0</state> + </option> + <option> + <name>LogFile</name> + <state>$PROJ_DIR$\cspycomm.log</state> + </option> + <option> + <name>CCJTagBreakpointRadio</name> + <state>0</state> + </option> + <option> + <name>CCJTagDoUpdateBreakpoints</name> + <state>0</state> + </option> + <option> + <name>CCJTagUpdateBreakpoints</name> + <state>_call_main</state> + </option> + </data> + </settings> + <settings> + <name>IARROM_ID</name> + <archiveVersion>2</archiveVersion> + <data> + <version>1</version> + <wantNonLocal>1</wantNonLocal> + <debug>1</debug> + <option> + <name>CRomLogFileCheck</name> + <state>0</state> + </option> + <option> + <name>CRomLogFileEditB</name> + <state>$PROJ_DIR$\cspycomm.log</state> + </option> + <option> + <name>CRomCommPort</name> + <version>0</version> + <state>0</state> + </option> + <option> + <name>CRomCommBaud</name> + <version>0</version> + <state>7</state> + </option> + <option> + <name>OCDriverInfo</name> + <state>1</state> + </option> + </data> + </settings> + <settings> + <name>JLINK_ID</name> + <archiveVersion>2</archiveVersion> + <data> + <version>12</version> + <wantNonLocal>1</wantNonLocal> + <debug>1</debug> + <option> + <name>JLinkSpeed</name> + <state>32</state> + </option> + <option> + <name>CCJLinkDoLogfile</name> + <state>0</state> + </option> + <option> + <name>CCJLinkLogFile</name> + <state>$PROJ_DIR$\cspycomm.log</state> + </option> + <option> + <name>CCJLinkHWResetDelay</name> + <state>0</state> + </option> + <option> + <name>OCDriverInfo</name> + <state>1</state> + </option> + <option> + <name>JLinkInitialSpeed</name> + <state>32</state> + </option> + <option> + <name>CCDoJlinkMultiTarget</name> + <state>0</state> + </option> + <option> + <name>CCScanChainNonARMDevices</name> + <state>0</state> + </option> + <option> + <name>CCJLinkMultiTarget</name> + <state>0</state> + </option> + <option> + <name>CCJLinkIRLength</name> + <state>0</state> + </option> + <option> + <name>CCJLinkCommRadio</name> + <state>0</state> + </option> + <option> + <name>CCJLinkTCPIP</name> + <state>aaa.bbb.ccc.ddd</state> + </option> + <option> + <name>CCJLinkSpeedRadioV2</name> + <state>0</state> + </option> + <option> + <name>CCUSBDevice</name> + <version>1</version> + <state>1</state> + </option> + <option> + <name>CCRDICatchReset</name> + <state>0</state> + </option> + <option> + <name>CCRDICatchUndef</name> + <state>0</state> + </option> + <option> + <name>CCRDICatchSWI</name> + <state>0</state> + </option> + <option> + <name>CCRDICatchData</name> + <state>0</state> + </option> + <option> + <name>CCRDICatchPrefetch</name> + <state>0</state> + </option> + <option> + <name>CCRDICatchIRQ</name> + <state>0</state> + </option> + <option> + <name>CCRDICatchFIQ</name> + <state>0</state> + </option> + <option> + <name>CCJLinkBreakpointRadio</name> + <state>0</state> + </option> + <option> + <name>CCJLinkDoUpdateBreakpoints</name> + <state>0</state> + </option> + <option> + <name>CCJLinkUpdateBreakpoints</name> + <state>_call_main</state> + </option> + <option> + <name>CCJLinkInterfaceRadio</name> + <state>0</state> + </option> + <option> + <name>OCJLinkAttachSlave</name> + <state>1</state> + </option> + <option> + <name>CCJLinkResetList</name> + <version>5</version> + <state>7</state> + </option> + <option> + <name>CCJLinkInterfaceCmdLine</name> + <state>0</state> + </option> + <option> + <name>CCCatchCORERESET</name> + <state>0</state> + </option> + <option> + <name>CCCatchMMERR</name> + <state>0</state> + </option> + <option> + <name>CCCatchNOCPERR</name> + <state>0</state> + </option> + <option> + <name>CCCatchCHRERR</name> + <state>0</state> + </option> + <option> + <name>CCCatchSTATERR</name> + <state>0</state> + </option> + <option> + <name>CCCatchBUSERR</name> + <state>0</state> + </option> + <option> + <name>CCCatchINTERR</name> + <state>0</state> + </option> + <option> + <name>CCCatchHARDERR</name> + <state>0</state> + </option> + <option> + <name>CCCatchDummy</name> + <state>0</state> + </option> + <option> + <name>OCJLinkScriptFile</name> + <state>1</state> + </option> + </data> + </settings> + <settings> + <name>LMIFTDI_ID</name> + <archiveVersion>2</archiveVersion> + <data> + <version>2</version> + <wantNonLocal>1</wantNonLocal> + <debug>1</debug> + <option> + <name>OCDriverInfo</name> + <state>1</state> + </option> + <option> + <name>LmiftdiSpeed</name> + <state>500</state> + </option> + <option> + <name>CCLmiftdiDoLogfile</name> + <state>0</state> + </option> + <option> + <name>CCLmiftdiLogFile</name> + <state>$PROJ_DIR$\cspycomm.log</state> + </option> + <option> + <name>CCLmiFtdiInterfaceRadio</name> + <state>0</state> + </option> + <option> + <name>CCLmiFtdiInterfaceCmdLine</name> + <state>0</state> + </option> + </data> + </settings> + <settings> + <name>MACRAIGOR_ID</name> + <archiveVersion>2</archiveVersion> + <data> + <version>3</version> + <wantNonLocal>1</wantNonLocal> + <debug>1</debug> + <option> + <name>jtag</name> + <version>0</version> + <state>0</state> + </option> + <option> + <name>EmuSpeed</name> + <state>1</state> + </option> + <option> + <name>TCPIP</name> + <state>aaa.bbb.ccc.ddd</state> + </option> + <option> + <name>DoLogfile</name> + <state>0</state> + </option> + <option> + <name>LogFile</name> + <state>$PROJ_DIR$\cspycomm.log</state> + </option> + <option> + <name>DoEmuMultiTarget</name> + <state>0</state> + </option> + <option> + <name>EmuMultiTarget</name> + <state>0@ARM7TDMI</state> + </option> + <option> + <name>EmuHWReset</name> + <state>0</state> + </option> + <option> + <name>CEmuCommBaud</name> + <version>0</version> + <state>4</state> + </option> + <option> + <name>CEmuCommPort</name> + <version>0</version> + <state>0</state> + </option> + <option> + <name>jtago</name> + <version>0</version> + <state>0</state> + </option> + <option> + <name>OCDriverInfo</name> + <state>1</state> + </option> + <option> + <name>UnusedAddr</name> + <state>0x00800000</state> + </option> + <option> + <name>CCMacraigorHWResetDelay</name> + <state></state> + </option> + <option> + <name>CCJTagBreakpointRadio</name> + <state>0</state> + </option> + <option> + <name>CCJTagDoUpdateBreakpoints</name> + <state>0</state> + </option> + <option> + <name>CCJTagUpdateBreakpoints</name> + <state>_call_main</state> + </option> + <option> + <name>CCMacraigorInterfaceRadio</name> + <state>0</state> + </option> + <option> + <name>CCMacraigorInterfaceCmdLine</name> + <state>0</state> + </option> + </data> + </settings> + <settings> + <name>PEMICRO_ID</name> + <archiveVersion>2</archiveVersion> + <data> + <version>0</version> + <wantNonLocal>1</wantNonLocal> + <debug>1</debug> + <option> + <name>OCDriverInfo</name> + <state>1</state> + </option> + <option> + <name>OCPEMicroAttachSlave</name> + <state>1</state> + </option> + <option> + <name>CCPEMicroInterfaceList</name> + <version>0</version> + <state>0</state> + </option> + <option> + <name>CCPEMicroResetDelay</name> + <state></state> + </option> + <option> + <name>CCPEMicroJtagSpeed</name> + <state>#UNINITIALIZED#</state> + </option> + <option> + <name>CCJPEMicroShowSettings</name> + <state>0</state> + </option> + <option> + <name>DoLogfile</name> + <state>0</state> + </option> + <option> + <name>LogFile</name> + <state>$PROJ_DIR$\cspycomm.log</state> + </option> + <option> + <name>CCPEMicroUSBDevice</name> + <version>0</version> + <state>0</state> + </option> + <option> + <name>CCPEMicroSerialPort</name> + <version>0</version> + <state>0</state> + </option> + <option> + <name>CCJPEMicroTCPIPAutoScanNetwork</name> + <state>1</state> + </option> + <option> + <name>CCPEMicroTCPIP</name> + <state>10.0.0.1</state> + </option> + <option> + <name>CCPEMicroCommCmdLineProducer</name> + <state>0</state> + </option> + </data> + </settings> + <settings> + <name>RDI_ID</name> + <archiveVersion>2</archiveVersion> + <data> + <version>1</version> + <wantNonLocal>1</wantNonLocal> + <debug>1</debug> + <option> + <name>CRDIDriverDll</name> + <state>###Uninitialized###</state> + </option> + <option> + <name>CRDILogFileCheck</name> + <state>0</state> + </option> + <option> + <name>CRDILogFileEdit</name> + <state>$PROJ_DIR$\cspycomm.log</state> + </option> + <option> + <name>CCRDIHWReset</name> + <state>0</state> + </option> + <option> + <name>CCRDICatchReset</name> + <state>0</state> + </option> + <option> + <name>CCRDICatchUndef</name> + <state>0</state> + </option> + <option> + <name>CCRDICatchSWI</name> + <state>0</state> + </option> + <option> + <name>CCRDICatchData</name> + <state>0</state> + </option> + <option> + <name>CCRDICatchPrefetch</name> + <state>0</state> + </option> + <option> + <name>CCRDICatchIRQ</name> + <state>0</state> + </option> + <option> + <name>CCRDICatchFIQ</name> + <state>0</state> + </option> + <option> + <name>CCRDIUseETM</name> + <state>0</state> + </option> + <option> + <name>OCDriverInfo</name> + <state>1</state> + </option> + </data> + </settings> + <settings> + <name>STLINK_ID</name> + <archiveVersion>2</archiveVersion> + <data> + <version>1</version> + <wantNonLocal>1</wantNonLocal> + <debug>1</debug> + <option> + <name>OCDriverInfo</name> + <state>1</state> + </option> + <option> + <name>CCSTLinkInterfaceRadio</name> + <state>0</state> + </option> + <option> + <name>CCSTLinkInterfaceCmdLine</name> + <state>0</state> + </option> + </data> + </settings> + <settings> + <name>THIRDPARTY_ID</name> + <archiveVersion>2</archiveVersion> + <data> + <version>0</version> + <wantNonLocal>1</wantNonLocal> + <debug>1</debug> + <option> + <name>CThirdPartyDriverDll</name> + <state>Browse to your third-party driver</state> + </option> + <option> + <name>CThirdPartyLogFileCheck</name> + <state>0</state> + </option> + <option> + <name>CThirdPartyLogFileEditB</name> + <state>$PROJ_DIR$\cspycomm.log</state> + </option> + <option> + <name>OCDriverInfo</name> + <state>1</state> + </option> + </data> + </settings> + <debuggerPlugins> + <plugin> + <file>$TOOLKIT_DIR$\plugins\rtos\CMX\CmxArmPlugin.ENU.ewplugin</file> + <loadFlag>0</loadFlag> + </plugin> + <plugin> + <file>$TOOLKIT_DIR$\plugins\rtos\CMX\CmxTinyArmPlugin.ENU.ewplugin</file> + <loadFlag>0</loadFlag> + </plugin> + <plugin> + <file>$TOOLKIT_DIR$\plugins\rtos\embOS\embOSPlugin.ewplugin</file> + <loadFlag>0</loadFlag> + </plugin> + <plugin> + <file>$TOOLKIT_DIR$\plugins\rtos\MQX\MQXRtosPlugin.ewplugin</file> + <loadFlag>0</loadFlag> + </plugin> + <plugin> + <file>$TOOLKIT_DIR$\plugins\rtos\OpenRTOS\OpenRTOSPlugin.ewplugin</file> + <loadFlag>0</loadFlag> + </plugin> + <plugin> + <file>$TOOLKIT_DIR$\plugins\rtos\PowerPac\PowerPacRTOS.ewplugin</file> + <loadFlag>0</loadFlag> + </plugin> + <plugin> + <file>$TOOLKIT_DIR$\plugins\rtos\Quadros\Quadros_EWB6_Plugin.ewplugin</file> + <loadFlag>0</loadFlag> + </plugin> + <plugin> + <file>$TOOLKIT_DIR$\plugins\rtos\SafeRTOS\SafeRTOSPlugin.ewplugin</file> + <loadFlag>0</loadFlag> + </plugin> + <plugin> + <file>$TOOLKIT_DIR$\plugins\rtos\ThreadX\ThreadXArmPlugin.ENU.ewplugin</file> + <loadFlag>0</loadFlag> + </plugin> + <plugin> + <file>$TOOLKIT_DIR$\plugins\rtos\uCOS-II\uCOS-II-286-KA-CSpy.ewplugin</file> + <loadFlag>0</loadFlag> + </plugin> + <plugin> + <file>$TOOLKIT_DIR$\plugins\rtos\uCOS-II\uCOS-II-KA-CSpy.ewplugin</file> + <loadFlag>0</loadFlag> + </plugin> + <plugin> + <file>$EW_DIR$\common\plugins\CodeCoverage\CodeCoverage.ENU.ewplugin</file> + <loadFlag>1</loadFlag> + </plugin> + <plugin> + <file>$EW_DIR$\common\plugins\Orti\Orti.ENU.ewplugin</file> + <loadFlag>0</loadFlag> + </plugin> + <plugin> + <file>$EW_DIR$\common\plugins\Stack\Stack.ENU.ewplugin</file> + <loadFlag>1</loadFlag> + </plugin> + <plugin> + <file>$EW_DIR$\common\plugins\SymList\SymList.ENU.ewplugin</file> + <loadFlag>1</loadFlag> + </plugin> + </debuggerPlugins> + </configuration> + <configuration> + <name>Release</name> + <toolchain> + <name>ARM</name> + </toolchain> + <debug>0</debug> + <settings> + <name>C-SPY</name> + <archiveVersion>2</archiveVersion> + <data> + <version>22</version> + <wantNonLocal>1</wantNonLocal> + <debug>0</debug> + <option> + <name>CInput</name> + <state>1</state> + </option> + <option> + <name>CEndian</name> + <state>1</state> + </option> + <option> + <name>CProcessor</name> + <state>1</state> + </option> + <option> + <name>OCVariant</name> + <state>0</state> + </option> + <option> + <name>MacOverride</name> + <state>1</state> + </option> + <option> + <name>MacFile</name> + <state>$PROJ_DIR$\../../../../../../../../sam/boards/sam4cms_db/debug_scripts/iar/sam4cms_db_flash_0.mac</state> + </option> + <option> + <name>MemOverride</name> + <state>0</state> + </option> + <option> + <name>MemFile</name> + <state>$TOOLKIT_DIR$\CONFIG\debugger\Atmel\ATSAM4CMS16C_0.ddf</state> + </option> + <option> + <name>RunToEnable</name> + <state>1</state> + </option> + <option> + <name>RunToName</name> + <state>main</state> + </option> + <option> + <name>CExtraOptionsCheck</name> + <state>0</state> + </option> + <option> + <name>CExtraOptions</name> + <state></state> + </option> + <option> + <name>CFpuProcessor</name> + <state>1</state> + </option> + <option> + <name>OCDDFArgumentProducer</name> + <state></state> + </option> + <option> + <name>OCDownloadSuppressDownload</name> + <state>0</state> + </option> + <option> + <name>OCDownloadVerifyAll</name> + <state>1</state> + </option> + <option> + <name>OCProductVersion</name> + <state>6.10.5.52324</state> + </option> + <option> + <name>OCDynDriverList</name> + <state>JLINK_ID</state> + </option> + <option> + <name>OCLastSavedByProductVersion</name> + <state></state> + </option> + <option> + <name>OCDownloadAttachToProgram</name> + <state>0</state> + </option> + <option> + <name>UseFlashLoader</name> + <state>1</state> + </option> + <option> + <name>CLowLevel</name> + <state>1</state> + </option> + <option> + <name>OCBE8Slave</name> + <state>1</state> + </option> + <option> + <name>MacFile2</name> + <state></state> + </option> + <option> + <name>CDevice</name> + <state>1</state> + </option> + <option> + <name>FlashLoadersV3</name> + <state>$TOOLKIT_DIR$\config\flashloader\Atmel\sam4cms16c\sam4cms16c-flash.board</state> + </option> + <option> + <name>OCImagesSuppressCheck1</name> + <state>0</state> + </option> + <option> + <name>OCImagesPath1</name> + <state></state> + </option> + <option> + <name>OCImagesSuppressCheck2</name> + <state>0</state> + </option> + <option> + <name>OCImagesPath2</name> + <state></state> + </option> + <option> + <name>OCImagesSuppressCheck3</name> + <state>0</state> + </option> + <option> + <name>OCImagesPath3</name> + <state></state> + </option> + <option> + <name>OverrideDefFlashBoard</name> + <state>0</state> + </option> + <option> + <name>OCImagesOffset1</name> + <state></state> + </option> + <option> + <name>OCImagesOffset2</name> + <state></state> + </option> + <option> + <name>OCImagesOffset3</name> + <state></state> + </option> + <option> + <name>OCImagesUse1</name> + <state>0</state> + </option> + <option> + <name>OCImagesUse2</name> + <state>0</state> + </option> + <option> + <name>OCImagesUse3</name> + <state>0</state> + </option> + </data> + </settings> + <settings> + <name>ARMSIM_ID</name> + <archiveVersion>2</archiveVersion> + <data> + <version>1</version> + <wantNonLocal>1</wantNonLocal> + <debug>0</debug> + <option> + <name>OCSimDriverInfo</name> + <state>1</state> + </option> + <option> + <name>OCSimEnablePSP</name> + <state>0</state> + </option> + <option> + <name>OCSimPspOverrideConfig</name> + <state>0</state> + </option> + <option> + <name>OCSimPspConfigFile</name> + <state></state> + </option> + </data> + </settings> + <settings> + <name>ANGEL_ID</name> + <archiveVersion>2</archiveVersion> + <data> + <version>0</version> + <wantNonLocal>1</wantNonLocal> + <debug>0</debug> + <option> + <name>CCAngelHeartbeat</name> + <state>1</state> + </option> + <option> + <name>CAngelCommunication</name> + <state>1</state> + </option> + <option> + <name>CAngelCommBaud</name> + <version>0</version> + <state>3</state> + </option> + <option> + <name>CAngelCommPort</name> + <version>0</version> + <state>0</state> + </option> + <option> + <name>ANGELTCPIP</name> + <state>aaa.bbb.ccc.ddd</state> + </option> + <option> + <name>DoAngelLogfile</name> + <state>0</state> + </option> + <option> + <name>AngelLogFile</name> + <state>$PROJ_DIR$\cspycomm.log</state> + </option> + <option> + <name>OCDriverInfo</name> + <state>1</state> + </option> + </data> + </settings> + <settings> + <name>GDBSERVER_ID</name> + <archiveVersion>2</archiveVersion> + <data> + <version>0</version> + <wantNonLocal>1</wantNonLocal> + <debug>0</debug> + <option> + <name>OCDriverInfo</name> + <state>1</state> + </option> + <option> + <name>TCPIP</name> + <state>aaa.bbb.ccc.ddd</state> + </option> + <option> + <name>DoLogfile</name> + <state>0</state> + </option> + <option> + <name>LogFile</name> + <state>$PROJ_DIR$\cspycomm.log</state> + </option> + <option> + <name>CCJTagBreakpointRadio</name> + <state>0</state> + </option> + <option> + <name>CCJTagDoUpdateBreakpoints</name> + <state>0</state> + </option> + <option> + <name>CCJTagUpdateBreakpoints</name> + <state>_call_main</state> + </option> + </data> + </settings> + <settings> + <name>IARROM_ID</name> + <archiveVersion>2</archiveVersion> + <data> + <version>1</version> + <wantNonLocal>1</wantNonLocal> + <debug>0</debug> + <option> + <name>CRomLogFileCheck</name> + <state>0</state> + </option> + <option> + <name>CRomLogFileEditB</name> + <state>$PROJ_DIR$\cspycomm.log</state> + </option> + <option> + <name>CRomCommPort</name> + <version>0</version> + <state>0</state> + </option> + <option> + <name>CRomCommBaud</name> + <version>0</version> + <state>7</state> + </option> + <option> + <name>OCDriverInfo</name> + <state>1</state> + </option> + </data> + </settings> + <settings> + <name>JLINK_ID</name> + <archiveVersion>2</archiveVersion> + <data> + <version>12</version> + <wantNonLocal>1</wantNonLocal> + <debug>0</debug> + <option> + <name>JLinkSpeed</name> + <state>32</state> + </option> + <option> + <name>CCJLinkDoLogfile</name> + <state>0</state> + </option> + <option> + <name>CCJLinkLogFile</name> + <state>$PROJ_DIR$\cspycomm.log</state> + </option> + <option> + <name>CCJLinkHWResetDelay</name> + <state>0</state> + </option> + <option> + <name>OCDriverInfo</name> + <state>1</state> + </option> + <option> + <name>JLinkInitialSpeed</name> + <state>32</state> + </option> + <option> + <name>CCDoJlinkMultiTarget</name> + <state>0</state> + </option> + <option> + <name>CCScanChainNonARMDevices</name> + <state>0</state> + </option> + <option> + <name>CCJLinkMultiTarget</name> + <state>0</state> + </option> + <option> + <name>CCJLinkIRLength</name> + <state>0</state> + </option> + <option> + <name>CCJLinkCommRadio</name> + <state>0</state> + </option> + <option> + <name>CCJLinkTCPIP</name> + <state>aaa.bbb.ccc.ddd</state> + </option> + <option> + <name>CCJLinkSpeedRadioV2</name> + <state>0</state> + </option> + <option> + <name>CCUSBDevice</name> + <version>1</version> + <state>1</state> + </option> + <option> + <name>CCRDICatchReset</name> + <state>0</state> + </option> + <option> + <name>CCRDICatchUndef</name> + <state>0</state> + </option> + <option> + <name>CCRDICatchSWI</name> + <state>0</state> + </option> + <option> + <name>CCRDICatchData</name> + <state>0</state> + </option> + <option> + <name>CCRDICatchPrefetch</name> + <state>0</state> + </option> + <option> + <name>CCRDICatchIRQ</name> + <state>0</state> + </option> + <option> + <name>CCRDICatchFIQ</name> + <state>0</state> + </option> + <option> + <name>CCJLinkBreakpointRadio</name> + <state>0</state> + </option> + <option> + <name>CCJLinkDoUpdateBreakpoints</name> + <state>0</state> + </option> + <option> + <name>CCJLinkUpdateBreakpoints</name> + <state>_call_main</state> + </option> + <option> + <name>CCJLinkInterfaceRadio</name> + <state>0</state> + </option> + <option> + <name>OCJLinkAttachSlave</name> + <state>1</state> + </option> + <option> + <name>CCJLinkResetList</name> + <version>5</version> + <state>7</state> + </option> + <option> + <name>CCJLinkInterfaceCmdLine</name> + <state>0</state> + </option> + <option> + <name>CCCatchCORERESET</name> + <state>0</state> + </option> + <option> + <name>CCCatchMMERR</name> + <state>0</state> + </option> + <option> + <name>CCCatchNOCPERR</name> + <state>0</state> + </option> + <option> + <name>CCCatchCHRERR</name> + <state>0</state> + </option> + <option> + <name>CCCatchSTATERR</name> + <state>0</state> + </option> + <option> + <name>CCCatchBUSERR</name> + <state>0</state> + </option> + <option> + <name>CCCatchINTERR</name> + <state>0</state> + </option> + <option> + <name>CCCatchHARDERR</name> + <state>0</state> + </option> + <option> + <name>CCCatchDummy</name> + <state>0</state> + </option> + <option> + <name>OCJLinkScriptFile</name> + <state>1</state> + </option> + </data> + </settings> + <settings> + <name>LMIFTDI_ID</name> + <archiveVersion>2</archiveVersion> + <data> + <version>2</version> + <wantNonLocal>1</wantNonLocal> + <debug>0</debug> + <option> + <name>OCDriverInfo</name> + <state>1</state> + </option> + <option> + <name>LmiftdiSpeed</name> + <state>500</state> + </option> + <option> + <name>CCLmiftdiDoLogfile</name> + <state>0</state> + </option> + <option> + <name>CCLmiftdiLogFile</name> + <state>$PROJ_DIR$\cspycomm.log</state> + </option> + <option> + <name>CCLmiFtdiInterfaceRadio</name> + <state>0</state> + </option> + <option> + <name>CCLmiFtdiInterfaceCmdLine</name> + <state>0</state> + </option> + </data> + </settings> + <settings> + <name>MACRAIGOR_ID</name> + <archiveVersion>2</archiveVersion> + <data> + <version>3</version> + <wantNonLocal>1</wantNonLocal> + <debug>0</debug> + <option> + <name>jtag</name> + <version>0</version> + <state>0</state> + </option> + <option> + <name>EmuSpeed</name> + <state>1</state> + </option> + <option> + <name>TCPIP</name> + <state>aaa.bbb.ccc.ddd</state> + </option> + <option> + <name>DoLogfile</name> + <state>0</state> + </option> + <option> + <name>LogFile</name> + <state>$PROJ_DIR$\cspycomm.log</state> + </option> + <option> + <name>DoEmuMultiTarget</name> + <state>0</state> + </option> + <option> + <name>EmuMultiTarget</name> + <state>0@ARM7TDMI</state> + </option> + <option> + <name>EmuHWReset</name> + <state>0</state> + </option> + <option> + <name>CEmuCommBaud</name> + <version>0</version> + <state>4</state> + </option> + <option> + <name>CEmuCommPort</name> + <version>0</version> + <state>0</state> + </option> + <option> + <name>jtago</name> + <version>0</version> + <state>0</state> + </option> + <option> + <name>OCDriverInfo</name> + <state>1</state> + </option> + <option> + <name>UnusedAddr</name> + <state>0x00800000</state> + </option> + <option> + <name>CCMacraigorHWResetDelay</name> + <state></state> + </option> + <option> + <name>CCJTagBreakpointRadio</name> + <state>0</state> + </option> + <option> + <name>CCJTagDoUpdateBreakpoints</name> + <state>0</state> + </option> + <option> + <name>CCJTagUpdateBreakpoints</name> + <state>_call_main</state> + </option> + <option> + <name>CCMacraigorInterfaceRadio</name> + <state>0</state> + </option> + <option> + <name>CCMacraigorInterfaceCmdLine</name> + <state>0</state> + </option> + </data> + </settings> + <settings> + <name>PEMICRO_ID</name> + <archiveVersion>2</archiveVersion> + <data> + <version>0</version> + <wantNonLocal>1</wantNonLocal> + <debug>0</debug> + <option> + <name>OCDriverInfo</name> + <state>1</state> + </option> + <option> + <name>OCPEMicroAttachSlave</name> + <state>1</state> + </option> + <option> + <name>CCPEMicroInterfaceList</name> + <version>0</version> + <state>0</state> + </option> + <option> + <name>CCPEMicroResetDelay</name> + <state></state> + </option> + <option> + <name>CCPEMicroJtagSpeed</name> + <state>#UNINITIALIZED#</state> + </option> + <option> + <name>CCJPEMicroShowSettings</name> + <state>0</state> + </option> + <option> + <name>DoLogfile</name> + <state>0</state> + </option> + <option> + <name>LogFile</name> + <state>$PROJ_DIR$\cspycomm.log</state> + </option> + <option> + <name>CCPEMicroUSBDevice</name> + <version>0</version> + <state>0</state> + </option> + <option> + <name>CCPEMicroSerialPort</name> + <version>0</version> + <state>0</state> + </option> + <option> + <name>CCJPEMicroTCPIPAutoScanNetwork</name> + <state>1</state> + </option> + <option> + <name>CCPEMicroTCPIP</name> + <state>10.0.0.1</state> + </option> + <option> + <name>CCPEMicroCommCmdLineProducer</name> + <state>0</state> + </option> + </data> + </settings> + <settings> + <name>RDI_ID</name> + <archiveVersion>2</archiveVersion> + <data> + <version>1</version> + <wantNonLocal>1</wantNonLocal> + <debug>0</debug> + <option> + <name>CRDIDriverDll</name> + <state>###Uninitialized###</state> + </option> + <option> + <name>CRDILogFileCheck</name> + <state>0</state> + </option> + <option> + <name>CRDILogFileEdit</name> + <state>$PROJ_DIR$\cspycomm.log</state> + </option> + <option> + <name>CCRDIHWReset</name> + <state>0</state> + </option> + <option> + <name>CCRDICatchReset</name> + <state>0</state> + </option> + <option> + <name>CCRDICatchUndef</name> + <state>0</state> + </option> + <option> + <name>CCRDICatchSWI</name> + <state>0</state> + </option> + <option> + <name>CCRDICatchData</name> + <state>0</state> + </option> + <option> + <name>CCRDICatchPrefetch</name> + <state>0</state> + </option> + <option> + <name>CCRDICatchIRQ</name> + <state>0</state> + </option> + <option> + <name>CCRDICatchFIQ</name> + <state>0</state> + </option> + <option> + <name>CCRDIUseETM</name> + <state>0</state> + </option> + <option> + <name>OCDriverInfo</name> + <state>1</state> + </option> + </data> + </settings> + <settings> + <name>STLINK_ID</name> + <archiveVersion>2</archiveVersion> + <data> + <version>1</version> + <wantNonLocal>1</wantNonLocal> + <debug>0</debug> + <option> + <name>OCDriverInfo</name> + <state>1</state> + </option> + <option> + <name>CCSTLinkInterfaceRadio</name> + <state>0</state> + </option> + <option> + <name>CCSTLinkInterfaceCmdLine</name> + <state>0</state> + </option> + </data> + </settings> + <settings> + <name>THIRDPARTY_ID</name> + <archiveVersion>2</archiveVersion> + <data> + <version>0</version> + <wantNonLocal>1</wantNonLocal> + <debug>0</debug> + <option> + <name>CThirdPartyDriverDll</name> + <state>###Uninitialized###</state> + </option> + <option> + <name>CThirdPartyLogFileCheck</name> + <state>0</state> + </option> + <option> + <name>CThirdPartyLogFileEditB</name> + <state>$PROJ_DIR$\cspycomm.log</state> + </option> + <option> + <name>OCDriverInfo</name> + <state>1</state> + </option> + </data> + </settings> + <debuggerPlugins> + <plugin> + <file>$TOOLKIT_DIR$\plugins\rtos\CMX\CmxArmPlugin.ENU.ewplugin</file> + <loadFlag>0</loadFlag> + </plugin> + <plugin> + <file>$TOOLKIT_DIR$\plugins\rtos\CMX\CmxTinyArmPlugin.ENU.ewplugin</file> + <loadFlag>0</loadFlag> + </plugin> + <plugin> + <file>$TOOLKIT_DIR$\plugins\rtos\embOS\embOSPlugin.ewplugin</file> + <loadFlag>0</loadFlag> + </plugin> + <plugin> + <file>$TOOLKIT_DIR$\plugins\rtos\MQX\MQXRtosPlugin.ewplugin</file> + <loadFlag>0</loadFlag> + </plugin> + <plugin> + <file>$TOOLKIT_DIR$\plugins\rtos\OpenRTOS\OpenRTOSPlugin.ewplugin</file> + <loadFlag>0</loadFlag> + </plugin> + <plugin> + <file>$TOOLKIT_DIR$\plugins\rtos\PowerPac\PowerPacRTOS.ewplugin</file> + <loadFlag>0</loadFlag> + </plugin> + <plugin> + <file>$TOOLKIT_DIR$\plugins\rtos\Quadros\Quadros_EWB6_Plugin.ewplugin</file> + <loadFlag>0</loadFlag> + </plugin> + <plugin> + <file>$TOOLKIT_DIR$\plugins\rtos\SafeRTOS\SafeRTOSPlugin.ewplugin</file> + <loadFlag>0</loadFlag> + </plugin> + <plugin> + <file>$TOOLKIT_DIR$\plugins\rtos\ThreadX\ThreadXArmPlugin.ENU.ewplugin</file> + <loadFlag>0</loadFlag> + </plugin> + <plugin> + <file>$TOOLKIT_DIR$\plugins\rtos\uCOS-II\uCOS-II-286-KA-CSpy.ewplugin</file> + <loadFlag>0</loadFlag> + </plugin> + <plugin> + <file>$TOOLKIT_DIR$\plugins\rtos\uCOS-II\uCOS-II-KA-CSpy.ewplugin</file> + <loadFlag>0</loadFlag> + </plugin> + <plugin> + <file>$EW_DIR$\common\plugins\CodeCoverage\CodeCoverage.ENU.ewplugin</file> + <loadFlag>1</loadFlag> + </plugin> + <plugin> + <file>$EW_DIR$\common\plugins\Orti\Orti.ENU.ewplugin</file> + <loadFlag>0</loadFlag> + </plugin> + <plugin> + <file>$EW_DIR$\common\plugins\Stack\Stack.ENU.ewplugin</file> + <loadFlag>1</loadFlag> + </plugin> + <plugin> + <file>$EW_DIR$\common\plugins\SymList\SymList.ENU.ewplugin</file> + <loadFlag>1</loadFlag> + </plugin> + </debuggerPlugins> + </configuration> +</project> diff --git a/thirdparty/prime/mac/mac_1_3/addons/bootloader/sam4cms16c_sam4cmsdb/iar/addons_bootloader_flash.ewp b/thirdparty/prime/mac/mac_1_3/addons/bootloader/sam4cms16c_sam4cmsdb/iar/addons_bootloader_flash.ewp new file mode 100644 index 00000000..c1e1bcbe --- /dev/null +++ b/thirdparty/prime/mac/mac_1_3/addons/bootloader/sam4cms16c_sam4cmsdb/iar/addons_bootloader_flash.ewp @@ -0,0 +1,2326 @@ +<project> + <fileVersion>2</fileVersion> + <configuration> + <name>Debug</name> + <toolchain> + <name>ARM</name> + </toolchain> + <debug>1</debug> + <settings> + <name>General</name> + <archiveVersion>3</archiveVersion> + <data> + <version>21</version> + <wantNonLocal>1</wantNonLocal> + <debug>1</debug> + <option> + <name>ExePath</name> + <state>Debug\Exe</state> + </option> + <option> + <name>ObjPath</name> + <state>Debug\Obj</state> + </option> + <option> + <name>ListPath</name> + <state>Debug\List</state> + </option> + <option> + <name>Variant</name> + <version>19</version> + <state>37</state> + </option> + <option> + <name>GEndianMode</name> + <state>0</state> + </option> + <option> + <name>Input variant</name> + <version>3</version> + <state>6</state> + </option> + <option> + <name>Input description</name> + <state>No specifier n, no float nor long long, no scan set, no assignment suppressing.</state> + </option> + <option> + <name>Output variant</name> + <version>2</version> + <state>3</state> + </option> + <option> + <name>Output description</name> + <state>No specifier a, A.</state> + </option> + <option> + <name>GOutputBinary</name> + <state>0</state> + </option> + <option> + <name>FPU</name> + <version>2</version> + <state>0</state> + </option> + <option> + <name>OGCoreOrChip</name> + <state>1</state> + </option> + <option> + <name>GRuntimeLibSelect</name> + <version>0</version> + <state>2</state> + </option> + <option> + <name>GRuntimeLibSelectSlave</name> + <version>0</version> + <state>2</state> + </option> + <option> + <name>RTDescription</name> + <state>Use the normal configuration of the C/C++ runtime library. No locale interface, C locale, no file descriptor support, no multibytes in printf and scanf, and no hex floats in strtod.</state> + </option> + <option> + <name>OGProductVersion</name> + <state>5.10.0.159</state> + </option> + <option> + <name>OGLastSavedByProductVersion</name> + <state>6.21.1.52845</state> + </option> + <option> + <name>GeneralEnableMisra</name> + <state>0</state> + </option> + <option> + <name>GeneralMisraVerbose</name> + <state>0</state> + </option> + <option> + <name>OGChipSelectEditMenu</name> + <state>ATSAM4CMS16C_0 Atmel ATSAM4CMS16C Core0</state> + </option> + <option> + <name>GenLowLevelInterface</name> + <state>0</state> + </option> + <option> + <name>GEndianModeBE</name> + <state>1</state> + </option> + <option> + <name>OGBufferedTerminalOutput</name> + <state>0</state> + </option> + <option> + <name>GenStdoutInterface</name> + <state>0</state> + </option> + <option> + <name>GeneralMisraRules98</name> + <version>0</version> + <state>1000111110110101101110011100111111101110011011000101110111101101100111111111111100110011111001110111001111111111111111111111111</state> + </option> + <option> + <name>GeneralMisraVer</name> + <state>0</state> + </option> + <option> + <name>GeneralMisraRules04</name> + <version>0</version> + <state>111101110010111111111000110111111111111111111111111110010111101111010101111111111111111111111111101111111011111001111011111011111111111111111</state> + </option> + <option> + <name>RTConfigPath2</name> + <state>$TOOLKIT_DIR$\INC\c\DLib_Config_Full.h</state> + </option> + <option> + <name>GFPUCoreSlave</name> + <version>19</version> + <state>37</state> + </option> + <option> + <name>GBECoreSlave</name> + <version>19</version> + <state>37</state> + </option> + <option> + <name>OGUseCmsis</name> + <state>1</state> + </option> + <option> + <name>OGUseCmsisDspLib</name> + <state>1</state> + </option> + </data> + </settings> + <settings> + <name>ICCARM</name> + <archiveVersion>2</archiveVersion> + <data> + <version>27</version> + <wantNonLocal>1</wantNonLocal> + <debug>1</debug> + <option> + <name>CCDefines</name> + <state>__SAM4CMS16C_0__</state> + <state>ARM_MATH_CM4=true</state> + <state>BOARD=SAM4CMS_DB</state> + </option> + <option> + <name>CCPreprocFile</name> + <state>0</state> + </option> + <option> + <name>CCPreprocComments</name> + <state>0</state> + </option> + <option> + <name>CCPreprocLine</name> + <state>0</state> + </option> + <option> + <name>CCListCFile</name> + <state>0</state> + </option> + <option> + <name>CCListCMnemonics</name> + <state>0</state> + </option> + <option> + <name>CCListCMessages</name> + <state>0</state> + </option> + <option> + <name>CCListAssFile</name> + <state>0</state> + </option> + <option> + <name>CCListAssSource</name> + <state>0</state> + </option> + <option> + <name>CCEnableRemarks</name> + <state>1</state> + </option> + <option> + <name>CCDiagSuppress</name> + <state></state> + </option> + <option> + <name>CCDiagRemark</name> + <state></state> + </option> + <option> + <name>CCDiagWarning</name> + <state></state> + </option> + <option> + <name>CCDiagError</name> + <state></state> + </option> + <option> + <name>CCObjPrefix</name> + <state>1</state> + </option> + <option> + <name>CCAllowList</name> + <version>0</version> + <state>1111111</state> + </option> + <option> + <name>CCDebugInfo</name> + <state>1</state> + </option> + <option> + <name>IEndianMode</name> + <state>1</state> + </option> + <option> + <name>IProcessor</name> + <state>1</state> + </option> + <option> + <name>IExtraOptionsCheck</name> + <state>0</state> + </option> + <option> + <name>IExtraOptions</name> + <state></state> + </option> + <option> + <name>CCLangConformance</name> + <state>0</state> + </option> + <option> + <name>CCSignedPlainChar</name> + <state>1</state> + </option> + <option> + <name>CCRequirePrototypes</name> + <state>1</state> + </option> + <option> + <name>CCMultibyteSupport</name> + <state>0</state> + </option> + <option> + <name>CCDiagWarnAreErr</name> + <state>0</state> + </option> + <option> + <name>CCCompilerRuntimeInfo</name> + <state>0</state> + </option> + <option> + <name>IFpuProcessor</name> + <state>1</state> + </option> + <option> + <name>OutputFile</name> + <state>$FILE_BNAME$.o</state> + </option> + <option> + <name>CCLibConfigHeader</name> + <state>1</state> + </option> + <option> + <name>PreInclude</name> + <state></state> + </option> + <option> + <name>CompilerMisraOverride</name> + <state>0</state> + </option> + <option> + <name>CCIncludePath2</name> + <state>$PROJ_DIR$/../..</state> + <state>$PROJ_DIR$/../../../../../../../../sam/utils</state> + <state>$PROJ_DIR$/../../../../../../../../common/services/clock</state> + <state>$PROJ_DIR$/../../../../../../../../sam/boards</state> + <state>$PROJ_DIR$/../../../../../../../../sam/utils/header_files</state> + <state>$PROJ_DIR$/../../../../../../../../common/boards</state> + <state>$PROJ_DIR$/../../../../../../../../sam/utils/preprocessor</state> + <state>$PROJ_DIR$/../../../../../../../../sam/utils/cmsis/sam4cm/source/templates</state> + <state>$PROJ_DIR$/../../../../../../../../sam/drivers/pmc</state> + <state>$PROJ_DIR$/../../../../../../../../sam/services/flash_efc</state> + <state>$PROJ_DIR$/../../../../../../../../sam/boards/sam4cms_db</state> + <state>$PROJ_DIR$/../../../../../../../../common/utils</state> + <state>$PROJ_DIR$/..</state> + <state>$PROJ_DIR$/../../../../../../../../sam/utils/cmsis/sam4cm/include</state> + <state>$PROJ_DIR$/../../../../../../../../common/services/ioport</state> + <state>$PROJ_DIR$/../../../../../../../../sam/drivers/efc</state> + <state>$PROJ_DIR$/.</state> + </option> + <option> + <name>CCStdIncCheck</name> + <state>0</state> + </option> + <option> + <name>CCCodeSection</name> + <state>.text</state> + </option> + <option> + <name>IInterwork2</name> + <state>0</state> + </option> + <option> + <name>IProcessorMode2</name> + <state>1</state> + </option> + <option> + <name>CCOptLevel</name> + <state>3</state> + </option> + <option> + <name>CCOptStrategy</name> + <version>0</version> + <state>1</state> + </option> + <option> + <name>CCOptLevelSlave</name> + <state>3</state> + </option> + <option> + <name>CompilerMisraRules98</name> + <version>0</version> + <state>1000111110110101101110011100111111101110011011000101110111101101100111111111111100110011111001110111001111111111111111111111111</state> + </option> + <option> + <name>CompilerMisraRules04</name> + <version>0</version> + <state>111101110010111111111000110111111111111111111111111110010111101111010101111111111111111111111111101111111011111001111011111011111111111111111</state> + </option> + <option> + <name>CCPosIndRopi</name> + <state>0</state> + </option> + <option> + <name>CCPosIndRwpi</name> + <state>0</state> + </option> + <option> + <name>CCPosIndNoDynInit</name> + <state>0</state> + </option> + <option> + <name>IccLang</name> + <state>0</state> + </option> + <option> + <name>IccCDialect</name> + <state>1</state> + </option> + <option> + <name>IccAllowVLA</name> + <state>0</state> + </option> + <option> + <name>IccCppDialect</name> + <state>1</state> + </option> + <option> + <name>IccExceptions</name> + <state>1</state> + </option> + <option> + <name>IccRTTI</name> + <state>1</state> + </option> + <option> + <name>IccStaticDestr</name> + <state>1</state> + </option> + <option> + <name>IccRelaxedFpPrecision</name> + <state>0</state> + </option> + <option> + <name>IccCppInlineSemantics</name> + <state>0</state> + </option> + <option> + <name>IccCmsis</name> + <state>1</state> + </option> + </data> + </settings> + <settings> + <name>AARM</name> + <archiveVersion>2</archiveVersion> + <data> + <version>8</version> + <wantNonLocal>1</wantNonLocal> + <debug>1</debug> + <option> + <name>AObjPrefix</name> + <state>1</state> + </option> + <option> + <name>AEndian</name> + <state>1</state> + </option> + <option> + <name>ACaseSensitivity</name> + <state>1</state> + </option> + <option> + <name>MacroChars</name> + <version>0</version> + <state>0</state> + </option> + <option> + <name>AWarnEnable</name> + <state>0</state> + </option> + <option> + <name>AWarnWhat</name> + <state>0</state> + </option> + <option> + <name>AWarnOne</name> + <state></state> + </option> + <option> + <name>AWarnRange1</name> + <state></state> + </option> + <option> + <name>AWarnRange2</name> + <state></state> + </option> + <option> + <name>ADebug</name> + <state>1</state> + </option> + <option> + <name>AltRegisterNames</name> + <state>0</state> + </option> + <option> + <name>ADefines</name> + <state>__SAM4CMS16C_0__</state> + <state>ARM_MATH_CM4=true</state> + <state>BOARD=SAM4CMS_DB</state> + </option> + <option> + <name>AList</name> + <state>0</state> + </option> + <option> + <name>AListHeader</name> + <state>1</state> + </option> + <option> + <name>AListing</name> + <state>1</state> + </option> + <option> + <name>Includes</name> + <state>0</state> + </option> + <option> + <name>MacDefs</name> + <state>0</state> + </option> + <option> + <name>MacExps</name> + <state>1</state> + </option> + <option> + <name>MacExec</name> + <state>0</state> + </option> + <option> + <name>OnlyAssed</name> + <state>0</state> + </option> + <option> + <name>MultiLine</name> + <state>0</state> + </option> + <option> + <name>PageLengthCheck</name> + <state>0</state> + </option> + <option> + <name>PageLength</name> + <state>80</state> + </option> + <option> + <name>TabSpacing</name> + <state>8</state> + </option> + <option> + <name>AXRef</name> + <state>0</state> + </option> + <option> + <name>AXRefDefines</name> + <state>0</state> + </option> + <option> + <name>AXRefInternal</name> + <state>0</state> + </option> + <option> + <name>AXRefDual</name> + <state>0</state> + </option> + <option> + <name>AProcessor</name> + <state>1</state> + </option> + <option> + <name>AFpuProcessor</name> + <state>1</state> + </option> + <option> + <name>AOutputFile</name> + <state>$FILE_BNAME$.o</state> + </option> + <option> + <name>AMultibyteSupport</name> + <state>0</state> + </option> + <option> + <name>ALimitErrorsCheck</name> + <state>0</state> + </option> + <option> + <name>ALimitErrorsEdit</name> + <state>100</state> + </option> + <option> + <name>AIgnoreStdInclude</name> + <state>0</state> + </option> + <option> + <name>AUserIncludes</name> + <state>$PROJ_DIR$/../..</state> + <state>$PROJ_DIR$/../../../../../../../../sam/utils</state> + <state>$PROJ_DIR$/../../../../../../../../common/services/clock</state> + <state>$PROJ_DIR$/../../../../../../../../sam/boards</state> + <state>$PROJ_DIR$/../../../../../../../../sam/utils/header_files</state> + <state>$PROJ_DIR$/../../../../../../../../common/boards</state> + <state>$PROJ_DIR$/../../../../../../../../sam/utils/preprocessor</state> + <state>$PROJ_DIR$/../../../../../../../../sam/utils/cmsis/sam4cm/source/templates</state> + <state>$PROJ_DIR$/../../../../../../../../sam/drivers/pmc</state> + <state>$PROJ_DIR$/../../../../../../../../sam/services/flash_efc</state> + <state>$PROJ_DIR$/../../../../../../../../sam/boards/sam4cms_db</state> + <state>$PROJ_DIR$/../../../../../../../../common/utils</state> + <state>$PROJ_DIR$/..</state> + <state>$PROJ_DIR$/../../../../../../../../sam/utils/cmsis/sam4cm/include</state> + <state>$PROJ_DIR$/../../../../../../../../common/services/ioport</state> + <state>$PROJ_DIR$/../../../../../../../../sam/drivers/efc</state> + <state>$PROJ_DIR$/.</state> + </option> + <option> + <name>AExtraOptionsCheckV2</name> + <state>0</state> + </option> + <option> + <name>AExtraOptionsV2</name> + <state></state> + </option> + </data> + </settings> + <settings> + <name>OBJCOPY</name> + <archiveVersion>0</archiveVersion> + <data> + <version>1</version> + <wantNonLocal>1</wantNonLocal> + <debug>1</debug> + <option> + <name>OOCOutputFormat</name> + <version>2</version> + <state>2</state> + </option> + <option> + <name>OCOutputOverride</name> + <state>1</state> + </option> + <option> + <name>OOCOutputFile</name> + <state>addons_bootloader_flash.bin</state> + </option> + <option> + <name>OOCCommandLineProducer</name> + <state>1</state> + </option> + <option> + <name>OOCObjCopyEnable</name> + <state>0</state> + </option> + </data> + </settings> + <settings> + <name>CUSTOM</name> + <archiveVersion>3</archiveVersion> + <data> + <extensions></extensions> + <cmdline></cmdline> + </data> + </settings> + <settings> + <name>BICOMP</name> + <archiveVersion>0</archiveVersion> + <data></data> + </settings> + <settings> + <name>BUILDACTION</name> + <archiveVersion>1</archiveVersion> + <data> + <prebuild></prebuild> + <postbuild></postbuild> + </data> + </settings> + <settings> + <name>ILINK</name> + <archiveVersion>0</archiveVersion> + <data> + <version>12</version> + <wantNonLocal>1</wantNonLocal> + <debug>1</debug> + <option> + <name>IlinkOutputFile</name> + <state>addons_bootloader_flash.out</state> + </option> + <option> + <name>IlinkLibIOConfig</name> + <state>1</state> + </option> + <option> + <name>XLinkMisraHandler</name> + <state>0</state> + </option> + <option> + <name>IlinkInputFileSlave</name> + <state>0</state> + </option> + <option> + <name>IlinkDebugInfoEnable</name> + <state>1</state> + </option> + <option> + <name>IlinkKeepSymbols</name> + <state></state> + </option> + <option> + <name>IlinkRawBinaryFile</name> + <state></state> + </option> + <option> + <name>IlinkRawBinarySymbol</name> + <state></state> + </option> + <option> + <name>IlinkRawBinarySegment</name> + <state></state> + </option> + <option> + <name>IlinkRawBinaryAlign</name> + <state></state> + </option> + <option> + <name>IlinkDefines</name> + <state></state> + </option> + <option> + <name>IlinkConfigDefines</name> + <state></state> + </option> + <option> + <name>IlinkMapFile</name> + <state>1</state> + </option> + <option> + <name>IlinkLogFile</name> + <state>0</state> + </option> + <option> + <name>IlinkLogInitialization</name> + <state>0</state> + </option> + <option> + <name>IlinkLogModule</name> + <state>0</state> + </option> + <option> + <name>IlinkLogSection</name> + <state>0</state> + </option> + <option> + <name>IlinkLogVeneer</name> + <state>0</state> + </option> + <option> + <name>IlinkIcfOverride</name> + <state>1</state> + </option> + <option> + <name>IlinkIcfFile</name> + <state>$PROJ_DIR$/../../linker_scripts/iar/sam4cms16c_0_flash.icf</state> + </option> + <option> + <name>IlinkIcfFileSlave</name> + <state></state> + </option> + <option> + <name>IlinkEnableRemarks</name> + <state>1</state> + </option> + <option> + <name>IlinkSuppressDiags</name> + <state></state> + </option> + <option> + <name>IlinkTreatAsRem</name> + <state></state> + </option> + <option> + <name>IlinkTreatAsWarn</name> + <state></state> + </option> + <option> + <name>IlinkTreatAsErr</name> + <state></state> + </option> + <option> + <name>IlinkWarningsAreErrors</name> + <state>0</state> + </option> + <option> + <name>IlinkUseExtraOptions</name> + <state>1</state> + </option> + <option> + <name>IlinkExtraOptions</name> + </option> + <option> + <name>IlinkLowLevelInterfaceSlave</name> + <state>1</state> + </option> + <option> + <name>IlinkAutoLibEnable</name> + <state>1</state> + </option> + <option> + <name>IlinkAdditionalLibs</name> + <state></state> + </option> + <option> + <name>IlinkOverrideProgramEntryLabel</name> + <state>0</state> + </option> + <option> + <name>IlinkProgramEntryLabelSelect</name> + <state>0</state> + </option> + <option> + <name>IlinkProgramEntryLabel</name> + <state>__iar_program_start</state> + </option> + <option> + <name>DoFill</name> + <state>0</state> + </option> + <option> + <name>FillerByte</name> + <state>0xFF</state> + </option> + <option> + <name>FillerStart</name> + <state>0x0</state> + </option> + <option> + <name>FillerEnd</name> + <state>0x0</state> + </option> + <option> + <name>CrcSize</name> + <version>0</version> + <state>1</state> + </option> + <option> + <name>CrcAlign</name> + <state>1</state> + </option> + <option> + <name>CrcAlgo</name> + <state>1</state> + </option> + <option> + <name>CrcPoly</name> + <state>0x11021</state> + </option> + <option> + <name>CrcCompl</name> + <version>0</version> + <state>0</state> + </option> + <option> + <name>CrcBitOrder</name> + <version>0</version> + <state>0</state> + </option> + <option> + <name>CrcInitialValue</name> + <state>0x0</state> + </option> + <option> + <name>DoCrc</name> + <state>0</state> + </option> + <option> + <name>IlinkBE8Slave</name> + <state>1</state> + </option> + <option> + <name>IlinkBufferedTerminalOutput</name> + <state>1</state> + </option> + <option> + <name>IlinkStdoutInterfaceSlave</name> + <state>1</state> + </option> + <option> + <name>CrcFullSize</name> + <state>0</state> + </option> + <option> + <name>IlinkIElfToolPostProcess</name> + <state>0</state> + </option> + <option> + <name>IlinkLogAutoLibSelect</name> + <state>0</state> + </option> + <option> + <name>IlinkLogRedirSymbols</name> + <state>0</state> + </option> + <option> + <name>IlinkLogUnusedFragments</name> + <state>0</state> + </option> + <option> + <name>IlinkCrcReverseByteOrder</name> + <state>0</state> + </option> + <option> + <name>IlinkCrcUseAsInput</name> + <state>1</state> + </option> + <option> + <name>IlinkOptInline</name> + <state>0</state> + </option> + <option> + <name>IlinkOptExceptionsAllow</name> + <state>0</state> + </option> + <option> + <name>IlinkOptExceptionsForce</name> + <state>0</state> + </option> + <option> + <name>IlinkCmsis</name> + <state>1</state> + </option> + </data> + </settings> + <settings> + <name>IARCHIVE</name> + <archiveVersion>0</archiveVersion> + <data> + <version>0</version> + <wantNonLocal>1</wantNonLocal> + <debug>1</debug> + <option> + <name>IarchiveInputs</name> + <state></state> + </option> + <option> + <name>IarchiveOverride</name> + <state>0</state> + </option> + <option> + <name>IarchiveOutput</name> + <state>###Unitialized###</state> + </option> + </data> + </settings> + <settings> + <name>BILINK</name> + <archiveVersion>0</archiveVersion> + <data></data> + </settings> + </configuration> + <configuration> + <name>Release</name> + <toolchain> + <name>ARM</name> + </toolchain> + <debug>0</debug> + <settings> + <name>General</name> + <archiveVersion>3</archiveVersion> + <data> + <version>21</version> + <wantNonLocal>1</wantNonLocal> + <debug>0</debug> + <option> + <name>ExePath</name> + <state>Release\Exe</state> + </option> + <option> + <name>ObjPath</name> + <state>Release\Obj</state> + </option> + <option> + <name>ListPath</name> + <state>Release\List</state> + </option> + <option> + <name>Variant</name> + <version>19</version> + <state>37</state> + </option> + <option> + <name>GEndianMode</name> + <state>0</state> + </option> + <option> + <name>Input variant</name> + <version>3</version> + <state>6</state> + </option> + <option> + <name>Input description</name> + <state>No specifier n, no float nor long long, no scan set, no assignment suppressing.</state> + </option> + <option> + <name>Output variant</name> + <version>2</version> + <state>3</state> + </option> + <option> + <name>Output description</name> + <state>No specifier a, A.</state> + </option> + <option> + <name>GOutputBinary</name> + <state>0</state> + </option> + <option> + <name>FPU</name> + <version>2</version> + <state>0</state> + </option> + <option> + <name>OGCoreOrChip</name> + <state>1</state> + </option> + <option> + <name>GRuntimeLibSelect</name> + <version>0</version> + <state>2</state> + </option> + <option> + <name>GRuntimeLibSelectSlave</name> + <version>0</version> + <state>2</state> + </option> + <option> + <name>RTDescription</name> + <state>Use the normal configuration of the C/C++ runtime library. No locale interface, C locale, no file descriptor support, no multibytes in printf and scanf, and no hex floats in strtod.</state> + </option> + <option> + <name>OGProductVersion</name> + <state>5.10.0.159</state> + </option> + <option> + <name>OGLastSavedByProductVersion</name> + <state>6.21.1.52845</state> + </option> + <option> + <name>GeneralEnableMisra</name> + <state>0</state> + </option> + <option> + <name>GeneralMisraVerbose</name> + <state>0</state> + </option> + <option> + <name>OGChipSelectEditMenu</name> + <state>ATSAM4CMS16C_0 Atmel ATSAM4CMS16C Core0</state> + </option> + <option> + <name>GenLowLevelInterface</name> + <state>0</state> + </option> + <option> + <name>GEndianModeBE</name> + <state>1</state> + </option> + <option> + <name>OGBufferedTerminalOutput</name> + <state>0</state> + </option> + <option> + <name>GenStdoutInterface</name> + <state>0</state> + </option> + <option> + <name>GeneralMisraRules98</name> + <version>0</version> + <state>1000111110110101101110011100111111101110011011000101110111101101100111111111111100110011111001110111001111111111111111111111111</state> + </option> + <option> + <name>GeneralMisraVer</name> + <state>0</state> + </option> + <option> + <name>GeneralMisraRules04</name> + <version>0</version> + <state>111101110010111111111000110111111111111111111111111110010111101111010101111111111111111111111111101111111011111001111011111011111111111111111</state> + </option> + <option> + <name>RTConfigPath2</name> + <state>$TOOLKIT_DIR$\INC\c\DLib_Config_Full.h</state> + </option> + <option> + <name>GFPUCoreSlave</name> + <version>19</version> + <state>37</state> + </option> + <option> + <name>GBECoreSlave</name> + <version>19</version> + <state>37</state> + </option> + <option> + <name>OGUseCmsis</name> + <state>1</state> + </option> + <option> + <name>OGUseCmsisDspLib</name> + <state>1</state> + </option> + </data> + </settings> + <settings> + <name>ICCARM</name> + <archiveVersion>2</archiveVersion> + <data> + <version>27</version> + <wantNonLocal>1</wantNonLocal> + <debug>0</debug> + <option> + <name>CCDefines</name> + <state>__SAM4CMS16C_0__</state> + <state>ARM_MATH_CM4=true</state> + <state>BOARD=SAM4CMS_DB</state> + </option> + <option> + <name>CCPreprocFile</name> + <state>0</state> + </option> + <option> + <name>CCPreprocComments</name> + <state>0</state> + </option> + <option> + <name>CCPreprocLine</name> + <state>0</state> + </option> + <option> + <name>CCListCFile</name> + <state>0</state> + </option> + <option> + <name>CCListCMnemonics</name> + <state>0</state> + </option> + <option> + <name>CCListCMessages</name> + <state>0</state> + </option> + <option> + <name>CCListAssFile</name> + <state>0</state> + </option> + <option> + <name>CCListAssSource</name> + <state>0</state> + </option> + <option> + <name>CCEnableRemarks</name> + <state>1</state> + </option> + <option> + <name>CCDiagSuppress</name> + <state></state> + </option> + <option> + <name>CCDiagRemark</name> + <state></state> + </option> + <option> + <name>CCDiagWarning</name> + <state></state> + </option> + <option> + <name>CCDiagError</name> + <state></state> + </option> + <option> + <name>CCObjPrefix</name> + <state>1</state> + </option> + <option> + <name>CCAllowList</name> + <version>0</version> + <state>1111111</state> + </option> + <option> + <name>CCDebugInfo</name> + <state>0</state> + </option> + <option> + <name>IEndianMode</name> + <state>1</state> + </option> + <option> + <name>IProcessor</name> + <state>1</state> + </option> + <option> + <name>IExtraOptionsCheck</name> + <state>0</state> + </option> + <option> + <name>IExtraOptions</name> + <state></state> + </option> + <option> + <name>CCLangConformance</name> + <state>0</state> + </option> + <option> + <name>CCSignedPlainChar</name> + <state>1</state> + </option> + <option> + <name>CCRequirePrototypes</name> + <state>1</state> + </option> + <option> + <name>CCMultibyteSupport</name> + <state>0</state> + </option> + <option> + <name>CCDiagWarnAreErr</name> + <state>0</state> + </option> + <option> + <name>CCCompilerRuntimeInfo</name> + <state>0</state> + </option> + <option> + <name>IFpuProcessor</name> + <state>1</state> + </option> + <option> + <name>OutputFile</name> + <state>$FILE_BNAME$.o</state> + </option> + <option> + <name>CCLibConfigHeader</name> + <state>1</state> + </option> + <option> + <name>PreInclude</name> + <state></state> + </option> + <option> + <name>CompilerMisraOverride</name> + <state>0</state> + </option> + <option> + <name>CCIncludePath2</name> + <state>$PROJ_DIR$/../..</state> + <state>$PROJ_DIR$/../../../../../../../../sam/utils</state> + <state>$PROJ_DIR$/../../../../../../../../common/services/clock</state> + <state>$PROJ_DIR$/../../../../../../../../sam/boards</state> + <state>$PROJ_DIR$/../../../../../../../../sam/utils/header_files</state> + <state>$PROJ_DIR$/../../../../../../../../common/boards</state> + <state>$PROJ_DIR$/../../../../../../../../sam/utils/preprocessor</state> + <state>$PROJ_DIR$/../../../../../../../../sam/utils/cmsis/sam4cm/source/templates</state> + <state>$PROJ_DIR$/../../../../../../../../sam/drivers/pmc</state> + <state>$PROJ_DIR$/../../../../../../../../sam/services/flash_efc</state> + <state>$PROJ_DIR$/../../../../../../../../sam/boards/sam4cms_db</state> + <state>$PROJ_DIR$/../../../../../../../../common/utils</state> + <state>$PROJ_DIR$/..</state> + <state>$PROJ_DIR$/../../../../../../../../sam/utils/cmsis/sam4cm/include</state> + <state>$PROJ_DIR$/../../../../../../../../common/services/ioport</state> + <state>$PROJ_DIR$/../../../../../../../../sam/drivers/efc</state> + <state>$PROJ_DIR$/.</state> + </option> + <option> + <name>CCStdIncCheck</name> + <state>0</state> + </option> + <option> + <name>CCCodeSection</name> + <state>.text</state> + </option> + <option> + <name>IInterwork2</name> + <state>0</state> + </option> + <option> + <name>IProcessorMode2</name> + <state>1</state> + </option> + <option> + <name>CCOptLevel</name> + <state>3</state> + </option> + <option> + <name>CCOptStrategy</name> + <version>0</version> + <state>1</state> + </option> + <option> + <name>CCOptLevelSlave</name> + <state>3</state> + </option> + <option> + <name>CompilerMisraRules98</name> + <version>0</version> + <state>1000111110110101101110011100111111101110011011000101110111101101100111111111111100110011111001110111001111111111111111111111111</state> + </option> + <option> + <name>CompilerMisraRules04</name> + <version>0</version> + <state>111101110010111111111000110111111111111111111111111110010111101111010101111111111111111111111111101111111011111001111011111011111111111111111</state> + </option> + <option> + <name>CCPosIndRopi</name> + <state>0</state> + </option> + <option> + <name>CCPosIndRwpi</name> + <state>0</state> + </option> + <option> + <name>CCPosIndNoDynInit</name> + <state>0</state> + </option> + <option> + <name>IccLang</name> + <state>0</state> + </option> + <option> + <name>IccCDialect</name> + <state>1</state> + </option> + <option> + <name>IccAllowVLA</name> + <state>0</state> + </option> + <option> + <name>IccCppDialect</name> + <state>1</state> + </option> + <option> + <name>IccExceptions</name> + <state>1</state> + </option> + <option> + <name>IccRTTI</name> + <state>1</state> + </option> + <option> + <name>IccStaticDestr</name> + <state>1</state> + </option> + <option> + <name>IccRelaxedFpPrecision</name> + <state>0</state> + </option> + <option> + <name>IccCppInlineSemantics</name> + <state>0</state> + </option> + <option> + <name>IccCmsis</name> + <state>1</state> + </option> + </data> + </settings> + <settings> + <name>AARM</name> + <archiveVersion>2</archiveVersion> + <data> + <version>8</version> + <wantNonLocal>1</wantNonLocal> + <debug>0</debug> + <option> + <name>AObjPrefix</name> + <state>1</state> + </option> + <option> + <name>AEndian</name> + <state>1</state> + </option> + <option> + <name>ACaseSensitivity</name> + <state>1</state> + </option> + <option> + <name>MacroChars</name> + <version>0</version> + <state>0</state> + </option> + <option> + <name>AWarnEnable</name> + <state>0</state> + </option> + <option> + <name>AWarnWhat</name> + <state>0</state> + </option> + <option> + <name>AWarnOne</name> + <state></state> + </option> + <option> + <name>AWarnRange1</name> + <state></state> + </option> + <option> + <name>AWarnRange2</name> + <state></state> + </option> + <option> + <name>ADebug</name> + <state>0</state> + </option> + <option> + <name>AltRegisterNames</name> + <state>0</state> + </option> + <option> + <name>ADefines</name> + <state>__SAM4CMS16C_0__</state> + <state>ARM_MATH_CM4=true</state> + <state>BOARD=SAM4CMS_DB</state> + </option> + <option> + <name>AList</name> + <state>0</state> + </option> + <option> + <name>AListHeader</name> + <state>1</state> + </option> + <option> + <name>AListing</name> + <state>1</state> + </option> + <option> + <name>Includes</name> + <state>0</state> + </option> + <option> + <name>MacDefs</name> + <state>0</state> + </option> + <option> + <name>MacExps</name> + <state>1</state> + </option> + <option> + <name>MacExec</name> + <state>0</state> + </option> + <option> + <name>OnlyAssed</name> + <state>0</state> + </option> + <option> + <name>MultiLine</name> + <state>0</state> + </option> + <option> + <name>PageLengthCheck</name> + <state>0</state> + </option> + <option> + <name>PageLength</name> + <state>80</state> + </option> + <option> + <name>TabSpacing</name> + <state>8</state> + </option> + <option> + <name>AXRef</name> + <state>0</state> + </option> + <option> + <name>AXRefDefines</name> + <state>0</state> + </option> + <option> + <name>AXRefInternal</name> + <state>0</state> + </option> + <option> + <name>AXRefDual</name> + <state>0</state> + </option> + <option> + <name>AProcessor</name> + <state>1</state> + </option> + <option> + <name>AFpuProcessor</name> + <state>1</state> + </option> + <option> + <name>AOutputFile</name> + <state>$FILE_BNAME$.o</state> + </option> + <option> + <name>AMultibyteSupport</name> + <state>0</state> + </option> + <option> + <name>ALimitErrorsCheck</name> + <state>0</state> + </option> + <option> + <name>ALimitErrorsEdit</name> + <state>100</state> + </option> + <option> + <name>AIgnoreStdInclude</name> + <state>0</state> + </option> + <option> + <name>AUserIncludes</name> + <state>$PROJ_DIR$/../..</state> + <state>$PROJ_DIR$/../../../../../../../../sam/utils</state> + <state>$PROJ_DIR$/../../../../../../../../common/services/clock</state> + <state>$PROJ_DIR$/../../../../../../../../sam/boards</state> + <state>$PROJ_DIR$/../../../../../../../../sam/utils/header_files</state> + <state>$PROJ_DIR$/../../../../../../../../common/boards</state> + <state>$PROJ_DIR$/../../../../../../../../sam/utils/preprocessor</state> + <state>$PROJ_DIR$/../../../../../../../../sam/utils/cmsis/sam4cm/source/templates</state> + <state>$PROJ_DIR$/../../../../../../../../sam/drivers/pmc</state> + <state>$PROJ_DIR$/../../../../../../../../sam/services/flash_efc</state> + <state>$PROJ_DIR$/../../../../../../../../sam/boards/sam4cms_db</state> + <state>$PROJ_DIR$/../../../../../../../../common/utils</state> + <state>$PROJ_DIR$/..</state> + <state>$PROJ_DIR$/../../../../../../../../sam/utils/cmsis/sam4cm/include</state> + <state>$PROJ_DIR$/../../../../../../../../common/services/ioport</state> + <state>$PROJ_DIR$/../../../../../../../../sam/drivers/efc</state> + <state>$PROJ_DIR$/.</state> + </option> + <option> + <name>AExtraOptionsCheckV2</name> + <state>0</state> + </option> + <option> + <name>AExtraOptionsV2</name> + <state></state> + </option> + </data> + </settings> + <settings> + <name>OBJCOPY</name> + <archiveVersion>0</archiveVersion> + <data> + <version>1</version> + <wantNonLocal>1</wantNonLocal> + <debug>0</debug> + <option> + <name>OOCOutputFormat</name> + <version>2</version> + <state>2</state> + </option> + <option> + <name>OCOutputOverride</name> + <state>1</state> + </option> + <option> + <name>OOCOutputFile</name> + <state>addons_bootloader_flash.bin</state> + </option> + <option> + <name>OOCCommandLineProducer</name> + <state>1</state> + </option> + <option> + <name>OOCObjCopyEnable</name> + <state>0</state> + </option> + </data> + </settings> + <settings> + <name>CUSTOM</name> + <archiveVersion>3</archiveVersion> + <data> + <extensions></extensions> + <cmdline></cmdline> + </data> + </settings> + <settings> + <name>BICOMP</name> + <archiveVersion>0</archiveVersion> + <data></data> + </settings> + <settings> + <name>BUILDACTION</name> + <archiveVersion>1</archiveVersion> + <data> + <prebuild></prebuild> + <postbuild></postbuild> + </data> + </settings> + <settings> + <name>ILINK</name> + <archiveVersion>0</archiveVersion> + <data> + <version>12</version> + <wantNonLocal>1</wantNonLocal> + <debug>0</debug> + <option> + <name>IlinkOutputFile</name> + <state>addons_bootloader_flash.out</state> + </option> + <option> + <name>IlinkLibIOConfig</name> + <state>1</state> + </option> + <option> + <name>XLinkMisraHandler</name> + <state>0</state> + </option> + <option> + <name>IlinkInputFileSlave</name> + <state>0</state> + </option> + <option> + <name>IlinkDebugInfoEnable</name> + <state>1</state> + </option> + <option> + <name>IlinkKeepSymbols</name> + <state></state> + </option> + <option> + <name>IlinkRawBinaryFile</name> + <state></state> + </option> + <option> + <name>IlinkRawBinarySymbol</name> + <state></state> + </option> + <option> + <name>IlinkRawBinarySegment</name> + <state></state> + </option> + <option> + <name>IlinkRawBinaryAlign</name> + <state></state> + </option> + <option> + <name>IlinkDefines</name> + <state></state> + </option> + <option> + <name>IlinkConfigDefines</name> + <state></state> + </option> + <option> + <name>IlinkMapFile</name> + <state>1</state> + </option> + <option> + <name>IlinkLogFile</name> + <state>0</state> + </option> + <option> + <name>IlinkLogInitialization</name> + <state>0</state> + </option> + <option> + <name>IlinkLogModule</name> + <state>0</state> + </option> + <option> + <name>IlinkLogSection</name> + <state>0</state> + </option> + <option> + <name>IlinkLogVeneer</name> + <state>0</state> + </option> + <option> + <name>IlinkIcfOverride</name> + <state>1</state> + </option> + <option> + <name>IlinkIcfFile</name> + <state>$PROJ_DIR$/../../linker_scripts/iar/sam4cms16c_0_flash.icf</state> + </option> + <option> + <name>IlinkIcfFileSlave</name> + <state></state> + </option> + <option> + <name>IlinkEnableRemarks</name> + <state>0</state> + </option> + <option> + <name>IlinkSuppressDiags</name> + <state></state> + </option> + <option> + <name>IlinkTreatAsRem</name> + <state></state> + </option> + <option> + <name>IlinkTreatAsWarn</name> + <state></state> + </option> + <option> + <name>IlinkTreatAsErr</name> + <state></state> + </option> + <option> + <name>IlinkWarningsAreErrors</name> + <state>0</state> + </option> + <option> + <name>IlinkUseExtraOptions</name> + <state>1</state> + </option> + <option> + <name>IlinkExtraOptions</name> + </option> + <option> + <name>IlinkLowLevelInterfaceSlave</name> + <state>1</state> + </option> + <option> + <name>IlinkAutoLibEnable</name> + <state>1</state> + </option> + <option> + <name>IlinkAdditionalLibs</name> + <state></state> + </option> + <option> + <name>IlinkOverrideProgramEntryLabel</name> + <state>0</state> + </option> + <option> + <name>IlinkProgramEntryLabelSelect</name> + <state>0</state> + </option> + <option> + <name>IlinkProgramEntryLabel</name> + <state>__iar_program_start</state> + </option> + <option> + <name>DoFill</name> + <state>0</state> + </option> + <option> + <name>FillerByte</name> + <state>0xFF</state> + </option> + <option> + <name>FillerStart</name> + <state>0x0</state> + </option> + <option> + <name>FillerEnd</name> + <state>0x0</state> + </option> + <option> + <name>CrcSize</name> + <version>0</version> + <state>1</state> + </option> + <option> + <name>CrcAlign</name> + <state>1</state> + </option> + <option> + <name>CrcAlgo</name> + <state>1</state> + </option> + <option> + <name>CrcPoly</name> + <state>0x11021</state> + </option> + <option> + <name>CrcCompl</name> + <version>0</version> + <state>0</state> + </option> + <option> + <name>CrcBitOrder</name> + <version>0</version> + <state>0</state> + </option> + <option> + <name>CrcInitialValue</name> + <state>0x0</state> + </option> + <option> + <name>DoCrc</name> + <state>0</state> + </option> + <option> + <name>IlinkBE8Slave</name> + <state>1</state> + </option> + <option> + <name>IlinkBufferedTerminalOutput</name> + <state>1</state> + </option> + <option> + <name>IlinkStdoutInterfaceSlave</name> + <state>1</state> + </option> + <option> + <name>CrcFullSize</name> + <state>0</state> + </option> + <option> + <name>IlinkIElfToolPostProcess</name> + <state>0</state> + </option> + <option> + <name>IlinkLogAutoLibSelect</name> + <state>0</state> + </option> + <option> + <name>IlinkLogRedirSymbols</name> + <state>0</state> + </option> + <option> + <name>IlinkLogUnusedFragments</name> + <state>0</state> + </option> + <option> + <name>IlinkCrcReverseByteOrder</name> + <state>0</state> + </option> + <option> + <name>IlinkCrcUseAsInput</name> + <state>1</state> + </option> + <option> + <name>IlinkOptInline</name> + <state>1</state> + </option> + <option> + <name>IlinkOptExceptionsAllow</name> + <state>1</state> + </option> + <option> + <name>IlinkOptExceptionsForce</name> + <state>0</state> + </option> + <option> + <name>IlinkCmsis</name> + <state>1</state> + </option> + </data> + </settings> + <settings> + <name>IARCHIVE</name> + <archiveVersion>0</archiveVersion> + <data> + <version>0</version> + <wantNonLocal>1</wantNonLocal> + <debug>0</debug> + <option> + <name>IarchiveInputs</name> + <state></state> + </option> + <option> + <name>IarchiveOverride</name> + <state>0</state> + </option> + <option> + <name>IarchiveOutput</name> + <state>###Unitialized###</state> + </option> + </data> + </settings> + <settings> + <name>BILINK</name> + <archiveVersion>0</archiveVersion> + <data></data> + </settings> + </configuration> + <group> + <name>sam</name> + <group> + <name>boards</name> + <group> + <name>sam4cms_db</name> + <file> + <name>$PROJ_DIR$/../../../../../../../../sam/boards/sam4cms_db/init.c</name> + </file> + <file> + <name>$PROJ_DIR$/../../../../../../../../sam/boards/sam4cms_db/led.h</name> + </file> + <file> + <name>$PROJ_DIR$/../../../../../../../../sam/boards/sam4cms_db/sam4cms_db.h</name> + </file> + </group> + </group> + <group> + <name>utils</name> + <group> + <name>cmsis</name> + <group> + <name>sam4cm</name> + <group> + <name>source</name> + <group> + <name>templates</name> + <group> + <name>iar</name> + <file> + <name>$PROJ_DIR$/../../../../../../../../sam/utils/cmsis/sam4cm/source/templates/iar/startup_sam4cm.c</name> + </file> + </group> + <file> + <name>$PROJ_DIR$/../../../../../../../../sam/utils/cmsis/sam4cm/source/templates/system_sam4cm.c</name> + </file> + </group> + </group> + <group> + <name>include</name> + <file> + <name>$PROJ_DIR$/../../../../../../../../sam/utils/cmsis/sam4cm/include/sam4cms8c_0.h</name> + </file> + <file> + <name>$PROJ_DIR$/../../../../../../../../sam/utils/cmsis/sam4cm/include/sam4cmp8c_0.h</name> + </file> + <group> + <name>instance</name> + <file> + <name>$PROJ_DIR$/../../../../../../../../sam/utils/cmsis/sam4cm/include/instance/cmcc0.h</name> + </file> + <file> + <name>$PROJ_DIR$/../../../../../../../../sam/utils/cmsis/sam4cm/include/instance/efc.h</name> + </file> + <file> + <name>$PROJ_DIR$/../../../../../../../../sam/utils/cmsis/sam4cm/include/instance/smc1.h</name> + </file> + <file> + <name>$PROJ_DIR$/../../../../../../../../sam/utils/cmsis/sam4cm/include/instance/wdt.h</name> + </file> + <file> + <name>$PROJ_DIR$/../../../../../../../../sam/utils/cmsis/sam4cm/include/instance/ipc1.h</name> + </file> + <file> + <name>$PROJ_DIR$/../../../../../../../../sam/utils/cmsis/sam4cm/include/instance/uart1.h</name> + </file> + <file> + <name>$PROJ_DIR$/../../../../../../../../sam/utils/cmsis/sam4cm/include/instance/spi0.h</name> + </file> + <file> + <name>$PROJ_DIR$/../../../../../../../../sam/utils/cmsis/sam4cm/include/instance/twi1.h</name> + </file> + <file> + <name>$PROJ_DIR$/../../../../../../../../sam/utils/cmsis/sam4cm/include/instance/rtc.h</name> + </file> + <file> + <name>$PROJ_DIR$/../../../../../../../../sam/utils/cmsis/sam4cm/include/instance/matrix0.h</name> + </file> + <file> + <name>$PROJ_DIR$/../../../../../../../../sam/utils/cmsis/sam4cm/include/instance/chipid.h</name> + </file> + <file> + <name>$PROJ_DIR$/../../../../../../../../sam/utils/cmsis/sam4cm/include/instance/usart3.h</name> + </file> + <file> + <name>$PROJ_DIR$/../../../../../../../../sam/utils/cmsis/sam4cm/include/instance/usart0.h</name> + </file> + <file> + <name>$PROJ_DIR$/../../../../../../../../sam/utils/cmsis/sam4cm/include/instance/pioa.h</name> + </file> + <file> + <name>$PROJ_DIR$/../../../../../../../../sam/utils/cmsis/sam4cm/include/instance/rtt.h</name> + </file> + <file> + <name>$PROJ_DIR$/../../../../../../../../sam/utils/cmsis/sam4cm/include/instance/tc0.h</name> + </file> + <file> + <name>$PROJ_DIR$/../../../../../../../../sam/utils/cmsis/sam4cm/include/instance/tc1.h</name> + </file> + <file> + <name>$PROJ_DIR$/../../../../../../../../sam/utils/cmsis/sam4cm/include/instance/rswdt.h</name> + </file> + <file> + <name>$PROJ_DIR$/../../../../../../../../sam/utils/cmsis/sam4cm/include/instance/adc.h</name> + </file> + <file> + <name>$PROJ_DIR$/../../../../../../../../sam/utils/cmsis/sam4cm/include/instance/gpbr.h</name> + </file> + <file> + <name>$PROJ_DIR$/../../../../../../../../sam/utils/cmsis/sam4cm/include/instance/ipc0.h</name> + </file> + <file> + <name>$PROJ_DIR$/../../../../../../../../sam/utils/cmsis/sam4cm/include/instance/pmc.h</name> + </file> + <file> + <name>$PROJ_DIR$/../../../../../../../../sam/utils/cmsis/sam4cm/include/instance/pioc.h</name> + </file> + <file> + <name>$PROJ_DIR$/../../../../../../../../sam/utils/cmsis/sam4cm/include/instance/matrix1.h</name> + </file> + <file> + <name>$PROJ_DIR$/../../../../../../../../sam/utils/cmsis/sam4cm/include/instance/uart0.h</name> + </file> + <file> + <name>$PROJ_DIR$/../../../../../../../../sam/utils/cmsis/sam4cm/include/instance/usart1.h</name> + </file> + <file> + <name>$PROJ_DIR$/../../../../../../../../sam/utils/cmsis/sam4cm/include/instance/rstc.h</name> + </file> + <file> + <name>$PROJ_DIR$/../../../../../../../../sam/utils/cmsis/sam4cm/include/instance/usart2.h</name> + </file> + <file> + <name>$PROJ_DIR$/../../../../../../../../sam/utils/cmsis/sam4cm/include/instance/twi0.h</name> + </file> + <file> + <name>$PROJ_DIR$/../../../../../../../../sam/utils/cmsis/sam4cm/include/instance/supc.h</name> + </file> + <file> + <name>$PROJ_DIR$/../../../../../../../../sam/utils/cmsis/sam4cm/include/instance/smc0.h</name> + </file> + <file> + <name>$PROJ_DIR$/../../../../../../../../sam/utils/cmsis/sam4cm/include/instance/trng.h</name> + </file> + <file> + <name>$PROJ_DIR$/../../../../../../../../sam/utils/cmsis/sam4cm/include/instance/slcdc.h</name> + </file> + <file> + <name>$PROJ_DIR$/../../../../../../../../sam/utils/cmsis/sam4cm/include/instance/cmcc1.h</name> + </file> + <file> + <name>$PROJ_DIR$/../../../../../../../../sam/utils/cmsis/sam4cm/include/instance/piob.h</name> + </file> + <file> + <name>$PROJ_DIR$/../../../../../../../../sam/utils/cmsis/sam4cm/include/instance/pwm.h</name> + </file> + <file> + <name>$PROJ_DIR$/../../../../../../../../sam/utils/cmsis/sam4cm/include/instance/icm.h</name> + </file> + <file> + <name>$PROJ_DIR$/../../../../../../../../sam/utils/cmsis/sam4cm/include/instance/spi1.h</name> + </file> + <file> + <name>$PROJ_DIR$/../../../../../../../../sam/utils/cmsis/sam4cm/include/instance/aes.h</name> + </file> + </group> + <group> + <name>component</name> + <file> + <name>$PROJ_DIR$/../../../../../../../../sam/utils/cmsis/sam4cm/include/component/gpbr.h</name> + </file> + <file> + <name>$PROJ_DIR$/../../../../../../../../sam/utils/cmsis/sam4cm/include/component/tc.h</name> + </file> + <file> + <name>$PROJ_DIR$/../../../../../../../../sam/utils/cmsis/sam4cm/include/component/rtc.h</name> + </file> + <file> + <name>$PROJ_DIR$/../../../../../../../../sam/utils/cmsis/sam4cm/include/component/adc.h</name> + </file> + <file> + <name>$PROJ_DIR$/../../../../../../../../sam/utils/cmsis/sam4cm/include/component/chipid.h</name> + </file> + <file> + <name>$PROJ_DIR$/../../../../../../../../sam/utils/cmsis/sam4cm/include/component/matrix.h</name> + </file> + <file> + <name>$PROJ_DIR$/../../../../../../../../sam/utils/cmsis/sam4cm/include/component/rswdt.h</name> + </file> + <file> + <name>$PROJ_DIR$/../../../../../../../../sam/utils/cmsis/sam4cm/include/component/rstc.h</name> + </file> + <file> + <name>$PROJ_DIR$/../../../../../../../../sam/utils/cmsis/sam4cm/include/component/efc.h</name> + </file> + <file> + <name>$PROJ_DIR$/../../../../../../../../sam/utils/cmsis/sam4cm/include/component/slcdc.h</name> + </file> + <file> + <name>$PROJ_DIR$/../../../../../../../../sam/utils/cmsis/sam4cm/include/component/twi.h</name> + </file> + <file> + <name>$PROJ_DIR$/../../../../../../../../sam/utils/cmsis/sam4cm/include/component/pwm.h</name> + </file> + <file> + <name>$PROJ_DIR$/../../../../../../../../sam/utils/cmsis/sam4cm/include/component/trng.h</name> + </file> + <file> + <name>$PROJ_DIR$/../../../../../../../../sam/utils/cmsis/sam4cm/include/component/rtt.h</name> + </file> + <file> + <name>$PROJ_DIR$/../../../../../../../../sam/utils/cmsis/sam4cm/include/component/supc.h</name> + </file> + <file> + <name>$PROJ_DIR$/../../../../../../../../sam/utils/cmsis/sam4cm/include/component/pdc.h</name> + </file> + <file> + <name>$PROJ_DIR$/../../../../../../../../sam/utils/cmsis/sam4cm/include/component/spi.h</name> + </file> + <file> + <name>$PROJ_DIR$/../../../../../../../../sam/utils/cmsis/sam4cm/include/component/pio.h</name> + </file> + <file> + <name>$PROJ_DIR$/../../../../../../../../sam/utils/cmsis/sam4cm/include/component/smc.h</name> + </file> + <file> + <name>$PROJ_DIR$/../../../../../../../../sam/utils/cmsis/sam4cm/include/component/pmc.h</name> + </file> + <file> + <name>$PROJ_DIR$/../../../../../../../../sam/utils/cmsis/sam4cm/include/component/uart.h</name> + </file> + <file> + <name>$PROJ_DIR$/../../../../../../../../sam/utils/cmsis/sam4cm/include/component/aes.h</name> + </file> + <file> + <name>$PROJ_DIR$/../../../../../../../../sam/utils/cmsis/sam4cm/include/component/icm.h</name> + </file> + <file> + <name>$PROJ_DIR$/../../../../../../../../sam/utils/cmsis/sam4cm/include/component/usart.h</name> + </file> + <file> + <name>$PROJ_DIR$/../../../../../../../../sam/utils/cmsis/sam4cm/include/component/wdt.h</name> + </file> + <file> + <name>$PROJ_DIR$/../../../../../../../../sam/utils/cmsis/sam4cm/include/component/ipc.h</name> + </file> + <file> + <name>$PROJ_DIR$/../../../../../../../../sam/utils/cmsis/sam4cm/include/component/cmcc.h</name> + </file> + </group> + <file> + <name>$PROJ_DIR$/../../../../../../../../sam/utils/cmsis/sam4cm/include/sam4cms4c_1.h</name> + </file> + <file> + <name>$PROJ_DIR$/../../../../../../../../sam/utils/cmsis/sam4cm/include/sam4cms16c_1.h</name> + </file> + <group> + <name>pio</name> + <file> + <name>$PROJ_DIR$/../../../../../../../../sam/utils/cmsis/sam4cm/include/pio/sam4cms8c.h</name> + </file> + <file> + <name>$PROJ_DIR$/../../../../../../../../sam/utils/cmsis/sam4cm/include/pio/sam4cms4c.h</name> + </file> + <file> + <name>$PROJ_DIR$/../../../../../../../../sam/utils/cmsis/sam4cm/include/pio/sam4cmp16c.h</name> + </file> + <file> + <name>$PROJ_DIR$/../../../../../../../../sam/utils/cmsis/sam4cm/include/pio/sam4cmp8c.h</name> + </file> + <file> + <name>$PROJ_DIR$/../../../../../../../../sam/utils/cmsis/sam4cm/include/pio/sam4cms16c.h</name> + </file> + </group> + <file> + <name>$PROJ_DIR$/../../../../../../../../sam/utils/cmsis/sam4cm/include/sam4cmp16c_0.h</name> + </file> + <file> + <name>$PROJ_DIR$/../../../../../../../../sam/utils/cmsis/sam4cm/include/sam4cmp8c_1.h</name> + </file> + <file> + <name>$PROJ_DIR$/../../../../../../../../sam/utils/cmsis/sam4cm/include/sam4cms4c_0.h</name> + </file> + <file> + <name>$PROJ_DIR$/../../../../../../../../sam/utils/cmsis/sam4cm/include/sam4cm.h</name> + </file> + <file> + <name>$PROJ_DIR$/../../../../../../../../sam/utils/cmsis/sam4cm/include/system_sam4cm.h</name> + </file> + <file> + <name>$PROJ_DIR$/../../../../../../../../sam/utils/cmsis/sam4cm/include/sam4cms8c_1.h</name> + </file> + <file> + <name>$PROJ_DIR$/../../../../../../../../sam/utils/cmsis/sam4cm/include/sam4cms16c_0.h</name> + </file> + <file> + <name>$PROJ_DIR$/../../../../../../../../sam/utils/cmsis/sam4cm/include/sam4cmp16c_1.h</name> + </file> + </group> + </group> + </group> + <group> + <name>preprocessor</name> + <file> + <name>$PROJ_DIR$/../../../../../../../../sam/utils/preprocessor/preprocessor.h</name> + </file> + <file> + <name>$PROJ_DIR$/../../../../../../../../sam/utils/preprocessor/stringz.h</name> + </file> + <file> + <name>$PROJ_DIR$/../../../../../../../../sam/utils/preprocessor/tpaste.h</name> + </file> + <file> + <name>$PROJ_DIR$/../../../../../../../../sam/utils/preprocessor/mrepeat.h</name> + </file> + </group> + <file> + <name>$PROJ_DIR$/../../../../../../../../sam/utils/compiler.h</name> + </file> + <file> + <name>$PROJ_DIR$/../../../../../../../../sam/utils/status_codes.h</name> + </file> + <group> + <name>header_files</name> + <file> + <name>$PROJ_DIR$/../../../../../../../../sam/utils/header_files/io.h</name> + </file> + </group> + </group> + <group> + <name>drivers</name> + <group> + <name>efc</name> + <file> + <name>$PROJ_DIR$/../../../../../../../../sam/drivers/efc/efc.c</name> + </file> + <file> + <name>$PROJ_DIR$/../../../../../../../../sam/drivers/efc/efc.h</name> + </file> + </group> + <group> + <name>pmc</name> + <file> + <name>$PROJ_DIR$/../../../../../../../../sam/drivers/pmc/sleep.c</name> + </file> + <file> + <name>$PROJ_DIR$/../../../../../../../../sam/drivers/pmc/pmc.c</name> + </file> + <file> + <name>$PROJ_DIR$/../../../../../../../../sam/drivers/pmc/sleep.h</name> + </file> + <file> + <name>$PROJ_DIR$/../../../../../../../../sam/drivers/pmc/pmc.h</name> + </file> + </group> + </group> + <group> + <name>services</name> + <group> + <name>flash_efc</name> + <file> + <name>$PROJ_DIR$/../../../../../../../../sam/services/flash_efc/flash_efc.c</name> + </file> + <file> + <name>$PROJ_DIR$/../../../../../../../../sam/services/flash_efc/flash_efc.h</name> + </file> + </group> + </group> + </group> + <group> + <name>common</name> + <group> + <name>services</name> + <group> + <name>clock</name> + <group> + <name>sam4cm</name> + <file> + <name>$PROJ_DIR$/../../../../../../../../common/services/clock/sam4cm/sysclk.c</name> + </file> + <file> + <name>$PROJ_DIR$/../../../../../../../../common/services/clock/sam4cm/genclk.h</name> + </file> + <file> + <name>$PROJ_DIR$/../../../../../../../../common/services/clock/sam4cm/sysclk.h</name> + </file> + <file> + <name>$PROJ_DIR$/../../../../../../../../common/services/clock/sam4cm/pll.h</name> + </file> + <file> + <name>$PROJ_DIR$/../../../../../../../../common/services/clock/sam4cm/osc.h</name> + </file> + </group> + <file> + <name>$PROJ_DIR$/../../../../../../../../common/services/clock/pll.h</name> + </file> + <file> + <name>$PROJ_DIR$/../../../../../../../../common/services/clock/osc.h</name> + </file> + <file> + <name>$PROJ_DIR$/../../../../../../../../common/services/clock/genclk.h</name> + </file> + <file> + <name>$PROJ_DIR$/../../../../../../../../common/services/clock/sysclk.h</name> + </file> + </group> + <group> + <name>ioport</name> + <file> + <name>$PROJ_DIR$/../../../../../../../../common/services/ioport/ioport.h</name> + </file> + <group> + <name>sam</name> + <file> + <name>$PROJ_DIR$/../../../../../../../../common/services/ioport/sam/ioport_pio.h</name> + </file> + </group> + </group> + </group> + <group> + <name>utils</name> + <group> + <name>interrupt</name> + <file> + <name>$PROJ_DIR$/../../../../../../../../common/utils/interrupt/interrupt_sam_nvic.c</name> + </file> + <file> + <name>$PROJ_DIR$/../../../../../../../../common/utils/interrupt/interrupt_sam_nvic.h</name> + </file> + </group> + <file> + <name>$PROJ_DIR$/../../../../../../../../common/utils/parts.h</name> + </file> + <file> + <name>$PROJ_DIR$/../../../../../../../../common/utils/interrupt.h</name> + </file> + </group> + <group> + <name>boards</name> + <file> + <name>$PROJ_DIR$/../../../../../../../../common/boards/board.h</name> + </file> + </group> + </group> + <group> + <name>thirdparty</name> + <group> + <name>prime</name> + <group> + <name>mac</name> + <group> + <name>mac_1_3</name> + <group> + <name>addons</name> + <group> + <name>bootloader</name> + <file> + <name>$PROJ_DIR$/../../bootloader.c</name> + </file> + <file> + <name>$PROJ_DIR$/../../boot_regions_sam4cms16c_0.h</name> + </file> + <group> + <name>sam4cms16c_sam4cmsdb</name> + <file> + <name>$PROJ_DIR$/../conf_clock.h</name> + </file> + <file> + <name>$PROJ_DIR$/../conf_board.h</name> + </file> + <group> + <name>iar</name> + <file> + <name>$PROJ_DIR$/asf.h</name> + </file> + </group> + <file> + <name>$PROJ_DIR$/../conf_sleepmgr.h</name> + </file> + <file> + <name>$PROJ_DIR$/../conf_version.h</name> + </file> + </group> + </group> + </group> + </group> + </group> + </group> + </group> +</project> diff --git a/thirdparty/prime/mac/mac_1_3/addons/bootloader/sam4cms16c_sam4cmsdb/iar/asf.h b/thirdparty/prime/mac/mac_1_3/addons/bootloader/sam4cms16c_sam4cmsdb/iar/asf.h new file mode 100644 index 00000000..61afbf7a --- /dev/null +++ b/thirdparty/prime/mac/mac_1_3/addons/bootloader/sam4cms16c_sam4cmsdb/iar/asf.h @@ -0,0 +1,87 @@ +/** + * \file + * + * \brief Autogenerated API include file for the Atmel Software Framework (ASF) + * + * Copyright (c) 2012 Atmel Corporation. All rights reserved. + * + * \asf_license_start + * + * \page License + * + * 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 microcontroller 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. + * + * \asf_license_stop + * + */ + +#ifndef ASF_H +#define ASF_H + +/* + * This file includes all API header files for the selected drivers from ASF. + * Note: There might be duplicate includes required by more than one driver. + * + * The file is automatically generated and will be re-written when + * running the ASF driver selector tool. Any changes will be discarded. + */ +
+// From module: Common SAM compiler driver
+#include <compiler.h>
+#include <status_codes.h>
+
+// From module: EEFC - Enhanced Embedded Flash Controller
+#include <efc.h>
+
+// From module: Flash - SAM Flash Service API
+#include <flash_efc.h>
+
+// From module: Generic board support
+#include <board.h>
+
+// From module: IOPORT - General purpose I/O service
+#include <ioport.h>
+
+// From module: Interrupt management - SAM implementation
+#include <interrupt.h>
+
+// From module: PMC - Power Management Controller
+#include <pmc.h>
+#include <sleep.h>
+
+// From module: Part identification macros
+#include <parts.h>
+
+// From module: SAM4CMS Demo Board LED support enabled
+#include <led.h>
+
+// From module: System Clock Control - SAM4CM implementation
+#include <sysclk.h>
+ +#endif // ASF_H diff --git a/thirdparty/prime/mac/mac_1_3/addons/bootloader/sam4cp16b_sam4cp16bmb/conf_board.h b/thirdparty/prime/mac/mac_1_3/addons/bootloader/sam4cp16b_sam4cp16bmb/conf_board.h new file mode 100644 index 00000000..b124edd0 --- /dev/null +++ b/thirdparty/prime/mac/mac_1_3/addons/bootloader/sam4cp16b_sam4cp16bmb/conf_board.h @@ -0,0 +1,97 @@ +/** + * \file + * + * \brief Board configuration. + * + * Copyright (c) 2014-2015 Atmel Corporation. All rights reserved. + * + * \asf_license_start + * + * \page License + * + * 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 microcontroller 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. + * + * \asf_license_stop + * + */ + +#ifndef CONF_BOARD_H_INCLUDED +#define CONF_BOARD_H_INCLUDED + +/* BOARD Rev. */ +#define BOARD_REV BOARD_REV_2 + +/** Enable watchdog */ +//#define CONF_BOARD_KEEP_WATCHDOG_AT_INIT + +/** Configure Slow Clock as External Crystal */ +#define CONF_BOARD_32K_XTAL + +/** Enable UART 0 */ +//#define CONF_BOARD_UART0 + +/** Enable UART 1 */ +//#define CONF_BOARD_UART1 + +/** Enable Com Port. */ +//#define CONF_BOARD_UART_CONSOLE + +/** Enable USART 0 */ +//#define CONF_BOARD_USART0_RXD +//#define CONF_BOARD_USART0_TXD +//#define CONF_BOARD_USART0_CTS +//#define CONF_BOARD_USART0_RTS + +/** Enable USART 1 */ +//#define CONF_BOARD_USART1_RXD +//#define CONF_BOARD_USART1_TXD +//#define CONF_BOARD_USART1_CTS +//#define CONF_BOARD_USART1_RTS + +/** Enable PLC SPI_0 */ +//#define CONF_BOARD_SPI0 + +/** Enable PLC SPI_1 */ +//#define CONF_BOARD_SPI1 + +/** Enable PLC TWI_0 */ +//#define CONF_BOARD_TWI0 + +/* Configure PPLC reset pins */ +//#define CONF_BOARD_PPLC_ARST +//#define CONF_BOARD_PPLC_SRST + +/** Enable LCD */ +//#define CONF_BOARD_LCD_EN + +/** Enable Xplain PRO SLP pin */ +//#define CONF_BOARD_XP_SLP + + +#endif /* CONF_BOARD_H_INCLUDED */ diff --git a/thirdparty/prime/mac/mac_1_3/addons/bootloader/sam4cp16b_sam4cp16bmb/conf_clock.h b/thirdparty/prime/mac/mac_1_3/addons/bootloader/sam4cp16b_sam4cp16bmb/conf_clock.h new file mode 100644 index 00000000..40f68358 --- /dev/null +++ b/thirdparty/prime/mac/mac_1_3/addons/bootloader/sam4cp16b_sam4cp16bmb/conf_clock.h @@ -0,0 +1,109 @@ +/** + * \file + * + * \brief SAM4CP clock configuration. + * + * Copyright (c) 2014-2015 Atmel Corporation. All rights reserved. + * + * \asf_license_start + * + * \page License + * + * 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 microcontroller 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. + * + * \asf_license_stop + * + */ + +#ifndef CONF_CLOCK_H_INCLUDED +#define CONF_CLOCK_H_INCLUDED + +// ===== System Clock (MCK) Source Options +//#define CONFIG_SYSCLK_SOURCE SYSCLK_SRC_SLCK_RC +//#define CONFIG_SYSCLK_SOURCE SYSCLK_SRC_SLCK_XTAL +//#define CONFIG_SYSCLK_SOURCE SYSCLK_SRC_SLCK_BYPASS +//#define CONFIG_SYSCLK_SOURCE SYSCLK_SRC_MAINCK_4M_RC +//#define CONFIG_SYSCLK_SOURCE SYSCLK_SRC_MAINCK_8M_RC +//#define CONFIG_SYSCLK_SOURCE SYSCLK_SRC_MAINCK_12M_RC +//#define CONFIG_SYSCLK_SOURCE SYSCLK_SRC_MAINCK_XTAL +//#define CONFIG_SYSCLK_SOURCE SYSCLK_SRC_MAINCK_BYPASS +//#define CONFIG_SYSCLK_SOURCE SYSCLK_SRC_PLLACK +#define CONFIG_SYSCLK_SOURCE SYSCLK_SRC_PLLBCK + +// ===== System Clock (MCK) Prescaler Options (Fmck = Fsys / (SYSCLK_PRES)) +#define CONFIG_SYSCLK_PRES SYSCLK_PRES_1 +//#define CONFIG_SYSCLK_PRES SYSCLK_PRES_2 +//#define CONFIG_SYSCLK_PRES SYSCLK_PRES_4 +//#define CONFIG_SYSCLK_PRES SYSCLK_PRES_8 +//#define CONFIG_SYSCLK_PRES SYSCLK_PRES_16 +//#define CONFIG_SYSCLK_PRES SYSCLK_PRES_32 +//#define CONFIG_SYSCLK_PRES SYSCLK_PRES_64 +//#define CONFIG_SYSCLK_PRES SYSCLK_PRES_3 + +// ===== PLL0 (A) Options (8.192M = (32.768K * 250) / 1) +//#define CONFIG_PLL0_SOURCE PLLA_SRC_SLCK_32K_XTAL + +// ===== PLL1 (B) Options (Fpll = (Fclk * PLL_mul) / PLL_div) +// Use mul and div effective values here. +#define CONFIG_PLL1_SOURCE PLLB_SRC_MAINCK_BYPASS +#define CONFIG_PLL1_MUL (240000000UL / BOARD_FREQ_MAINCK_BYPASS) +#define CONFIG_PLL1_DIV 2 + +// ===== Coprocessor System Clock (CPMCK) Options +// Fcpmck = Fcpclk_source / CPCLK_PRES + +// Note: +// CONFIG_CPCLK_ENABLE MUST be defined if using peripherals on bus matrix 1. +#define CONFIG_CPCLK_ENABLE + +// Coprocessor System Clock Source Options +//#define CONFIG_CPCLK_SOURCE CPCLK_SRC_SLCK +//#define CONFIG_CPCLK_SOURCE CPCLK_SRC_MAINCK +//#define CONFIG_CPCLK_SOURCE CPCLK_SRC_PLLACK +//#define CONFIG_CPCLK_SOURCE CPCLK_SRC_PLLBCK +#define CONFIG_CPCLK_SOURCE CPCLK_SRC_MCK + +// Coprocessor System Clock Prescaler Options (CPCLK_PRES may be 1 to 16). +#define CONFIG_CPCLK_PRES 1 + +// ===== Main processor frequency (MCK) +// - Bypass mode frequency: 10MHz +// - System clock source: PLLB +// - System clock prescaler: 1 (divided by 1) +// - PLLB source: BYPASS +// - PLLB output: BYPASS * 24 / 2 +// - System clock: 10 * 24 / 2 / 1 = 120MHz +// +// ===== Coprocessor frequency (CPMCK) +// - Coprocessor system clock source: MCK +// - Coprocessor system clock prescaler: 1 (divided by 1) +// - Coprocessor system clock: 120MHz / 1 = 120MHz + + +#endif /* CONF_CLOCK_H_INCLUDED */ diff --git a/thirdparty/prime/mac/mac_1_3/addons/bootloader/sam4cp16b_sam4cp16bmb/conf_sleepmgr.h b/thirdparty/prime/mac/mac_1_3/addons/bootloader/sam4cp16b_sam4cp16bmb/conf_sleepmgr.h new file mode 100644 index 00000000..cb9866ca --- /dev/null +++ b/thirdparty/prime/mac/mac_1_3/addons/bootloader/sam4cp16b_sam4cp16bmb/conf_sleepmgr.h @@ -0,0 +1,49 @@ +/** + * \file + * + * \brief Chip-specific sleep manager configuration + * + * Copyright (c) 2014-2015 Atmel Corporation. All rights reserved. + * + * \asf_license_start + * + * \page License + * + * 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 microcontroller 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. + * + * \asf_license_stop + * + */ +#ifndef CONF_SLEEPMGR_H +#define CONF_SLEEPMGR_H + +/* Sleep manager options */ +#define CONFIG_SLEEPMGR_ENABLE + +#endif /* CONF_SLEEPMGR_H */ diff --git a/thirdparty/prime/mac/mac_1_3/addons/bootloader/sam4cp16b_sam4cp16bmb/conf_version.h b/thirdparty/prime/mac/mac_1_3/addons/bootloader/sam4cp16b_sam4cp16bmb/conf_version.h new file mode 100644 index 00000000..373b8bbc --- /dev/null +++ b/thirdparty/prime/mac/mac_1_3/addons/bootloader/sam4cp16b_sam4cp16bmb/conf_version.h @@ -0,0 +1,45 @@ +/** + * \file + * + * \brief Version file of SAM4CP Bootloader application for ATMEL PRIME + * Service Node + * + * Copyright (c) 2014-2015 Atmel Corporation. All rights reserved. + * + * \asf_license_start + * + * \page License + * + * 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 microcontroller 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. + * + * \asf_license_stop + * + */ + +#define PRBO_VERSION "ATMBOOTSAM4CP16BI0100" diff --git a/thirdparty/prime/mac/mac_1_3/addons/bootloader/sam4cp16b_sam4cp16bmb/iar/addons_bootloader.eww b/thirdparty/prime/mac/mac_1_3/addons/bootloader/sam4cp16b_sam4cp16bmb/iar/addons_bootloader.eww new file mode 100644 index 00000000..b549eb12 --- /dev/null +++ b/thirdparty/prime/mac/mac_1_3/addons/bootloader/sam4cp16b_sam4cp16bmb/iar/addons_bootloader.eww @@ -0,0 +1,6 @@ +<workspace> + <batchBuild></batchBuild> + <project> + <path>$WS_DIR$\addons_bootloader_flash.ewp</path> + </project> +</workspace> diff --git a/thirdparty/prime/mac/mac_1_3/addons/bootloader/sam4cp16b_sam4cp16bmb/iar/addons_bootloader_flash.ewd b/thirdparty/prime/mac/mac_1_3/addons/bootloader/sam4cp16b_sam4cp16bmb/iar/addons_bootloader_flash.ewd new file mode 100644 index 00000000..4faa7622 --- /dev/null +++ b/thirdparty/prime/mac/mac_1_3/addons/bootloader/sam4cp16b_sam4cp16bmb/iar/addons_bootloader_flash.ewd @@ -0,0 +1,1655 @@ +<project> + <fileVersion>2</fileVersion> + <configuration> + <name>Debug</name> + <toolchain> + <name>ARM</name> + </toolchain> + <debug>1</debug> + <settings> + <name>C-SPY</name> + <archiveVersion>2</archiveVersion> + <data> + <version>22</version> + <wantNonLocal>1</wantNonLocal> + <debug>1</debug> + <option> + <name>CInput</name> + <state>1</state> + </option> + <option> + <name>CEndian</name> + <state>1</state> + </option> + <option> + <name>CProcessor</name> + <state>1</state> + </option> + <option> + <name>OCVariant</name> + <state>0</state> + </option> + <option> + <name>MacOverride</name> + <state>1</state> + </option> + <option> + <name>MacFile</name> + <state>$PROJ_DIR$\../../../../../../../../sam/boards/sam4cp16bmb/debug_scripts/iar/sam4cp16bmb_flash_0.mac</state> + </option> + <option> + <name>MemOverride</name> + <state>0</state> + </option> + <option> + <name>MemFile</name> + <state>$TOOLKIT_DIR$\CONFIG\debugger\Atmel\ATSAM4CP16B_0.ddf</state> + </option> + <option> + <name>RunToEnable</name> + <state>1</state> + </option> + <option> + <name>RunToName</name> + <state>main</state> + </option> + <option> + <name>CExtraOptionsCheck</name> + <state>0</state> + </option> + <option> + <name>CExtraOptions</name> + <state></state> + </option> + <option> + <name>CFpuProcessor</name> + <state>1</state> + </option> + <option> + <name>OCDDFArgumentProducer</name> + <state></state> + </option> + <option> + <name>OCDownloadSuppressDownload</name> + <state>0</state> + </option> + <option> + <name>OCDownloadVerifyAll</name> + <state>1</state> + </option> + <option> + <name>OCProductVersion</name> + <state>6.10.5.52324</state> + </option> + <option> + <name>OCDynDriverList</name> + <state>JLINK_ID</state> + </option> + <option> + <name>OCLastSavedByProductVersion</name> + <state>6.10.5.52324</state> + </option> + <option> + <name>OCDownloadAttachToProgram</name> + <state>0</state> + </option> + <option> + <name>UseFlashLoader</name> + <state>1</state> + </option> + <option> + <name>CLowLevel</name> + <state>1</state> + </option> + <option> + <name>OCBE8Slave</name> + <state>1</state> + </option> + <option> + <name>MacFile2</name> + <state></state> + </option> + <option> + <name>CDevice</name> + <state>1</state> + </option> + <option> + <name>FlashLoadersV3</name> + <state>$TOOLKIT_DIR$\config\flashloader\Atmel\sam4cp16b\sam4cp16b-flash.board</state> + </option> + <option> + <name>OCImagesSuppressCheck1</name> + <state>0</state> + </option> + <option> + <name>OCImagesPath1</name> + <state></state> + </option> + <option> + <name>OCImagesSuppressCheck2</name> + <state>0</state> + </option> + <option> + <name>OCImagesPath2</name> + <state></state> + </option> + <option> + <name>OCImagesSuppressCheck3</name> + <state>0</state> + </option> + <option> + <name>OCImagesPath3</name> + <state></state> + </option> + <option> + <name>OverrideDefFlashBoard</name> + <state>0</state> + </option> + <option> + <name>OCImagesOffset1</name> + <state></state> + </option> + <option> + <name>OCImagesOffset2</name> + <state></state> + </option> + <option> + <name>OCImagesOffset3</name> + <state></state> + </option> + <option> + <name>OCImagesUse1</name> + <state>0</state> + </option> + <option> + <name>OCImagesUse2</name> + <state>0</state> + </option> + <option> + <name>OCImagesUse3</name> + <state>0</state> + </option> + </data> + </settings> + <settings> + <name>ARMSIM_ID</name> + <archiveVersion>2</archiveVersion> + <data> + <version>1</version> + <wantNonLocal>1</wantNonLocal> + <debug>1</debug> + <option> + <name>OCSimDriverInfo</name> + <state>1</state> + </option> + <option> + <name>OCSimEnablePSP</name> + <state>0</state> + </option> + <option> + <name>OCSimPspOverrideConfig</name> + <state>0</state> + </option> + <option> + <name>OCSimPspConfigFile</name> + <state></state> + </option> + </data> + </settings> + <settings> + <name>ANGEL_ID</name> + <archiveVersion>2</archiveVersion> + <data> + <version>0</version> + <wantNonLocal>1</wantNonLocal> + <debug>1</debug> + <option> + <name>CCAngelHeartbeat</name> + <state>1</state> + </option> + <option> + <name>CAngelCommunication</name> + <state>1</state> + </option> + <option> + <name>CAngelCommBaud</name> + <version>0</version> + <state>3</state> + </option> + <option> + <name>CAngelCommPort</name> + <version>0</version> + <state>0</state> + </option> + <option> + <name>ANGELTCPIP</name> + <state>aaa.bbb.ccc.ddd</state> + </option> + <option> + <name>DoAngelLogfile</name> + <state>0</state> + </option> + <option> + <name>AngelLogFile</name> + <state>$PROJ_DIR$\cspycomm.log</state> + </option> + <option> + <name>OCDriverInfo</name> + <state>1</state> + </option> + </data> + </settings> + <settings> + <name>GDBSERVER_ID</name> + <archiveVersion>2</archiveVersion> + <data> + <version>0</version> + <wantNonLocal>1</wantNonLocal> + <debug>1</debug> + <option> + <name>OCDriverInfo</name> + <state>1</state> + </option> + <option> + <name>TCPIP</name> + <state>aaa.bbb.ccc.ddd</state> + </option> + <option> + <name>DoLogfile</name> + <state>0</state> + </option> + <option> + <name>LogFile</name> + <state>$PROJ_DIR$\cspycomm.log</state> + </option> + <option> + <name>CCJTagBreakpointRadio</name> + <state>0</state> + </option> + <option> + <name>CCJTagDoUpdateBreakpoints</name> + <state>0</state> + </option> + <option> + <name>CCJTagUpdateBreakpoints</name> + <state>_call_main</state> + </option> + </data> + </settings> + <settings> + <name>IARROM_ID</name> + <archiveVersion>2</archiveVersion> + <data> + <version>1</version> + <wantNonLocal>1</wantNonLocal> + <debug>1</debug> + <option> + <name>CRomLogFileCheck</name> + <state>0</state> + </option> + <option> + <name>CRomLogFileEditB</name> + <state>$PROJ_DIR$\cspycomm.log</state> + </option> + <option> + <name>CRomCommPort</name> + <version>0</version> + <state>0</state> + </option> + <option> + <name>CRomCommBaud</name> + <version>0</version> + <state>7</state> + </option> + <option> + <name>OCDriverInfo</name> + <state>1</state> + </option> + </data> + </settings> + <settings> + <name>JLINK_ID</name> + <archiveVersion>2</archiveVersion> + <data> + <version>12</version> + <wantNonLocal>1</wantNonLocal> + <debug>1</debug> + <option> + <name>JLinkSpeed</name> + <state>32</state> + </option> + <option> + <name>CCJLinkDoLogfile</name> + <state>0</state> + </option> + <option> + <name>CCJLinkLogFile</name> + <state>$PROJ_DIR$\cspycomm.log</state> + </option> + <option> + <name>CCJLinkHWResetDelay</name> + <state>0</state> + </option> + <option> + <name>OCDriverInfo</name> + <state>1</state> + </option> + <option> + <name>JLinkInitialSpeed</name> + <state>32</state> + </option> + <option> + <name>CCDoJlinkMultiTarget</name> + <state>0</state> + </option> + <option> + <name>CCScanChainNonARMDevices</name> + <state>0</state> + </option> + <option> + <name>CCJLinkMultiTarget</name> + <state>0</state> + </option> + <option> + <name>CCJLinkIRLength</name> + <state>0</state> + </option> + <option> + <name>CCJLinkCommRadio</name> + <state>0</state> + </option> + <option> + <name>CCJLinkTCPIP</name> + <state>aaa.bbb.ccc.ddd</state> + </option> + <option> + <name>CCJLinkSpeedRadioV2</name> + <state>0</state> + </option> + <option> + <name>CCUSBDevice</name> + <version>1</version> + <state>1</state> + </option> + <option> + <name>CCRDICatchReset</name> + <state>0</state> + </option> + <option> + <name>CCRDICatchUndef</name> + <state>0</state> + </option> + <option> + <name>CCRDICatchSWI</name> + <state>0</state> + </option> + <option> + <name>CCRDICatchData</name> + <state>0</state> + </option> + <option> + <name>CCRDICatchPrefetch</name> + <state>0</state> + </option> + <option> + <name>CCRDICatchIRQ</name> + <state>0</state> + </option> + <option> + <name>CCRDICatchFIQ</name> + <state>0</state> + </option> + <option> + <name>CCJLinkBreakpointRadio</name> + <state>0</state> + </option> + <option> + <name>CCJLinkDoUpdateBreakpoints</name> + <state>0</state> + </option> + <option> + <name>CCJLinkUpdateBreakpoints</name> + <state>_call_main</state> + </option> + <option> + <name>CCJLinkInterfaceRadio</name> + <state>0</state> + </option> + <option> + <name>OCJLinkAttachSlave</name> + <state>1</state> + </option> + <option> + <name>CCJLinkResetList</name> + <version>5</version> + <state>7</state> + </option> + <option> + <name>CCJLinkInterfaceCmdLine</name> + <state>0</state> + </option> + <option> + <name>CCCatchCORERESET</name> + <state>0</state> + </option> + <option> + <name>CCCatchMMERR</name> + <state>0</state> + </option> + <option> + <name>CCCatchNOCPERR</name> + <state>0</state> + </option> + <option> + <name>CCCatchCHRERR</name> + <state>0</state> + </option> + <option> + <name>CCCatchSTATERR</name> + <state>0</state> + </option> + <option> + <name>CCCatchBUSERR</name> + <state>0</state> + </option> + <option> + <name>CCCatchINTERR</name> + <state>0</state> + </option> + <option> + <name>CCCatchHARDERR</name> + <state>0</state> + </option> + <option> + <name>CCCatchDummy</name> + <state>0</state> + </option> + <option> + <name>OCJLinkScriptFile</name> + <state>1</state> + </option> + </data> + </settings> + <settings> + <name>LMIFTDI_ID</name> + <archiveVersion>2</archiveVersion> + <data> + <version>2</version> + <wantNonLocal>1</wantNonLocal> + <debug>1</debug> + <option> + <name>OCDriverInfo</name> + <state>1</state> + </option> + <option> + <name>LmiftdiSpeed</name> + <state>500</state> + </option> + <option> + <name>CCLmiftdiDoLogfile</name> + <state>0</state> + </option> + <option> + <name>CCLmiftdiLogFile</name> + <state>$PROJ_DIR$\cspycomm.log</state> + </option> + <option> + <name>CCLmiFtdiInterfaceRadio</name> + <state>0</state> + </option> + <option> + <name>CCLmiFtdiInterfaceCmdLine</name> + <state>0</state> + </option> + </data> + </settings> + <settings> + <name>MACRAIGOR_ID</name> + <archiveVersion>2</archiveVersion> + <data> + <version>3</version> + <wantNonLocal>1</wantNonLocal> + <debug>1</debug> + <option> + <name>jtag</name> + <version>0</version> + <state>0</state> + </option> + <option> + <name>EmuSpeed</name> + <state>1</state> + </option> + <option> + <name>TCPIP</name> + <state>aaa.bbb.ccc.ddd</state> + </option> + <option> + <name>DoLogfile</name> + <state>0</state> + </option> + <option> + <name>LogFile</name> + <state>$PROJ_DIR$\cspycomm.log</state> + </option> + <option> + <name>DoEmuMultiTarget</name> + <state>0</state> + </option> + <option> + <name>EmuMultiTarget</name> + <state>0@ARM7TDMI</state> + </option> + <option> + <name>EmuHWReset</name> + <state>0</state> + </option> + <option> + <name>CEmuCommBaud</name> + <version>0</version> + <state>4</state> + </option> + <option> + <name>CEmuCommPort</name> + <version>0</version> + <state>0</state> + </option> + <option> + <name>jtago</name> + <version>0</version> + <state>0</state> + </option> + <option> + <name>OCDriverInfo</name> + <state>1</state> + </option> + <option> + <name>UnusedAddr</name> + <state>0x00800000</state> + </option> + <option> + <name>CCMacraigorHWResetDelay</name> + <state></state> + </option> + <option> + <name>CCJTagBreakpointRadio</name> + <state>0</state> + </option> + <option> + <name>CCJTagDoUpdateBreakpoints</name> + <state>0</state> + </option> + <option> + <name>CCJTagUpdateBreakpoints</name> + <state>_call_main</state> + </option> + <option> + <name>CCMacraigorInterfaceRadio</name> + <state>0</state> + </option> + <option> + <name>CCMacraigorInterfaceCmdLine</name> + <state>0</state> + </option> + </data> + </settings> + <settings> + <name>PEMICRO_ID</name> + <archiveVersion>2</archiveVersion> + <data> + <version>0</version> + <wantNonLocal>1</wantNonLocal> + <debug>1</debug> + <option> + <name>OCDriverInfo</name> + <state>1</state> + </option> + <option> + <name>OCPEMicroAttachSlave</name> + <state>1</state> + </option> + <option> + <name>CCPEMicroInterfaceList</name> + <version>0</version> + <state>0</state> + </option> + <option> + <name>CCPEMicroResetDelay</name> + <state></state> + </option> + <option> + <name>CCPEMicroJtagSpeed</name> + <state>#UNINITIALIZED#</state> + </option> + <option> + <name>CCJPEMicroShowSettings</name> + <state>0</state> + </option> + <option> + <name>DoLogfile</name> + <state>0</state> + </option> + <option> + <name>LogFile</name> + <state>$PROJ_DIR$\cspycomm.log</state> + </option> + <option> + <name>CCPEMicroUSBDevice</name> + <version>0</version> + <state>0</state> + </option> + <option> + <name>CCPEMicroSerialPort</name> + <version>0</version> + <state>0</state> + </option> + <option> + <name>CCJPEMicroTCPIPAutoScanNetwork</name> + <state>1</state> + </option> + <option> + <name>CCPEMicroTCPIP</name> + <state>10.0.0.1</state> + </option> + <option> + <name>CCPEMicroCommCmdLineProducer</name> + <state>0</state> + </option> + </data> + </settings> + <settings> + <name>RDI_ID</name> + <archiveVersion>2</archiveVersion> + <data> + <version>1</version> + <wantNonLocal>1</wantNonLocal> + <debug>1</debug> + <option> + <name>CRDIDriverDll</name> + <state>###Uninitialized###</state> + </option> + <option> + <name>CRDILogFileCheck</name> + <state>0</state> + </option> + <option> + <name>CRDILogFileEdit</name> + <state>$PROJ_DIR$\cspycomm.log</state> + </option> + <option> + <name>CCRDIHWReset</name> + <state>0</state> + </option> + <option> + <name>CCRDICatchReset</name> + <state>0</state> + </option> + <option> + <name>CCRDICatchUndef</name> + <state>0</state> + </option> + <option> + <name>CCRDICatchSWI</name> + <state>0</state> + </option> + <option> + <name>CCRDICatchData</name> + <state>0</state> + </option> + <option> + <name>CCRDICatchPrefetch</name> + <state>0</state> + </option> + <option> + <name>CCRDICatchIRQ</name> + <state>0</state> + </option> + <option> + <name>CCRDICatchFIQ</name> + <state>0</state> + </option> + <option> + <name>CCRDIUseETM</name> + <state>0</state> + </option> + <option> + <name>OCDriverInfo</name> + <state>1</state> + </option> + </data> + </settings> + <settings> + <name>STLINK_ID</name> + <archiveVersion>2</archiveVersion> + <data> + <version>1</version> + <wantNonLocal>1</wantNonLocal> + <debug>1</debug> + <option> + <name>OCDriverInfo</name> + <state>1</state> + </option> + <option> + <name>CCSTLinkInterfaceRadio</name> + <state>0</state> + </option> + <option> + <name>CCSTLinkInterfaceCmdLine</name> + <state>0</state> + </option> + </data> + </settings> + <settings> + <name>THIRDPARTY_ID</name> + <archiveVersion>2</archiveVersion> + <data> + <version>0</version> + <wantNonLocal>1</wantNonLocal> + <debug>1</debug> + <option> + <name>CThirdPartyDriverDll</name> + <state>Browse to your third-party driver</state> + </option> + <option> + <name>CThirdPartyLogFileCheck</name> + <state>0</state> + </option> + <option> + <name>CThirdPartyLogFileEditB</name> + <state>$PROJ_DIR$\cspycomm.log</state> + </option> + <option> + <name>OCDriverInfo</name> + <state>1</state> + </option> + </data> + </settings> + <debuggerPlugins> + <plugin> + <file>$TOOLKIT_DIR$\plugins\rtos\CMX\CmxArmPlugin.ENU.ewplugin</file> + <loadFlag>0</loadFlag> + </plugin> + <plugin> + <file>$TOOLKIT_DIR$\plugins\rtos\CMX\CmxTinyArmPlugin.ENU.ewplugin</file> + <loadFlag>0</loadFlag> + </plugin> + <plugin> + <file>$TOOLKIT_DIR$\plugins\rtos\embOS\embOSPlugin.ewplugin</file> + <loadFlag>0</loadFlag> + </plugin> + <plugin> + <file>$TOOLKIT_DIR$\plugins\rtos\MQX\MQXRtosPlugin.ewplugin</file> + <loadFlag>0</loadFlag> + </plugin> + <plugin> + <file>$TOOLKIT_DIR$\plugins\rtos\OpenRTOS\OpenRTOSPlugin.ewplugin</file> + <loadFlag>0</loadFlag> + </plugin> + <plugin> + <file>$TOOLKIT_DIR$\plugins\rtos\PowerPac\PowerPacRTOS.ewplugin</file> + <loadFlag>0</loadFlag> + </plugin> + <plugin> + <file>$TOOLKIT_DIR$\plugins\rtos\Quadros\Quadros_EWB6_Plugin.ewplugin</file> + <loadFlag>0</loadFlag> + </plugin> + <plugin> + <file>$TOOLKIT_DIR$\plugins\rtos\SafeRTOS\SafeRTOSPlugin.ewplugin</file> + <loadFlag>0</loadFlag> + </plugin> + <plugin> + <file>$TOOLKIT_DIR$\plugins\rtos\ThreadX\ThreadXArmPlugin.ENU.ewplugin</file> + <loadFlag>0</loadFlag> + </plugin> + <plugin> + <file>$TOOLKIT_DIR$\plugins\rtos\uCOS-II\uCOS-II-286-KA-CSpy.ewplugin</file> + <loadFlag>0</loadFlag> + </plugin> + <plugin> + <file>$TOOLKIT_DIR$\plugins\rtos\uCOS-II\uCOS-II-KA-CSpy.ewplugin</file> + <loadFlag>0</loadFlag> + </plugin> + <plugin> + <file>$EW_DIR$\common\plugins\CodeCoverage\CodeCoverage.ENU.ewplugin</file> + <loadFlag>1</loadFlag> + </plugin> + <plugin> + <file>$EW_DIR$\common\plugins\Orti\Orti.ENU.ewplugin</file> + <loadFlag>0</loadFlag> + </plugin> + <plugin> + <file>$EW_DIR$\common\plugins\Stack\Stack.ENU.ewplugin</file> + <loadFlag>1</loadFlag> + </plugin> + <plugin> + <file>$EW_DIR$\common\plugins\SymList\SymList.ENU.ewplugin</file> + <loadFlag>1</loadFlag> + </plugin> + </debuggerPlugins> + </configuration> + <configuration> + <name>Release</name> + <toolchain> + <name>ARM</name> + </toolchain> + <debug>0</debug> + <settings> + <name>C-SPY</name> + <archiveVersion>2</archiveVersion> + <data> + <version>22</version> + <wantNonLocal>1</wantNonLocal> + <debug>0</debug> + <option> + <name>CInput</name> + <state>1</state> + </option> + <option> + <name>CEndian</name> + <state>1</state> + </option> + <option> + <name>CProcessor</name> + <state>1</state> + </option> + <option> + <name>OCVariant</name> + <state>0</state> + </option> + <option> + <name>MacOverride</name> + <state>1</state> + </option> + <option> + <name>MacFile</name> + <state>$PROJ_DIR$\../../../../../../../../sam/boards/sam4cp16bmb/debug_scripts/iar/sam4cp16bmb_flash_0.mac</state> + </option> + <option> + <name>MemOverride</name> + <state>0</state> + </option> + <option> + <name>MemFile</name> + <state>$TOOLKIT_DIR$\CONFIG\debugger\Atmel\ATSAM4CP16B_0.ddf</state> + </option> + <option> + <name>RunToEnable</name> + <state>1</state> + </option> + <option> + <name>RunToName</name> + <state>main</state> + </option> + <option> + <name>CExtraOptionsCheck</name> + <state>0</state> + </option> + <option> + <name>CExtraOptions</name> + <state></state> + </option> + <option> + <name>CFpuProcessor</name> + <state>1</state> + </option> + <option> + <name>OCDDFArgumentProducer</name> + <state></state> + </option> + <option> + <name>OCDownloadSuppressDownload</name> + <state>0</state> + </option> + <option> + <name>OCDownloadVerifyAll</name> + <state>1</state> + </option> + <option> + <name>OCProductVersion</name> + <state>6.10.5.52324</state> + </option> + <option> + <name>OCDynDriverList</name> + <state>JLINK_ID</state> + </option> + <option> + <name>OCLastSavedByProductVersion</name> + <state></state> + </option> + <option> + <name>OCDownloadAttachToProgram</name> + <state>0</state> + </option> + <option> + <name>UseFlashLoader</name> + <state>1</state> + </option> + <option> + <name>CLowLevel</name> + <state>1</state> + </option> + <option> + <name>OCBE8Slave</name> + <state>1</state> + </option> + <option> + <name>MacFile2</name> + <state></state> + </option> + <option> + <name>CDevice</name> + <state>1</state> + </option> + <option> + <name>FlashLoadersV3</name> + <state>$TOOLKIT_DIR$\config\flashloader\Atmel\sam4cp16b\sam4cp16b-flash.board</state> + </option> + <option> + <name>OCImagesSuppressCheck1</name> + <state>0</state> + </option> + <option> + <name>OCImagesPath1</name> + <state></state> + </option> + <option> + <name>OCImagesSuppressCheck2</name> + <state>0</state> + </option> + <option> + <name>OCImagesPath2</name> + <state></state> + </option> + <option> + <name>OCImagesSuppressCheck3</name> + <state>0</state> + </option> + <option> + <name>OCImagesPath3</name> + <state></state> + </option> + <option> + <name>OverrideDefFlashBoard</name> + <state>0</state> + </option> + <option> + <name>OCImagesOffset1</name> + <state></state> + </option> + <option> + <name>OCImagesOffset2</name> + <state></state> + </option> + <option> + <name>OCImagesOffset3</name> + <state></state> + </option> + <option> + <name>OCImagesUse1</name> + <state>0</state> + </option> + <option> + <name>OCImagesUse2</name> + <state>0</state> + </option> + <option> + <name>OCImagesUse3</name> + <state>0</state> + </option> + </data> + </settings> + <settings> + <name>ARMSIM_ID</name> + <archiveVersion>2</archiveVersion> + <data> + <version>1</version> + <wantNonLocal>1</wantNonLocal> + <debug>0</debug> + <option> + <name>OCSimDriverInfo</name> + <state>1</state> + </option> + <option> + <name>OCSimEnablePSP</name> + <state>0</state> + </option> + <option> + <name>OCSimPspOverrideConfig</name> + <state>0</state> + </option> + <option> + <name>OCSimPspConfigFile</name> + <state></state> + </option> + </data> + </settings> + <settings> + <name>ANGEL_ID</name> + <archiveVersion>2</archiveVersion> + <data> + <version>0</version> + <wantNonLocal>1</wantNonLocal> + <debug>0</debug> + <option> + <name>CCAngelHeartbeat</name> + <state>1</state> + </option> + <option> + <name>CAngelCommunication</name> + <state>1</state> + </option> + <option> + <name>CAngelCommBaud</name> + <version>0</version> + <state>3</state> + </option> + <option> + <name>CAngelCommPort</name> + <version>0</version> + <state>0</state> + </option> + <option> + <name>ANGELTCPIP</name> + <state>aaa.bbb.ccc.ddd</state> + </option> + <option> + <name>DoAngelLogfile</name> + <state>0</state> + </option> + <option> + <name>AngelLogFile</name> + <state>$PROJ_DIR$\cspycomm.log</state> + </option> + <option> + <name>OCDriverInfo</name> + <state>1</state> + </option> + </data> + </settings> + <settings> + <name>GDBSERVER_ID</name> + <archiveVersion>2</archiveVersion> + <data> + <version>0</version> + <wantNonLocal>1</wantNonLocal> + <debug>0</debug> + <option> + <name>OCDriverInfo</name> + <state>1</state> + </option> + <option> + <name>TCPIP</name> + <state>aaa.bbb.ccc.ddd</state> + </option> + <option> + <name>DoLogfile</name> + <state>0</state> + </option> + <option> + <name>LogFile</name> + <state>$PROJ_DIR$\cspycomm.log</state> + </option> + <option> + <name>CCJTagBreakpointRadio</name> + <state>0</state> + </option> + <option> + <name>CCJTagDoUpdateBreakpoints</name> + <state>0</state> + </option> + <option> + <name>CCJTagUpdateBreakpoints</name> + <state>_call_main</state> + </option> + </data> + </settings> + <settings> + <name>IARROM_ID</name> + <archiveVersion>2</archiveVersion> + <data> + <version>1</version> + <wantNonLocal>1</wantNonLocal> + <debug>0</debug> + <option> + <name>CRomLogFileCheck</name> + <state>0</state> + </option> + <option> + <name>CRomLogFileEditB</name> + <state>$PROJ_DIR$\cspycomm.log</state> + </option> + <option> + <name>CRomCommPort</name> + <version>0</version> + <state>0</state> + </option> + <option> + <name>CRomCommBaud</name> + <version>0</version> + <state>7</state> + </option> + <option> + <name>OCDriverInfo</name> + <state>1</state> + </option> + </data> + </settings> + <settings> + <name>JLINK_ID</name> + <archiveVersion>2</archiveVersion> + <data> + <version>12</version> + <wantNonLocal>1</wantNonLocal> + <debug>0</debug> + <option> + <name>JLinkSpeed</name> + <state>32</state> + </option> + <option> + <name>CCJLinkDoLogfile</name> + <state>0</state> + </option> + <option> + <name>CCJLinkLogFile</name> + <state>$PROJ_DIR$\cspycomm.log</state> + </option> + <option> + <name>CCJLinkHWResetDelay</name> + <state>0</state> + </option> + <option> + <name>OCDriverInfo</name> + <state>1</state> + </option> + <option> + <name>JLinkInitialSpeed</name> + <state>32</state> + </option> + <option> + <name>CCDoJlinkMultiTarget</name> + <state>0</state> + </option> + <option> + <name>CCScanChainNonARMDevices</name> + <state>0</state> + </option> + <option> + <name>CCJLinkMultiTarget</name> + <state>0</state> + </option> + <option> + <name>CCJLinkIRLength</name> + <state>0</state> + </option> + <option> + <name>CCJLinkCommRadio</name> + <state>0</state> + </option> + <option> + <name>CCJLinkTCPIP</name> + <state>aaa.bbb.ccc.ddd</state> + </option> + <option> + <name>CCJLinkSpeedRadioV2</name> + <state>0</state> + </option> + <option> + <name>CCUSBDevice</name> + <version>1</version> + <state>1</state> + </option> + <option> + <name>CCRDICatchReset</name> + <state>0</state> + </option> + <option> + <name>CCRDICatchUndef</name> + <state>0</state> + </option> + <option> + <name>CCRDICatchSWI</name> + <state>0</state> + </option> + <option> + <name>CCRDICatchData</name> + <state>0</state> + </option> + <option> + <name>CCRDICatchPrefetch</name> + <state>0</state> + </option> + <option> + <name>CCRDICatchIRQ</name> + <state>0</state> + </option> + <option> + <name>CCRDICatchFIQ</name> + <state>0</state> + </option> + <option> + <name>CCJLinkBreakpointRadio</name> + <state>0</state> + </option> + <option> + <name>CCJLinkDoUpdateBreakpoints</name> + <state>0</state> + </option> + <option> + <name>CCJLinkUpdateBreakpoints</name> + <state>_call_main</state> + </option> + <option> + <name>CCJLinkInterfaceRadio</name> + <state>0</state> + </option> + <option> + <name>OCJLinkAttachSlave</name> + <state>1</state> + </option> + <option> + <name>CCJLinkResetList</name> + <version>5</version> + <state>7</state> + </option> + <option> + <name>CCJLinkInterfaceCmdLine</name> + <state>0</state> + </option> + <option> + <name>CCCatchCORERESET</name> + <state>0</state> + </option> + <option> + <name>CCCatchMMERR</name> + <state>0</state> + </option> + <option> + <name>CCCatchNOCPERR</name> + <state>0</state> + </option> + <option> + <name>CCCatchCHRERR</name> + <state>0</state> + </option> + <option> + <name>CCCatchSTATERR</name> + <state>0</state> + </option> + <option> + <name>CCCatchBUSERR</name> + <state>0</state> + </option> + <option> + <name>CCCatchINTERR</name> + <state>0</state> + </option> + <option> + <name>CCCatchHARDERR</name> + <state>0</state> + </option> + <option> + <name>CCCatchDummy</name> + <state>0</state> + </option> + <option> + <name>OCJLinkScriptFile</name> + <state>1</state> + </option> + </data> + </settings> + <settings> + <name>LMIFTDI_ID</name> + <archiveVersion>2</archiveVersion> + <data> + <version>2</version> + <wantNonLocal>1</wantNonLocal> + <debug>0</debug> + <option> + <name>OCDriverInfo</name> + <state>1</state> + </option> + <option> + <name>LmiftdiSpeed</name> + <state>500</state> + </option> + <option> + <name>CCLmiftdiDoLogfile</name> + <state>0</state> + </option> + <option> + <name>CCLmiftdiLogFile</name> + <state>$PROJ_DIR$\cspycomm.log</state> + </option> + <option> + <name>CCLmiFtdiInterfaceRadio</name> + <state>0</state> + </option> + <option> + <name>CCLmiFtdiInterfaceCmdLine</name> + <state>0</state> + </option> + </data> + </settings> + <settings> + <name>MACRAIGOR_ID</name> + <archiveVersion>2</archiveVersion> + <data> + <version>3</version> + <wantNonLocal>1</wantNonLocal> + <debug>0</debug> + <option> + <name>jtag</name> + <version>0</version> + <state>0</state> + </option> + <option> + <name>EmuSpeed</name> + <state>1</state> + </option> + <option> + <name>TCPIP</name> + <state>aaa.bbb.ccc.ddd</state> + </option> + <option> + <name>DoLogfile</name> + <state>0</state> + </option> + <option> + <name>LogFile</name> + <state>$PROJ_DIR$\cspycomm.log</state> + </option> + <option> + <name>DoEmuMultiTarget</name> + <state>0</state> + </option> + <option> + <name>EmuMultiTarget</name> + <state>0@ARM7TDMI</state> + </option> + <option> + <name>EmuHWReset</name> + <state>0</state> + </option> + <option> + <name>CEmuCommBaud</name> + <version>0</version> + <state>4</state> + </option> + <option> + <name>CEmuCommPort</name> + <version>0</version> + <state>0</state> + </option> + <option> + <name>jtago</name> + <version>0</version> + <state>0</state> + </option> + <option> + <name>OCDriverInfo</name> + <state>1</state> + </option> + <option> + <name>UnusedAddr</name> + <state>0x00800000</state> + </option> + <option> + <name>CCMacraigorHWResetDelay</name> + <state></state> + </option> + <option> + <name>CCJTagBreakpointRadio</name> + <state>0</state> + </option> + <option> + <name>CCJTagDoUpdateBreakpoints</name> + <state>0</state> + </option> + <option> + <name>CCJTagUpdateBreakpoints</name> + <state>_call_main</state> + </option> + <option> + <name>CCMacraigorInterfaceRadio</name> + <state>0</state> + </option> + <option> + <name>CCMacraigorInterfaceCmdLine</name> + <state>0</state> + </option> + </data> + </settings> + <settings> + <name>PEMICRO_ID</name> + <archiveVersion>2</archiveVersion> + <data> + <version>0</version> + <wantNonLocal>1</wantNonLocal> + <debug>0</debug> + <option> + <name>OCDriverInfo</name> + <state>1</state> + </option> + <option> + <name>OCPEMicroAttachSlave</name> + <state>1</state> + </option> + <option> + <name>CCPEMicroInterfaceList</name> + <version>0</version> + <state>0</state> + </option> + <option> + <name>CCPEMicroResetDelay</name> + <state></state> + </option> + <option> + <name>CCPEMicroJtagSpeed</name> + <state>#UNINITIALIZED#</state> + </option> + <option> + <name>CCJPEMicroShowSettings</name> + <state>0</state> + </option> + <option> + <name>DoLogfile</name> + <state>0</state> + </option> + <option> + <name>LogFile</name> + <state>$PROJ_DIR$\cspycomm.log</state> + </option> + <option> + <name>CCPEMicroUSBDevice</name> + <version>0</version> + <state>0</state> + </option> + <option> + <name>CCPEMicroSerialPort</name> + <version>0</version> + <state>0</state> + </option> + <option> + <name>CCJPEMicroTCPIPAutoScanNetwork</name> + <state>1</state> + </option> + <option> + <name>CCPEMicroTCPIP</name> + <state>10.0.0.1</state> + </option> + <option> + <name>CCPEMicroCommCmdLineProducer</name> + <state>0</state> + </option> + </data> + </settings> + <settings> + <name>RDI_ID</name> + <archiveVersion>2</archiveVersion> + <data> + <version>1</version> + <wantNonLocal>1</wantNonLocal> + <debug>0</debug> + <option> + <name>CRDIDriverDll</name> + <state>###Uninitialized###</state> + </option> + <option> + <name>CRDILogFileCheck</name> + <state>0</state> + </option> + <option> + <name>CRDILogFileEdit</name> + <state>$PROJ_DIR$\cspycomm.log</state> + </option> + <option> + <name>CCRDIHWReset</name> + <state>0</state> + </option> + <option> + <name>CCRDICatchReset</name> + <state>0</state> + </option> + <option> + <name>CCRDICatchUndef</name> + <state>0</state> + </option> + <option> + <name>CCRDICatchSWI</name> + <state>0</state> + </option> + <option> + <name>CCRDICatchData</name> + <state>0</state> + </option> + <option> + <name>CCRDICatchPrefetch</name> + <state>0</state> + </option> + <option> + <name>CCRDICatchIRQ</name> + <state>0</state> + </option> + <option> + <name>CCRDICatchFIQ</name> + <state>0</state> + </option> + <option> + <name>CCRDIUseETM</name> + <state>0</state> + </option> + <option> + <name>OCDriverInfo</name> + <state>1</state> + </option> + </data> + </settings> + <settings> + <name>STLINK_ID</name> + <archiveVersion>2</archiveVersion> + <data> + <version>1</version> + <wantNonLocal>1</wantNonLocal> + <debug>0</debug> + <option> + <name>OCDriverInfo</name> + <state>1</state> + </option> + <option> + <name>CCSTLinkInterfaceRadio</name> + <state>0</state> + </option> + <option> + <name>CCSTLinkInterfaceCmdLine</name> + <state>0</state> + </option> + </data> + </settings> + <settings> + <name>THIRDPARTY_ID</name> + <archiveVersion>2</archiveVersion> + <data> + <version>0</version> + <wantNonLocal>1</wantNonLocal> + <debug>0</debug> + <option> + <name>CThirdPartyDriverDll</name> + <state>###Uninitialized###</state> + </option> + <option> + <name>CThirdPartyLogFileCheck</name> + <state>0</state> + </option> + <option> + <name>CThirdPartyLogFileEditB</name> + <state>$PROJ_DIR$\cspycomm.log</state> + </option> + <option> + <name>OCDriverInfo</name> + <state>1</state> + </option> + </data> + </settings> + <debuggerPlugins> + <plugin> + <file>$TOOLKIT_DIR$\plugins\rtos\CMX\CmxArmPlugin.ENU.ewplugin</file> + <loadFlag>0</loadFlag> + </plugin> + <plugin> + <file>$TOOLKIT_DIR$\plugins\rtos\CMX\CmxTinyArmPlugin.ENU.ewplugin</file> + <loadFlag>0</loadFlag> + </plugin> + <plugin> + <file>$TOOLKIT_DIR$\plugins\rtos\embOS\embOSPlugin.ewplugin</file> + <loadFlag>0</loadFlag> + </plugin> + <plugin> + <file>$TOOLKIT_DIR$\plugins\rtos\MQX\MQXRtosPlugin.ewplugin</file> + <loadFlag>0</loadFlag> + </plugin> + <plugin> + <file>$TOOLKIT_DIR$\plugins\rtos\OpenRTOS\OpenRTOSPlugin.ewplugin</file> + <loadFlag>0</loadFlag> + </plugin> + <plugin> + <file>$TOOLKIT_DIR$\plugins\rtos\PowerPac\PowerPacRTOS.ewplugin</file> + <loadFlag>0</loadFlag> + </plugin> + <plugin> + <file>$TOOLKIT_DIR$\plugins\rtos\Quadros\Quadros_EWB6_Plugin.ewplugin</file> + <loadFlag>0</loadFlag> + </plugin> + <plugin> + <file>$TOOLKIT_DIR$\plugins\rtos\SafeRTOS\SafeRTOSPlugin.ewplugin</file> + <loadFlag>0</loadFlag> + </plugin> + <plugin> + <file>$TOOLKIT_DIR$\plugins\rtos\ThreadX\ThreadXArmPlugin.ENU.ewplugin</file> + <loadFlag>0</loadFlag> + </plugin> + <plugin> + <file>$TOOLKIT_DIR$\plugins\rtos\uCOS-II\uCOS-II-286-KA-CSpy.ewplugin</file> + <loadFlag>0</loadFlag> + </plugin> + <plugin> + <file>$TOOLKIT_DIR$\plugins\rtos\uCOS-II\uCOS-II-KA-CSpy.ewplugin</file> + <loadFlag>0</loadFlag> + </plugin> + <plugin> + <file>$EW_DIR$\common\plugins\CodeCoverage\CodeCoverage.ENU.ewplugin</file> + <loadFlag>1</loadFlag> + </plugin> + <plugin> + <file>$EW_DIR$\common\plugins\Orti\Orti.ENU.ewplugin</file> + <loadFlag>0</loadFlag> + </plugin> + <plugin> + <file>$EW_DIR$\common\plugins\Stack\Stack.ENU.ewplugin</file> + <loadFlag>1</loadFlag> + </plugin> + <plugin> + <file>$EW_DIR$\common\plugins\SymList\SymList.ENU.ewplugin</file> + <loadFlag>1</loadFlag> + </plugin> + </debuggerPlugins> + </configuration> +</project> diff --git a/thirdparty/prime/mac/mac_1_3/addons/bootloader/sam4cp16b_sam4cp16bmb/iar/addons_bootloader_flash.ewp b/thirdparty/prime/mac/mac_1_3/addons/bootloader/sam4cp16b_sam4cp16bmb/iar/addons_bootloader_flash.ewp new file mode 100644 index 00000000..1d0c8ed9 --- /dev/null +++ b/thirdparty/prime/mac/mac_1_3/addons/bootloader/sam4cp16b_sam4cp16bmb/iar/addons_bootloader_flash.ewp @@ -0,0 +1,2312 @@ +<project> + <fileVersion>2</fileVersion> + <configuration> + <name>Debug</name> + <toolchain> + <name>ARM</name> + </toolchain> + <debug>1</debug> + <settings> + <name>General</name> + <archiveVersion>3</archiveVersion> + <data> + <version>21</version> + <wantNonLocal>1</wantNonLocal> + <debug>1</debug> + <option> + <name>ExePath</name> + <state>Debug\Exe</state> + </option> + <option> + <name>ObjPath</name> + <state>Debug\Obj</state> + </option> + <option> + <name>ListPath</name> + <state>Debug\List</state> + </option> + <option> + <name>Variant</name> + <version>19</version> + <state>37</state> + </option> + <option> + <name>GEndianMode</name> + <state>0</state> + </option> + <option> + <name>Input variant</name> + <version>3</version> + <state>6</state> + </option> + <option> + <name>Input description</name> + <state>No specifier n, no float nor long long, no scan set, no assignment suppressing.</state> + </option> + <option> + <name>Output variant</name> + <version>2</version> + <state>3</state> + </option> + <option> + <name>Output description</name> + <state>No specifier a, A.</state> + </option> + <option> + <name>GOutputBinary</name> + <state>0</state> + </option> + <option> + <name>FPU</name> + <version>2</version> + <state>0</state> + </option> + <option> + <name>OGCoreOrChip</name> + <state>1</state> + </option> + <option> + <name>GRuntimeLibSelect</name> + <version>0</version> + <state>2</state> + </option> + <option> + <name>GRuntimeLibSelectSlave</name> + <version>0</version> + <state>2</state> + </option> + <option> + <name>RTDescription</name> + <state>Use the normal configuration of the C/C++ runtime library. No locale interface, C locale, no file descriptor support, no multibytes in printf and scanf, and no hex floats in strtod.</state> + </option> + <option> + <name>OGProductVersion</name> + <state>5.10.0.159</state> + </option> + <option> + <name>OGLastSavedByProductVersion</name> + <state>6.21.1.52845</state> + </option> + <option> + <name>GeneralEnableMisra</name> + <state>0</state> + </option> + <option> + <name>GeneralMisraVerbose</name> + <state>0</state> + </option> + <option> + <name>OGChipSelectEditMenu</name> + <state>ATSAM4CP16B_0 Atmel ATSAM4CP16B Core0</state> + </option> + <option> + <name>GenLowLevelInterface</name> + <state>0</state> + </option> + <option> + <name>GEndianModeBE</name> + <state>1</state> + </option> + <option> + <name>OGBufferedTerminalOutput</name> + <state>0</state> + </option> + <option> + <name>GenStdoutInterface</name> + <state>0</state> + </option> + <option> + <name>GeneralMisraRules98</name> + <version>0</version> + <state>1000111110110101101110011100111111101110011011000101110111101101100111111111111100110011111001110111001111111111111111111111111</state> + </option> + <option> + <name>GeneralMisraVer</name> + <state>0</state> + </option> + <option> + <name>GeneralMisraRules04</name> + <version>0</version> + <state>111101110010111111111000110111111111111111111111111110010111101111010101111111111111111111111111101111111011111001111011111011111111111111111</state> + </option> + <option> + <name>RTConfigPath2</name> + <state>$TOOLKIT_DIR$\INC\c\DLib_Config_Full.h</state> + </option> + <option> + <name>GFPUCoreSlave</name> + <version>19</version> + <state>37</state> + </option> + <option> + <name>GBECoreSlave</name> + <version>19</version> + <state>37</state> + </option> + <option> + <name>OGUseCmsis</name> + <state>1</state> + </option> + <option> + <name>OGUseCmsisDspLib</name> + <state>1</state> + </option> + </data> + </settings> + <settings> + <name>ICCARM</name> + <archiveVersion>2</archiveVersion> + <data> + <version>27</version> + <wantNonLocal>1</wantNonLocal> + <debug>1</debug> + <option> + <name>CCDefines</name> + <state>BOARD=SAM4CP16BMB</state> + <state>ARM_MATH_CM4=true</state> + <state>__SAM4CP16B_0__</state> + </option> + <option> + <name>CCPreprocFile</name> + <state>0</state> + </option> + <option> + <name>CCPreprocComments</name> + <state>0</state> + </option> + <option> + <name>CCPreprocLine</name> + <state>0</state> + </option> + <option> + <name>CCListCFile</name> + <state>0</state> + </option> + <option> + <name>CCListCMnemonics</name> + <state>0</state> + </option> + <option> + <name>CCListCMessages</name> + <state>0</state> + </option> + <option> + <name>CCListAssFile</name> + <state>0</state> + </option> + <option> + <name>CCListAssSource</name> + <state>0</state> + </option> + <option> + <name>CCEnableRemarks</name> + <state>1</state> + </option> + <option> + <name>CCDiagSuppress</name> + <state></state> + </option> + <option> + <name>CCDiagRemark</name> + <state></state> + </option> + <option> + <name>CCDiagWarning</name> + <state></state> + </option> + <option> + <name>CCDiagError</name> + <state></state> + </option> + <option> + <name>CCObjPrefix</name> + <state>1</state> + </option> + <option> + <name>CCAllowList</name> + <version>0</version> + <state>1111111</state> + </option> + <option> + <name>CCDebugInfo</name> + <state>1</state> + </option> + <option> + <name>IEndianMode</name> + <state>1</state> + </option> + <option> + <name>IProcessor</name> + <state>1</state> + </option> + <option> + <name>IExtraOptionsCheck</name> + <state>0</state> + </option> + <option> + <name>IExtraOptions</name> + <state></state> + </option> + <option> + <name>CCLangConformance</name> + <state>0</state> + </option> + <option> + <name>CCSignedPlainChar</name> + <state>1</state> + </option> + <option> + <name>CCRequirePrototypes</name> + <state>1</state> + </option> + <option> + <name>CCMultibyteSupport</name> + <state>0</state> + </option> + <option> + <name>CCDiagWarnAreErr</name> + <state>0</state> + </option> + <option> + <name>CCCompilerRuntimeInfo</name> + <state>0</state> + </option> + <option> + <name>IFpuProcessor</name> + <state>1</state> + </option> + <option> + <name>OutputFile</name> + <state>$FILE_BNAME$.o</state> + </option> + <option> + <name>CCLibConfigHeader</name> + <state>1</state> + </option> + <option> + <name>PreInclude</name> + <state></state> + </option> + <option> + <name>CompilerMisraOverride</name> + <state>0</state> + </option> + <option> + <name>CCIncludePath2</name> + <state>$PROJ_DIR$/../..</state> + <state>$PROJ_DIR$/../../../../../../../../sam/utils</state> + <state>$PROJ_DIR$/../../../../../../../../common/services/clock</state> + <state>$PROJ_DIR$/../../../../../../../../sam/boards</state> + <state>$PROJ_DIR$/../../../../../../../../sam/utils/header_files</state> + <state>$PROJ_DIR$/../../../../../../../../common/boards</state> + <state>$PROJ_DIR$/../../../../../../../../sam/utils/preprocessor</state> + <state>$PROJ_DIR$/../../../../../../../../sam/boards/sam4cp16bmb</state> + <state>$PROJ_DIR$/../../../../../../../../common/services/ioport</state> + <state>$PROJ_DIR$/../../../../../../../../sam/drivers/pmc</state> + <state>$PROJ_DIR$/../../../../../../../../sam/services/flash_efc</state> + <state>$PROJ_DIR$/../../../../../../../../sam/utils/cmsis/sam4cp/source/templates</state> + <state>$PROJ_DIR$/../../../../../../../../sam/drivers/supc</state> + <state>$PROJ_DIR$/../../../../../../../../common/utils</state> + <state>$PROJ_DIR$/../../../../../../../../sam/utils/cmsis/sam4cp/include</state> + <state>$PROJ_DIR$/..</state> + <state>$PROJ_DIR$/../../../../../../../../sam/drivers/efc</state> + <state>$PROJ_DIR$/.</state> + </option> + <option> + <name>CCStdIncCheck</name> + <state>0</state> + </option> + <option> + <name>CCCodeSection</name> + <state>.text</state> + </option> + <option> + <name>IInterwork2</name> + <state>0</state> + </option> + <option> + <name>IProcessorMode2</name> + <state>1</state> + </option> + <option> + <name>CCOptLevel</name> + <state>3</state> + </option> + <option> + <name>CCOptStrategy</name> + <version>0</version> + <state>1</state> + </option> + <option> + <name>CCOptLevelSlave</name> + <state>3</state> + </option> + <option> + <name>CompilerMisraRules98</name> + <version>0</version> + <state>1000111110110101101110011100111111101110011011000101110111101101100111111111111100110011111001110111001111111111111111111111111</state> + </option> + <option> + <name>CompilerMisraRules04</name> + <version>0</version> + <state>111101110010111111111000110111111111111111111111111110010111101111010101111111111111111111111111101111111011111001111011111011111111111111111</state> + </option> + <option> + <name>CCPosIndRopi</name> + <state>0</state> + </option> + <option> + <name>CCPosIndRwpi</name> + <state>0</state> + </option> + <option> + <name>CCPosIndNoDynInit</name> + <state>0</state> + </option> + <option> + <name>IccLang</name> + <state>0</state> + </option> + <option> + <name>IccCDialect</name> + <state>1</state> + </option> + <option> + <name>IccAllowVLA</name> + <state>0</state> + </option> + <option> + <name>IccCppDialect</name> + <state>1</state> + </option> + <option> + <name>IccExceptions</name> + <state>1</state> + </option> + <option> + <name>IccRTTI</name> + <state>1</state> + </option> + <option> + <name>IccStaticDestr</name> + <state>1</state> + </option> + <option> + <name>IccRelaxedFpPrecision</name> + <state>0</state> + </option> + <option> + <name>IccCppInlineSemantics</name> + <state>0</state> + </option> + <option> + <name>IccCmsis</name> + <state>1</state> + </option> + </data> + </settings> + <settings> + <name>AARM</name> + <archiveVersion>2</archiveVersion> + <data> + <version>8</version> + <wantNonLocal>1</wantNonLocal> + <debug>1</debug> + <option> + <name>AObjPrefix</name> + <state>1</state> + </option> + <option> + <name>AEndian</name> + <state>1</state> + </option> + <option> + <name>ACaseSensitivity</name> + <state>1</state> + </option> + <option> + <name>MacroChars</name> + <version>0</version> + <state>0</state> + </option> + <option> + <name>AWarnEnable</name> + <state>0</state> + </option> + <option> + <name>AWarnWhat</name> + <state>0</state> + </option> + <option> + <name>AWarnOne</name> + <state></state> + </option> + <option> + <name>AWarnRange1</name> + <state></state> + </option> + <option> + <name>AWarnRange2</name> + <state></state> + </option> + <option> + <name>ADebug</name> + <state>1</state> + </option> + <option> + <name>AltRegisterNames</name> + <state>0</state> + </option> + <option> + <name>ADefines</name> + <state>BOARD=SAM4CP16BMB</state> + <state>ARM_MATH_CM4=true</state> + <state>__SAM4CP16B_0__</state> + </option> + <option> + <name>AList</name> + <state>0</state> + </option> + <option> + <name>AListHeader</name> + <state>1</state> + </option> + <option> + <name>AListing</name> + <state>1</state> + </option> + <option> + <name>Includes</name> + <state>0</state> + </option> + <option> + <name>MacDefs</name> + <state>0</state> + </option> + <option> + <name>MacExps</name> + <state>1</state> + </option> + <option> + <name>MacExec</name> + <state>0</state> + </option> + <option> + <name>OnlyAssed</name> + <state>0</state> + </option> + <option> + <name>MultiLine</name> + <state>0</state> + </option> + <option> + <name>PageLengthCheck</name> + <state>0</state> + </option> + <option> + <name>PageLength</name> + <state>80</state> + </option> + <option> + <name>TabSpacing</name> + <state>8</state> + </option> + <option> + <name>AXRef</name> + <state>0</state> + </option> + <option> + <name>AXRefDefines</name> + <state>0</state> + </option> + <option> + <name>AXRefInternal</name> + <state>0</state> + </option> + <option> + <name>AXRefDual</name> + <state>0</state> + </option> + <option> + <name>AProcessor</name> + <state>1</state> + </option> + <option> + <name>AFpuProcessor</name> + <state>1</state> + </option> + <option> + <name>AOutputFile</name> + <state>$FILE_BNAME$.o</state> + </option> + <option> + <name>AMultibyteSupport</name> + <state>0</state> + </option> + <option> + <name>ALimitErrorsCheck</name> + <state>0</state> + </option> + <option> + <name>ALimitErrorsEdit</name> + <state>100</state> + </option> + <option> + <name>AIgnoreStdInclude</name> + <state>0</state> + </option> + <option> + <name>AUserIncludes</name> + <state>$PROJ_DIR$/../..</state> + <state>$PROJ_DIR$/../../../../../../../../sam/utils</state> + <state>$PROJ_DIR$/../../../../../../../../common/services/clock</state> + <state>$PROJ_DIR$/../../../../../../../../sam/boards</state> + <state>$PROJ_DIR$/../../../../../../../../sam/utils/header_files</state> + <state>$PROJ_DIR$/../../../../../../../../common/boards</state> + <state>$PROJ_DIR$/../../../../../../../../sam/utils/preprocessor</state> + <state>$PROJ_DIR$/../../../../../../../../sam/boards/sam4cp16bmb</state> + <state>$PROJ_DIR$/../../../../../../../../common/services/ioport</state> + <state>$PROJ_DIR$/../../../../../../../../sam/drivers/pmc</state> + <state>$PROJ_DIR$/../../../../../../../../sam/services/flash_efc</state> + <state>$PROJ_DIR$/../../../../../../../../sam/utils/cmsis/sam4cp/source/templates</state> + <state>$PROJ_DIR$/../../../../../../../../sam/drivers/supc</state> + <state>$PROJ_DIR$/../../../../../../../../common/utils</state> + <state>$PROJ_DIR$/../../../../../../../../sam/utils/cmsis/sam4cp/include</state> + <state>$PROJ_DIR$/..</state> + <state>$PROJ_DIR$/../../../../../../../../sam/drivers/efc</state> + <state>$PROJ_DIR$/.</state> + </option> + <option> + <name>AExtraOptionsCheckV2</name> + <state>0</state> + </option> + <option> + <name>AExtraOptionsV2</name> + <state></state> + </option> + </data> + </settings> + <settings> + <name>OBJCOPY</name> + <archiveVersion>0</archiveVersion> + <data> + <version>1</version> + <wantNonLocal>1</wantNonLocal> + <debug>1</debug> + <option> + <name>OOCOutputFormat</name> + <version>2</version> + <state>2</state> + </option> + <option> + <name>OCOutputOverride</name> + <state>1</state> + </option> + <option> + <name>OOCOutputFile</name> + <state>addons_bootloader_flash.bin</state> + </option> + <option> + <name>OOCCommandLineProducer</name> + <state>1</state> + </option> + <option> + <name>OOCObjCopyEnable</name> + <state>0</state> + </option> + </data> + </settings> + <settings> + <name>CUSTOM</name> + <archiveVersion>3</archiveVersion> + <data> + <extensions></extensions> + <cmdline></cmdline> + </data> + </settings> + <settings> + <name>BICOMP</name> + <archiveVersion>0</archiveVersion> + <data></data> + </settings> + <settings> + <name>BUILDACTION</name> + <archiveVersion>1</archiveVersion> + <data> + <prebuild></prebuild> + <postbuild></postbuild> + </data> + </settings> + <settings> + <name>ILINK</name> + <archiveVersion>0</archiveVersion> + <data> + <version>12</version> + <wantNonLocal>1</wantNonLocal> + <debug>1</debug> + <option> + <name>IlinkOutputFile</name> + <state>addons_bootloader_flash.out</state> + </option> + <option> + <name>IlinkLibIOConfig</name> + <state>1</state> + </option> + <option> + <name>XLinkMisraHandler</name> + <state>0</state> + </option> + <option> + <name>IlinkInputFileSlave</name> + <state>0</state> + </option> + <option> + <name>IlinkDebugInfoEnable</name> + <state>1</state> + </option> + <option> + <name>IlinkKeepSymbols</name> + <state></state> + </option> + <option> + <name>IlinkRawBinaryFile</name> + <state></state> + </option> + <option> + <name>IlinkRawBinarySymbol</name> + <state></state> + </option> + <option> + <name>IlinkRawBinarySegment</name> + <state></state> + </option> + <option> + <name>IlinkRawBinaryAlign</name> + <state></state> + </option> + <option> + <name>IlinkDefines</name> + <state></state> + </option> + <option> + <name>IlinkConfigDefines</name> + <state></state> + </option> + <option> + <name>IlinkMapFile</name> + <state>1</state> + </option> + <option> + <name>IlinkLogFile</name> + <state>0</state> + </option> + <option> + <name>IlinkLogInitialization</name> + <state>0</state> + </option> + <option> + <name>IlinkLogModule</name> + <state>0</state> + </option> + <option> + <name>IlinkLogSection</name> + <state>0</state> + </option> + <option> + <name>IlinkLogVeneer</name> + <state>0</state> + </option> + <option> + <name>IlinkIcfOverride</name> + <state>1</state> + </option> + <option> + <name>IlinkIcfFile</name> + <state>$PROJ_DIR$/../../linker_scripts/iar/sam4cp16b_0_flash.icf</state> + </option> + <option> + <name>IlinkIcfFileSlave</name> + <state></state> + </option> + <option> + <name>IlinkEnableRemarks</name> + <state>1</state> + </option> + <option> + <name>IlinkSuppressDiags</name> + <state></state> + </option> + <option> + <name>IlinkTreatAsRem</name> + <state></state> + </option> + <option> + <name>IlinkTreatAsWarn</name> + <state></state> + </option> + <option> + <name>IlinkTreatAsErr</name> + <state></state> + </option> + <option> + <name>IlinkWarningsAreErrors</name> + <state>0</state> + </option> + <option> + <name>IlinkUseExtraOptions</name> + <state>1</state> + </option> + <option> + <name>IlinkExtraOptions</name> + </option> + <option> + <name>IlinkLowLevelInterfaceSlave</name> + <state>1</state> + </option> + <option> + <name>IlinkAutoLibEnable</name> + <state>1</state> + </option> + <option> + <name>IlinkAdditionalLibs</name> + <state></state> + </option> + <option> + <name>IlinkOverrideProgramEntryLabel</name> + <state>0</state> + </option> + <option> + <name>IlinkProgramEntryLabelSelect</name> + <state>0</state> + </option> + <option> + <name>IlinkProgramEntryLabel</name> + <state>__iar_program_start</state> + </option> + <option> + <name>DoFill</name> + <state>0</state> + </option> + <option> + <name>FillerByte</name> + <state>0xFF</state> + </option> + <option> + <name>FillerStart</name> + <state>0x0</state> + </option> + <option> + <name>FillerEnd</name> + <state>0x0</state> + </option> + <option> + <name>CrcSize</name> + <version>0</version> + <state>1</state> + </option> + <option> + <name>CrcAlign</name> + <state>1</state> + </option> + <option> + <name>CrcAlgo</name> + <state>1</state> + </option> + <option> + <name>CrcPoly</name> + <state>0x11021</state> + </option> + <option> + <name>CrcCompl</name> + <version>0</version> + <state>0</state> + </option> + <option> + <name>CrcBitOrder</name> + <version>0</version> + <state>0</state> + </option> + <option> + <name>CrcInitialValue</name> + <state>0x0</state> + </option> + <option> + <name>DoCrc</name> + <state>0</state> + </option> + <option> + <name>IlinkBE8Slave</name> + <state>1</state> + </option> + <option> + <name>IlinkBufferedTerminalOutput</name> + <state>1</state> + </option> + <option> + <name>IlinkStdoutInterfaceSlave</name> + <state>1</state> + </option> + <option> + <name>CrcFullSize</name> + <state>0</state> + </option> + <option> + <name>IlinkIElfToolPostProcess</name> + <state>0</state> + </option> + <option> + <name>IlinkLogAutoLibSelect</name> + <state>0</state> + </option> + <option> + <name>IlinkLogRedirSymbols</name> + <state>0</state> + </option> + <option> + <name>IlinkLogUnusedFragments</name> + <state>0</state> + </option> + <option> + <name>IlinkCrcReverseByteOrder</name> + <state>0</state> + </option> + <option> + <name>IlinkCrcUseAsInput</name> + <state>1</state> + </option> + <option> + <name>IlinkOptInline</name> + <state>0</state> + </option> + <option> + <name>IlinkOptExceptionsAllow</name> + <state>0</state> + </option> + <option> + <name>IlinkOptExceptionsForce</name> + <state>0</state> + </option> + <option> + <name>IlinkCmsis</name> + <state>1</state> + </option> + </data> + </settings> + <settings> + <name>IARCHIVE</name> + <archiveVersion>0</archiveVersion> + <data> + <version>0</version> + <wantNonLocal>1</wantNonLocal> + <debug>1</debug> + <option> + <name>IarchiveInputs</name> + <state></state> + </option> + <option> + <name>IarchiveOverride</name> + <state>0</state> + </option> + <option> + <name>IarchiveOutput</name> + <state>###Unitialized###</state> + </option> + </data> + </settings> + <settings> + <name>BILINK</name> + <archiveVersion>0</archiveVersion> + <data></data> + </settings> + </configuration> + <configuration> + <name>Release</name> + <toolchain> + <name>ARM</name> + </toolchain> + <debug>0</debug> + <settings> + <name>General</name> + <archiveVersion>3</archiveVersion> + <data> + <version>21</version> + <wantNonLocal>1</wantNonLocal> + <debug>0</debug> + <option> + <name>ExePath</name> + <state>Release\Exe</state> + </option> + <option> + <name>ObjPath</name> + <state>Release\Obj</state> + </option> + <option> + <name>ListPath</name> + <state>Release\List</state> + </option> + <option> + <name>Variant</name> + <version>19</version> + <state>37</state> + </option> + <option> + <name>GEndianMode</name> + <state>0</state> + </option> + <option> + <name>Input variant</name> + <version>3</version> + <state>6</state> + </option> + <option> + <name>Input description</name> + <state>No specifier n, no float nor long long, no scan set, no assignment suppressing.</state> + </option> + <option> + <name>Output variant</name> + <version>2</version> + <state>3</state> + </option> + <option> + <name>Output description</name> + <state>No specifier a, A.</state> + </option> + <option> + <name>GOutputBinary</name> + <state>0</state> + </option> + <option> + <name>FPU</name> + <version>2</version> + <state>0</state> + </option> + <option> + <name>OGCoreOrChip</name> + <state>1</state> + </option> + <option> + <name>GRuntimeLibSelect</name> + <version>0</version> + <state>2</state> + </option> + <option> + <name>GRuntimeLibSelectSlave</name> + <version>0</version> + <state>2</state> + </option> + <option> + <name>RTDescription</name> + <state>Use the normal configuration of the C/C++ runtime library. No locale interface, C locale, no file descriptor support, no multibytes in printf and scanf, and no hex floats in strtod.</state> + </option> + <option> + <name>OGProductVersion</name> + <state>5.10.0.159</state> + </option> + <option> + <name>OGLastSavedByProductVersion</name> + <state>6.21.1.52845</state> + </option> + <option> + <name>GeneralEnableMisra</name> + <state>0</state> + </option> + <option> + <name>GeneralMisraVerbose</name> + <state>0</state> + </option> + <option> + <name>OGChipSelectEditMenu</name> + <state>ATSAM4CP16B_0 Atmel ATSAM4CP16B Core0</state> + </option> + <option> + <name>GenLowLevelInterface</name> + <state>0</state> + </option> + <option> + <name>GEndianModeBE</name> + <state>1</state> + </option> + <option> + <name>OGBufferedTerminalOutput</name> + <state>0</state> + </option> + <option> + <name>GenStdoutInterface</name> + <state>0</state> + </option> + <option> + <name>GeneralMisraRules98</name> + <version>0</version> + <state>1000111110110101101110011100111111101110011011000101110111101101100111111111111100110011111001110111001111111111111111111111111</state> + </option> + <option> + <name>GeneralMisraVer</name> + <state>0</state> + </option> + <option> + <name>GeneralMisraRules04</name> + <version>0</version> + <state>111101110010111111111000110111111111111111111111111110010111101111010101111111111111111111111111101111111011111001111011111011111111111111111</state> + </option> + <option> + <name>RTConfigPath2</name> + <state>$TOOLKIT_DIR$\INC\c\DLib_Config_Full.h</state> + </option> + <option> + <name>GFPUCoreSlave</name> + <version>19</version> + <state>37</state> + </option> + <option> + <name>GBECoreSlave</name> + <version>19</version> + <state>37</state> + </option> + <option> + <name>OGUseCmsis</name> + <state>1</state> + </option> + <option> + <name>OGUseCmsisDspLib</name> + <state>1</state> + </option> + </data> + </settings> + <settings> + <name>ICCARM</name> + <archiveVersion>2</archiveVersion> + <data> + <version>27</version> + <wantNonLocal>1</wantNonLocal> + <debug>0</debug> + <option> + <name>CCDefines</name> + <state>BOARD=SAM4CP16BMB</state> + <state>ARM_MATH_CM4=true</state> + <state>__SAM4CP16B_0__</state> + </option> + <option> + <name>CCPreprocFile</name> + <state>0</state> + </option> + <option> + <name>CCPreprocComments</name> + <state>0</state> + </option> + <option> + <name>CCPreprocLine</name> + <state>0</state> + </option> + <option> + <name>CCListCFile</name> + <state>0</state> + </option> + <option> + <name>CCListCMnemonics</name> + <state>0</state> + </option> + <option> + <name>CCListCMessages</name> + <state>0</state> + </option> + <option> + <name>CCListAssFile</name> + <state>0</state> + </option> + <option> + <name>CCListAssSource</name> + <state>0</state> + </option> + <option> + <name>CCEnableRemarks</name> + <state>1</state> + </option> + <option> + <name>CCDiagSuppress</name> + <state></state> + </option> + <option> + <name>CCDiagRemark</name> + <state></state> + </option> + <option> + <name>CCDiagWarning</name> + <state></state> + </option> + <option> + <name>CCDiagError</name> + <state></state> + </option> + <option> + <name>CCObjPrefix</name> + <state>1</state> + </option> + <option> + <name>CCAllowList</name> + <version>0</version> + <state>1111111</state> + </option> + <option> + <name>CCDebugInfo</name> + <state>0</state> + </option> + <option> + <name>IEndianMode</name> + <state>1</state> + </option> + <option> + <name>IProcessor</name> + <state>1</state> + </option> + <option> + <name>IExtraOptionsCheck</name> + <state>0</state> + </option> + <option> + <name>IExtraOptions</name> + <state></state> + </option> + <option> + <name>CCLangConformance</name> + <state>0</state> + </option> + <option> + <name>CCSignedPlainChar</name> + <state>1</state> + </option> + <option> + <name>CCRequirePrototypes</name> + <state>1</state> + </option> + <option> + <name>CCMultibyteSupport</name> + <state>0</state> + </option> + <option> + <name>CCDiagWarnAreErr</name> + <state>0</state> + </option> + <option> + <name>CCCompilerRuntimeInfo</name> + <state>0</state> + </option> + <option> + <name>IFpuProcessor</name> + <state>1</state> + </option> + <option> + <name>OutputFile</name> + <state>$FILE_BNAME$.o</state> + </option> + <option> + <name>CCLibConfigHeader</name> + <state>1</state> + </option> + <option> + <name>PreInclude</name> + <state></state> + </option> + <option> + <name>CompilerMisraOverride</name> + <state>0</state> + </option> + <option> + <name>CCIncludePath2</name> + <state>$PROJ_DIR$/../..</state> + <state>$PROJ_DIR$/../../../../../../../../sam/utils</state> + <state>$PROJ_DIR$/../../../../../../../../common/services/clock</state> + <state>$PROJ_DIR$/../../../../../../../../sam/boards</state> + <state>$PROJ_DIR$/../../../../../../../../sam/utils/header_files</state> + <state>$PROJ_DIR$/../../../../../../../../common/boards</state> + <state>$PROJ_DIR$/../../../../../../../../sam/utils/preprocessor</state> + <state>$PROJ_DIR$/../../../../../../../../sam/boards/sam4cp16bmb</state> + <state>$PROJ_DIR$/../../../../../../../../common/services/ioport</state> + <state>$PROJ_DIR$/../../../../../../../../sam/drivers/pmc</state> + <state>$PROJ_DIR$/../../../../../../../../sam/services/flash_efc</state> + <state>$PROJ_DIR$/../../../../../../../../sam/utils/cmsis/sam4cp/source/templates</state> + <state>$PROJ_DIR$/../../../../../../../../sam/drivers/supc</state> + <state>$PROJ_DIR$/../../../../../../../../common/utils</state> + <state>$PROJ_DIR$/../../../../../../../../sam/utils/cmsis/sam4cp/include</state> + <state>$PROJ_DIR$/..</state> + <state>$PROJ_DIR$/../../../../../../../../sam/drivers/efc</state> + <state>$PROJ_DIR$/.</state> + </option> + <option> + <name>CCStdIncCheck</name> + <state>0</state> + </option> + <option> + <name>CCCodeSection</name> + <state>.text</state> + </option> + <option> + <name>IInterwork2</name> + <state>0</state> + </option> + <option> + <name>IProcessorMode2</name> + <state>1</state> + </option> + <option> + <name>CCOptLevel</name> + <state>3</state> + </option> + <option> + <name>CCOptStrategy</name> + <version>0</version> + <state>1</state> + </option> + <option> + <name>CCOptLevelSlave</name> + <state>3</state> + </option> + <option> + <name>CompilerMisraRules98</name> + <version>0</version> + <state>1000111110110101101110011100111111101110011011000101110111101101100111111111111100110011111001110111001111111111111111111111111</state> + </option> + <option> + <name>CompilerMisraRules04</name> + <version>0</version> + <state>111101110010111111111000110111111111111111111111111110010111101111010101111111111111111111111111101111111011111001111011111011111111111111111</state> + </option> + <option> + <name>CCPosIndRopi</name> + <state>0</state> + </option> + <option> + <name>CCPosIndRwpi</name> + <state>0</state> + </option> + <option> + <name>CCPosIndNoDynInit</name> + <state>0</state> + </option> + <option> + <name>IccLang</name> + <state>0</state> + </option> + <option> + <name>IccCDialect</name> + <state>1</state> + </option> + <option> + <name>IccAllowVLA</name> + <state>0</state> + </option> + <option> + <name>IccCppDialect</name> + <state>1</state> + </option> + <option> + <name>IccExceptions</name> + <state>1</state> + </option> + <option> + <name>IccRTTI</name> + <state>1</state> + </option> + <option> + <name>IccStaticDestr</name> + <state>1</state> + </option> + <option> + <name>IccRelaxedFpPrecision</name> + <state>0</state> + </option> + <option> + <name>IccCppInlineSemantics</name> + <state>0</state> + </option> + <option> + <name>IccCmsis</name> + <state>1</state> + </option> + </data> + </settings> + <settings> + <name>AARM</name> + <archiveVersion>2</archiveVersion> + <data> + <version>8</version> + <wantNonLocal>1</wantNonLocal> + <debug>0</debug> + <option> + <name>AObjPrefix</name> + <state>1</state> + </option> + <option> + <name>AEndian</name> + <state>1</state> + </option> + <option> + <name>ACaseSensitivity</name> + <state>1</state> + </option> + <option> + <name>MacroChars</name> + <version>0</version> + <state>0</state> + </option> + <option> + <name>AWarnEnable</name> + <state>0</state> + </option> + <option> + <name>AWarnWhat</name> + <state>0</state> + </option> + <option> + <name>AWarnOne</name> + <state></state> + </option> + <option> + <name>AWarnRange1</name> + <state></state> + </option> + <option> + <name>AWarnRange2</name> + <state></state> + </option> + <option> + <name>ADebug</name> + <state>0</state> + </option> + <option> + <name>AltRegisterNames</name> + <state>0</state> + </option> + <option> + <name>ADefines</name> + <state>BOARD=SAM4CP16BMB</state> + <state>ARM_MATH_CM4=true</state> + <state>__SAM4CP16B_0__</state> + </option> + <option> + <name>AList</name> + <state>0</state> + </option> + <option> + <name>AListHeader</name> + <state>1</state> + </option> + <option> + <name>AListing</name> + <state>1</state> + </option> + <option> + <name>Includes</name> + <state>0</state> + </option> + <option> + <name>MacDefs</name> + <state>0</state> + </option> + <option> + <name>MacExps</name> + <state>1</state> + </option> + <option> + <name>MacExec</name> + <state>0</state> + </option> + <option> + <name>OnlyAssed</name> + <state>0</state> + </option> + <option> + <name>MultiLine</name> + <state>0</state> + </option> + <option> + <name>PageLengthCheck</name> + <state>0</state> + </option> + <option> + <name>PageLength</name> + <state>80</state> + </option> + <option> + <name>TabSpacing</name> + <state>8</state> + </option> + <option> + <name>AXRef</name> + <state>0</state> + </option> + <option> + <name>AXRefDefines</name> + <state>0</state> + </option> + <option> + <name>AXRefInternal</name> + <state>0</state> + </option> + <option> + <name>AXRefDual</name> + <state>0</state> + </option> + <option> + <name>AProcessor</name> + <state>1</state> + </option> + <option> + <name>AFpuProcessor</name> + <state>1</state> + </option> + <option> + <name>AOutputFile</name> + <state>$FILE_BNAME$.o</state> + </option> + <option> + <name>AMultibyteSupport</name> + <state>0</state> + </option> + <option> + <name>ALimitErrorsCheck</name> + <state>0</state> + </option> + <option> + <name>ALimitErrorsEdit</name> + <state>100</state> + </option> + <option> + <name>AIgnoreStdInclude</name> + <state>0</state> + </option> + <option> + <name>AUserIncludes</name> + <state>$PROJ_DIR$/../..</state> + <state>$PROJ_DIR$/../../../../../../../../sam/utils</state> + <state>$PROJ_DIR$/../../../../../../../../common/services/clock</state> + <state>$PROJ_DIR$/../../../../../../../../sam/boards</state> + <state>$PROJ_DIR$/../../../../../../../../sam/utils/header_files</state> + <state>$PROJ_DIR$/../../../../../../../../common/boards</state> + <state>$PROJ_DIR$/../../../../../../../../sam/utils/preprocessor</state> + <state>$PROJ_DIR$/../../../../../../../../sam/boards/sam4cp16bmb</state> + <state>$PROJ_DIR$/../../../../../../../../common/services/ioport</state> + <state>$PROJ_DIR$/../../../../../../../../sam/drivers/pmc</state> + <state>$PROJ_DIR$/../../../../../../../../sam/services/flash_efc</state> + <state>$PROJ_DIR$/../../../../../../../../sam/utils/cmsis/sam4cp/source/templates</state> + <state>$PROJ_DIR$/../../../../../../../../sam/drivers/supc</state> + <state>$PROJ_DIR$/../../../../../../../../common/utils</state> + <state>$PROJ_DIR$/../../../../../../../../sam/utils/cmsis/sam4cp/include</state> + <state>$PROJ_DIR$/..</state> + <state>$PROJ_DIR$/../../../../../../../../sam/drivers/efc</state> + <state>$PROJ_DIR$/.</state> + </option> + <option> + <name>AExtraOptionsCheckV2</name> + <state>0</state> + </option> + <option> + <name>AExtraOptionsV2</name> + <state></state> + </option> + </data> + </settings> + <settings> + <name>OBJCOPY</name> + <archiveVersion>0</archiveVersion> + <data> + <version>1</version> + <wantNonLocal>1</wantNonLocal> + <debug>0</debug> + <option> + <name>OOCOutputFormat</name> + <version>2</version> + <state>2</state> + </option> + <option> + <name>OCOutputOverride</name> + <state>1</state> + </option> + <option> + <name>OOCOutputFile</name> + <state>addons_bootloader_flash.bin</state> + </option> + <option> + <name>OOCCommandLineProducer</name> + <state>1</state> + </option> + <option> + <name>OOCObjCopyEnable</name> + <state>0</state> + </option> + </data> + </settings> + <settings> + <name>CUSTOM</name> + <archiveVersion>3</archiveVersion> + <data> + <extensions></extensions> + <cmdline></cmdline> + </data> + </settings> + <settings> + <name>BICOMP</name> + <archiveVersion>0</archiveVersion> + <data></data> + </settings> + <settings> + <name>BUILDACTION</name> + <archiveVersion>1</archiveVersion> + <data> + <prebuild></prebuild> + <postbuild></postbuild> + </data> + </settings> + <settings> + <name>ILINK</name> + <archiveVersion>0</archiveVersion> + <data> + <version>12</version> + <wantNonLocal>1</wantNonLocal> + <debug>0</debug> + <option> + <name>IlinkOutputFile</name> + <state>addons_bootloader_flash.out</state> + </option> + <option> + <name>IlinkLibIOConfig</name> + <state>1</state> + </option> + <option> + <name>XLinkMisraHandler</name> + <state>0</state> + </option> + <option> + <name>IlinkInputFileSlave</name> + <state>0</state> + </option> + <option> + <name>IlinkDebugInfoEnable</name> + <state>1</state> + </option> + <option> + <name>IlinkKeepSymbols</name> + <state></state> + </option> + <option> + <name>IlinkRawBinaryFile</name> + <state></state> + </option> + <option> + <name>IlinkRawBinarySymbol</name> + <state></state> + </option> + <option> + <name>IlinkRawBinarySegment</name> + <state></state> + </option> + <option> + <name>IlinkRawBinaryAlign</name> + <state></state> + </option> + <option> + <name>IlinkDefines</name> + <state></state> + </option> + <option> + <name>IlinkConfigDefines</name> + <state></state> + </option> + <option> + <name>IlinkMapFile</name> + <state>1</state> + </option> + <option> + <name>IlinkLogFile</name> + <state>0</state> + </option> + <option> + <name>IlinkLogInitialization</name> + <state>0</state> + </option> + <option> + <name>IlinkLogModule</name> + <state>0</state> + </option> + <option> + <name>IlinkLogSection</name> + <state>0</state> + </option> + <option> + <name>IlinkLogVeneer</name> + <state>0</state> + </option> + <option> + <name>IlinkIcfOverride</name> + <state>1</state> + </option> + <option> + <name>IlinkIcfFile</name> + <state>$PROJ_DIR$/../../linker_scripts/iar/sam4cp16b_0_flash.icf</state> + </option> + <option> + <name>IlinkIcfFileSlave</name> + <state></state> + </option> + <option> + <name>IlinkEnableRemarks</name> + <state>0</state> + </option> + <option> + <name>IlinkSuppressDiags</name> + <state></state> + </option> + <option> + <name>IlinkTreatAsRem</name> + <state></state> + </option> + <option> + <name>IlinkTreatAsWarn</name> + <state></state> + </option> + <option> + <name>IlinkTreatAsErr</name> + <state></state> + </option> + <option> + <name>IlinkWarningsAreErrors</name> + <state>0</state> + </option> + <option> + <name>IlinkUseExtraOptions</name> + <state>1</state> + </option> + <option> + <name>IlinkExtraOptions</name> + </option> + <option> + <name>IlinkLowLevelInterfaceSlave</name> + <state>1</state> + </option> + <option> + <name>IlinkAutoLibEnable</name> + <state>1</state> + </option> + <option> + <name>IlinkAdditionalLibs</name> + <state></state> + </option> + <option> + <name>IlinkOverrideProgramEntryLabel</name> + <state>0</state> + </option> + <option> + <name>IlinkProgramEntryLabelSelect</name> + <state>0</state> + </option> + <option> + <name>IlinkProgramEntryLabel</name> + <state>__iar_program_start</state> + </option> + <option> + <name>DoFill</name> + <state>0</state> + </option> + <option> + <name>FillerByte</name> + <state>0xFF</state> + </option> + <option> + <name>FillerStart</name> + <state>0x0</state> + </option> + <option> + <name>FillerEnd</name> + <state>0x0</state> + </option> + <option> + <name>CrcSize</name> + <version>0</version> + <state>1</state> + </option> + <option> + <name>CrcAlign</name> + <state>1</state> + </option> + <option> + <name>CrcAlgo</name> + <state>1</state> + </option> + <option> + <name>CrcPoly</name> + <state>0x11021</state> + </option> + <option> + <name>CrcCompl</name> + <version>0</version> + <state>0</state> + </option> + <option> + <name>CrcBitOrder</name> + <version>0</version> + <state>0</state> + </option> + <option> + <name>CrcInitialValue</name> + <state>0x0</state> + </option> + <option> + <name>DoCrc</name> + <state>0</state> + </option> + <option> + <name>IlinkBE8Slave</name> + <state>1</state> + </option> + <option> + <name>IlinkBufferedTerminalOutput</name> + <state>1</state> + </option> + <option> + <name>IlinkStdoutInterfaceSlave</name> + <state>1</state> + </option> + <option> + <name>CrcFullSize</name> + <state>0</state> + </option> + <option> + <name>IlinkIElfToolPostProcess</name> + <state>0</state> + </option> + <option> + <name>IlinkLogAutoLibSelect</name> + <state>0</state> + </option> + <option> + <name>IlinkLogRedirSymbols</name> + <state>0</state> + </option> + <option> + <name>IlinkLogUnusedFragments</name> + <state>0</state> + </option> + <option> + <name>IlinkCrcReverseByteOrder</name> + <state>0</state> + </option> + <option> + <name>IlinkCrcUseAsInput</name> + <state>1</state> + </option> + <option> + <name>IlinkOptInline</name> + <state>1</state> + </option> + <option> + <name>IlinkOptExceptionsAllow</name> + <state>1</state> + </option> + <option> + <name>IlinkOptExceptionsForce</name> + <state>0</state> + </option> + <option> + <name>IlinkCmsis</name> + <state>1</state> + </option> + </data> + </settings> + <settings> + <name>IARCHIVE</name> + <archiveVersion>0</archiveVersion> + <data> + <version>0</version> + <wantNonLocal>1</wantNonLocal> + <debug>0</debug> + <option> + <name>IarchiveInputs</name> + <state></state> + </option> + <option> + <name>IarchiveOverride</name> + <state>0</state> + </option> + <option> + <name>IarchiveOutput</name> + <state>###Unitialized###</state> + </option> + </data> + </settings> + <settings> + <name>BILINK</name> + <archiveVersion>0</archiveVersion> + <data></data> + </settings> + </configuration> + <group> + <name>sam</name> + <group> + <name>drivers</name> + <group> + <name>pmc</name> + <file> + <name>$PROJ_DIR$/../../../../../../../../sam/drivers/pmc/pmc.c</name> + </file> + <file> + <name>$PROJ_DIR$/../../../../../../../../sam/drivers/pmc/sleep.c</name> + </file> + <file> + <name>$PROJ_DIR$/../../../../../../../../sam/drivers/pmc/sleep.h</name> + </file> + <file> + <name>$PROJ_DIR$/../../../../../../../../sam/drivers/pmc/pmc.h</name> + </file> + </group> + <group> + <name>supc</name> + <file> + <name>$PROJ_DIR$/../../../../../../../../sam/drivers/supc/supc.c</name> + </file> + <file> + <name>$PROJ_DIR$/../../../../../../../../sam/drivers/supc/supc.h</name> + </file> + </group> + <group> + <name>efc</name> + <file> + <name>$PROJ_DIR$/../../../../../../../../sam/drivers/efc/efc.c</name> + </file> + <file> + <name>$PROJ_DIR$/../../../../../../../../sam/drivers/efc/efc.h</name> + </file> + </group> + </group> + <group> + <name>utils</name> + <group> + <name>cmsis</name> + <group> + <name>sam4cp</name> + <group> + <name>source</name> + <group> + <name>templates</name> + <group> + <name>iar</name> + <file> + <name>$PROJ_DIR$/../../../../../../../../sam/utils/cmsis/sam4cp/source/templates/iar/startup_sam4cp.c</name> + </file> + </group> + <file> + <name>$PROJ_DIR$/../../../../../../../../sam/utils/cmsis/sam4cp/source/templates/system_sam4cp.c</name> + </file> + </group> + </group> + <group> + <name>include</name> + <group> + <name>instance</name> + <file> + <name>$PROJ_DIR$/../../../../../../../../sam/utils/cmsis/sam4cp/include/instance/instance_gpbr.h</name> + </file> + <file> + <name>$PROJ_DIR$/../../../../../../../../sam/utils/cmsis/sam4cp/include/instance/instance_twi0.h</name> + </file> + <file> + <name>$PROJ_DIR$/../../../../../../../../sam/utils/cmsis/sam4cp/include/instance/instance_rtc.h</name> + </file> + <file> + <name>$PROJ_DIR$/../../../../../../../../sam/utils/cmsis/sam4cp/include/instance/instance_trng.h</name> + </file> + <file> + <name>$PROJ_DIR$/../../../../../../../../sam/utils/cmsis/sam4cp/include/instance/instance_uart0.h</name> + </file> + <file> + <name>$PROJ_DIR$/../../../../../../../../sam/utils/cmsis/sam4cp/include/instance/instance_smc0.h</name> + </file> + <file> + <name>$PROJ_DIR$/../../../../../../../../sam/utils/cmsis/sam4cp/include/instance/instance_twi1.h</name> + </file> + <file> + <name>$PROJ_DIR$/../../../../../../../../sam/utils/cmsis/sam4cp/include/instance/instance_cmcc0.h</name> + </file> + <file> + <name>$PROJ_DIR$/../../../../../../../../sam/utils/cmsis/sam4cp/include/instance/instance_usart0.h</name> + </file> + <file> + <name>$PROJ_DIR$/../../../../../../../../sam/utils/cmsis/sam4cp/include/instance/instance_usart1.h</name> + </file> + <file> + <name>$PROJ_DIR$/../../../../../../../../sam/utils/cmsis/sam4cp/include/instance/instance_pmc.h</name> + </file> + <file> + <name>$PROJ_DIR$/../../../../../../../../sam/utils/cmsis/sam4cp/include/instance/instance_rswdt.h</name> + </file> + <file> + <name>$PROJ_DIR$/../../../../../../../../sam/utils/cmsis/sam4cp/include/instance/instance_chipid.h</name> + </file> + <file> + <name>$PROJ_DIR$/../../../../../../../../sam/utils/cmsis/sam4cp/include/instance/instance_ipc1.h</name> + </file> + <file> + <name>$PROJ_DIR$/../../../../../../../../sam/utils/cmsis/sam4cp/include/instance/instance_usart3.h</name> + </file> + <file> + <name>$PROJ_DIR$/../../../../../../../../sam/utils/cmsis/sam4cp/include/instance/instance_piob.h</name> + </file> + <file> + <name>$PROJ_DIR$/../../../../../../../../sam/utils/cmsis/sam4cp/include/instance/instance_uart1.h</name> + </file> + <file> + <name>$PROJ_DIR$/../../../../../../../../sam/utils/cmsis/sam4cp/include/instance/instance_rtt.h</name> + </file> + <file> + <name>$PROJ_DIR$/../../../../../../../../sam/utils/cmsis/sam4cp/include/instance/instance_matrix0.h</name> + </file> + <file> + <name>$PROJ_DIR$/../../../../../../../../sam/utils/cmsis/sam4cp/include/instance/instance_matrix1.h</name> + </file> + <file> + <name>$PROJ_DIR$/../../../../../../../../sam/utils/cmsis/sam4cp/include/instance/instance_pioa.h</name> + </file> + <file> + <name>$PROJ_DIR$/../../../../../../../../sam/utils/cmsis/sam4cp/include/instance/instance_pioc.h</name> + </file> + <file> + <name>$PROJ_DIR$/../../../../../../../../sam/utils/cmsis/sam4cp/include/instance/instance_efc.h</name> + </file> + <file> + <name>$PROJ_DIR$/../../../../../../../../sam/utils/cmsis/sam4cp/include/instance/instance_cmcc1.h</name> + </file> + <file> + <name>$PROJ_DIR$/../../../../../../../../sam/utils/cmsis/sam4cp/include/instance/instance_slcdc.h</name> + </file> + <file> + <name>$PROJ_DIR$/../../../../../../../../sam/utils/cmsis/sam4cp/include/instance/instance_usart2.h</name> + </file> + <file> + <name>$PROJ_DIR$/../../../../../../../../sam/utils/cmsis/sam4cp/include/instance/instance_supc.h</name> + </file> + <file> + <name>$PROJ_DIR$/../../../../../../../../sam/utils/cmsis/sam4cp/include/instance/instance_wdt.h</name> + </file> + <file> + <name>$PROJ_DIR$/../../../../../../../../sam/utils/cmsis/sam4cp/include/instance/instance_usart4.h</name> + </file> + <file> + <name>$PROJ_DIR$/../../../../../../../../sam/utils/cmsis/sam4cp/include/instance/instance_tc1.h</name> + </file> + <file> + <name>$PROJ_DIR$/../../../../../../../../sam/utils/cmsis/sam4cp/include/instance/instance_spi0.h</name> + </file> + <file> + <name>$PROJ_DIR$/../../../../../../../../sam/utils/cmsis/sam4cp/include/instance/instance_rstc.h</name> + </file> + <file> + <name>$PROJ_DIR$/../../../../../../../../sam/utils/cmsis/sam4cp/include/instance/instance_pwm.h</name> + </file> + <file> + <name>$PROJ_DIR$/../../../../../../../../sam/utils/cmsis/sam4cp/include/instance/instance_ipc0.h</name> + </file> + <file> + <name>$PROJ_DIR$/../../../../../../../../sam/utils/cmsis/sam4cp/include/instance/instance_tc0.h</name> + </file> + <file> + <name>$PROJ_DIR$/../../../../../../../../sam/utils/cmsis/sam4cp/include/instance/instance_smc1.h</name> + </file> + <file> + <name>$PROJ_DIR$/../../../../../../../../sam/utils/cmsis/sam4cp/include/instance/instance_icm.h</name> + </file> + <file> + <name>$PROJ_DIR$/../../../../../../../../sam/utils/cmsis/sam4cp/include/instance/instance_spi1.h</name> + </file> + <file> + <name>$PROJ_DIR$/../../../../../../../../sam/utils/cmsis/sam4cp/include/instance/instance_adc.h</name> + </file> + <file> + <name>$PROJ_DIR$/../../../../../../../../sam/utils/cmsis/sam4cp/include/instance/instance_aes.h</name> + </file> + </group> + <file> + <name>$PROJ_DIR$/../../../../../../../../sam/utils/cmsis/sam4cp/include/sam4cp16b_0.h</name> + </file> + <group> + <name>component</name> + <file> + <name>$PROJ_DIR$/../../../../../../../../sam/utils/cmsis/sam4cp/include/component/component_spi.h</name> + </file> + <file> + <name>$PROJ_DIR$/../../../../../../../../sam/utils/cmsis/sam4cp/include/component/component_rstc.h</name> + </file> + <file> + <name>$PROJ_DIR$/../../../../../../../../sam/utils/cmsis/sam4cp/include/component/component_supc.h</name> + </file> + <file> + <name>$PROJ_DIR$/../../../../../../../../sam/utils/cmsis/sam4cp/include/component/component_efc.h</name> + </file> + <file> + <name>$PROJ_DIR$/../../../../../../../../sam/utils/cmsis/sam4cp/include/component/component_pdc.h</name> + </file> + <file> + <name>$PROJ_DIR$/../../../../../../../../sam/utils/cmsis/sam4cp/include/component/component_twi.h</name> + </file> + <file> + <name>$PROJ_DIR$/../../../../../../../../sam/utils/cmsis/sam4cp/include/component/component_icm.h</name> + </file> + <file> + <name>$PROJ_DIR$/../../../../../../../../sam/utils/cmsis/sam4cp/include/component/component_slcdc.h</name> + </file> + <file> + <name>$PROJ_DIR$/../../../../../../../../sam/utils/cmsis/sam4cp/include/component/component_usart.h</name> + </file> + <file> + <name>$PROJ_DIR$/../../../../../../../../sam/utils/cmsis/sam4cp/include/component/component_aes.h</name> + </file> + <file> + <name>$PROJ_DIR$/../../../../../../../../sam/utils/cmsis/sam4cp/include/component/component_pmc.h</name> + </file> + <file> + <name>$PROJ_DIR$/../../../../../../../../sam/utils/cmsis/sam4cp/include/component/component_chipid.h</name> + </file> + <file> + <name>$PROJ_DIR$/../../../../../../../../sam/utils/cmsis/sam4cp/include/component/component_wdt.h</name> + </file> + <file> + <name>$PROJ_DIR$/../../../../../../../../sam/utils/cmsis/sam4cp/include/component/component_rswdt.h</name> + </file> + <file> + <name>$PROJ_DIR$/../../../../../../../../sam/utils/cmsis/sam4cp/include/component/component_smc.h</name> + </file> + <file> + <name>$PROJ_DIR$/../../../../../../../../sam/utils/cmsis/sam4cp/include/component/component_gpbr.h</name> + </file> + <file> + <name>$PROJ_DIR$/../../../../../../../../sam/utils/cmsis/sam4cp/include/component/component_trng.h</name> + </file> + <file> + <name>$PROJ_DIR$/../../../../../../../../sam/utils/cmsis/sam4cp/include/component/component_ipc.h</name> + </file> + <file> + <name>$PROJ_DIR$/../../../../../../../../sam/utils/cmsis/sam4cp/include/component/component_cmcc.h</name> + </file> + <file> + <name>$PROJ_DIR$/../../../../../../../../sam/utils/cmsis/sam4cp/include/component/component_rtc.h</name> + </file> + <file> + <name>$PROJ_DIR$/../../../../../../../../sam/utils/cmsis/sam4cp/include/component/component_rtt.h</name> + </file> + <file> + <name>$PROJ_DIR$/../../../../../../../../sam/utils/cmsis/sam4cp/include/component/component_pwm.h</name> + </file> + <file> + <name>$PROJ_DIR$/../../../../../../../../sam/utils/cmsis/sam4cp/include/component/component_pio.h</name> + </file> + <file> + <name>$PROJ_DIR$/../../../../../../../../sam/utils/cmsis/sam4cp/include/component/component_adc.h</name> + </file> + <file> + <name>$PROJ_DIR$/../../../../../../../../sam/utils/cmsis/sam4cp/include/component/component_matrix.h</name> + </file> + <file> + <name>$PROJ_DIR$/../../../../../../../../sam/utils/cmsis/sam4cp/include/component/component_uart.h</name> + </file> + <file> + <name>$PROJ_DIR$/../../../../../../../../sam/utils/cmsis/sam4cp/include/component/component_tc.h</name> + </file> + </group> + <group> + <name>pio</name> + <file> + <name>$PROJ_DIR$/../../../../../../../../sam/utils/cmsis/sam4cp/include/pio/pio_sam4cp16b.h</name> + </file> + </group> + <file> + <name>$PROJ_DIR$/../../../../../../../../sam/utils/cmsis/sam4cp/include/sam4cp16b_1.h</name> + </file> + <file> + <name>$PROJ_DIR$/../../../../../../../../sam/utils/cmsis/sam4cp/include/sam4cp_1.h</name> + </file> + <file> + <name>$PROJ_DIR$/../../../../../../../../sam/utils/cmsis/sam4cp/include/system_sam4cp.h</name> + </file> + <file> + <name>$PROJ_DIR$/../../../../../../../../sam/utils/cmsis/sam4cp/include/sam4cp_0.h</name> + </file> + <file> + <name>$PROJ_DIR$/../../../../../../../../sam/utils/cmsis/sam4cp/include/sam4cp.h</name> + </file> + </group> + </group> + </group> + <group> + <name>preprocessor</name> + <file> + <name>$PROJ_DIR$/../../../../../../../../sam/utils/preprocessor/preprocessor.h</name> + </file> + <file> + <name>$PROJ_DIR$/../../../../../../../../sam/utils/preprocessor/stringz.h</name> + </file> + <file> + <name>$PROJ_DIR$/../../../../../../../../sam/utils/preprocessor/tpaste.h</name> + </file> + <file> + <name>$PROJ_DIR$/../../../../../../../../sam/utils/preprocessor/mrepeat.h</name> + </file> + </group> + <file> + <name>$PROJ_DIR$/../../../../../../../../sam/utils/compiler.h</name> + </file> + <file> + <name>$PROJ_DIR$/../../../../../../../../sam/utils/status_codes.h</name> + </file> + <group> + <name>header_files</name> + <file> + <name>$PROJ_DIR$/../../../../../../../../sam/utils/header_files/io.h</name> + </file> + </group> + </group> + <group> + <name>boards</name> + <group> + <name>sam4cp16bmb</name> + <file> + <name>$PROJ_DIR$/../../../../../../../../sam/boards/sam4cp16bmb/init.c</name> + </file> + <file> + <name>$PROJ_DIR$/../../../../../../../../sam/boards/sam4cp16bmb/sam4cp16bmb.h</name> + </file> + <file> + <name>$PROJ_DIR$/../../../../../../../../sam/boards/sam4cp16bmb/led.h</name> + </file> + </group> + </group> + <group> + <name>services</name> + <group> + <name>flash_efc</name> + <file> + <name>$PROJ_DIR$/../../../../../../../../sam/services/flash_efc/flash_efc.c</name> + </file> + <file> + <name>$PROJ_DIR$/../../../../../../../../sam/services/flash_efc/flash_efc.h</name> + </file> + </group> + </group> + </group> + <group> + <name>common</name> + <group> + <name>services</name> + <group> + <name>clock</name> + <group> + <name>sam4cp</name> + <file> + <name>$PROJ_DIR$/../../../../../../../../common/services/clock/sam4cp/sysclk.c</name> + </file> + <file> + <name>$PROJ_DIR$/../../../../../../../../common/services/clock/sam4cp/genclk.h</name> + </file> + <file> + <name>$PROJ_DIR$/../../../../../../../../common/services/clock/sam4cp/osc.h</name> + </file> + <file> + <name>$PROJ_DIR$/../../../../../../../../common/services/clock/sam4cp/pll.h</name> + </file> + <file> + <name>$PROJ_DIR$/../../../../../../../../common/services/clock/sam4cp/sysclk.h</name> + </file> + </group> + <file> + <name>$PROJ_DIR$/../../../../../../../../common/services/clock/pll.h</name> + </file> + <file> + <name>$PROJ_DIR$/../../../../../../../../common/services/clock/osc.h</name> + </file> + <file> + <name>$PROJ_DIR$/../../../../../../../../common/services/clock/genclk.h</name> + </file> + <file> + <name>$PROJ_DIR$/../../../../../../../../common/services/clock/sysclk.h</name> + </file> + </group> + <group> + <name>ioport</name> + <file> + <name>$PROJ_DIR$/../../../../../../../../common/services/ioport/ioport.h</name> + </file> + <group> + <name>sam</name> + <file> + <name>$PROJ_DIR$/../../../../../../../../common/services/ioport/sam/ioport_pio.h</name> + </file> + </group> + </group> + </group> + <group> + <name>utils</name> + <group> + <name>interrupt</name> + <file> + <name>$PROJ_DIR$/../../../../../../../../common/utils/interrupt/interrupt_sam_nvic.c</name> + </file> + <file> + <name>$PROJ_DIR$/../../../../../../../../common/utils/interrupt/interrupt_sam_nvic.h</name> + </file> + </group> + <file> + <name>$PROJ_DIR$/../../../../../../../../common/utils/parts.h</name> + </file> + <file> + <name>$PROJ_DIR$/../../../../../../../../common/utils/interrupt.h</name> + </file> + </group> + <group> + <name>boards</name> + <file> + <name>$PROJ_DIR$/../../../../../../../../common/boards/board.h</name> + </file> + </group> + </group> + <group> + <name>thirdparty</name> + <group> + <name>prime</name> + <group> + <name>mac</name> + <group> + <name>mac_1_3</name> + <group> + <name>addons</name> + <group> + <name>bootloader</name> + <file> + <name>$PROJ_DIR$/../../bootloader.c</name> + </file> + <file> + <name>$PROJ_DIR$/../../boot_regions_sam4cp16b_0.h</name> + </file> + <group> + <name>sam4cp16b_sam4cp16bmb</name> + <file> + <name>$PROJ_DIR$/../conf_clock.h</name> + </file> + <file> + <name>$PROJ_DIR$/../conf_board.h</name> + </file> + <group> + <name>iar</name> + <file> + <name>$PROJ_DIR$/asf.h</name> + </file> + </group> + <file> + <name>$PROJ_DIR$/../conf_sleepmgr.h</name> + </file> + <file> + <name>$PROJ_DIR$/../conf_version.h</name> + </file> + </group> + </group> + </group> + </group> + </group> + </group> + </group> +</project> diff --git a/thirdparty/prime/mac/mac_1_3/addons/bootloader/sam4cp16b_sam4cp16bmb/iar/asf.h b/thirdparty/prime/mac/mac_1_3/addons/bootloader/sam4cp16b_sam4cp16bmb/iar/asf.h new file mode 100644 index 00000000..5d42fa7b --- /dev/null +++ b/thirdparty/prime/mac/mac_1_3/addons/bootloader/sam4cp16b_sam4cp16bmb/iar/asf.h @@ -0,0 +1,90 @@ +/** + * \file + * + * \brief Autogenerated API include file for the Atmel Software Framework (ASF) + * + * Copyright (c) 2012 Atmel Corporation. All rights reserved. + * + * \asf_license_start + * + * \page License + * + * 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 microcontroller 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. + * + * \asf_license_stop + * + */ + +#ifndef ASF_H +#define ASF_H + +/* + * This file includes all API header files for the selected drivers from ASF. + * Note: There might be duplicate includes required by more than one driver. + * + * The file is automatically generated and will be re-written when + * running the ASF driver selector tool. Any changes will be discarded. + */ +
+// From module: Common SAM compiler driver
+#include <compiler.h>
+#include <status_codes.h>
+
+// From module: EEFC - Enhanced Embedded Flash Controller
+#include <efc.h>
+
+// From module: Flash - SAM Flash Service API
+#include <flash_efc.h>
+
+// From module: Generic board support
+#include <board.h>
+
+// From module: IOPORT - General purpose I/O service
+#include <ioport.h>
+
+// From module: Interrupt management - SAM implementation
+#include <interrupt.h>
+
+// From module: PMC - Power Management Controller
+#include <pmc.h>
+#include <sleep.h>
+
+// From module: Part identification macros
+#include <parts.h>
+
+// From module: SAM4CP16BMB LED support enabled
+#include <led.h>
+
+// From module: SUPC - Supply Controller
+#include <supc.h>
+
+// From module: System Clock Control - SAM4CP implementation
+#include <sysclk.h>
+ +#endif // ASF_H diff --git a/thirdparty/prime/mac/mac_1_3/addons/serial_if/doxygen/thirdparty.prime.mac_1_3.addons.mac_serial_if/doxyfile.doxygen b/thirdparty/prime/mac/mac_1_3/addons/serial_if/doxygen/thirdparty.prime.mac_1_3.addons.mac_serial_if/doxyfile.doxygen new file mode 100644 index 00000000..ccd46a9c --- /dev/null +++ b/thirdparty/prime/mac/mac_1_3/addons/serial_if/doxygen/thirdparty.prime.mac_1_3.addons.mac_serial_if/doxyfile.doxygen @@ -0,0 +1,1645 @@ +# Doxyfile 1.7.1 + +# This file describes the settings to be used by the documentation system +# doxygen (www.doxygen.org) for a project +# +# All text after a hash (#) is considered a comment and will be ignored +# The format is: +# TAG = value [value, ...] +# For lists items can also be appended using: +# TAG += value [value, ...] +# Values that contain spaces should be placed between quotes (" ") + +#--------------------------------------------------------------------------- +# Project related configuration options +#--------------------------------------------------------------------------- + +# This tag specifies the encoding used for all characters in the config file +# that follow. The default is UTF-8 which is also the encoding used for all +# text before the first occurrence of this tag. Doxygen uses libiconv (or the +# iconv built into libc) for the transcoding. See +# http://www.gnu.org/software/libiconv for the list of possible encodings. + +DOXYFILE_ENCODING = UTF-8 + +# The PROJECT_NAME tag is a single word (or a sequence of words surrounded +# by quotes) that should identify the project. + +PROJECT_NAME = "PRIME MAC Layer Serial Interface Module" + +# The PROJECT_NUMBER tag can be used to enter a project or revision number. +# This could be handy for archiving the generated documentation or +# if some version control system is used. + +PROJECT_NUMBER = + +# The OUTPUT_DIRECTORY tag is used to specify the (relative or absolute) +# base path where the generated documentation will be put. +# If a relative path is entered, it will be relative to the location +# where doxygen was started. If left blank the current directory will be used. + +OUTPUT_DIRECTORY = . + +# If the CREATE_SUBDIRS tag is set to YES, then doxygen will create +# 4096 sub-directories (in 2 levels) under the output directory of each output +# format and will distribute the generated files over these directories. +# Enabling this option can be useful when feeding doxygen a huge amount of +# source files, where putting all generated files in the same directory would +# otherwise cause performance problems for the file system. + +CREATE_SUBDIRS = NO + +# The OUTPUT_LANGUAGE tag is used to specify the language in which all +# documentation generated by doxygen is written. Doxygen will use this +# information to generate all constant output in the proper language. +# The default language is English, other supported languages are: +# Afrikaans, Arabic, Brazilian, Catalan, Chinese, Chinese-Traditional, +# Croatian, Czech, Danish, Dutch, Esperanto, Farsi, Finnish, French, German, +# Greek, Hungarian, Italian, Japanese, Japanese-en (Japanese with English +# messages), Korean, Korean-en, Lithuanian, Norwegian, Macedonian, Persian, +# Polish, Portuguese, Romanian, Russian, Serbian, Serbian-Cyrilic, Slovak, +# Slovene, Spanish, Swedish, Ukrainian, and Vietnamese. + +OUTPUT_LANGUAGE = English + +# If the BRIEF_MEMBER_DESC tag is set to YES (the default) Doxygen will +# include brief member descriptions after the members that are listed in +# the file and class documentation (similar to JavaDoc). +# Set to NO to disable this. + +BRIEF_MEMBER_DESC = YES + +# If the REPEAT_BRIEF tag is set to YES (the default) Doxygen will prepend +# the brief description of a member or function before the detailed description. +# Note: if both HIDE_UNDOC_MEMBERS and BRIEF_MEMBER_DESC are set to NO, the +# brief descriptions will be completely suppressed. + +REPEAT_BRIEF = YES + +# This tag implements a quasi-intelligent brief description abbreviator +# that is used to form the text in various listings. Each string +# in this list, if found as the leading text of the brief description, will be +# stripped from the text and the result after processing the whole list, is +# used as the annotated text. Otherwise, the brief description is used as-is. +# If left blank, the following values are used ("$name" is automatically +# replaced with the name of the entity): "The $name class" "The $name widget" +# "The $name file" "is" "provides" "specifies" "contains" +# "represents" "a" "an" "the" + +ABBREVIATE_BRIEF = + +# If the ALWAYS_DETAILED_SEC and REPEAT_BRIEF tags are both set to YES then +# Doxygen will generate a detailed section even if there is only a brief +# description. + +ALWAYS_DETAILED_SEC = NO + +# If the INLINE_INHERITED_MEMB tag is set to YES, doxygen will show all +# inherited members of a class in the documentation of that class as if those +# members were ordinary class members. Constructors, destructors and assignment +# operators of the base classes will not be shown. + +INLINE_INHERITED_MEMB = NO + +# If the FULL_PATH_NAMES tag is set to YES then Doxygen will prepend the full +# path before files name in the file list and in the header files. If set +# to NO the shortest path that makes the file name unique will be used. + +FULL_PATH_NAMES = NO + +# If the FULL_PATH_NAMES tag is set to YES then the STRIP_FROM_PATH tag +# can be used to strip a user-defined part of the path. Stripping is +# only done if one of the specified strings matches the left-hand part of +# the path. The tag can be used to show relative paths in the file list. +# If left blank the directory from which doxygen is run is used as the +# path to strip. + +STRIP_FROM_PATH = + +# The STRIP_FROM_INC_PATH tag can be used to strip a user-defined part of +# the path mentioned in the documentation of a class, which tells +# the reader which header file to include in order to use a class. +# If left blank only the name of the header file containing the class +# definition is used. Otherwise one should specify the include paths that +# are normally passed to the compiler using the -I flag. + +STRIP_FROM_INC_PATH = + +# If the SHORT_NAMES tag is set to YES, doxygen will generate much shorter +# (but less readable) file names. This can be useful is your file systems +# doesn't support long names like on DOS, Mac, or CD-ROM. + +SHORT_NAMES = NO + +# If the JAVADOC_AUTOBRIEF tag is set to YES then Doxygen +# will interpret the first line (until the first dot) of a JavaDoc-style +# comment as the brief description. If set to NO, the JavaDoc +# comments will behave just like regular Qt-style comments +# (thus requiring an explicit @brief command for a brief description.) + +JAVADOC_AUTOBRIEF = YES + +# If the QT_AUTOBRIEF tag is set to YES then Doxygen will +# interpret the first line (until the first dot) of a Qt-style +# comment as the brief description. If set to NO, the comments +# will behave just like regular Qt-style comments (thus requiring +# an explicit \brief command for a brief description.) + +QT_AUTOBRIEF = NO + +# The MULTILINE_CPP_IS_BRIEF tag can be set to YES to make Doxygen +# treat a multi-line C++ special comment block (i.e. a block of //! or /// +# comments) as a brief description. This used to be the default behaviour. +# The new default is to treat a multi-line C++ comment block as a detailed +# description. Set this tag to YES if you prefer the old behaviour instead. + +MULTILINE_CPP_IS_BRIEF = NO + +# If the INHERIT_DOCS tag is set to YES (the default) then an undocumented +# member inherits the documentation from any documented member that it +# re-implements. + +INHERIT_DOCS = YES + +# If the SEPARATE_MEMBER_PAGES tag is set to YES, then doxygen will produce +# a new page for each member. If set to NO, the documentation of a member will +# be part of the file/class/namespace that contains it. + +SEPARATE_MEMBER_PAGES = NO + +# The TAB_SIZE tag can be used to set the number of spaces in a tab. +# Doxygen uses this value to replace tabs by spaces in code fragments. + +TAB_SIZE = 4 + +# This tag can be used to specify a number of aliases that acts +# as commands in the documentation. An alias has the form "name=value". +# For example adding "sideeffect=\par Side Effects:\n" will allow you to +# put the command \sideeffect (or @sideeffect) in the documentation, which +# will result in a user-defined paragraph with heading "Side Effects:". +# You can put \n's in the value part of an alias to insert newlines. + +ALIASES += asf_license_start=" " +ALIASES += asf_license_stop=" " + +# Set the OPTIMIZE_OUTPUT_FOR_C tag to YES if your project consists of C +# sources only. Doxygen will then generate output that is more tailored for C. +# For instance, some of the names that are used will be different. The list +# of all members will be omitted, etc. + +OPTIMIZE_OUTPUT_FOR_C = YES + +# Set the OPTIMIZE_OUTPUT_JAVA tag to YES if your project consists of Java +# sources only. Doxygen will then generate output that is more tailored for +# Java. For instance, namespaces will be presented as packages, qualified +# scopes will look different, etc. + +OPTIMIZE_OUTPUT_JAVA = NO + +# Set the OPTIMIZE_FOR_FORTRAN tag to YES if your project consists of Fortran +# sources only. Doxygen will then generate output that is more tailored for +# Fortran. + +OPTIMIZE_FOR_FORTRAN = NO + +# Set the OPTIMIZE_OUTPUT_VHDL tag to YES if your project consists of VHDL +# sources. Doxygen will then generate output that is tailored for +# VHDL. + +OPTIMIZE_OUTPUT_VHDL = NO + +# Doxygen selects the parser to use depending on the extension of the files it +# parses. With this tag you can assign which parser to use for a given extension. +# Doxygen has a built-in mapping, but you can override or extend it using this +# tag. The format is ext=language, where ext is a file extension, and language +# is one of the parsers supported by doxygen: IDL, Java, Javascript, CSharp, C, +# C++, D, PHP, Objective-C, Python, Fortran, VHDL, C, C++. For instance to make +# doxygen treat .inc files as Fortran files (default is PHP), and .f files as C +# (default is Fortran), use: inc=Fortran f=C. Note that for custom extensions +# you also need to set FILE_PATTERNS otherwise the files are not read by doxygen. + +EXTENSION_MAPPING = + +# If you use STL classes (i.e. std::string, std::vector, etc.) but do not want +# to include (a tag file for) the STL sources as input, then you should +# set this tag to YES in order to let doxygen match functions declarations and +# definitions whose arguments contain STL classes (e.g. func(std::string); v.s. +# func(std::string) {}). This also make the inheritance and collaboration +# diagrams that involve STL classes more complete and accurate. + +BUILTIN_STL_SUPPORT = NO + +# If you use Microsoft's C++/CLI language, you should set this option to YES to +# enable parsing support. + +CPP_CLI_SUPPORT = NO + +# Set the SIP_SUPPORT tag to YES if your project consists of sip sources only. +# Doxygen will parse them like normal C++ but will assume all classes use public +# instead of private inheritance when no explicit protection keyword is present. + +SIP_SUPPORT = NO + +# For Microsoft's IDL there are propget and propput attributes to indicate getter +# and setter methods for a property. Setting this option to YES (the default) +# will make doxygen to replace the get and set methods by a property in the +# documentation. This will only work if the methods are indeed getting or +# setting a simple type. If this is not the case, or you want to show the +# methods anyway, you should set this option to NO. + +IDL_PROPERTY_SUPPORT = YES + +# If member grouping is used in the documentation and the DISTRIBUTE_GROUP_DOC +# tag is set to YES, then doxygen will reuse the documentation of the first +# member in the group (if any) for the other members of the group. By default +# all members of a group must be documented explicitly. + +DISTRIBUTE_GROUP_DOC = NO + +# Set the SUBGROUPING tag to YES (the default) to allow class member groups of +# the same type (for instance a group of public functions) to be put as a +# subgroup of that type (e.g. under the Public Functions section). Set it to +# NO to prevent subgrouping. Alternatively, this can be done per class using +# the \nosubgrouping command. + +SUBGROUPING = YES + +# When TYPEDEF_HIDES_STRUCT is enabled, a typedef of a struct, union, or enum +# is documented as struct, union, or enum with the name of the typedef. So +# typedef struct TypeS {} TypeT, will appear in the documentation as a struct +# with name TypeT. When disabled the typedef will appear as a member of a file, +# namespace, or class. And the struct will be named TypeS. This can typically +# be useful for C code in case the coding convention dictates that all compound +# types are typedef'ed and only the typedef is referenced, never the tag name. + +TYPEDEF_HIDES_STRUCT = NO + +# The SYMBOL_CACHE_SIZE determines the size of the internal cache use to +# determine which symbols to keep in memory and which to flush to disk. +# When the cache is full, less often used symbols will be written to disk. +# For small to medium size projects (<1000 input files) the default value is +# probably good enough. For larger projects a too small cache size can cause +# doxygen to be busy swapping symbols to and from disk most of the time +# causing a significant performance penality. +# If the system has enough physical memory increasing the cache will improve the +# performance by keeping more symbols in memory. Note that the value works on +# a logarithmic scale so increasing the size by one will rougly double the +# memory usage. The cache size is given by this formula: +# 2^(16+SYMBOL_CACHE_SIZE). The valid range is 0..9, the default is 0, +# corresponding to a cache size of 2^16 = 65536 symbols + +SYMBOL_CACHE_SIZE = 0 + +#--------------------------------------------------------------------------- +# Build related configuration options +#--------------------------------------------------------------------------- + +# If the EXTRACT_ALL tag is set to YES doxygen will assume all entities in +# documentation are documented, even if no documentation was available. +# Private class members and static file members will be hidden unless +# the EXTRACT_PRIVATE and EXTRACT_STATIC tags are set to YES + +EXTRACT_ALL = YES + +# If the EXTRACT_PRIVATE tag is set to YES all private members of a class +# will be included in the documentation. + +EXTRACT_PRIVATE = NO + +# If the EXTRACT_STATIC tag is set to YES all static members of a file +# will be included in the documentation. + +EXTRACT_STATIC = YES + +# If the EXTRACT_LOCAL_CLASSES tag is set to YES classes (and structs) +# defined locally in source files will be included in the documentation. +# If set to NO only classes defined in header files are included. + +EXTRACT_LOCAL_CLASSES = YES + +# This flag is only useful for Objective-C code. When set to YES local +# methods, which are defined in the implementation section but not in +# the interface are included in the documentation. +# If set to NO (the default) only methods in the interface are included. + +EXTRACT_LOCAL_METHODS = NO + +# If this flag is set to YES, the members of anonymous namespaces will be +# extracted and appear in the documentation as a namespace called +# 'anonymous_namespace{file}', where file will be replaced with the base +# name of the file that contains the anonymous namespace. By default +# anonymous namespace are hidden. + +EXTRACT_ANON_NSPACES = NO + +# If the HIDE_UNDOC_MEMBERS tag is set to YES, Doxygen will hide all +# undocumented members of documented classes, files or namespaces. +# If set to NO (the default) these members will be included in the +# various overviews, but no documentation section is generated. +# This option has no effect if EXTRACT_ALL is enabled. + +HIDE_UNDOC_MEMBERS = NO + +# If the HIDE_UNDOC_CLASSES tag is set to YES, Doxygen will hide all +# undocumented classes that are normally visible in the class hierarchy. +# If set to NO (the default) these classes will be included in the various +# overviews. This option has no effect if EXTRACT_ALL is enabled. + +HIDE_UNDOC_CLASSES = NO + +# If the HIDE_FRIEND_COMPOUNDS tag is set to YES, Doxygen will hide all +# friend (class|struct|union) declarations. +# If set to NO (the default) these declarations will be included in the +# documentation. + +HIDE_FRIEND_COMPOUNDS = NO + +# If the HIDE_IN_BODY_DOCS tag is set to YES, Doxygen will hide any +# documentation blocks found inside the body of a function. +# If set to NO (the default) these blocks will be appended to the +# function's detailed documentation block. + +HIDE_IN_BODY_DOCS = NO + +# The INTERNAL_DOCS tag determines if documentation +# that is typed after a \internal command is included. If the tag is set +# to NO (the default) then the documentation will be excluded. +# Set it to YES to include the internal documentation. + +INTERNAL_DOCS = YES + +# If the CASE_SENSE_NAMES tag is set to NO then Doxygen will only generate +# file names in lower-case letters. If set to YES upper-case letters are also +# allowed. This is useful if you have classes or files whose names only differ +# in case and if your file system supports case sensitive file names. Windows +# and Mac users are advised to set this option to NO. + +CASE_SENSE_NAMES = NO + +# If the HIDE_SCOPE_NAMES tag is set to NO (the default) then Doxygen +# will show members with their full class and namespace scopes in the +# documentation. If set to YES the scope will be hidden. + +HIDE_SCOPE_NAMES = NO + +# If the SHOW_INCLUDE_FILES tag is set to YES (the default) then Doxygen +# will put a list of the files that are included by a file in the documentation +# of that file. + +SHOW_INCLUDE_FILES = YES + +# If the FORCE_LOCAL_INCLUDES tag is set to YES then Doxygen +# will list include files with double quotes in the documentation +# rather than with sharp brackets. + +FORCE_LOCAL_INCLUDES = NO + +# If the INLINE_INFO tag is set to YES (the default) then a tag [inline] +# is inserted in the documentation for inline members. + +INLINE_INFO = YES + +# If the SORT_MEMBER_DOCS tag is set to YES (the default) then doxygen +# will sort the (detailed) documentation of file and class members +# alphabetically by member name. If set to NO the members will appear in +# declaration order. + +SORT_MEMBER_DOCS = YES + +# If the SORT_BRIEF_DOCS tag is set to YES then doxygen will sort the +# brief documentation of file, namespace and class members alphabetically +# by member name. If set to NO (the default) the members will appear in +# declaration order. + +SORT_BRIEF_DOCS = YES + +# If the SORT_MEMBERS_CTORS_1ST tag is set to YES then doxygen +# will sort the (brief and detailed) documentation of class members so that +# constructors and destructors are listed first. If set to NO (the default) +# the constructors will appear in the respective orders defined by +# SORT_MEMBER_DOCS and SORT_BRIEF_DOCS. +# This tag will be ignored for brief docs if SORT_BRIEF_DOCS is set to NO +# and ignored for detailed docs if SORT_MEMBER_DOCS is set to NO. + +SORT_MEMBERS_CTORS_1ST = NO + +# If the SORT_GROUP_NAMES tag is set to YES then doxygen will sort the +# hierarchy of group names into alphabetical order. If set to NO (the default) +# the group names will appear in their defined order. + +SORT_GROUP_NAMES = NO + +# If the SORT_BY_SCOPE_NAME tag is set to YES, the class list will be +# sorted by fully-qualified names, including namespaces. If set to +# NO (the default), the class list will be sorted only by class name, +# not including the namespace part. +# Note: This option is not very useful if HIDE_SCOPE_NAMES is set to YES. +# Note: This option applies only to the class list, not to the +# alphabetical list. + +SORT_BY_SCOPE_NAME = NO + +# The GENERATE_TODOLIST tag can be used to enable (YES) or +# disable (NO) the todo list. This list is created by putting \todo +# commands in the documentation. + +GENERATE_TODOLIST = YES + +# The GENERATE_TESTLIST tag can be used to enable (YES) or +# disable (NO) the test list. This list is created by putting \test +# commands in the documentation. + +GENERATE_TESTLIST = YES + +# The GENERATE_BUGLIST tag can be used to enable (YES) or +# disable (NO) the bug list. This list is created by putting \bug +# commands in the documentation. + +GENERATE_BUGLIST = YES + +# The GENERATE_DEPRECATEDLIST tag can be used to enable (YES) or +# disable (NO) the deprecated list. This list is created by putting +# \deprecated commands in the documentation. + +GENERATE_DEPRECATEDLIST= YES + +# The ENABLED_SECTIONS tag can be used to enable conditional +# documentation sections, marked by \if sectionname ... \endif. + +ENABLED_SECTIONS = + +# The MAX_INITIALIZER_LINES tag determines the maximum number of lines +# the initial value of a variable or define consists of for it to appear in +# the documentation. If the initializer consists of more lines than specified +# here it will be hidden. Use a value of 0 to hide initializers completely. +# The appearance of the initializer of individual variables and defines in the +# documentation can be controlled using \showinitializer or \hideinitializer +# command in the documentation regardless of this setting. + +MAX_INITIALIZER_LINES = 30 + +# Set the SHOW_USED_FILES tag to NO to disable the list of files generated +# at the bottom of the documentation of classes and structs. If set to YES the +# list will mention the files that were used to generate the documentation. + +SHOW_USED_FILES = NO + +# If the sources in your project are distributed over multiple directories +# then setting the SHOW_DIRECTORIES tag to YES will show the directory hierarchy +# in the documentation. The default is NO. + +SHOW_DIRECTORIES = NO + +# Set the SHOW_FILES tag to NO to disable the generation of the Files page. +# This will remove the Files entry from the Quick Index and from the +# Folder Tree View (if specified). The default is YES. + +SHOW_FILES = YES + +# Set the SHOW_NAMESPACES tag to NO to disable the generation of the +# Namespaces page. +# This will remove the Namespaces entry from the Quick Index +# and from the Folder Tree View (if specified). The default is YES. + +SHOW_NAMESPACES = YES + +# The FILE_VERSION_FILTER tag can be used to specify a program or script that +# doxygen should invoke to get the current version for each file (typically from +# the version control system). Doxygen will invoke the program by executing (via +# popen()) the command <command> <input-file>, where <command> is the value of +# the FILE_VERSION_FILTER tag, and <input-file> is the name of an input file +# provided by doxygen. Whatever the program writes to standard output +# is used as the file version. See the manual for examples. + +FILE_VERSION_FILTER = + +# The LAYOUT_FILE tag can be used to specify a layout file which will be parsed +# by doxygen. The layout file controls the global structure of the generated +# output files in an output format independent way. The create the layout file +# that represents doxygen's defaults, run doxygen with the -l option. +# You can optionally specify a file name after the option, if omitted +# DoxygenLayout.xml will be used as the name of the layout file. + +LAYOUT_FILE = + +#--------------------------------------------------------------------------- +# configuration options related to warning and progress messages +#--------------------------------------------------------------------------- + +# The QUIET tag can be used to turn on/off the messages that are generated +# by doxygen. Possible values are YES and NO. If left blank NO is used. + +QUIET = YES + +# The WARNINGS tag can be used to turn on/off the warning messages that are +# generated by doxygen. Possible values are YES and NO. If left blank +# NO is used. + +WARNINGS = YES + +# If WARN_IF_UNDOCUMENTED is set to YES, then doxygen will generate warnings +# for undocumented members. If EXTRACT_ALL is set to YES then this flag will +# automatically be disabled. + +WARN_IF_UNDOCUMENTED = YES + +# If WARN_IF_DOC_ERROR is set to YES, doxygen will generate warnings for +# potential errors in the documentation, such as not documenting some +# parameters in a documented function, or documenting parameters that +# don't exist or using markup commands wrongly. + +WARN_IF_DOC_ERROR = YES + +# This WARN_NO_PARAMDOC option can be abled to get warnings for +# functions that are documented, but have no documentation for their parameters +# or return value. If set to NO (the default) doxygen will only warn about +# wrong or incomplete parameter documentation, but not about the absence of +# documentation. + +WARN_NO_PARAMDOC = NO + +# The WARN_FORMAT tag determines the format of the warning messages that +# doxygen can produce. The string should contain the $file, $line, and $text +# tags, which will be replaced by the file and line number from which the +# warning originated and the warning text. Optionally the format may contain +# $version, which will be replaced by the version of the file (if it could +# be obtained via FILE_VERSION_FILTER) + +WARN_FORMAT = "[WARNING]$file:$line: $text" + +# The WARN_LOGFILE tag can be used to specify a file to which warning +# and error messages should be written. If left blank the output is written +# to stderr. + +WARN_LOGFILE = + +#--------------------------------------------------------------------------- +# configuration options related to the input files +#--------------------------------------------------------------------------- + +# The INPUT tag can be used to specify the files and/or directories that contain +# documented source files. You may enter file names like "myfile.cpp" or +# directories like "/usr/src/myproject". Separate the files or directories +# with spaces. + +INPUT = doxygen_module_mainpage.h ../../serial_if_mac.c ../../serial_if_mac.h + +# This tag can be used to specify the character encoding of the source files +# that doxygen parses. Internally doxygen uses the UTF-8 encoding, which is +# also the default input encoding. Doxygen uses libiconv (or the iconv built +# into libc) for the transcoding. See http://www.gnu.org/software/libiconv for +# the list of possible encodings. + +INPUT_ENCODING = UTF-8 + +# If the value of the INPUT tag contains directories, you can use the +# FILE_PATTERNS tag to specify one or more wildcard pattern (like *.cpp +# and *.h) to filter out the source-files in the directories. If left +# blank the following patterns are tested: +# *.c *.cc *.cxx *.cpp *.c++ *.java *.ii *.ixx *.ipp *.i++ *.inl *.h *.hh *.hxx +# *.hpp *.h++ *.idl *.odl *.cs *.php *.php3 *.inc *.m *.mm *.py *.f90 + +FILE_PATTERNS = *.c \ + *.h \ + *.s \ + *.S + +# The RECURSIVE tag can be used to turn specify whether or not subdirectories +# should be searched for input files as well. Possible values are YES and NO. +# If left blank NO is used. + +RECURSIVE = NO + +# The EXCLUDE tag can be used to specify files and/or directories that should +# excluded from the INPUT source files. This way you can easily exclude a +# subdirectory from a directory tree whose root is specified with the INPUT tag. + +EXCLUDE = + +# The EXCLUDE_SYMLINKS tag can be used select whether or not files or +# directories that are symbolic links (a Unix filesystem feature) are excluded +# from the input. + +EXCLUDE_SYMLINKS = NO + +# If the value of the INPUT tag contains directories, you can use the +# EXCLUDE_PATTERNS tag to specify one or more wildcard patterns to exclude +# certain files from those directories. Note that the wildcards are matched +# against the file with absolute path, so to exclude all test directories +# for example use the pattern */test/* + +EXCLUDE_PATTERNS = + +# The EXCLUDE_SYMBOLS tag can be used to specify one or more symbol names +# (namespaces, classes, functions, etc.) that should be excluded from the +# output. The symbol name can be a fully qualified name, a word, or if the +# wildcard * is used, a substring. Examples: ANamespace, AClass, +# AClass::ANamespace, ANamespace::*Test + +EXCLUDE_SYMBOLS = + +# The EXAMPLE_PATH tag can be used to specify one or more files or +# directories that contain example code fragments that are included (see +# the \include command). + +EXAMPLE_PATH = ./ + +# If the value of the EXAMPLE_PATH tag contains directories, you can use the +# EXAMPLE_PATTERNS tag to specify one or more wildcard pattern (like *.cpp +# and *.h) to filter out the source-files in the directories. If left +# blank all files are included. + +EXAMPLE_PATTERNS = + +# If the EXAMPLE_RECURSIVE tag is set to YES then subdirectories will be +# searched for input files to be used with the \include or \dontinclude +# commands irrespective of the value of the RECURSIVE tag. +# Possible values are YES and NO. If left blank NO is used. + +EXAMPLE_RECURSIVE = NO + +# The IMAGE_PATH tag can be used to specify one or more files or +# directories that contain image that are included in the documentation (see +# the \image command). + +IMAGE_PATH = + +# The INPUT_FILTER tag can be used to specify a program that doxygen should +# invoke to filter for each input file. Doxygen will invoke the filter program +# by executing (via popen()) the command <filter> <input-file>, where <filter> +# is the value of the INPUT_FILTER tag, and <input-file> is the name of an +# input file. Doxygen will then use the output that the filter program writes +# to standard output. +# If FILTER_PATTERNS is specified, this tag will be +# ignored. + +INPUT_FILTER = + +# The FILTER_PATTERNS tag can be used to specify filters on a per file pattern +# basis. +# Doxygen will compare the file name with each pattern and apply the +# filter if there is a match. +# The filters are a list of the form: +# pattern=filter (like *.cpp=my_cpp_filter). See INPUT_FILTER for further +# info on how filters are used. If FILTER_PATTERNS is empty, INPUT_FILTER +# is applied to all files. + +FILTER_PATTERNS = + +# If the FILTER_SOURCE_FILES tag is set to YES, the input filter (if set using +# INPUT_FILTER) will be used to filter the input files when producing source +# files to browse (i.e. when SOURCE_BROWSER is set to YES). + +FILTER_SOURCE_FILES = NO + +#--------------------------------------------------------------------------- +# configuration options related to source browsing +#--------------------------------------------------------------------------- + +# If the SOURCE_BROWSER tag is set to YES then a list of source files will +# be generated. Documented entities will be cross-referenced with these sources. +# Note: To get rid of all source code in the generated output, make sure also +# VERBATIM_HEADERS is set to NO. + +SOURCE_BROWSER = YES + +# Setting the INLINE_SOURCES tag to YES will include the body +# of functions and classes directly in the documentation. + +INLINE_SOURCES = YES + +# Setting the STRIP_CODE_COMMENTS tag to YES (the default) will instruct +# doxygen to hide any special comment blocks from generated source code +# fragments. Normal C and C++ comments will always remain visible. + +STRIP_CODE_COMMENTS = YES + +# If the REFERENCED_BY_RELATION tag is set to YES +# then for each documented function all documented +# functions referencing it will be listed. + +REFERENCED_BY_RELATION = YES + +# If the REFERENCES_RELATION tag is set to YES +# then for each documented function all documented entities +# called/used by that function will be listed. + +REFERENCES_RELATION = YES + +# If the REFERENCES_LINK_SOURCE tag is set to YES (the default) +# and SOURCE_BROWSER tag is set to YES, then the hyperlinks from +# functions in REFERENCES_RELATION and REFERENCED_BY_RELATION lists will +# link to the source code. +# Otherwise they will link to the documentation. + +REFERENCES_LINK_SOURCE = YES + +# If the USE_HTAGS tag is set to YES then the references to source code +# will point to the HTML generated by the htags(1) tool instead of doxygen +# built-in source browser. The htags tool is part of GNU's global source +# tagging system (see http://www.gnu.org/software/global/global.html). You +# will need version 4.8.6 or higher. + +USE_HTAGS = NO + +# If the VERBATIM_HEADERS tag is set to YES (the default) then Doxygen +# will generate a verbatim copy of the header file for each class for +# which an include is specified. Set to NO to disable this. + +VERBATIM_HEADERS = YES + +#--------------------------------------------------------------------------- +# configuration options related to the alphabetical class index +#--------------------------------------------------------------------------- + +# If the ALPHABETICAL_INDEX tag is set to YES, an alphabetical index +# of all compounds will be generated. Enable this if the project +# contains a lot of classes, structs, unions or interfaces. + +ALPHABETICAL_INDEX = NO + +# If the alphabetical index is enabled (see ALPHABETICAL_INDEX) then +# the COLS_IN_ALPHA_INDEX tag can be used to specify the number of columns +# in which this list will be split (can be a number in the range [1..20]) + +COLS_IN_ALPHA_INDEX = 5 + +# In case all classes in a project start with a common prefix, all +# classes will be put under the same header in the alphabetical index. +# The IGNORE_PREFIX tag can be used to specify one or more prefixes that +# should be ignored while generating the index headers. + +IGNORE_PREFIX = + +#--------------------------------------------------------------------------- +# configuration options related to the HTML output +#--------------------------------------------------------------------------- + +# If the GENERATE_HTML tag is set to YES (the default) Doxygen will +# generate HTML output. + +GENERATE_HTML = YES + +# The HTML_OUTPUT tag is used to specify where the HTML docs will be put. +# If a relative path is entered the value of OUTPUT_DIRECTORY will be +# put in front of it. If left blank `html' will be used as the default path. + +HTML_OUTPUT = html + +# The HTML_FILE_EXTENSION tag can be used to specify the file extension for +# each generated HTML page (for example: .htm,.php,.asp). If it is left blank +# doxygen will generate files with .html extension. + +HTML_FILE_EXTENSION = .html + +# The HTML_HEADER tag can be used to specify a personal HTML header for +# each generated HTML page. If it is left blank doxygen will generate a +# standard header. + +HTML_HEADER = + +# The HTML_FOOTER tag can be used to specify a personal HTML footer for +# each generated HTML page. If it is left blank doxygen will generate a +# standard footer. + +HTML_FOOTER = + +# The HTML_STYLESHEET tag can be used to specify a user-defined cascading +# style sheet that is used by each HTML page. It can be used to +# fine-tune the look of the HTML output. If the tag is left blank doxygen +# will generate a default style sheet. Note that doxygen will try to copy +# the style sheet file to the HTML output directory, so don't put your own +# stylesheet in the HTML output directory as well, or it will be erased! + +HTML_STYLESHEET = + +# The HTML_COLORSTYLE_HUE tag controls the color of the HTML output. +# Doxygen will adjust the colors in the stylesheet and background images +# according to this color. Hue is specified as an angle on a colorwheel, +# see http://en.wikipedia.org/wiki/Hue for more information. +# For instance the value 0 represents red, 60 is yellow, 120 is green, +# 180 is cyan, 240 is blue, 300 purple, and 360 is red again. +# The allowed range is 0 to 359. + +HTML_COLORSTYLE_HUE = 220 + +# The HTML_COLORSTYLE_SAT tag controls the purity (or saturation) of +# the colors in the HTML output. For a value of 0 the output will use +# grayscales only. A value of 255 will produce the most vivid colors. + +HTML_COLORSTYLE_SAT = 100 + +# The HTML_COLORSTYLE_GAMMA tag controls the gamma correction applied to +# the luminance component of the colors in the HTML output. Values below +# 100 gradually make the output lighter, whereas values above 100 make +# the output darker. The value divided by 100 is the actual gamma applied, +# so 80 represents a gamma of 0.8, The value 220 represents a gamma of 2.2, +# and 100 does not change the gamma. + +HTML_COLORSTYLE_GAMMA = 80 + +# If the HTML_TIMESTAMP tag is set to YES then the footer of each generated HTML +# page will contain the date and time when the page was generated. Setting +# this to NO can help when comparing the output of multiple runs. + +HTML_TIMESTAMP = YES + +# If the HTML_ALIGN_MEMBERS tag is set to YES, the members of classes, +# files or namespaces will be aligned in HTML using tables. If set to +# NO a bullet list will be used. + +HTML_ALIGN_MEMBERS = YES + +# If the HTML_DYNAMIC_SECTIONS tag is set to YES then the generated HTML +# documentation will contain sections that can be hidden and shown after the +# page has loaded. For this to work a browser that supports +# JavaScript and DHTML is required (for instance Mozilla 1.0+, Firefox +# Netscape 6.0+, Internet explorer 5.0+, Konqueror, or Safari). + +HTML_DYNAMIC_SECTIONS = NO + +# If the GENERATE_DOCSET tag is set to YES, additional index files +# will be generated that can be used as input for Apple's Xcode 3 +# integrated development environment, introduced with OSX 10.5 (Leopard). +# To create a documentation set, doxygen will generate a Makefile in the +# HTML output directory. Running make will produce the docset in that +# directory and running "make install" will install the docset in +# ~/Library/Developer/Shared/Documentation/DocSets so that Xcode will find +# it at startup. +# See http://developer.apple.com/tools/creatingdocsetswithdoxygen.html +# for more information. + +GENERATE_DOCSET = NO + +# When GENERATE_DOCSET tag is set to YES, this tag determines the name of the +# feed. A documentation feed provides an umbrella under which multiple +# documentation sets from a single provider (such as a company or product suite) +# can be grouped. + +DOCSET_FEEDNAME = "Doxygen generated docs" + +# When GENERATE_DOCSET tag is set to YES, this tag specifies a string that +# should uniquely identify the documentation set bundle. This should be a +# reverse domain-name style string, e.g. com.mycompany.MyDocSet. Doxygen +# will append .docset to the name. + +DOCSET_BUNDLE_ID = org.doxygen.Project + +# When GENERATE_PUBLISHER_ID tag specifies a string that should uniquely identify +# the documentation publisher. This should be a reverse domain-name style +# string, e.g. com.mycompany.MyDocSet.documentation. + +DOCSET_PUBLISHER_ID = org.doxygen.Publisher + +# The GENERATE_PUBLISHER_NAME tag identifies the documentation publisher. + +DOCSET_PUBLISHER_NAME = Publisher + +# If the GENERATE_HTMLHELP tag is set to YES, additional index files +# will be generated that can be used as input for tools like the +# Microsoft HTML help workshop to generate a compiled HTML help file (.chm) +# of the generated HTML documentation. + +GENERATE_HTMLHELP = NO + +# If the GENERATE_HTMLHELP tag is set to YES, the CHM_FILE tag can +# be used to specify the file name of the resulting .chm file. You +# can add a path in front of the file if the result should not be +# written to the html output directory. + +CHM_FILE = + +# If the GENERATE_HTMLHELP tag is set to YES, the HHC_LOCATION tag can +# be used to specify the location (absolute path including file name) of +# the HTML help compiler (hhc.exe). If non-empty doxygen will try to run +# the HTML help compiler on the generated index.hhp. + +HHC_LOCATION = + +# If the GENERATE_HTMLHELP tag is set to YES, the GENERATE_CHI flag +# controls if a separate .chi index file is generated (YES) or that +# it should be included in the master .chm file (NO). + +GENERATE_CHI = NO + +# If the GENERATE_HTMLHELP tag is set to YES, the CHM_INDEX_ENCODING +# is used to encode HtmlHelp index (hhk), content (hhc) and project file +# content. + +CHM_INDEX_ENCODING = + +# If the GENERATE_HTMLHELP tag is set to YES, the BINARY_TOC flag +# controls whether a binary table of contents is generated (YES) or a +# normal table of contents (NO) in the .chm file. + +BINARY_TOC = NO + +# The TOC_EXPAND flag can be set to YES to add extra items for group members +# to the contents of the HTML help documentation and to the tree view. + +TOC_EXPAND = NO + +# If the GENERATE_QHP tag is set to YES and both QHP_NAMESPACE and +# QHP_VIRTUAL_FOLDER are set, an additional index file will be generated +# that can be used as input for Qt's qhelpgenerator to generate a +# Qt Compressed Help (.qch) of the generated HTML documentation. + +GENERATE_QHP = NO + +# If the QHG_LOCATION tag is specified, the QCH_FILE tag can +# be used to specify the file name of the resulting .qch file. +# The path specified is relative to the HTML output folder. + +QCH_FILE = + +# The QHP_NAMESPACE tag specifies the namespace to use when generating +# Qt Help Project output. For more information please see +# http://doc.trolltech.com/qthelpproject.html#namespace + +QHP_NAMESPACE = org.doxygen.Project + +# The QHP_VIRTUAL_FOLDER tag specifies the namespace to use when generating +# Qt Help Project output. For more information please see +# http://doc.trolltech.com/qthelpproject.html#virtual-folders + +QHP_VIRTUAL_FOLDER = doc + +# If QHP_CUST_FILTER_NAME is set, it specifies the name of a custom filter to +# add. For more information please see +# http://doc.trolltech.com/qthelpproject.html#custom-filters + +QHP_CUST_FILTER_NAME = + +# The QHP_CUST_FILT_ATTRS tag specifies the list of the attributes of the +# custom filter to add. For more information please see +# <a href="http://doc.trolltech.com/qthelpproject.html#custom-filters"> +# Qt Help Project / Custom Filters</a>. + +QHP_CUST_FILTER_ATTRS = + +# The QHP_SECT_FILTER_ATTRS tag specifies the list of the attributes this +# project's +# filter section matches. +# <a href="http://doc.trolltech.com/qthelpproject.html#filter-attributes"> +# Qt Help Project / Filter Attributes</a>. + +QHP_SECT_FILTER_ATTRS = + +# If the GENERATE_QHP tag is set to YES, the QHG_LOCATION tag can +# be used to specify the location of Qt's qhelpgenerator. +# If non-empty doxygen will try to run qhelpgenerator on the generated +# .qhp file. + +QHG_LOCATION = + +# If the GENERATE_ECLIPSEHELP tag is set to YES, additional index files +# will be generated, which together with the HTML files, form an Eclipse help +# plugin. To install this plugin and make it available under the help contents +# menu in Eclipse, the contents of the directory containing the HTML and XML +# files needs to be copied into the plugins directory of eclipse. The name of +# the directory within the plugins directory should be the same as +# the ECLIPSE_DOC_ID value. After copying Eclipse needs to be restarted before +# the help appears. + +GENERATE_ECLIPSEHELP = NO + +# A unique identifier for the eclipse help plugin. When installing the plugin +# the directory name containing the HTML and XML files should also have +# this name. + +ECLIPSE_DOC_ID = org.doxygen.Project + +# The DISABLE_INDEX tag can be used to turn on/off the condensed index at +# top of each HTML page. The value NO (the default) enables the index and +# the value YES disables it. + +DISABLE_INDEX = NO + +# This tag can be used to set the number of enum values (range [1..20]) +# that doxygen will group on one line in the generated HTML documentation. + +ENUM_VALUES_PER_LINE = 1 + +# The GENERATE_TREEVIEW tag is used to specify whether a tree-like index +# structure should be generated to display hierarchical information. +# If the tag value is set to YES, a side panel will be generated +# containing a tree-like index structure (just like the one that +# is generated for HTML Help). For this to work a browser that supports +# JavaScript, DHTML, CSS and frames is required (i.e. any modern browser). +# Windows users are probably better off using the HTML help feature. + +GENERATE_TREEVIEW = NO + +# By enabling USE_INLINE_TREES, doxygen will generate the Groups, Directories, +# and Class Hierarchy pages using a tree view instead of an ordered list. + +USE_INLINE_TREES = NO + +# If the treeview is enabled (see GENERATE_TREEVIEW) then this tag can be +# used to set the initial width (in pixels) of the frame in which the tree +# is shown. + +TREEVIEW_WIDTH = 250 + +# When the EXT_LINKS_IN_WINDOW option is set to YES doxygen will open +# links to external symbols imported via tag files in a separate window. + +EXT_LINKS_IN_WINDOW = NO + +# Use this tag to change the font size of Latex formulas included +# as images in the HTML documentation. The default is 10. Note that +# when you change the font size after a successful doxygen run you need +# to manually remove any form_*.png images from the HTML output directory +# to force them to be regenerated. + +FORMULA_FONTSIZE = 10 + +# Use the FORMULA_TRANPARENT tag to determine whether or not the images +# generated for formulas are transparent PNGs. Transparent PNGs are +# not supported properly for IE 6.0, but are supported on all modern browsers. +# Note that when changing this option you need to delete any form_*.png files +# in the HTML output before the changes have effect. + +FORMULA_TRANSPARENT = YES + +# Enable the USE_MATHJAX option to render LaTeX formulas using MathJax (see +# http://www.mathjax.org) which uses client side Javascript for the rendering +# instead of using prerendered bitmaps. Use this if you do not have LaTeX +# installed or if you want to formulas look prettier in the HTML output. When +# enabled you may also need to install MathJax separately and configure the path +# to it using the MATHJAX_RELPATH option. +# The default value is: NO. +# This tag requires that the tag GENERATE_HTML is set to YES. + +USE_MATHJAX = NO + +# When the SEARCHENGINE tag is enabled doxygen will generate a search box +# for the HTML output. The underlying search engine uses javascript +# and DHTML and should work on any modern browser. Note that when using +# HTML help (GENERATE_HTMLHELP), Qt help (GENERATE_QHP), or docsets +# (GENERATE_DOCSET) there is already a search function so this one should +# typically be disabled. For large projects the javascript based search engine +# can be slow, then enabling SERVER_BASED_SEARCH may provide a better solution. + +SEARCHENGINE = YES + +# When the SERVER_BASED_SEARCH tag is enabled the search engine will be +# implemented using a PHP enabled web server instead of at the web client +# using Javascript. Doxygen will generate the search PHP script and index +# file to put on the web server. The advantage of the server +# based approach is that it scales better to large projects and allows +# full text search. The disadvances is that it is more difficult to setup +# and does not have live searching capabilities. + +SERVER_BASED_SEARCH = NO + +#--------------------------------------------------------------------------- +# configuration options related to the LaTeX output +#--------------------------------------------------------------------------- + +# If the GENERATE_LATEX tag is set to YES (the default) Doxygen will +# generate Latex output. + +GENERATE_LATEX = NO + +# The LATEX_OUTPUT tag is used to specify where the LaTeX docs will be put. +# If a relative path is entered the value of OUTPUT_DIRECTORY will be +# put in front of it. If left blank `latex' will be used as the default path. + +LATEX_OUTPUT = latex + +# The LATEX_CMD_NAME tag can be used to specify the LaTeX command name to be +# invoked. If left blank `latex' will be used as the default command name. +# Note that when enabling USE_PDFLATEX this option is only used for +# generating bitmaps for formulas in the HTML output, but not in the +# Makefile that is written to the output directory. + +LATEX_CMD_NAME = latex + +# The MAKEINDEX_CMD_NAME tag can be used to specify the command name to +# generate index for LaTeX. If left blank `makeindex' will be used as the +# default command name. + +MAKEINDEX_CMD_NAME = makeindex + +# If the COMPACT_LATEX tag is set to YES Doxygen generates more compact +# LaTeX documents. This may be useful for small projects and may help to +# save some trees in general. + +COMPACT_LATEX = NO + +# The PAPER_TYPE tag can be used to set the paper type that is used +# by the printer. Possible values are: a4, a4wide, letter, legal and +# executive. If left blank a4wide will be used. + +PAPER_TYPE = a4wide + +# The EXTRA_PACKAGES tag can be to specify one or more names of LaTeX +# packages that should be included in the LaTeX output. + +EXTRA_PACKAGES = + +# The LATEX_HEADER tag can be used to specify a personal LaTeX header for +# the generated latex document. The header should contain everything until +# the first chapter. If it is left blank doxygen will generate a +# standard header. Notice: only use this tag if you know what you are doing! + +LATEX_HEADER = + +# If the PDF_HYPERLINKS tag is set to YES, the LaTeX that is generated +# is prepared for conversion to pdf (using ps2pdf). The pdf file will +# contain links (just like the HTML output) instead of page references +# This makes the output suitable for online browsing using a pdf viewer. + +PDF_HYPERLINKS = NO + +# If the USE_PDFLATEX tag is set to YES, pdflatex will be used instead of +# plain latex in the generated Makefile. Set this option to YES to get a +# higher quality PDF documentation. + +USE_PDFLATEX = NO + +# If the LATEX_BATCHMODE tag is set to YES, doxygen will add the \\batchmode. +# command to the generated LaTeX files. This will instruct LaTeX to keep +# running if errors occur, instead of asking the user for help. +# This option is also used when generating formulas in HTML. + +LATEX_BATCHMODE = NO + +# If LATEX_HIDE_INDICES is set to YES then doxygen will not +# include the index chapters (such as File Index, Compound Index, etc.) +# in the output. + +LATEX_HIDE_INDICES = NO + +# If LATEX_SOURCE_CODE is set to YES then doxygen will include +# source code with syntax highlighting in the LaTeX output. +# Note that which sources are shown also depends on other settings +# such as SOURCE_BROWSER. + +LATEX_SOURCE_CODE = NO + +#--------------------------------------------------------------------------- +# configuration options related to the RTF output +#--------------------------------------------------------------------------- + +# If the GENERATE_RTF tag is set to YES Doxygen will generate RTF output +# The RTF output is optimized for Word 97 and may not look very pretty with +# other RTF readers or editors. + +GENERATE_RTF = NO + +# The RTF_OUTPUT tag is used to specify where the RTF docs will be put. +# If a relative path is entered the value of OUTPUT_DIRECTORY will be +# put in front of it. If left blank `rtf' will be used as the default path. + +RTF_OUTPUT = RTF + +# If the COMPACT_RTF tag is set to YES Doxygen generates more compact +# RTF documents. This may be useful for small projects and may help to +# save some trees in general. + +COMPACT_RTF = NO + +# If the RTF_HYPERLINKS tag is set to YES, the RTF that is generated +# will contain hyperlink fields. The RTF file will +# contain links (just like the HTML output) instead of page references. +# This makes the output suitable for online browsing using WORD or other +# programs which support those fields. +# Note: wordpad (write) and others do not support links. + +RTF_HYPERLINKS = YES + +# Load stylesheet definitions from file. Syntax is similar to doxygen's +# config file, i.e. a series of assignments. You only have to provide +# replacements, missing definitions are set to their default value. + +RTF_STYLESHEET_FILE = + +# Set optional variables used in the generation of an rtf document. +# Syntax is similar to doxygen's config file. + +RTF_EXTENSIONS_FILE = + +#--------------------------------------------------------------------------- +# configuration options related to the man page output +#--------------------------------------------------------------------------- + +# If the GENERATE_MAN tag is set to YES (the default) Doxygen will +# generate man pages + +GENERATE_MAN = NO + +# The MAN_OUTPUT tag is used to specify where the man pages will be put. +# If a relative path is entered the value of OUTPUT_DIRECTORY will be +# put in front of it. If left blank `man' will be used as the default path. + +MAN_OUTPUT = man + +# The MAN_EXTENSION tag determines the extension that is added to +# the generated man pages (default is the subroutine's section .3) + +MAN_EXTENSION = .3 + +# If the MAN_LINKS tag is set to YES and Doxygen generates man output, +# then it will generate one additional man file for each entity +# documented in the real man page(s). These additional files +# only source the real man page, but without them the man command +# would be unable to find the correct page. The default is NO. + +MAN_LINKS = NO + +#--------------------------------------------------------------------------- +# configuration options related to the XML output +#--------------------------------------------------------------------------- + +# If the GENERATE_XML tag is set to YES Doxygen will +# generate an XML file that captures the structure of +# the code including all documentation. + +GENERATE_XML = NO + +# The XML_OUTPUT tag is used to specify where the XML pages will be put. +# If a relative path is entered the value of OUTPUT_DIRECTORY will be +# put in front of it. If left blank `xml' will be used as the default path. + +XML_OUTPUT = xml + +# The XML_SCHEMA tag can be used to specify an XML schema, +# which can be used by a validating XML parser to check the +# syntax of the XML files. + +XML_SCHEMA = + +# The XML_DTD tag can be used to specify an XML DTD, +# which can be used by a validating XML parser to check the +# syntax of the XML files. + +XML_DTD = + +# If the XML_PROGRAMLISTING tag is set to YES Doxygen will +# dump the program listings (including syntax highlighting +# and cross-referencing information) to the XML output. Note that +# enabling this will significantly increase the size of the XML output. + +XML_PROGRAMLISTING = YES + +#--------------------------------------------------------------------------- +# configuration options for the AutoGen Definitions output +#--------------------------------------------------------------------------- + +# If the GENERATE_AUTOGEN_DEF tag is set to YES Doxygen will +# generate an AutoGen Definitions (see autogen.sf.net) file +# that captures the structure of the code including all +# documentation. Note that this feature is still experimental +# and incomplete at the moment. + +GENERATE_AUTOGEN_DEF = NO + +#--------------------------------------------------------------------------- +# configuration options related to the Perl module output +#--------------------------------------------------------------------------- + +# If the GENERATE_PERLMOD tag is set to YES Doxygen will +# generate a Perl module file that captures the structure of +# the code including all documentation. Note that this +# feature is still experimental and incomplete at the +# moment. + +GENERATE_PERLMOD = NO + +# If the PERLMOD_LATEX tag is set to YES Doxygen will generate +# the necessary Makefile rules, Perl scripts and LaTeX code to be able +# to generate PDF and DVI output from the Perl module output. + +PERLMOD_LATEX = NO + +# If the PERLMOD_PRETTY tag is set to YES the Perl module output will be +# nicely formatted so it can be parsed by a human reader. +# This is useful +# if you want to understand what is going on. +# On the other hand, if this +# tag is set to NO the size of the Perl module output will be much smaller +# and Perl will parse it just the same. + +PERLMOD_PRETTY = YES + +# The names of the make variables in the generated doxyrules.make file +# are prefixed with the string contained in PERLMOD_MAKEVAR_PREFIX. +# This is useful so different doxyrules.make files included by the same +# Makefile don't overwrite each other's variables. + +PERLMOD_MAKEVAR_PREFIX = + +#--------------------------------------------------------------------------- +# Configuration options related to the preprocessor +#--------------------------------------------------------------------------- + +# If the ENABLE_PREPROCESSING tag is set to YES (the default) Doxygen will +# evaluate all C-preprocessor directives found in the sources and include +# files. + +ENABLE_PREPROCESSING = YES + +# If the MACRO_EXPANSION tag is set to YES Doxygen will expand all macro +# names in the source code. If set to NO (the default) only conditional +# compilation will be performed. Macro expansion can be done in a controlled +# way by setting EXPAND_ONLY_PREDEF to YES. + +MACRO_EXPANSION = YES + +# If the EXPAND_ONLY_PREDEF and MACRO_EXPANSION tags are both set to YES +# then the macro expansion is limited to the macros specified with the +# PREDEFINED and EXPAND_AS_DEFINED tags. + +EXPAND_ONLY_PREDEF = YES + +# If the SEARCH_INCLUDES tag is set to YES (the default) the includes files +# in the INCLUDE_PATH (see below) will be search if a #include is found. + +SEARCH_INCLUDES = YES + +# The INCLUDE_PATH tag can be used to specify one or more directories that +# contain include files that are not input files but should be processed by +# the preprocessor. + +INCLUDE_PATH = ../.. ../../../../include + +# You can use the INCLUDE_FILE_PATTERNS tag to specify one or more wildcard +# patterns (like *.h and *.hpp) to filter out the header-files in the +# directories. If left blank, the patterns specified with FILE_PATTERNS will +# be used. + +INCLUDE_FILE_PATTERNS = + +# The PREDEFINED tag can be used to specify one or more macro names that +# are defined before the preprocessor is started (similar to the -D option of +# gcc). The argument of the tag is a list of macros of the form: name +# or name=definition (no spaces). If the definition and the = are +# omitted =1 is assumed. To prevent a macro definition from being +# undefined via #undef or recursively expanded use the := operator +# instead of the = operator. + +PREDEFINED = __DOXYGEN__ __AVR32_ABI_COMPILER__ __attribute__()= __GNUC__=4 + +# If the MACRO_EXPANSION and EXPAND_ONLY_PREDEF tags are set to YES then +# this tag can be used to specify a list of macro names that should be expanded. +# The macro definition that is found in the sources will be used. +# Use the PREDEFINED tag if you want to use a different macro definition. + +EXPAND_AS_DEFINED = + +# If the SKIP_FUNCTION_MACROS tag is set to YES (the default) then +# doxygen's preprocessor will remove all function-like macros that are alone +# on a line, have an all uppercase name, and do not end with a semicolon. Such +# function macros are typically used for boiler-plate code, and will confuse +# the parser if not removed. + +SKIP_FUNCTION_MACROS = YES + +#--------------------------------------------------------------------------- +# Configuration::additions related to external references +#--------------------------------------------------------------------------- + +# The TAGFILES option can be used to specify one or more tagfiles. +# Optionally an initial location of the external documentation +# can be added for each tagfile. The format of a tag file without +# this location is as follows: +# +# TAGFILES = file1 file2 ... +# Adding location for the tag files is done as follows: +# +# TAGFILES = file1=loc1 "file2 = loc2" ... +# where "loc1" and "loc2" can be relative or absolute paths or +# URLs. If a location is present for each tag, the installdox tool +# does not have to be run to correct the links. +# Note that each tag file must have a unique name +# (where the name does NOT include the path) +# If a tag file is not located in the directory in which doxygen +# is run, you must also specify the path to the tagfile here. + +TAGFILES = + +# When a file name is specified after GENERATE_TAGFILE, doxygen will create +# a tag file that is based on the input files it reads. + +GENERATE_TAGFILE = + +# If the ALLEXTERNALS tag is set to YES all external classes will be listed +# in the class index. If set to NO only the inherited external classes +# will be listed. + +ALLEXTERNALS = NO + +# If the EXTERNAL_GROUPS tag is set to YES all external groups will be listed +# in the modules index. If set to NO, only the current project's groups will +# be listed. + +EXTERNAL_GROUPS = YES + +# The PERL_PATH should be the absolute path and name of the perl script +# interpreter (i.e. the result of `which perl'). + +PERL_PATH = /usr/bin/perl + +#--------------------------------------------------------------------------- +# Configuration options related to the dot tool +#--------------------------------------------------------------------------- + +# If the CLASS_DIAGRAMS tag is set to YES (the default) Doxygen will +# generate a inheritance diagram (in HTML, RTF and LaTeX) for classes with base +# or super classes. Setting the tag to NO turns the diagrams off. Note that +# this option is superseded by the HAVE_DOT option below. This is only a +# fallback. It is recommended to install and use dot, since it yields more +# powerful graphs. + +CLASS_DIAGRAMS = YES + +# You can define message sequence charts within doxygen comments using the \msc +# command. Doxygen will then run the mscgen tool (see +# http://www.mcternan.me.uk/mscgen/) to produce the chart and insert it in the +# documentation. The MSCGEN_PATH tag allows you to specify the directory where +# the mscgen tool resides. If left empty the tool is assumed to be found in the +# default search path. + +MSCGEN_PATH = + +# If set to YES, the inheritance and collaboration graphs will hide +# inheritance and usage relations if the target is undocumented +# or is not a class. + +HIDE_UNDOC_RELATIONS = YES + +# If you set the HAVE_DOT tag to YES then doxygen will assume the dot tool is +# available from the path. This tool is part of Graphviz, a graph visualization +# toolkit from AT&T and Lucent Bell Labs. The other options in this section +# have no effect if this option is set to NO (the default) + +HAVE_DOT = YES + +# The DOT_NUM_THREADS specifies the number of dot invocations doxygen is +# allowed to run in parallel. When set to 0 (the default) doxygen will +# base this on the number of processors available in the system. You can set it +# explicitly to a value larger than 0 to get control over the balance +# between CPU load and processing speed. + +DOT_NUM_THREADS = 0 + +# By default doxygen will write a font called FreeSans.ttf to the output +# directory and reference it in all dot files that doxygen generates. This +# font does not include all possible unicode characters however, so when you need +# these (or just want a differently looking font) you can specify the font name +# using DOT_FONTNAME. You need need to make sure dot is able to find the font, +# which can be done by putting it in a standard location or by setting the +# DOTFONTPATH environment variable or by setting DOT_FONTPATH to the directory +# containing the font. + +DOT_FONTNAME = FreeSans + +# The DOT_FONTSIZE tag can be used to set the size of the font of dot graphs. +# The default size is 10pt. + +DOT_FONTSIZE = 10 + +# By default doxygen will tell dot to use the output directory to look for the +# FreeSans.ttf font (which doxygen will put there itself). If you specify a +# different font using DOT_FONTNAME you can set the path where dot +# can find it using this tag. + +DOT_FONTPATH = + +# If the CLASS_GRAPH and HAVE_DOT tags are set to YES then doxygen +# will generate a graph for each documented class showing the direct and +# indirect inheritance relations. Setting this tag to YES will force the +# the CLASS_DIAGRAMS tag to NO. + +CLASS_GRAPH = YES + +# If the COLLABORATION_GRAPH and HAVE_DOT tags are set to YES then doxygen +# will generate a graph for each documented class showing the direct and +# indirect implementation dependencies (inheritance, containment, and +# class references variables) of the class with other documented classes. + +COLLABORATION_GRAPH = YES + +# If the GROUP_GRAPHS and HAVE_DOT tags are set to YES then doxygen +# will generate a graph for groups, showing the direct groups dependencies + +GROUP_GRAPHS = YES + +# If the UML_LOOK tag is set to YES doxygen will generate inheritance and +# collaboration diagrams in a style similar to the OMG's Unified Modeling +# Language. + +UML_LOOK = YES + +# If set to YES, the inheritance and collaboration graphs will show the +# relations between templates and their instances. + +TEMPLATE_RELATIONS = YES + +# If the ENABLE_PREPROCESSING, SEARCH_INCLUDES, INCLUDE_GRAPH, and HAVE_DOT +# tags are set to YES then doxygen will generate a graph for each documented +# file showing the direct and indirect include dependencies of the file with +# other documented files. + +INCLUDE_GRAPH = YES + +# If the ENABLE_PREPROCESSING, SEARCH_INCLUDES, INCLUDED_BY_GRAPH, and +# HAVE_DOT tags are set to YES then doxygen will generate a graph for each +# documented header file showing the documented files that directly or +# indirectly include this file. + +INCLUDED_BY_GRAPH = YES + +# If the CALL_GRAPH and HAVE_DOT options are set to YES then +# doxygen will generate a call dependency graph for every global function +# or class method. Note that enabling this option will significantly increase +# the time of a run. So in most cases it will be better to enable call graphs +# for selected functions only using the \callgraph command. + +CALL_GRAPH = YES + +# If the CALLER_GRAPH and HAVE_DOT tags are set to YES then +# doxygen will generate a caller dependency graph for every global function +# or class method. Note that enabling this option will significantly increase +# the time of a run. So in most cases it will be better to enable caller +# graphs for selected functions only using the \callergraph command. + +CALLER_GRAPH = NO + +# If the GRAPHICAL_HIERARCHY and HAVE_DOT tags are set to YES then doxygen +# will graphical hierarchy of all classes instead of a textual one. + +GRAPHICAL_HIERARCHY = YES + +# If the DIRECTORY_GRAPH, SHOW_DIRECTORIES and HAVE_DOT tags are set to YES +# then doxygen will show the dependencies a directory has on other directories +# in a graphical way. The dependency relations are determined by the #include +# relations between the files in the directories. + +DIRECTORY_GRAPH = YES + +# The DOT_IMAGE_FORMAT tag can be used to set the image format of the images +# generated by dot. Possible values are png, jpg, or gif +# If left blank png will be used. + +DOT_IMAGE_FORMAT = gif + +# The tag DOT_PATH can be used to specify the path where the dot tool can be +# found. If left blank, it is assumed the dot tool can be found in the path. + +DOT_PATH = + +# The DOTFILE_DIRS tag can be used to specify one or more directories that +# contain dot files that are included in the documentation (see the +# \dotfile command). + +DOTFILE_DIRS = + +# The DOT_GRAPH_MAX_NODES tag can be used to set the maximum number of +# nodes that will be shown in the graph. If the number of nodes in a graph +# becomes larger than this value, doxygen will truncate the graph, which is +# visualized by representing a node as a red box. Note that doxygen if the +# number of direct children of the root node in a graph is already larger than +# DOT_GRAPH_MAX_NODES then the graph will not be shown at all. Also note +# that the size of a graph can be further restricted by MAX_DOT_GRAPH_DEPTH. + +DOT_GRAPH_MAX_NODES = 50 + +# The MAX_DOT_GRAPH_DEPTH tag can be used to set the maximum depth of the +# graphs generated by dot. A depth value of 3 means that only nodes reachable +# from the root by following a path via at most 3 edges will be shown. Nodes +# that lay further from the root node will be omitted. Note that setting this +# option to 1 or 2 may greatly reduce the computation time needed for large +# code bases. Also note that the size of a graph can be further restricted by +# DOT_GRAPH_MAX_NODES. Using a depth of 0 means no depth restriction. + +MAX_DOT_GRAPH_DEPTH = 0 + +# Set the DOT_TRANSPARENT tag to YES to generate images with a transparent +# background. This is disabled by default, because dot on Windows does not +# seem to support this out of the box. Warning: Depending on the platform used, +# enabling this option may lead to badly anti-aliased labels on the edges of +# a graph (i.e. they become hard to read). + +DOT_TRANSPARENT = NO + +# Set the DOT_MULTI_TARGETS tag to YES allow dot to generate multiple output +# files in one run (i.e. multiple -o and -T options on the command line). This +# makes dot run faster, but since only newer versions of dot (>1.8.10) +# support this, this feature is disabled by default. + +DOT_MULTI_TARGETS = YES + +# If the GENERATE_LEGEND tag is set to YES (the default) Doxygen will +# generate a legend page explaining the meaning of the various boxes and +# arrows in the dot generated graphs. + +GENERATE_LEGEND = YES + +# If the DOT_CLEANUP tag is set to YES (the default) Doxygen will +# remove the intermediate dot files that are used to generate +# the various graphs. + +DOT_CLEANUP = YES diff --git a/thirdparty/prime/mac/mac_1_3/addons/serial_if/doxygen/thirdparty.prime.mac_1_3.addons.mac_serial_if/doxygen_module_mainpage.h b/thirdparty/prime/mac/mac_1_3/addons/serial_if/doxygen/thirdparty.prime.mac_1_3.addons.mac_serial_if/doxygen_module_mainpage.h new file mode 100644 index 00000000..26566747 --- /dev/null +++ b/thirdparty/prime/mac/mac_1_3/addons/serial_if/doxygen/thirdparty.prime.mac_1_3.addons.mac_serial_if/doxygen_module_mainpage.h @@ -0,0 +1,58 @@ + +/** + * Copyright (c) 2012 Atmel Corporation. All rights reserved. + * + * \asf_license_start + * + * \page License + * + * 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 microcontroller 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. + * + * \asf_license_stop + * + * \mainpage + * + * \section intro Introduction + * This documentation has been automatically generated, and documents the source + * code found in the Atmel Software Framework (ASF). <p> + * Use the above menu to navigate in the documentation, or use the links below: <br> + * <ul> + * <li> <a href="globals_func.html">Functions</a> + * <li> <a href="annotated.html">Data structures</a> + * <li> <a href="globals_type.html">Defines</a> + * </ul> + * + * \section main_licence License + * <ul> + * <li>\ref License + * </ul> + * \section contactinfo Contact Information + * For further information, visit <a href="http://www.atmel.com/">Atmel</a>.\n + * + */ diff --git a/thirdparty/prime/mac/mac_1_3/addons/serial_if/doxygen/thirdparty.prime.mac_1_3.addons.mlme_serial_if/doxyfile.doxygen b/thirdparty/prime/mac/mac_1_3/addons/serial_if/doxygen/thirdparty.prime.mac_1_3.addons.mlme_serial_if/doxyfile.doxygen new file mode 100644 index 00000000..233b2426 --- /dev/null +++ b/thirdparty/prime/mac/mac_1_3/addons/serial_if/doxygen/thirdparty.prime.mac_1_3.addons.mlme_serial_if/doxyfile.doxygen @@ -0,0 +1,1645 @@ +# Doxyfile 1.7.1 + +# This file describes the settings to be used by the documentation system +# doxygen (www.doxygen.org) for a project +# +# All text after a hash (#) is considered a comment and will be ignored +# The format is: +# TAG = value [value, ...] +# For lists items can also be appended using: +# TAG += value [value, ...] +# Values that contain spaces should be placed between quotes (" ") + +#--------------------------------------------------------------------------- +# Project related configuration options +#--------------------------------------------------------------------------- + +# This tag specifies the encoding used for all characters in the config file +# that follow. The default is UTF-8 which is also the encoding used for all +# text before the first occurrence of this tag. Doxygen uses libiconv (or the +# iconv built into libc) for the transcoding. See +# http://www.gnu.org/software/libiconv for the list of possible encodings. + +DOXYFILE_ENCODING = UTF-8 + +# The PROJECT_NAME tag is a single word (or a sequence of words surrounded +# by quotes) that should identify the project. + +PROJECT_NAME = "PRIME MLME Serial Interface Module" + +# The PROJECT_NUMBER tag can be used to enter a project or revision number. +# This could be handy for archiving the generated documentation or +# if some version control system is used. + +PROJECT_NUMBER = + +# The OUTPUT_DIRECTORY tag is used to specify the (relative or absolute) +# base path where the generated documentation will be put. +# If a relative path is entered, it will be relative to the location +# where doxygen was started. If left blank the current directory will be used. + +OUTPUT_DIRECTORY = . + +# If the CREATE_SUBDIRS tag is set to YES, then doxygen will create +# 4096 sub-directories (in 2 levels) under the output directory of each output +# format and will distribute the generated files over these directories. +# Enabling this option can be useful when feeding doxygen a huge amount of +# source files, where putting all generated files in the same directory would +# otherwise cause performance problems for the file system. + +CREATE_SUBDIRS = NO + +# The OUTPUT_LANGUAGE tag is used to specify the language in which all +# documentation generated by doxygen is written. Doxygen will use this +# information to generate all constant output in the proper language. +# The default language is English, other supported languages are: +# Afrikaans, Arabic, Brazilian, Catalan, Chinese, Chinese-Traditional, +# Croatian, Czech, Danish, Dutch, Esperanto, Farsi, Finnish, French, German, +# Greek, Hungarian, Italian, Japanese, Japanese-en (Japanese with English +# messages), Korean, Korean-en, Lithuanian, Norwegian, Macedonian, Persian, +# Polish, Portuguese, Romanian, Russian, Serbian, Serbian-Cyrilic, Slovak, +# Slovene, Spanish, Swedish, Ukrainian, and Vietnamese. + +OUTPUT_LANGUAGE = English + +# If the BRIEF_MEMBER_DESC tag is set to YES (the default) Doxygen will +# include brief member descriptions after the members that are listed in +# the file and class documentation (similar to JavaDoc). +# Set to NO to disable this. + +BRIEF_MEMBER_DESC = YES + +# If the REPEAT_BRIEF tag is set to YES (the default) Doxygen will prepend +# the brief description of a member or function before the detailed description. +# Note: if both HIDE_UNDOC_MEMBERS and BRIEF_MEMBER_DESC are set to NO, the +# brief descriptions will be completely suppressed. + +REPEAT_BRIEF = YES + +# This tag implements a quasi-intelligent brief description abbreviator +# that is used to form the text in various listings. Each string +# in this list, if found as the leading text of the brief description, will be +# stripped from the text and the result after processing the whole list, is +# used as the annotated text. Otherwise, the brief description is used as-is. +# If left blank, the following values are used ("$name" is automatically +# replaced with the name of the entity): "The $name class" "The $name widget" +# "The $name file" "is" "provides" "specifies" "contains" +# "represents" "a" "an" "the" + +ABBREVIATE_BRIEF = + +# If the ALWAYS_DETAILED_SEC and REPEAT_BRIEF tags are both set to YES then +# Doxygen will generate a detailed section even if there is only a brief +# description. + +ALWAYS_DETAILED_SEC = NO + +# If the INLINE_INHERITED_MEMB tag is set to YES, doxygen will show all +# inherited members of a class in the documentation of that class as if those +# members were ordinary class members. Constructors, destructors and assignment +# operators of the base classes will not be shown. + +INLINE_INHERITED_MEMB = NO + +# If the FULL_PATH_NAMES tag is set to YES then Doxygen will prepend the full +# path before files name in the file list and in the header files. If set +# to NO the shortest path that makes the file name unique will be used. + +FULL_PATH_NAMES = NO + +# If the FULL_PATH_NAMES tag is set to YES then the STRIP_FROM_PATH tag +# can be used to strip a user-defined part of the path. Stripping is +# only done if one of the specified strings matches the left-hand part of +# the path. The tag can be used to show relative paths in the file list. +# If left blank the directory from which doxygen is run is used as the +# path to strip. + +STRIP_FROM_PATH = + +# The STRIP_FROM_INC_PATH tag can be used to strip a user-defined part of +# the path mentioned in the documentation of a class, which tells +# the reader which header file to include in order to use a class. +# If left blank only the name of the header file containing the class +# definition is used. Otherwise one should specify the include paths that +# are normally passed to the compiler using the -I flag. + +STRIP_FROM_INC_PATH = + +# If the SHORT_NAMES tag is set to YES, doxygen will generate much shorter +# (but less readable) file names. This can be useful is your file systems +# doesn't support long names like on DOS, Mac, or CD-ROM. + +SHORT_NAMES = NO + +# If the JAVADOC_AUTOBRIEF tag is set to YES then Doxygen +# will interpret the first line (until the first dot) of a JavaDoc-style +# comment as the brief description. If set to NO, the JavaDoc +# comments will behave just like regular Qt-style comments +# (thus requiring an explicit @brief command for a brief description.) + +JAVADOC_AUTOBRIEF = YES + +# If the QT_AUTOBRIEF tag is set to YES then Doxygen will +# interpret the first line (until the first dot) of a Qt-style +# comment as the brief description. If set to NO, the comments +# will behave just like regular Qt-style comments (thus requiring +# an explicit \brief command for a brief description.) + +QT_AUTOBRIEF = NO + +# The MULTILINE_CPP_IS_BRIEF tag can be set to YES to make Doxygen +# treat a multi-line C++ special comment block (i.e. a block of //! or /// +# comments) as a brief description. This used to be the default behaviour. +# The new default is to treat a multi-line C++ comment block as a detailed +# description. Set this tag to YES if you prefer the old behaviour instead. + +MULTILINE_CPP_IS_BRIEF = NO + +# If the INHERIT_DOCS tag is set to YES (the default) then an undocumented +# member inherits the documentation from any documented member that it +# re-implements. + +INHERIT_DOCS = YES + +# If the SEPARATE_MEMBER_PAGES tag is set to YES, then doxygen will produce +# a new page for each member. If set to NO, the documentation of a member will +# be part of the file/class/namespace that contains it. + +SEPARATE_MEMBER_PAGES = NO + +# The TAB_SIZE tag can be used to set the number of spaces in a tab. +# Doxygen uses this value to replace tabs by spaces in code fragments. + +TAB_SIZE = 4 + +# This tag can be used to specify a number of aliases that acts +# as commands in the documentation. An alias has the form "name=value". +# For example adding "sideeffect=\par Side Effects:\n" will allow you to +# put the command \sideeffect (or @sideeffect) in the documentation, which +# will result in a user-defined paragraph with heading "Side Effects:". +# You can put \n's in the value part of an alias to insert newlines. + +ALIASES += asf_license_start=" " +ALIASES += asf_license_stop=" " + +# Set the OPTIMIZE_OUTPUT_FOR_C tag to YES if your project consists of C +# sources only. Doxygen will then generate output that is more tailored for C. +# For instance, some of the names that are used will be different. The list +# of all members will be omitted, etc. + +OPTIMIZE_OUTPUT_FOR_C = YES + +# Set the OPTIMIZE_OUTPUT_JAVA tag to YES if your project consists of Java +# sources only. Doxygen will then generate output that is more tailored for +# Java. For instance, namespaces will be presented as packages, qualified +# scopes will look different, etc. + +OPTIMIZE_OUTPUT_JAVA = NO + +# Set the OPTIMIZE_FOR_FORTRAN tag to YES if your project consists of Fortran +# sources only. Doxygen will then generate output that is more tailored for +# Fortran. + +OPTIMIZE_FOR_FORTRAN = NO + +# Set the OPTIMIZE_OUTPUT_VHDL tag to YES if your project consists of VHDL +# sources. Doxygen will then generate output that is tailored for +# VHDL. + +OPTIMIZE_OUTPUT_VHDL = NO + +# Doxygen selects the parser to use depending on the extension of the files it +# parses. With this tag you can assign which parser to use for a given extension. +# Doxygen has a built-in mapping, but you can override or extend it using this +# tag. The format is ext=language, where ext is a file extension, and language +# is one of the parsers supported by doxygen: IDL, Java, Javascript, CSharp, C, +# C++, D, PHP, Objective-C, Python, Fortran, VHDL, C, C++. For instance to make +# doxygen treat .inc files as Fortran files (default is PHP), and .f files as C +# (default is Fortran), use: inc=Fortran f=C. Note that for custom extensions +# you also need to set FILE_PATTERNS otherwise the files are not read by doxygen. + +EXTENSION_MAPPING = + +# If you use STL classes (i.e. std::string, std::vector, etc.) but do not want +# to include (a tag file for) the STL sources as input, then you should +# set this tag to YES in order to let doxygen match functions declarations and +# definitions whose arguments contain STL classes (e.g. func(std::string); v.s. +# func(std::string) {}). This also make the inheritance and collaboration +# diagrams that involve STL classes more complete and accurate. + +BUILTIN_STL_SUPPORT = NO + +# If you use Microsoft's C++/CLI language, you should set this option to YES to +# enable parsing support. + +CPP_CLI_SUPPORT = NO + +# Set the SIP_SUPPORT tag to YES if your project consists of sip sources only. +# Doxygen will parse them like normal C++ but will assume all classes use public +# instead of private inheritance when no explicit protection keyword is present. + +SIP_SUPPORT = NO + +# For Microsoft's IDL there are propget and propput attributes to indicate getter +# and setter methods for a property. Setting this option to YES (the default) +# will make doxygen to replace the get and set methods by a property in the +# documentation. This will only work if the methods are indeed getting or +# setting a simple type. If this is not the case, or you want to show the +# methods anyway, you should set this option to NO. + +IDL_PROPERTY_SUPPORT = YES + +# If member grouping is used in the documentation and the DISTRIBUTE_GROUP_DOC +# tag is set to YES, then doxygen will reuse the documentation of the first +# member in the group (if any) for the other members of the group. By default +# all members of a group must be documented explicitly. + +DISTRIBUTE_GROUP_DOC = NO + +# Set the SUBGROUPING tag to YES (the default) to allow class member groups of +# the same type (for instance a group of public functions) to be put as a +# subgroup of that type (e.g. under the Public Functions section). Set it to +# NO to prevent subgrouping. Alternatively, this can be done per class using +# the \nosubgrouping command. + +SUBGROUPING = YES + +# When TYPEDEF_HIDES_STRUCT is enabled, a typedef of a struct, union, or enum +# is documented as struct, union, or enum with the name of the typedef. So +# typedef struct TypeS {} TypeT, will appear in the documentation as a struct +# with name TypeT. When disabled the typedef will appear as a member of a file, +# namespace, or class. And the struct will be named TypeS. This can typically +# be useful for C code in case the coding convention dictates that all compound +# types are typedef'ed and only the typedef is referenced, never the tag name. + +TYPEDEF_HIDES_STRUCT = NO + +# The SYMBOL_CACHE_SIZE determines the size of the internal cache use to +# determine which symbols to keep in memory and which to flush to disk. +# When the cache is full, less often used symbols will be written to disk. +# For small to medium size projects (<1000 input files) the default value is +# probably good enough. For larger projects a too small cache size can cause +# doxygen to be busy swapping symbols to and from disk most of the time +# causing a significant performance penality. +# If the system has enough physical memory increasing the cache will improve the +# performance by keeping more symbols in memory. Note that the value works on +# a logarithmic scale so increasing the size by one will rougly double the +# memory usage. The cache size is given by this formula: +# 2^(16+SYMBOL_CACHE_SIZE). The valid range is 0..9, the default is 0, +# corresponding to a cache size of 2^16 = 65536 symbols + +SYMBOL_CACHE_SIZE = 0 + +#--------------------------------------------------------------------------- +# Build related configuration options +#--------------------------------------------------------------------------- + +# If the EXTRACT_ALL tag is set to YES doxygen will assume all entities in +# documentation are documented, even if no documentation was available. +# Private class members and static file members will be hidden unless +# the EXTRACT_PRIVATE and EXTRACT_STATIC tags are set to YES + +EXTRACT_ALL = YES + +# If the EXTRACT_PRIVATE tag is set to YES all private members of a class +# will be included in the documentation. + +EXTRACT_PRIVATE = NO + +# If the EXTRACT_STATIC tag is set to YES all static members of a file +# will be included in the documentation. + +EXTRACT_STATIC = YES + +# If the EXTRACT_LOCAL_CLASSES tag is set to YES classes (and structs) +# defined locally in source files will be included in the documentation. +# If set to NO only classes defined in header files are included. + +EXTRACT_LOCAL_CLASSES = YES + +# This flag is only useful for Objective-C code. When set to YES local +# methods, which are defined in the implementation section but not in +# the interface are included in the documentation. +# If set to NO (the default) only methods in the interface are included. + +EXTRACT_LOCAL_METHODS = NO + +# If this flag is set to YES, the members of anonymous namespaces will be +# extracted and appear in the documentation as a namespace called +# 'anonymous_namespace{file}', where file will be replaced with the base +# name of the file that contains the anonymous namespace. By default +# anonymous namespace are hidden. + +EXTRACT_ANON_NSPACES = NO + +# If the HIDE_UNDOC_MEMBERS tag is set to YES, Doxygen will hide all +# undocumented members of documented classes, files or namespaces. +# If set to NO (the default) these members will be included in the +# various overviews, but no documentation section is generated. +# This option has no effect if EXTRACT_ALL is enabled. + +HIDE_UNDOC_MEMBERS = NO + +# If the HIDE_UNDOC_CLASSES tag is set to YES, Doxygen will hide all +# undocumented classes that are normally visible in the class hierarchy. +# If set to NO (the default) these classes will be included in the various +# overviews. This option has no effect if EXTRACT_ALL is enabled. + +HIDE_UNDOC_CLASSES = NO + +# If the HIDE_FRIEND_COMPOUNDS tag is set to YES, Doxygen will hide all +# friend (class|struct|union) declarations. +# If set to NO (the default) these declarations will be included in the +# documentation. + +HIDE_FRIEND_COMPOUNDS = NO + +# If the HIDE_IN_BODY_DOCS tag is set to YES, Doxygen will hide any +# documentation blocks found inside the body of a function. +# If set to NO (the default) these blocks will be appended to the +# function's detailed documentation block. + +HIDE_IN_BODY_DOCS = NO + +# The INTERNAL_DOCS tag determines if documentation +# that is typed after a \internal command is included. If the tag is set +# to NO (the default) then the documentation will be excluded. +# Set it to YES to include the internal documentation. + +INTERNAL_DOCS = YES + +# If the CASE_SENSE_NAMES tag is set to NO then Doxygen will only generate +# file names in lower-case letters. If set to YES upper-case letters are also +# allowed. This is useful if you have classes or files whose names only differ +# in case and if your file system supports case sensitive file names. Windows +# and Mac users are advised to set this option to NO. + +CASE_SENSE_NAMES = NO + +# If the HIDE_SCOPE_NAMES tag is set to NO (the default) then Doxygen +# will show members with their full class and namespace scopes in the +# documentation. If set to YES the scope will be hidden. + +HIDE_SCOPE_NAMES = NO + +# If the SHOW_INCLUDE_FILES tag is set to YES (the default) then Doxygen +# will put a list of the files that are included by a file in the documentation +# of that file. + +SHOW_INCLUDE_FILES = YES + +# If the FORCE_LOCAL_INCLUDES tag is set to YES then Doxygen +# will list include files with double quotes in the documentation +# rather than with sharp brackets. + +FORCE_LOCAL_INCLUDES = NO + +# If the INLINE_INFO tag is set to YES (the default) then a tag [inline] +# is inserted in the documentation for inline members. + +INLINE_INFO = YES + +# If the SORT_MEMBER_DOCS tag is set to YES (the default) then doxygen +# will sort the (detailed) documentation of file and class members +# alphabetically by member name. If set to NO the members will appear in +# declaration order. + +SORT_MEMBER_DOCS = YES + +# If the SORT_BRIEF_DOCS tag is set to YES then doxygen will sort the +# brief documentation of file, namespace and class members alphabetically +# by member name. If set to NO (the default) the members will appear in +# declaration order. + +SORT_BRIEF_DOCS = YES + +# If the SORT_MEMBERS_CTORS_1ST tag is set to YES then doxygen +# will sort the (brief and detailed) documentation of class members so that +# constructors and destructors are listed first. If set to NO (the default) +# the constructors will appear in the respective orders defined by +# SORT_MEMBER_DOCS and SORT_BRIEF_DOCS. +# This tag will be ignored for brief docs if SORT_BRIEF_DOCS is set to NO +# and ignored for detailed docs if SORT_MEMBER_DOCS is set to NO. + +SORT_MEMBERS_CTORS_1ST = NO + +# If the SORT_GROUP_NAMES tag is set to YES then doxygen will sort the +# hierarchy of group names into alphabetical order. If set to NO (the default) +# the group names will appear in their defined order. + +SORT_GROUP_NAMES = NO + +# If the SORT_BY_SCOPE_NAME tag is set to YES, the class list will be +# sorted by fully-qualified names, including namespaces. If set to +# NO (the default), the class list will be sorted only by class name, +# not including the namespace part. +# Note: This option is not very useful if HIDE_SCOPE_NAMES is set to YES. +# Note: This option applies only to the class list, not to the +# alphabetical list. + +SORT_BY_SCOPE_NAME = NO + +# The GENERATE_TODOLIST tag can be used to enable (YES) or +# disable (NO) the todo list. This list is created by putting \todo +# commands in the documentation. + +GENERATE_TODOLIST = YES + +# The GENERATE_TESTLIST tag can be used to enable (YES) or +# disable (NO) the test list. This list is created by putting \test +# commands in the documentation. + +GENERATE_TESTLIST = YES + +# The GENERATE_BUGLIST tag can be used to enable (YES) or +# disable (NO) the bug list. This list is created by putting \bug +# commands in the documentation. + +GENERATE_BUGLIST = YES + +# The GENERATE_DEPRECATEDLIST tag can be used to enable (YES) or +# disable (NO) the deprecated list. This list is created by putting +# \deprecated commands in the documentation. + +GENERATE_DEPRECATEDLIST= YES + +# The ENABLED_SECTIONS tag can be used to enable conditional +# documentation sections, marked by \if sectionname ... \endif. + +ENABLED_SECTIONS = + +# The MAX_INITIALIZER_LINES tag determines the maximum number of lines +# the initial value of a variable or define consists of for it to appear in +# the documentation. If the initializer consists of more lines than specified +# here it will be hidden. Use a value of 0 to hide initializers completely. +# The appearance of the initializer of individual variables and defines in the +# documentation can be controlled using \showinitializer or \hideinitializer +# command in the documentation regardless of this setting. + +MAX_INITIALIZER_LINES = 30 + +# Set the SHOW_USED_FILES tag to NO to disable the list of files generated +# at the bottom of the documentation of classes and structs. If set to YES the +# list will mention the files that were used to generate the documentation. + +SHOW_USED_FILES = NO + +# If the sources in your project are distributed over multiple directories +# then setting the SHOW_DIRECTORIES tag to YES will show the directory hierarchy +# in the documentation. The default is NO. + +SHOW_DIRECTORIES = NO + +# Set the SHOW_FILES tag to NO to disable the generation of the Files page. +# This will remove the Files entry from the Quick Index and from the +# Folder Tree View (if specified). The default is YES. + +SHOW_FILES = YES + +# Set the SHOW_NAMESPACES tag to NO to disable the generation of the +# Namespaces page. +# This will remove the Namespaces entry from the Quick Index +# and from the Folder Tree View (if specified). The default is YES. + +SHOW_NAMESPACES = YES + +# The FILE_VERSION_FILTER tag can be used to specify a program or script that +# doxygen should invoke to get the current version for each file (typically from +# the version control system). Doxygen will invoke the program by executing (via +# popen()) the command <command> <input-file>, where <command> is the value of +# the FILE_VERSION_FILTER tag, and <input-file> is the name of an input file +# provided by doxygen. Whatever the program writes to standard output +# is used as the file version. See the manual for examples. + +FILE_VERSION_FILTER = + +# The LAYOUT_FILE tag can be used to specify a layout file which will be parsed +# by doxygen. The layout file controls the global structure of the generated +# output files in an output format independent way. The create the layout file +# that represents doxygen's defaults, run doxygen with the -l option. +# You can optionally specify a file name after the option, if omitted +# DoxygenLayout.xml will be used as the name of the layout file. + +LAYOUT_FILE = + +#--------------------------------------------------------------------------- +# configuration options related to warning and progress messages +#--------------------------------------------------------------------------- + +# The QUIET tag can be used to turn on/off the messages that are generated +# by doxygen. Possible values are YES and NO. If left blank NO is used. + +QUIET = YES + +# The WARNINGS tag can be used to turn on/off the warning messages that are +# generated by doxygen. Possible values are YES and NO. If left blank +# NO is used. + +WARNINGS = YES + +# If WARN_IF_UNDOCUMENTED is set to YES, then doxygen will generate warnings +# for undocumented members. If EXTRACT_ALL is set to YES then this flag will +# automatically be disabled. + +WARN_IF_UNDOCUMENTED = YES + +# If WARN_IF_DOC_ERROR is set to YES, doxygen will generate warnings for +# potential errors in the documentation, such as not documenting some +# parameters in a documented function, or documenting parameters that +# don't exist or using markup commands wrongly. + +WARN_IF_DOC_ERROR = YES + +# This WARN_NO_PARAMDOC option can be abled to get warnings for +# functions that are documented, but have no documentation for their parameters +# or return value. If set to NO (the default) doxygen will only warn about +# wrong or incomplete parameter documentation, but not about the absence of +# documentation. + +WARN_NO_PARAMDOC = NO + +# The WARN_FORMAT tag determines the format of the warning messages that +# doxygen can produce. The string should contain the $file, $line, and $text +# tags, which will be replaced by the file and line number from which the +# warning originated and the warning text. Optionally the format may contain +# $version, which will be replaced by the version of the file (if it could +# be obtained via FILE_VERSION_FILTER) + +WARN_FORMAT = "[WARNING]$file:$line: $text" + +# The WARN_LOGFILE tag can be used to specify a file to which warning +# and error messages should be written. If left blank the output is written +# to stderr. + +WARN_LOGFILE = + +#--------------------------------------------------------------------------- +# configuration options related to the input files +#--------------------------------------------------------------------------- + +# The INPUT tag can be used to specify the files and/or directories that contain +# documented source files. You may enter file names like "myfile.cpp" or +# directories like "/usr/src/myproject". Separate the files or directories +# with spaces. + +INPUT = doxygen_module_mainpage.h ../../serial_if_mlme.c ../../serial_if_mlme.h + +# This tag can be used to specify the character encoding of the source files +# that doxygen parses. Internally doxygen uses the UTF-8 encoding, which is +# also the default input encoding. Doxygen uses libiconv (or the iconv built +# into libc) for the transcoding. See http://www.gnu.org/software/libiconv for +# the list of possible encodings. + +INPUT_ENCODING = UTF-8 + +# If the value of the INPUT tag contains directories, you can use the +# FILE_PATTERNS tag to specify one or more wildcard pattern (like *.cpp +# and *.h) to filter out the source-files in the directories. If left +# blank the following patterns are tested: +# *.c *.cc *.cxx *.cpp *.c++ *.java *.ii *.ixx *.ipp *.i++ *.inl *.h *.hh *.hxx +# *.hpp *.h++ *.idl *.odl *.cs *.php *.php3 *.inc *.m *.mm *.py *.f90 + +FILE_PATTERNS = *.c \ + *.h \ + *.s \ + *.S + +# The RECURSIVE tag can be used to turn specify whether or not subdirectories +# should be searched for input files as well. Possible values are YES and NO. +# If left blank NO is used. + +RECURSIVE = NO + +# The EXCLUDE tag can be used to specify files and/or directories that should +# excluded from the INPUT source files. This way you can easily exclude a +# subdirectory from a directory tree whose root is specified with the INPUT tag. + +EXCLUDE = + +# The EXCLUDE_SYMLINKS tag can be used select whether or not files or +# directories that are symbolic links (a Unix filesystem feature) are excluded +# from the input. + +EXCLUDE_SYMLINKS = NO + +# If the value of the INPUT tag contains directories, you can use the +# EXCLUDE_PATTERNS tag to specify one or more wildcard patterns to exclude +# certain files from those directories. Note that the wildcards are matched +# against the file with absolute path, so to exclude all test directories +# for example use the pattern */test/* + +EXCLUDE_PATTERNS = + +# The EXCLUDE_SYMBOLS tag can be used to specify one or more symbol names +# (namespaces, classes, functions, etc.) that should be excluded from the +# output. The symbol name can be a fully qualified name, a word, or if the +# wildcard * is used, a substring. Examples: ANamespace, AClass, +# AClass::ANamespace, ANamespace::*Test + +EXCLUDE_SYMBOLS = + +# The EXAMPLE_PATH tag can be used to specify one or more files or +# directories that contain example code fragments that are included (see +# the \include command). + +EXAMPLE_PATH = ./ + +# If the value of the EXAMPLE_PATH tag contains directories, you can use the +# EXAMPLE_PATTERNS tag to specify one or more wildcard pattern (like *.cpp +# and *.h) to filter out the source-files in the directories. If left +# blank all files are included. + +EXAMPLE_PATTERNS = + +# If the EXAMPLE_RECURSIVE tag is set to YES then subdirectories will be +# searched for input files to be used with the \include or \dontinclude +# commands irrespective of the value of the RECURSIVE tag. +# Possible values are YES and NO. If left blank NO is used. + +EXAMPLE_RECURSIVE = NO + +# The IMAGE_PATH tag can be used to specify one or more files or +# directories that contain image that are included in the documentation (see +# the \image command). + +IMAGE_PATH = + +# The INPUT_FILTER tag can be used to specify a program that doxygen should +# invoke to filter for each input file. Doxygen will invoke the filter program +# by executing (via popen()) the command <filter> <input-file>, where <filter> +# is the value of the INPUT_FILTER tag, and <input-file> is the name of an +# input file. Doxygen will then use the output that the filter program writes +# to standard output. +# If FILTER_PATTERNS is specified, this tag will be +# ignored. + +INPUT_FILTER = + +# The FILTER_PATTERNS tag can be used to specify filters on a per file pattern +# basis. +# Doxygen will compare the file name with each pattern and apply the +# filter if there is a match. +# The filters are a list of the form: +# pattern=filter (like *.cpp=my_cpp_filter). See INPUT_FILTER for further +# info on how filters are used. If FILTER_PATTERNS is empty, INPUT_FILTER +# is applied to all files. + +FILTER_PATTERNS = + +# If the FILTER_SOURCE_FILES tag is set to YES, the input filter (if set using +# INPUT_FILTER) will be used to filter the input files when producing source +# files to browse (i.e. when SOURCE_BROWSER is set to YES). + +FILTER_SOURCE_FILES = NO + +#--------------------------------------------------------------------------- +# configuration options related to source browsing +#--------------------------------------------------------------------------- + +# If the SOURCE_BROWSER tag is set to YES then a list of source files will +# be generated. Documented entities will be cross-referenced with these sources. +# Note: To get rid of all source code in the generated output, make sure also +# VERBATIM_HEADERS is set to NO. + +SOURCE_BROWSER = YES + +# Setting the INLINE_SOURCES tag to YES will include the body +# of functions and classes directly in the documentation. + +INLINE_SOURCES = YES + +# Setting the STRIP_CODE_COMMENTS tag to YES (the default) will instruct +# doxygen to hide any special comment blocks from generated source code +# fragments. Normal C and C++ comments will always remain visible. + +STRIP_CODE_COMMENTS = YES + +# If the REFERENCED_BY_RELATION tag is set to YES +# then for each documented function all documented +# functions referencing it will be listed. + +REFERENCED_BY_RELATION = YES + +# If the REFERENCES_RELATION tag is set to YES +# then for each documented function all documented entities +# called/used by that function will be listed. + +REFERENCES_RELATION = YES + +# If the REFERENCES_LINK_SOURCE tag is set to YES (the default) +# and SOURCE_BROWSER tag is set to YES, then the hyperlinks from +# functions in REFERENCES_RELATION and REFERENCED_BY_RELATION lists will +# link to the source code. +# Otherwise they will link to the documentation. + +REFERENCES_LINK_SOURCE = YES + +# If the USE_HTAGS tag is set to YES then the references to source code +# will point to the HTML generated by the htags(1) tool instead of doxygen +# built-in source browser. The htags tool is part of GNU's global source +# tagging system (see http://www.gnu.org/software/global/global.html). You +# will need version 4.8.6 or higher. + +USE_HTAGS = NO + +# If the VERBATIM_HEADERS tag is set to YES (the default) then Doxygen +# will generate a verbatim copy of the header file for each class for +# which an include is specified. Set to NO to disable this. + +VERBATIM_HEADERS = YES + +#--------------------------------------------------------------------------- +# configuration options related to the alphabetical class index +#--------------------------------------------------------------------------- + +# If the ALPHABETICAL_INDEX tag is set to YES, an alphabetical index +# of all compounds will be generated. Enable this if the project +# contains a lot of classes, structs, unions or interfaces. + +ALPHABETICAL_INDEX = NO + +# If the alphabetical index is enabled (see ALPHABETICAL_INDEX) then +# the COLS_IN_ALPHA_INDEX tag can be used to specify the number of columns +# in which this list will be split (can be a number in the range [1..20]) + +COLS_IN_ALPHA_INDEX = 5 + +# In case all classes in a project start with a common prefix, all +# classes will be put under the same header in the alphabetical index. +# The IGNORE_PREFIX tag can be used to specify one or more prefixes that +# should be ignored while generating the index headers. + +IGNORE_PREFIX = + +#--------------------------------------------------------------------------- +# configuration options related to the HTML output +#--------------------------------------------------------------------------- + +# If the GENERATE_HTML tag is set to YES (the default) Doxygen will +# generate HTML output. + +GENERATE_HTML = YES + +# The HTML_OUTPUT tag is used to specify where the HTML docs will be put. +# If a relative path is entered the value of OUTPUT_DIRECTORY will be +# put in front of it. If left blank `html' will be used as the default path. + +HTML_OUTPUT = html + +# The HTML_FILE_EXTENSION tag can be used to specify the file extension for +# each generated HTML page (for example: .htm,.php,.asp). If it is left blank +# doxygen will generate files with .html extension. + +HTML_FILE_EXTENSION = .html + +# The HTML_HEADER tag can be used to specify a personal HTML header for +# each generated HTML page. If it is left blank doxygen will generate a +# standard header. + +HTML_HEADER = + +# The HTML_FOOTER tag can be used to specify a personal HTML footer for +# each generated HTML page. If it is left blank doxygen will generate a +# standard footer. + +HTML_FOOTER = + +# The HTML_STYLESHEET tag can be used to specify a user-defined cascading +# style sheet that is used by each HTML page. It can be used to +# fine-tune the look of the HTML output. If the tag is left blank doxygen +# will generate a default style sheet. Note that doxygen will try to copy +# the style sheet file to the HTML output directory, so don't put your own +# stylesheet in the HTML output directory as well, or it will be erased! + +HTML_STYLESHEET = + +# The HTML_COLORSTYLE_HUE tag controls the color of the HTML output. +# Doxygen will adjust the colors in the stylesheet and background images +# according to this color. Hue is specified as an angle on a colorwheel, +# see http://en.wikipedia.org/wiki/Hue for more information. +# For instance the value 0 represents red, 60 is yellow, 120 is green, +# 180 is cyan, 240 is blue, 300 purple, and 360 is red again. +# The allowed range is 0 to 359. + +HTML_COLORSTYLE_HUE = 220 + +# The HTML_COLORSTYLE_SAT tag controls the purity (or saturation) of +# the colors in the HTML output. For a value of 0 the output will use +# grayscales only. A value of 255 will produce the most vivid colors. + +HTML_COLORSTYLE_SAT = 100 + +# The HTML_COLORSTYLE_GAMMA tag controls the gamma correction applied to +# the luminance component of the colors in the HTML output. Values below +# 100 gradually make the output lighter, whereas values above 100 make +# the output darker. The value divided by 100 is the actual gamma applied, +# so 80 represents a gamma of 0.8, The value 220 represents a gamma of 2.2, +# and 100 does not change the gamma. + +HTML_COLORSTYLE_GAMMA = 80 + +# If the HTML_TIMESTAMP tag is set to YES then the footer of each generated HTML +# page will contain the date and time when the page was generated. Setting +# this to NO can help when comparing the output of multiple runs. + +HTML_TIMESTAMP = YES + +# If the HTML_ALIGN_MEMBERS tag is set to YES, the members of classes, +# files or namespaces will be aligned in HTML using tables. If set to +# NO a bullet list will be used. + +HTML_ALIGN_MEMBERS = YES + +# If the HTML_DYNAMIC_SECTIONS tag is set to YES then the generated HTML +# documentation will contain sections that can be hidden and shown after the +# page has loaded. For this to work a browser that supports +# JavaScript and DHTML is required (for instance Mozilla 1.0+, Firefox +# Netscape 6.0+, Internet explorer 5.0+, Konqueror, or Safari). + +HTML_DYNAMIC_SECTIONS = NO + +# If the GENERATE_DOCSET tag is set to YES, additional index files +# will be generated that can be used as input for Apple's Xcode 3 +# integrated development environment, introduced with OSX 10.5 (Leopard). +# To create a documentation set, doxygen will generate a Makefile in the +# HTML output directory. Running make will produce the docset in that +# directory and running "make install" will install the docset in +# ~/Library/Developer/Shared/Documentation/DocSets so that Xcode will find +# it at startup. +# See http://developer.apple.com/tools/creatingdocsetswithdoxygen.html +# for more information. + +GENERATE_DOCSET = NO + +# When GENERATE_DOCSET tag is set to YES, this tag determines the name of the +# feed. A documentation feed provides an umbrella under which multiple +# documentation sets from a single provider (such as a company or product suite) +# can be grouped. + +DOCSET_FEEDNAME = "Doxygen generated docs" + +# When GENERATE_DOCSET tag is set to YES, this tag specifies a string that +# should uniquely identify the documentation set bundle. This should be a +# reverse domain-name style string, e.g. com.mycompany.MyDocSet. Doxygen +# will append .docset to the name. + +DOCSET_BUNDLE_ID = org.doxygen.Project + +# When GENERATE_PUBLISHER_ID tag specifies a string that should uniquely identify +# the documentation publisher. This should be a reverse domain-name style +# string, e.g. com.mycompany.MyDocSet.documentation. + +DOCSET_PUBLISHER_ID = org.doxygen.Publisher + +# The GENERATE_PUBLISHER_NAME tag identifies the documentation publisher. + +DOCSET_PUBLISHER_NAME = Publisher + +# If the GENERATE_HTMLHELP tag is set to YES, additional index files +# will be generated that can be used as input for tools like the +# Microsoft HTML help workshop to generate a compiled HTML help file (.chm) +# of the generated HTML documentation. + +GENERATE_HTMLHELP = NO + +# If the GENERATE_HTMLHELP tag is set to YES, the CHM_FILE tag can +# be used to specify the file name of the resulting .chm file. You +# can add a path in front of the file if the result should not be +# written to the html output directory. + +CHM_FILE = + +# If the GENERATE_HTMLHELP tag is set to YES, the HHC_LOCATION tag can +# be used to specify the location (absolute path including file name) of +# the HTML help compiler (hhc.exe). If non-empty doxygen will try to run +# the HTML help compiler on the generated index.hhp. + +HHC_LOCATION = + +# If the GENERATE_HTMLHELP tag is set to YES, the GENERATE_CHI flag +# controls if a separate .chi index file is generated (YES) or that +# it should be included in the master .chm file (NO). + +GENERATE_CHI = NO + +# If the GENERATE_HTMLHELP tag is set to YES, the CHM_INDEX_ENCODING +# is used to encode HtmlHelp index (hhk), content (hhc) and project file +# content. + +CHM_INDEX_ENCODING = + +# If the GENERATE_HTMLHELP tag is set to YES, the BINARY_TOC flag +# controls whether a binary table of contents is generated (YES) or a +# normal table of contents (NO) in the .chm file. + +BINARY_TOC = NO + +# The TOC_EXPAND flag can be set to YES to add extra items for group members +# to the contents of the HTML help documentation and to the tree view. + +TOC_EXPAND = NO + +# If the GENERATE_QHP tag is set to YES and both QHP_NAMESPACE and +# QHP_VIRTUAL_FOLDER are set, an additional index file will be generated +# that can be used as input for Qt's qhelpgenerator to generate a +# Qt Compressed Help (.qch) of the generated HTML documentation. + +GENERATE_QHP = NO + +# If the QHG_LOCATION tag is specified, the QCH_FILE tag can +# be used to specify the file name of the resulting .qch file. +# The path specified is relative to the HTML output folder. + +QCH_FILE = + +# The QHP_NAMESPACE tag specifies the namespace to use when generating +# Qt Help Project output. For more information please see +# http://doc.trolltech.com/qthelpproject.html#namespace + +QHP_NAMESPACE = org.doxygen.Project + +# The QHP_VIRTUAL_FOLDER tag specifies the namespace to use when generating +# Qt Help Project output. For more information please see +# http://doc.trolltech.com/qthelpproject.html#virtual-folders + +QHP_VIRTUAL_FOLDER = doc + +# If QHP_CUST_FILTER_NAME is set, it specifies the name of a custom filter to +# add. For more information please see +# http://doc.trolltech.com/qthelpproject.html#custom-filters + +QHP_CUST_FILTER_NAME = + +# The QHP_CUST_FILT_ATTRS tag specifies the list of the attributes of the +# custom filter to add. For more information please see +# <a href="http://doc.trolltech.com/qthelpproject.html#custom-filters"> +# Qt Help Project / Custom Filters</a>. + +QHP_CUST_FILTER_ATTRS = + +# The QHP_SECT_FILTER_ATTRS tag specifies the list of the attributes this +# project's +# filter section matches. +# <a href="http://doc.trolltech.com/qthelpproject.html#filter-attributes"> +# Qt Help Project / Filter Attributes</a>. + +QHP_SECT_FILTER_ATTRS = + +# If the GENERATE_QHP tag is set to YES, the QHG_LOCATION tag can +# be used to specify the location of Qt's qhelpgenerator. +# If non-empty doxygen will try to run qhelpgenerator on the generated +# .qhp file. + +QHG_LOCATION = + +# If the GENERATE_ECLIPSEHELP tag is set to YES, additional index files +# will be generated, which together with the HTML files, form an Eclipse help +# plugin. To install this plugin and make it available under the help contents +# menu in Eclipse, the contents of the directory containing the HTML and XML +# files needs to be copied into the plugins directory of eclipse. The name of +# the directory within the plugins directory should be the same as +# the ECLIPSE_DOC_ID value. After copying Eclipse needs to be restarted before +# the help appears. + +GENERATE_ECLIPSEHELP = NO + +# A unique identifier for the eclipse help plugin. When installing the plugin +# the directory name containing the HTML and XML files should also have +# this name. + +ECLIPSE_DOC_ID = org.doxygen.Project + +# The DISABLE_INDEX tag can be used to turn on/off the condensed index at +# top of each HTML page. The value NO (the default) enables the index and +# the value YES disables it. + +DISABLE_INDEX = NO + +# This tag can be used to set the number of enum values (range [1..20]) +# that doxygen will group on one line in the generated HTML documentation. + +ENUM_VALUES_PER_LINE = 1 + +# The GENERATE_TREEVIEW tag is used to specify whether a tree-like index +# structure should be generated to display hierarchical information. +# If the tag value is set to YES, a side panel will be generated +# containing a tree-like index structure (just like the one that +# is generated for HTML Help). For this to work a browser that supports +# JavaScript, DHTML, CSS and frames is required (i.e. any modern browser). +# Windows users are probably better off using the HTML help feature. + +GENERATE_TREEVIEW = NO + +# By enabling USE_INLINE_TREES, doxygen will generate the Groups, Directories, +# and Class Hierarchy pages using a tree view instead of an ordered list. + +USE_INLINE_TREES = NO + +# If the treeview is enabled (see GENERATE_TREEVIEW) then this tag can be +# used to set the initial width (in pixels) of the frame in which the tree +# is shown. + +TREEVIEW_WIDTH = 250 + +# When the EXT_LINKS_IN_WINDOW option is set to YES doxygen will open +# links to external symbols imported via tag files in a separate window. + +EXT_LINKS_IN_WINDOW = NO + +# Use this tag to change the font size of Latex formulas included +# as images in the HTML documentation. The default is 10. Note that +# when you change the font size after a successful doxygen run you need +# to manually remove any form_*.png images from the HTML output directory +# to force them to be regenerated. + +FORMULA_FONTSIZE = 10 + +# Use the FORMULA_TRANPARENT tag to determine whether or not the images +# generated for formulas are transparent PNGs. Transparent PNGs are +# not supported properly for IE 6.0, but are supported on all modern browsers. +# Note that when changing this option you need to delete any form_*.png files +# in the HTML output before the changes have effect. + +FORMULA_TRANSPARENT = YES + +# Enable the USE_MATHJAX option to render LaTeX formulas using MathJax (see +# http://www.mathjax.org) which uses client side Javascript for the rendering +# instead of using prerendered bitmaps. Use this if you do not have LaTeX +# installed or if you want to formulas look prettier in the HTML output. When +# enabled you may also need to install MathJax separately and configure the path +# to it using the MATHJAX_RELPATH option. +# The default value is: NO. +# This tag requires that the tag GENERATE_HTML is set to YES. + +USE_MATHJAX = NO + +# When the SEARCHENGINE tag is enabled doxygen will generate a search box +# for the HTML output. The underlying search engine uses javascript +# and DHTML and should work on any modern browser. Note that when using +# HTML help (GENERATE_HTMLHELP), Qt help (GENERATE_QHP), or docsets +# (GENERATE_DOCSET) there is already a search function so this one should +# typically be disabled. For large projects the javascript based search engine +# can be slow, then enabling SERVER_BASED_SEARCH may provide a better solution. + +SEARCHENGINE = YES + +# When the SERVER_BASED_SEARCH tag is enabled the search engine will be +# implemented using a PHP enabled web server instead of at the web client +# using Javascript. Doxygen will generate the search PHP script and index +# file to put on the web server. The advantage of the server +# based approach is that it scales better to large projects and allows +# full text search. The disadvances is that it is more difficult to setup +# and does not have live searching capabilities. + +SERVER_BASED_SEARCH = NO + +#--------------------------------------------------------------------------- +# configuration options related to the LaTeX output +#--------------------------------------------------------------------------- + +# If the GENERATE_LATEX tag is set to YES (the default) Doxygen will +# generate Latex output. + +GENERATE_LATEX = NO + +# The LATEX_OUTPUT tag is used to specify where the LaTeX docs will be put. +# If a relative path is entered the value of OUTPUT_DIRECTORY will be +# put in front of it. If left blank `latex' will be used as the default path. + +LATEX_OUTPUT = latex + +# The LATEX_CMD_NAME tag can be used to specify the LaTeX command name to be +# invoked. If left blank `latex' will be used as the default command name. +# Note that when enabling USE_PDFLATEX this option is only used for +# generating bitmaps for formulas in the HTML output, but not in the +# Makefile that is written to the output directory. + +LATEX_CMD_NAME = latex + +# The MAKEINDEX_CMD_NAME tag can be used to specify the command name to +# generate index for LaTeX. If left blank `makeindex' will be used as the +# default command name. + +MAKEINDEX_CMD_NAME = makeindex + +# If the COMPACT_LATEX tag is set to YES Doxygen generates more compact +# LaTeX documents. This may be useful for small projects and may help to +# save some trees in general. + +COMPACT_LATEX = NO + +# The PAPER_TYPE tag can be used to set the paper type that is used +# by the printer. Possible values are: a4, a4wide, letter, legal and +# executive. If left blank a4wide will be used. + +PAPER_TYPE = a4wide + +# The EXTRA_PACKAGES tag can be to specify one or more names of LaTeX +# packages that should be included in the LaTeX output. + +EXTRA_PACKAGES = + +# The LATEX_HEADER tag can be used to specify a personal LaTeX header for +# the generated latex document. The header should contain everything until +# the first chapter. If it is left blank doxygen will generate a +# standard header. Notice: only use this tag if you know what you are doing! + +LATEX_HEADER = + +# If the PDF_HYPERLINKS tag is set to YES, the LaTeX that is generated +# is prepared for conversion to pdf (using ps2pdf). The pdf file will +# contain links (just like the HTML output) instead of page references +# This makes the output suitable for online browsing using a pdf viewer. + +PDF_HYPERLINKS = NO + +# If the USE_PDFLATEX tag is set to YES, pdflatex will be used instead of +# plain latex in the generated Makefile. Set this option to YES to get a +# higher quality PDF documentation. + +USE_PDFLATEX = NO + +# If the LATEX_BATCHMODE tag is set to YES, doxygen will add the \\batchmode. +# command to the generated LaTeX files. This will instruct LaTeX to keep +# running if errors occur, instead of asking the user for help. +# This option is also used when generating formulas in HTML. + +LATEX_BATCHMODE = NO + +# If LATEX_HIDE_INDICES is set to YES then doxygen will not +# include the index chapters (such as File Index, Compound Index, etc.) +# in the output. + +LATEX_HIDE_INDICES = NO + +# If LATEX_SOURCE_CODE is set to YES then doxygen will include +# source code with syntax highlighting in the LaTeX output. +# Note that which sources are shown also depends on other settings +# such as SOURCE_BROWSER. + +LATEX_SOURCE_CODE = NO + +#--------------------------------------------------------------------------- +# configuration options related to the RTF output +#--------------------------------------------------------------------------- + +# If the GENERATE_RTF tag is set to YES Doxygen will generate RTF output +# The RTF output is optimized for Word 97 and may not look very pretty with +# other RTF readers or editors. + +GENERATE_RTF = NO + +# The RTF_OUTPUT tag is used to specify where the RTF docs will be put. +# If a relative path is entered the value of OUTPUT_DIRECTORY will be +# put in front of it. If left blank `rtf' will be used as the default path. + +RTF_OUTPUT = RTF + +# If the COMPACT_RTF tag is set to YES Doxygen generates more compact +# RTF documents. This may be useful for small projects and may help to +# save some trees in general. + +COMPACT_RTF = NO + +# If the RTF_HYPERLINKS tag is set to YES, the RTF that is generated +# will contain hyperlink fields. The RTF file will +# contain links (just like the HTML output) instead of page references. +# This makes the output suitable for online browsing using WORD or other +# programs which support those fields. +# Note: wordpad (write) and others do not support links. + +RTF_HYPERLINKS = YES + +# Load stylesheet definitions from file. Syntax is similar to doxygen's +# config file, i.e. a series of assignments. You only have to provide +# replacements, missing definitions are set to their default value. + +RTF_STYLESHEET_FILE = + +# Set optional variables used in the generation of an rtf document. +# Syntax is similar to doxygen's config file. + +RTF_EXTENSIONS_FILE = + +#--------------------------------------------------------------------------- +# configuration options related to the man page output +#--------------------------------------------------------------------------- + +# If the GENERATE_MAN tag is set to YES (the default) Doxygen will +# generate man pages + +GENERATE_MAN = NO + +# The MAN_OUTPUT tag is used to specify where the man pages will be put. +# If a relative path is entered the value of OUTPUT_DIRECTORY will be +# put in front of it. If left blank `man' will be used as the default path. + +MAN_OUTPUT = man + +# The MAN_EXTENSION tag determines the extension that is added to +# the generated man pages (default is the subroutine's section .3) + +MAN_EXTENSION = .3 + +# If the MAN_LINKS tag is set to YES and Doxygen generates man output, +# then it will generate one additional man file for each entity +# documented in the real man page(s). These additional files +# only source the real man page, but without them the man command +# would be unable to find the correct page. The default is NO. + +MAN_LINKS = NO + +#--------------------------------------------------------------------------- +# configuration options related to the XML output +#--------------------------------------------------------------------------- + +# If the GENERATE_XML tag is set to YES Doxygen will +# generate an XML file that captures the structure of +# the code including all documentation. + +GENERATE_XML = NO + +# The XML_OUTPUT tag is used to specify where the XML pages will be put. +# If a relative path is entered the value of OUTPUT_DIRECTORY will be +# put in front of it. If left blank `xml' will be used as the default path. + +XML_OUTPUT = xml + +# The XML_SCHEMA tag can be used to specify an XML schema, +# which can be used by a validating XML parser to check the +# syntax of the XML files. + +XML_SCHEMA = + +# The XML_DTD tag can be used to specify an XML DTD, +# which can be used by a validating XML parser to check the +# syntax of the XML files. + +XML_DTD = + +# If the XML_PROGRAMLISTING tag is set to YES Doxygen will +# dump the program listings (including syntax highlighting +# and cross-referencing information) to the XML output. Note that +# enabling this will significantly increase the size of the XML output. + +XML_PROGRAMLISTING = YES + +#--------------------------------------------------------------------------- +# configuration options for the AutoGen Definitions output +#--------------------------------------------------------------------------- + +# If the GENERATE_AUTOGEN_DEF tag is set to YES Doxygen will +# generate an AutoGen Definitions (see autogen.sf.net) file +# that captures the structure of the code including all +# documentation. Note that this feature is still experimental +# and incomplete at the moment. + +GENERATE_AUTOGEN_DEF = NO + +#--------------------------------------------------------------------------- +# configuration options related to the Perl module output +#--------------------------------------------------------------------------- + +# If the GENERATE_PERLMOD tag is set to YES Doxygen will +# generate a Perl module file that captures the structure of +# the code including all documentation. Note that this +# feature is still experimental and incomplete at the +# moment. + +GENERATE_PERLMOD = NO + +# If the PERLMOD_LATEX tag is set to YES Doxygen will generate +# the necessary Makefile rules, Perl scripts and LaTeX code to be able +# to generate PDF and DVI output from the Perl module output. + +PERLMOD_LATEX = NO + +# If the PERLMOD_PRETTY tag is set to YES the Perl module output will be +# nicely formatted so it can be parsed by a human reader. +# This is useful +# if you want to understand what is going on. +# On the other hand, if this +# tag is set to NO the size of the Perl module output will be much smaller +# and Perl will parse it just the same. + +PERLMOD_PRETTY = YES + +# The names of the make variables in the generated doxyrules.make file +# are prefixed with the string contained in PERLMOD_MAKEVAR_PREFIX. +# This is useful so different doxyrules.make files included by the same +# Makefile don't overwrite each other's variables. + +PERLMOD_MAKEVAR_PREFIX = + +#--------------------------------------------------------------------------- +# Configuration options related to the preprocessor +#--------------------------------------------------------------------------- + +# If the ENABLE_PREPROCESSING tag is set to YES (the default) Doxygen will +# evaluate all C-preprocessor directives found in the sources and include +# files. + +ENABLE_PREPROCESSING = YES + +# If the MACRO_EXPANSION tag is set to YES Doxygen will expand all macro +# names in the source code. If set to NO (the default) only conditional +# compilation will be performed. Macro expansion can be done in a controlled +# way by setting EXPAND_ONLY_PREDEF to YES. + +MACRO_EXPANSION = YES + +# If the EXPAND_ONLY_PREDEF and MACRO_EXPANSION tags are both set to YES +# then the macro expansion is limited to the macros specified with the +# PREDEFINED and EXPAND_AS_DEFINED tags. + +EXPAND_ONLY_PREDEF = YES + +# If the SEARCH_INCLUDES tag is set to YES (the default) the includes files +# in the INCLUDE_PATH (see below) will be search if a #include is found. + +SEARCH_INCLUDES = YES + +# The INCLUDE_PATH tag can be used to specify one or more directories that +# contain include files that are not input files but should be processed by +# the preprocessor. + +INCLUDE_PATH = ../.. ../../../../include + +# You can use the INCLUDE_FILE_PATTERNS tag to specify one or more wildcard +# patterns (like *.h and *.hpp) to filter out the header-files in the +# directories. If left blank, the patterns specified with FILE_PATTERNS will +# be used. + +INCLUDE_FILE_PATTERNS = + +# The PREDEFINED tag can be used to specify one or more macro names that +# are defined before the preprocessor is started (similar to the -D option of +# gcc). The argument of the tag is a list of macros of the form: name +# or name=definition (no spaces). If the definition and the = are +# omitted =1 is assumed. To prevent a macro definition from being +# undefined via #undef or recursively expanded use the := operator +# instead of the = operator. + +PREDEFINED = __DOXYGEN__ __AVR32_ABI_COMPILER__ __attribute__()= __GNUC__=4 + +# If the MACRO_EXPANSION and EXPAND_ONLY_PREDEF tags are set to YES then +# this tag can be used to specify a list of macro names that should be expanded. +# The macro definition that is found in the sources will be used. +# Use the PREDEFINED tag if you want to use a different macro definition. + +EXPAND_AS_DEFINED = + +# If the SKIP_FUNCTION_MACROS tag is set to YES (the default) then +# doxygen's preprocessor will remove all function-like macros that are alone +# on a line, have an all uppercase name, and do not end with a semicolon. Such +# function macros are typically used for boiler-plate code, and will confuse +# the parser if not removed. + +SKIP_FUNCTION_MACROS = YES + +#--------------------------------------------------------------------------- +# Configuration::additions related to external references +#--------------------------------------------------------------------------- + +# The TAGFILES option can be used to specify one or more tagfiles. +# Optionally an initial location of the external documentation +# can be added for each tagfile. The format of a tag file without +# this location is as follows: +# +# TAGFILES = file1 file2 ... +# Adding location for the tag files is done as follows: +# +# TAGFILES = file1=loc1 "file2 = loc2" ... +# where "loc1" and "loc2" can be relative or absolute paths or +# URLs. If a location is present for each tag, the installdox tool +# does not have to be run to correct the links. +# Note that each tag file must have a unique name +# (where the name does NOT include the path) +# If a tag file is not located in the directory in which doxygen +# is run, you must also specify the path to the tagfile here. + +TAGFILES = + +# When a file name is specified after GENERATE_TAGFILE, doxygen will create +# a tag file that is based on the input files it reads. + +GENERATE_TAGFILE = + +# If the ALLEXTERNALS tag is set to YES all external classes will be listed +# in the class index. If set to NO only the inherited external classes +# will be listed. + +ALLEXTERNALS = NO + +# If the EXTERNAL_GROUPS tag is set to YES all external groups will be listed +# in the modules index. If set to NO, only the current project's groups will +# be listed. + +EXTERNAL_GROUPS = YES + +# The PERL_PATH should be the absolute path and name of the perl script +# interpreter (i.e. the result of `which perl'). + +PERL_PATH = /usr/bin/perl + +#--------------------------------------------------------------------------- +# Configuration options related to the dot tool +#--------------------------------------------------------------------------- + +# If the CLASS_DIAGRAMS tag is set to YES (the default) Doxygen will +# generate a inheritance diagram (in HTML, RTF and LaTeX) for classes with base +# or super classes. Setting the tag to NO turns the diagrams off. Note that +# this option is superseded by the HAVE_DOT option below. This is only a +# fallback. It is recommended to install and use dot, since it yields more +# powerful graphs. + +CLASS_DIAGRAMS = YES + +# You can define message sequence charts within doxygen comments using the \msc +# command. Doxygen will then run the mscgen tool (see +# http://www.mcternan.me.uk/mscgen/) to produce the chart and insert it in the +# documentation. The MSCGEN_PATH tag allows you to specify the directory where +# the mscgen tool resides. If left empty the tool is assumed to be found in the +# default search path. + +MSCGEN_PATH = + +# If set to YES, the inheritance and collaboration graphs will hide +# inheritance and usage relations if the target is undocumented +# or is not a class. + +HIDE_UNDOC_RELATIONS = YES + +# If you set the HAVE_DOT tag to YES then doxygen will assume the dot tool is +# available from the path. This tool is part of Graphviz, a graph visualization +# toolkit from AT&T and Lucent Bell Labs. The other options in this section +# have no effect if this option is set to NO (the default) + +HAVE_DOT = YES + +# The DOT_NUM_THREADS specifies the number of dot invocations doxygen is +# allowed to run in parallel. When set to 0 (the default) doxygen will +# base this on the number of processors available in the system. You can set it +# explicitly to a value larger than 0 to get control over the balance +# between CPU load and processing speed. + +DOT_NUM_THREADS = 0 + +# By default doxygen will write a font called FreeSans.ttf to the output +# directory and reference it in all dot files that doxygen generates. This +# font does not include all possible unicode characters however, so when you need +# these (or just want a differently looking font) you can specify the font name +# using DOT_FONTNAME. You need need to make sure dot is able to find the font, +# which can be done by putting it in a standard location or by setting the +# DOTFONTPATH environment variable or by setting DOT_FONTPATH to the directory +# containing the font. + +DOT_FONTNAME = FreeSans + +# The DOT_FONTSIZE tag can be used to set the size of the font of dot graphs. +# The default size is 10pt. + +DOT_FONTSIZE = 10 + +# By default doxygen will tell dot to use the output directory to look for the +# FreeSans.ttf font (which doxygen will put there itself). If you specify a +# different font using DOT_FONTNAME you can set the path where dot +# can find it using this tag. + +DOT_FONTPATH = + +# If the CLASS_GRAPH and HAVE_DOT tags are set to YES then doxygen +# will generate a graph for each documented class showing the direct and +# indirect inheritance relations. Setting this tag to YES will force the +# the CLASS_DIAGRAMS tag to NO. + +CLASS_GRAPH = YES + +# If the COLLABORATION_GRAPH and HAVE_DOT tags are set to YES then doxygen +# will generate a graph for each documented class showing the direct and +# indirect implementation dependencies (inheritance, containment, and +# class references variables) of the class with other documented classes. + +COLLABORATION_GRAPH = YES + +# If the GROUP_GRAPHS and HAVE_DOT tags are set to YES then doxygen +# will generate a graph for groups, showing the direct groups dependencies + +GROUP_GRAPHS = YES + +# If the UML_LOOK tag is set to YES doxygen will generate inheritance and +# collaboration diagrams in a style similar to the OMG's Unified Modeling +# Language. + +UML_LOOK = YES + +# If set to YES, the inheritance and collaboration graphs will show the +# relations between templates and their instances. + +TEMPLATE_RELATIONS = YES + +# If the ENABLE_PREPROCESSING, SEARCH_INCLUDES, INCLUDE_GRAPH, and HAVE_DOT +# tags are set to YES then doxygen will generate a graph for each documented +# file showing the direct and indirect include dependencies of the file with +# other documented files. + +INCLUDE_GRAPH = YES + +# If the ENABLE_PREPROCESSING, SEARCH_INCLUDES, INCLUDED_BY_GRAPH, and +# HAVE_DOT tags are set to YES then doxygen will generate a graph for each +# documented header file showing the documented files that directly or +# indirectly include this file. + +INCLUDED_BY_GRAPH = YES + +# If the CALL_GRAPH and HAVE_DOT options are set to YES then +# doxygen will generate a call dependency graph for every global function +# or class method. Note that enabling this option will significantly increase +# the time of a run. So in most cases it will be better to enable call graphs +# for selected functions only using the \callgraph command. + +CALL_GRAPH = YES + +# If the CALLER_GRAPH and HAVE_DOT tags are set to YES then +# doxygen will generate a caller dependency graph for every global function +# or class method. Note that enabling this option will significantly increase +# the time of a run. So in most cases it will be better to enable caller +# graphs for selected functions only using the \callergraph command. + +CALLER_GRAPH = NO + +# If the GRAPHICAL_HIERARCHY and HAVE_DOT tags are set to YES then doxygen +# will graphical hierarchy of all classes instead of a textual one. + +GRAPHICAL_HIERARCHY = YES + +# If the DIRECTORY_GRAPH, SHOW_DIRECTORIES and HAVE_DOT tags are set to YES +# then doxygen will show the dependencies a directory has on other directories +# in a graphical way. The dependency relations are determined by the #include +# relations between the files in the directories. + +DIRECTORY_GRAPH = YES + +# The DOT_IMAGE_FORMAT tag can be used to set the image format of the images +# generated by dot. Possible values are png, jpg, or gif +# If left blank png will be used. + +DOT_IMAGE_FORMAT = gif + +# The tag DOT_PATH can be used to specify the path where the dot tool can be +# found. If left blank, it is assumed the dot tool can be found in the path. + +DOT_PATH = + +# The DOTFILE_DIRS tag can be used to specify one or more directories that +# contain dot files that are included in the documentation (see the +# \dotfile command). + +DOTFILE_DIRS = + +# The DOT_GRAPH_MAX_NODES tag can be used to set the maximum number of +# nodes that will be shown in the graph. If the number of nodes in a graph +# becomes larger than this value, doxygen will truncate the graph, which is +# visualized by representing a node as a red box. Note that doxygen if the +# number of direct children of the root node in a graph is already larger than +# DOT_GRAPH_MAX_NODES then the graph will not be shown at all. Also note +# that the size of a graph can be further restricted by MAX_DOT_GRAPH_DEPTH. + +DOT_GRAPH_MAX_NODES = 50 + +# The MAX_DOT_GRAPH_DEPTH tag can be used to set the maximum depth of the +# graphs generated by dot. A depth value of 3 means that only nodes reachable +# from the root by following a path via at most 3 edges will be shown. Nodes +# that lay further from the root node will be omitted. Note that setting this +# option to 1 or 2 may greatly reduce the computation time needed for large +# code bases. Also note that the size of a graph can be further restricted by +# DOT_GRAPH_MAX_NODES. Using a depth of 0 means no depth restriction. + +MAX_DOT_GRAPH_DEPTH = 0 + +# Set the DOT_TRANSPARENT tag to YES to generate images with a transparent +# background. This is disabled by default, because dot on Windows does not +# seem to support this out of the box. Warning: Depending on the platform used, +# enabling this option may lead to badly anti-aliased labels on the edges of +# a graph (i.e. they become hard to read). + +DOT_TRANSPARENT = NO + +# Set the DOT_MULTI_TARGETS tag to YES allow dot to generate multiple output +# files in one run (i.e. multiple -o and -T options on the command line). This +# makes dot run faster, but since only newer versions of dot (>1.8.10) +# support this, this feature is disabled by default. + +DOT_MULTI_TARGETS = YES + +# If the GENERATE_LEGEND tag is set to YES (the default) Doxygen will +# generate a legend page explaining the meaning of the various boxes and +# arrows in the dot generated graphs. + +GENERATE_LEGEND = YES + +# If the DOT_CLEANUP tag is set to YES (the default) Doxygen will +# remove the intermediate dot files that are used to generate +# the various graphs. + +DOT_CLEANUP = YES diff --git a/thirdparty/prime/mac/mac_1_3/addons/serial_if/doxygen/thirdparty.prime.mac_1_3.addons.mlme_serial_if/doxygen_module_mainpage.h b/thirdparty/prime/mac/mac_1_3/addons/serial_if/doxygen/thirdparty.prime.mac_1_3.addons.mlme_serial_if/doxygen_module_mainpage.h new file mode 100644 index 00000000..26566747 --- /dev/null +++ b/thirdparty/prime/mac/mac_1_3/addons/serial_if/doxygen/thirdparty.prime.mac_1_3.addons.mlme_serial_if/doxygen_module_mainpage.h @@ -0,0 +1,58 @@ + +/** + * Copyright (c) 2012 Atmel Corporation. All rights reserved. + * + * \asf_license_start + * + * \page License + * + * 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 microcontroller 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. + * + * \asf_license_stop + * + * \mainpage + * + * \section intro Introduction + * This documentation has been automatically generated, and documents the source + * code found in the Atmel Software Framework (ASF). <p> + * Use the above menu to navigate in the documentation, or use the links below: <br> + * <ul> + * <li> <a href="globals_func.html">Functions</a> + * <li> <a href="annotated.html">Data structures</a> + * <li> <a href="globals_type.html">Defines</a> + * </ul> + * + * \section main_licence License + * <ul> + * <li>\ref License + * </ul> + * \section contactinfo Contact Information + * For further information, visit <a href="http://www.atmel.com/">Atmel</a>.\n + * + */ diff --git a/thirdparty/prime/mac/mac_1_3/addons/serial_if/doxygen/thirdparty.prime.mac_1_3.addons.plme_serial_if/doxyfile.doxygen b/thirdparty/prime/mac/mac_1_3/addons/serial_if/doxygen/thirdparty.prime.mac_1_3.addons.plme_serial_if/doxyfile.doxygen new file mode 100644 index 00000000..8c877fd8 --- /dev/null +++ b/thirdparty/prime/mac/mac_1_3/addons/serial_if/doxygen/thirdparty.prime.mac_1_3.addons.plme_serial_if/doxyfile.doxygen @@ -0,0 +1,1645 @@ +# Doxyfile 1.7.1 + +# This file describes the settings to be used by the documentation system +# doxygen (www.doxygen.org) for a project +# +# All text after a hash (#) is considered a comment and will be ignored +# The format is: +# TAG = value [value, ...] +# For lists items can also be appended using: +# TAG += value [value, ...] +# Values that contain spaces should be placed between quotes (" ") + +#--------------------------------------------------------------------------- +# Project related configuration options +#--------------------------------------------------------------------------- + +# This tag specifies the encoding used for all characters in the config file +# that follow. The default is UTF-8 which is also the encoding used for all +# text before the first occurrence of this tag. Doxygen uses libiconv (or the +# iconv built into libc) for the transcoding. See +# http://www.gnu.org/software/libiconv for the list of possible encodings. + +DOXYFILE_ENCODING = UTF-8 + +# The PROJECT_NAME tag is a single word (or a sequence of words surrounded +# by quotes) that should identify the project. + +PROJECT_NAME = "PRIME PLME Serial Interface Module" + +# The PROJECT_NUMBER tag can be used to enter a project or revision number. +# This could be handy for archiving the generated documentation or +# if some version control system is used. + +PROJECT_NUMBER = + +# The OUTPUT_DIRECTORY tag is used to specify the (relative or absolute) +# base path where the generated documentation will be put. +# If a relative path is entered, it will be relative to the location +# where doxygen was started. If left blank the current directory will be used. + +OUTPUT_DIRECTORY = . + +# If the CREATE_SUBDIRS tag is set to YES, then doxygen will create +# 4096 sub-directories (in 2 levels) under the output directory of each output +# format and will distribute the generated files over these directories. +# Enabling this option can be useful when feeding doxygen a huge amount of +# source files, where putting all generated files in the same directory would +# otherwise cause performance problems for the file system. + +CREATE_SUBDIRS = NO + +# The OUTPUT_LANGUAGE tag is used to specify the language in which all +# documentation generated by doxygen is written. Doxygen will use this +# information to generate all constant output in the proper language. +# The default language is English, other supported languages are: +# Afrikaans, Arabic, Brazilian, Catalan, Chinese, Chinese-Traditional, +# Croatian, Czech, Danish, Dutch, Esperanto, Farsi, Finnish, French, German, +# Greek, Hungarian, Italian, Japanese, Japanese-en (Japanese with English +# messages), Korean, Korean-en, Lithuanian, Norwegian, Macedonian, Persian, +# Polish, Portuguese, Romanian, Russian, Serbian, Serbian-Cyrilic, Slovak, +# Slovene, Spanish, Swedish, Ukrainian, and Vietnamese. + +OUTPUT_LANGUAGE = English + +# If the BRIEF_MEMBER_DESC tag is set to YES (the default) Doxygen will +# include brief member descriptions after the members that are listed in +# the file and class documentation (similar to JavaDoc). +# Set to NO to disable this. + +BRIEF_MEMBER_DESC = YES + +# If the REPEAT_BRIEF tag is set to YES (the default) Doxygen will prepend +# the brief description of a member or function before the detailed description. +# Note: if both HIDE_UNDOC_MEMBERS and BRIEF_MEMBER_DESC are set to NO, the +# brief descriptions will be completely suppressed. + +REPEAT_BRIEF = YES + +# This tag implements a quasi-intelligent brief description abbreviator +# that is used to form the text in various listings. Each string +# in this list, if found as the leading text of the brief description, will be +# stripped from the text and the result after processing the whole list, is +# used as the annotated text. Otherwise, the brief description is used as-is. +# If left blank, the following values are used ("$name" is automatically +# replaced with the name of the entity): "The $name class" "The $name widget" +# "The $name file" "is" "provides" "specifies" "contains" +# "represents" "a" "an" "the" + +ABBREVIATE_BRIEF = + +# If the ALWAYS_DETAILED_SEC and REPEAT_BRIEF tags are both set to YES then +# Doxygen will generate a detailed section even if there is only a brief +# description. + +ALWAYS_DETAILED_SEC = NO + +# If the INLINE_INHERITED_MEMB tag is set to YES, doxygen will show all +# inherited members of a class in the documentation of that class as if those +# members were ordinary class members. Constructors, destructors and assignment +# operators of the base classes will not be shown. + +INLINE_INHERITED_MEMB = NO + +# If the FULL_PATH_NAMES tag is set to YES then Doxygen will prepend the full +# path before files name in the file list and in the header files. If set +# to NO the shortest path that makes the file name unique will be used. + +FULL_PATH_NAMES = NO + +# If the FULL_PATH_NAMES tag is set to YES then the STRIP_FROM_PATH tag +# can be used to strip a user-defined part of the path. Stripping is +# only done if one of the specified strings matches the left-hand part of +# the path. The tag can be used to show relative paths in the file list. +# If left blank the directory from which doxygen is run is used as the +# path to strip. + +STRIP_FROM_PATH = + +# The STRIP_FROM_INC_PATH tag can be used to strip a user-defined part of +# the path mentioned in the documentation of a class, which tells +# the reader which header file to include in order to use a class. +# If left blank only the name of the header file containing the class +# definition is used. Otherwise one should specify the include paths that +# are normally passed to the compiler using the -I flag. + +STRIP_FROM_INC_PATH = + +# If the SHORT_NAMES tag is set to YES, doxygen will generate much shorter +# (but less readable) file names. This can be useful is your file systems +# doesn't support long names like on DOS, Mac, or CD-ROM. + +SHORT_NAMES = NO + +# If the JAVADOC_AUTOBRIEF tag is set to YES then Doxygen +# will interpret the first line (until the first dot) of a JavaDoc-style +# comment as the brief description. If set to NO, the JavaDoc +# comments will behave just like regular Qt-style comments +# (thus requiring an explicit @brief command for a brief description.) + +JAVADOC_AUTOBRIEF = YES + +# If the QT_AUTOBRIEF tag is set to YES then Doxygen will +# interpret the first line (until the first dot) of a Qt-style +# comment as the brief description. If set to NO, the comments +# will behave just like regular Qt-style comments (thus requiring +# an explicit \brief command for a brief description.) + +QT_AUTOBRIEF = NO + +# The MULTILINE_CPP_IS_BRIEF tag can be set to YES to make Doxygen +# treat a multi-line C++ special comment block (i.e. a block of //! or /// +# comments) as a brief description. This used to be the default behaviour. +# The new default is to treat a multi-line C++ comment block as a detailed +# description. Set this tag to YES if you prefer the old behaviour instead. + +MULTILINE_CPP_IS_BRIEF = NO + +# If the INHERIT_DOCS tag is set to YES (the default) then an undocumented +# member inherits the documentation from any documented member that it +# re-implements. + +INHERIT_DOCS = YES + +# If the SEPARATE_MEMBER_PAGES tag is set to YES, then doxygen will produce +# a new page for each member. If set to NO, the documentation of a member will +# be part of the file/class/namespace that contains it. + +SEPARATE_MEMBER_PAGES = NO + +# The TAB_SIZE tag can be used to set the number of spaces in a tab. +# Doxygen uses this value to replace tabs by spaces in code fragments. + +TAB_SIZE = 4 + +# This tag can be used to specify a number of aliases that acts +# as commands in the documentation. An alias has the form "name=value". +# For example adding "sideeffect=\par Side Effects:\n" will allow you to +# put the command \sideeffect (or @sideeffect) in the documentation, which +# will result in a user-defined paragraph with heading "Side Effects:". +# You can put \n's in the value part of an alias to insert newlines. + +ALIASES += asf_license_start=" " +ALIASES += asf_license_stop=" " + +# Set the OPTIMIZE_OUTPUT_FOR_C tag to YES if your project consists of C +# sources only. Doxygen will then generate output that is more tailored for C. +# For instance, some of the names that are used will be different. The list +# of all members will be omitted, etc. + +OPTIMIZE_OUTPUT_FOR_C = YES + +# Set the OPTIMIZE_OUTPUT_JAVA tag to YES if your project consists of Java +# sources only. Doxygen will then generate output that is more tailored for +# Java. For instance, namespaces will be presented as packages, qualified +# scopes will look different, etc. + +OPTIMIZE_OUTPUT_JAVA = NO + +# Set the OPTIMIZE_FOR_FORTRAN tag to YES if your project consists of Fortran +# sources only. Doxygen will then generate output that is more tailored for +# Fortran. + +OPTIMIZE_FOR_FORTRAN = NO + +# Set the OPTIMIZE_OUTPUT_VHDL tag to YES if your project consists of VHDL +# sources. Doxygen will then generate output that is tailored for +# VHDL. + +OPTIMIZE_OUTPUT_VHDL = NO + +# Doxygen selects the parser to use depending on the extension of the files it +# parses. With this tag you can assign which parser to use for a given extension. +# Doxygen has a built-in mapping, but you can override or extend it using this +# tag. The format is ext=language, where ext is a file extension, and language +# is one of the parsers supported by doxygen: IDL, Java, Javascript, CSharp, C, +# C++, D, PHP, Objective-C, Python, Fortran, VHDL, C, C++. For instance to make +# doxygen treat .inc files as Fortran files (default is PHP), and .f files as C +# (default is Fortran), use: inc=Fortran f=C. Note that for custom extensions +# you also need to set FILE_PATTERNS otherwise the files are not read by doxygen. + +EXTENSION_MAPPING = + +# If you use STL classes (i.e. std::string, std::vector, etc.) but do not want +# to include (a tag file for) the STL sources as input, then you should +# set this tag to YES in order to let doxygen match functions declarations and +# definitions whose arguments contain STL classes (e.g. func(std::string); v.s. +# func(std::string) {}). This also make the inheritance and collaboration +# diagrams that involve STL classes more complete and accurate. + +BUILTIN_STL_SUPPORT = NO + +# If you use Microsoft's C++/CLI language, you should set this option to YES to +# enable parsing support. + +CPP_CLI_SUPPORT = NO + +# Set the SIP_SUPPORT tag to YES if your project consists of sip sources only. +# Doxygen will parse them like normal C++ but will assume all classes use public +# instead of private inheritance when no explicit protection keyword is present. + +SIP_SUPPORT = NO + +# For Microsoft's IDL there are propget and propput attributes to indicate getter +# and setter methods for a property. Setting this option to YES (the default) +# will make doxygen to replace the get and set methods by a property in the +# documentation. This will only work if the methods are indeed getting or +# setting a simple type. If this is not the case, or you want to show the +# methods anyway, you should set this option to NO. + +IDL_PROPERTY_SUPPORT = YES + +# If member grouping is used in the documentation and the DISTRIBUTE_GROUP_DOC +# tag is set to YES, then doxygen will reuse the documentation of the first +# member in the group (if any) for the other members of the group. By default +# all members of a group must be documented explicitly. + +DISTRIBUTE_GROUP_DOC = NO + +# Set the SUBGROUPING tag to YES (the default) to allow class member groups of +# the same type (for instance a group of public functions) to be put as a +# subgroup of that type (e.g. under the Public Functions section). Set it to +# NO to prevent subgrouping. Alternatively, this can be done per class using +# the \nosubgrouping command. + +SUBGROUPING = YES + +# When TYPEDEF_HIDES_STRUCT is enabled, a typedef of a struct, union, or enum +# is documented as struct, union, or enum with the name of the typedef. So +# typedef struct TypeS {} TypeT, will appear in the documentation as a struct +# with name TypeT. When disabled the typedef will appear as a member of a file, +# namespace, or class. And the struct will be named TypeS. This can typically +# be useful for C code in case the coding convention dictates that all compound +# types are typedef'ed and only the typedef is referenced, never the tag name. + +TYPEDEF_HIDES_STRUCT = NO + +# The SYMBOL_CACHE_SIZE determines the size of the internal cache use to +# determine which symbols to keep in memory and which to flush to disk. +# When the cache is full, less often used symbols will be written to disk. +# For small to medium size projects (<1000 input files) the default value is +# probably good enough. For larger projects a too small cache size can cause +# doxygen to be busy swapping symbols to and from disk most of the time +# causing a significant performance penality. +# If the system has enough physical memory increasing the cache will improve the +# performance by keeping more symbols in memory. Note that the value works on +# a logarithmic scale so increasing the size by one will rougly double the +# memory usage. The cache size is given by this formula: +# 2^(16+SYMBOL_CACHE_SIZE). The valid range is 0..9, the default is 0, +# corresponding to a cache size of 2^16 = 65536 symbols + +SYMBOL_CACHE_SIZE = 0 + +#--------------------------------------------------------------------------- +# Build related configuration options +#--------------------------------------------------------------------------- + +# If the EXTRACT_ALL tag is set to YES doxygen will assume all entities in +# documentation are documented, even if no documentation was available. +# Private class members and static file members will be hidden unless +# the EXTRACT_PRIVATE and EXTRACT_STATIC tags are set to YES + +EXTRACT_ALL = YES + +# If the EXTRACT_PRIVATE tag is set to YES all private members of a class +# will be included in the documentation. + +EXTRACT_PRIVATE = NO + +# If the EXTRACT_STATIC tag is set to YES all static members of a file +# will be included in the documentation. + +EXTRACT_STATIC = YES + +# If the EXTRACT_LOCAL_CLASSES tag is set to YES classes (and structs) +# defined locally in source files will be included in the documentation. +# If set to NO only classes defined in header files are included. + +EXTRACT_LOCAL_CLASSES = YES + +# This flag is only useful for Objective-C code. When set to YES local +# methods, which are defined in the implementation section but not in +# the interface are included in the documentation. +# If set to NO (the default) only methods in the interface are included. + +EXTRACT_LOCAL_METHODS = NO + +# If this flag is set to YES, the members of anonymous namespaces will be +# extracted and appear in the documentation as a namespace called +# 'anonymous_namespace{file}', where file will be replaced with the base +# name of the file that contains the anonymous namespace. By default +# anonymous namespace are hidden. + +EXTRACT_ANON_NSPACES = NO + +# If the HIDE_UNDOC_MEMBERS tag is set to YES, Doxygen will hide all +# undocumented members of documented classes, files or namespaces. +# If set to NO (the default) these members will be included in the +# various overviews, but no documentation section is generated. +# This option has no effect if EXTRACT_ALL is enabled. + +HIDE_UNDOC_MEMBERS = NO + +# If the HIDE_UNDOC_CLASSES tag is set to YES, Doxygen will hide all +# undocumented classes that are normally visible in the class hierarchy. +# If set to NO (the default) these classes will be included in the various +# overviews. This option has no effect if EXTRACT_ALL is enabled. + +HIDE_UNDOC_CLASSES = NO + +# If the HIDE_FRIEND_COMPOUNDS tag is set to YES, Doxygen will hide all +# friend (class|struct|union) declarations. +# If set to NO (the default) these declarations will be included in the +# documentation. + +HIDE_FRIEND_COMPOUNDS = NO + +# If the HIDE_IN_BODY_DOCS tag is set to YES, Doxygen will hide any +# documentation blocks found inside the body of a function. +# If set to NO (the default) these blocks will be appended to the +# function's detailed documentation block. + +HIDE_IN_BODY_DOCS = NO + +# The INTERNAL_DOCS tag determines if documentation +# that is typed after a \internal command is included. If the tag is set +# to NO (the default) then the documentation will be excluded. +# Set it to YES to include the internal documentation. + +INTERNAL_DOCS = YES + +# If the CASE_SENSE_NAMES tag is set to NO then Doxygen will only generate +# file names in lower-case letters. If set to YES upper-case letters are also +# allowed. This is useful if you have classes or files whose names only differ +# in case and if your file system supports case sensitive file names. Windows +# and Mac users are advised to set this option to NO. + +CASE_SENSE_NAMES = NO + +# If the HIDE_SCOPE_NAMES tag is set to NO (the default) then Doxygen +# will show members with their full class and namespace scopes in the +# documentation. If set to YES the scope will be hidden. + +HIDE_SCOPE_NAMES = NO + +# If the SHOW_INCLUDE_FILES tag is set to YES (the default) then Doxygen +# will put a list of the files that are included by a file in the documentation +# of that file. + +SHOW_INCLUDE_FILES = YES + +# If the FORCE_LOCAL_INCLUDES tag is set to YES then Doxygen +# will list include files with double quotes in the documentation +# rather than with sharp brackets. + +FORCE_LOCAL_INCLUDES = NO + +# If the INLINE_INFO tag is set to YES (the default) then a tag [inline] +# is inserted in the documentation for inline members. + +INLINE_INFO = YES + +# If the SORT_MEMBER_DOCS tag is set to YES (the default) then doxygen +# will sort the (detailed) documentation of file and class members +# alphabetically by member name. If set to NO the members will appear in +# declaration order. + +SORT_MEMBER_DOCS = YES + +# If the SORT_BRIEF_DOCS tag is set to YES then doxygen will sort the +# brief documentation of file, namespace and class members alphabetically +# by member name. If set to NO (the default) the members will appear in +# declaration order. + +SORT_BRIEF_DOCS = YES + +# If the SORT_MEMBERS_CTORS_1ST tag is set to YES then doxygen +# will sort the (brief and detailed) documentation of class members so that +# constructors and destructors are listed first. If set to NO (the default) +# the constructors will appear in the respective orders defined by +# SORT_MEMBER_DOCS and SORT_BRIEF_DOCS. +# This tag will be ignored for brief docs if SORT_BRIEF_DOCS is set to NO +# and ignored for detailed docs if SORT_MEMBER_DOCS is set to NO. + +SORT_MEMBERS_CTORS_1ST = NO + +# If the SORT_GROUP_NAMES tag is set to YES then doxygen will sort the +# hierarchy of group names into alphabetical order. If set to NO (the default) +# the group names will appear in their defined order. + +SORT_GROUP_NAMES = NO + +# If the SORT_BY_SCOPE_NAME tag is set to YES, the class list will be +# sorted by fully-qualified names, including namespaces. If set to +# NO (the default), the class list will be sorted only by class name, +# not including the namespace part. +# Note: This option is not very useful if HIDE_SCOPE_NAMES is set to YES. +# Note: This option applies only to the class list, not to the +# alphabetical list. + +SORT_BY_SCOPE_NAME = NO + +# The GENERATE_TODOLIST tag can be used to enable (YES) or +# disable (NO) the todo list. This list is created by putting \todo +# commands in the documentation. + +GENERATE_TODOLIST = YES + +# The GENERATE_TESTLIST tag can be used to enable (YES) or +# disable (NO) the test list. This list is created by putting \test +# commands in the documentation. + +GENERATE_TESTLIST = YES + +# The GENERATE_BUGLIST tag can be used to enable (YES) or +# disable (NO) the bug list. This list is created by putting \bug +# commands in the documentation. + +GENERATE_BUGLIST = YES + +# The GENERATE_DEPRECATEDLIST tag can be used to enable (YES) or +# disable (NO) the deprecated list. This list is created by putting +# \deprecated commands in the documentation. + +GENERATE_DEPRECATEDLIST= YES + +# The ENABLED_SECTIONS tag can be used to enable conditional +# documentation sections, marked by \if sectionname ... \endif. + +ENABLED_SECTIONS = + +# The MAX_INITIALIZER_LINES tag determines the maximum number of lines +# the initial value of a variable or define consists of for it to appear in +# the documentation. If the initializer consists of more lines than specified +# here it will be hidden. Use a value of 0 to hide initializers completely. +# The appearance of the initializer of individual variables and defines in the +# documentation can be controlled using \showinitializer or \hideinitializer +# command in the documentation regardless of this setting. + +MAX_INITIALIZER_LINES = 30 + +# Set the SHOW_USED_FILES tag to NO to disable the list of files generated +# at the bottom of the documentation of classes and structs. If set to YES the +# list will mention the files that were used to generate the documentation. + +SHOW_USED_FILES = NO + +# If the sources in your project are distributed over multiple directories +# then setting the SHOW_DIRECTORIES tag to YES will show the directory hierarchy +# in the documentation. The default is NO. + +SHOW_DIRECTORIES = NO + +# Set the SHOW_FILES tag to NO to disable the generation of the Files page. +# This will remove the Files entry from the Quick Index and from the +# Folder Tree View (if specified). The default is YES. + +SHOW_FILES = YES + +# Set the SHOW_NAMESPACES tag to NO to disable the generation of the +# Namespaces page. +# This will remove the Namespaces entry from the Quick Index +# and from the Folder Tree View (if specified). The default is YES. + +SHOW_NAMESPACES = YES + +# The FILE_VERSION_FILTER tag can be used to specify a program or script that +# doxygen should invoke to get the current version for each file (typically from +# the version control system). Doxygen will invoke the program by executing (via +# popen()) the command <command> <input-file>, where <command> is the value of +# the FILE_VERSION_FILTER tag, and <input-file> is the name of an input file +# provided by doxygen. Whatever the program writes to standard output +# is used as the file version. See the manual for examples. + +FILE_VERSION_FILTER = + +# The LAYOUT_FILE tag can be used to specify a layout file which will be parsed +# by doxygen. The layout file controls the global structure of the generated +# output files in an output format independent way. The create the layout file +# that represents doxygen's defaults, run doxygen with the -l option. +# You can optionally specify a file name after the option, if omitted +# DoxygenLayout.xml will be used as the name of the layout file. + +LAYOUT_FILE = + +#--------------------------------------------------------------------------- +# configuration options related to warning and progress messages +#--------------------------------------------------------------------------- + +# The QUIET tag can be used to turn on/off the messages that are generated +# by doxygen. Possible values are YES and NO. If left blank NO is used. + +QUIET = YES + +# The WARNINGS tag can be used to turn on/off the warning messages that are +# generated by doxygen. Possible values are YES and NO. If left blank +# NO is used. + +WARNINGS = YES + +# If WARN_IF_UNDOCUMENTED is set to YES, then doxygen will generate warnings +# for undocumented members. If EXTRACT_ALL is set to YES then this flag will +# automatically be disabled. + +WARN_IF_UNDOCUMENTED = YES + +# If WARN_IF_DOC_ERROR is set to YES, doxygen will generate warnings for +# potential errors in the documentation, such as not documenting some +# parameters in a documented function, or documenting parameters that +# don't exist or using markup commands wrongly. + +WARN_IF_DOC_ERROR = YES + +# This WARN_NO_PARAMDOC option can be abled to get warnings for +# functions that are documented, but have no documentation for their parameters +# or return value. If set to NO (the default) doxygen will only warn about +# wrong or incomplete parameter documentation, but not about the absence of +# documentation. + +WARN_NO_PARAMDOC = NO + +# The WARN_FORMAT tag determines the format of the warning messages that +# doxygen can produce. The string should contain the $file, $line, and $text +# tags, which will be replaced by the file and line number from which the +# warning originated and the warning text. Optionally the format may contain +# $version, which will be replaced by the version of the file (if it could +# be obtained via FILE_VERSION_FILTER) + +WARN_FORMAT = "[WARNING]$file:$line: $text" + +# The WARN_LOGFILE tag can be used to specify a file to which warning +# and error messages should be written. If left blank the output is written +# to stderr. + +WARN_LOGFILE = + +#--------------------------------------------------------------------------- +# configuration options related to the input files +#--------------------------------------------------------------------------- + +# The INPUT tag can be used to specify the files and/or directories that contain +# documented source files. You may enter file names like "myfile.cpp" or +# directories like "/usr/src/myproject". Separate the files or directories +# with spaces. + +INPUT = doxygen_module_mainpage.h ../../serial_if_plme.c ../../serial_if_plme.h + +# This tag can be used to specify the character encoding of the source files +# that doxygen parses. Internally doxygen uses the UTF-8 encoding, which is +# also the default input encoding. Doxygen uses libiconv (or the iconv built +# into libc) for the transcoding. See http://www.gnu.org/software/libiconv for +# the list of possible encodings. + +INPUT_ENCODING = UTF-8 + +# If the value of the INPUT tag contains directories, you can use the +# FILE_PATTERNS tag to specify one or more wildcard pattern (like *.cpp +# and *.h) to filter out the source-files in the directories. If left +# blank the following patterns are tested: +# *.c *.cc *.cxx *.cpp *.c++ *.java *.ii *.ixx *.ipp *.i++ *.inl *.h *.hh *.hxx +# *.hpp *.h++ *.idl *.odl *.cs *.php *.php3 *.inc *.m *.mm *.py *.f90 + +FILE_PATTERNS = *.c \ + *.h \ + *.s \ + *.S + +# The RECURSIVE tag can be used to turn specify whether or not subdirectories +# should be searched for input files as well. Possible values are YES and NO. +# If left blank NO is used. + +RECURSIVE = NO + +# The EXCLUDE tag can be used to specify files and/or directories that should +# excluded from the INPUT source files. This way you can easily exclude a +# subdirectory from a directory tree whose root is specified with the INPUT tag. + +EXCLUDE = + +# The EXCLUDE_SYMLINKS tag can be used select whether or not files or +# directories that are symbolic links (a Unix filesystem feature) are excluded +# from the input. + +EXCLUDE_SYMLINKS = NO + +# If the value of the INPUT tag contains directories, you can use the +# EXCLUDE_PATTERNS tag to specify one or more wildcard patterns to exclude +# certain files from those directories. Note that the wildcards are matched +# against the file with absolute path, so to exclude all test directories +# for example use the pattern */test/* + +EXCLUDE_PATTERNS = + +# The EXCLUDE_SYMBOLS tag can be used to specify one or more symbol names +# (namespaces, classes, functions, etc.) that should be excluded from the +# output. The symbol name can be a fully qualified name, a word, or if the +# wildcard * is used, a substring. Examples: ANamespace, AClass, +# AClass::ANamespace, ANamespace::*Test + +EXCLUDE_SYMBOLS = + +# The EXAMPLE_PATH tag can be used to specify one or more files or +# directories that contain example code fragments that are included (see +# the \include command). + +EXAMPLE_PATH = ./ + +# If the value of the EXAMPLE_PATH tag contains directories, you can use the +# EXAMPLE_PATTERNS tag to specify one or more wildcard pattern (like *.cpp +# and *.h) to filter out the source-files in the directories. If left +# blank all files are included. + +EXAMPLE_PATTERNS = + +# If the EXAMPLE_RECURSIVE tag is set to YES then subdirectories will be +# searched for input files to be used with the \include or \dontinclude +# commands irrespective of the value of the RECURSIVE tag. +# Possible values are YES and NO. If left blank NO is used. + +EXAMPLE_RECURSIVE = NO + +# The IMAGE_PATH tag can be used to specify one or more files or +# directories that contain image that are included in the documentation (see +# the \image command). + +IMAGE_PATH = + +# The INPUT_FILTER tag can be used to specify a program that doxygen should +# invoke to filter for each input file. Doxygen will invoke the filter program +# by executing (via popen()) the command <filter> <input-file>, where <filter> +# is the value of the INPUT_FILTER tag, and <input-file> is the name of an +# input file. Doxygen will then use the output that the filter program writes +# to standard output. +# If FILTER_PATTERNS is specified, this tag will be +# ignored. + +INPUT_FILTER = + +# The FILTER_PATTERNS tag can be used to specify filters on a per file pattern +# basis. +# Doxygen will compare the file name with each pattern and apply the +# filter if there is a match. +# The filters are a list of the form: +# pattern=filter (like *.cpp=my_cpp_filter). See INPUT_FILTER for further +# info on how filters are used. If FILTER_PATTERNS is empty, INPUT_FILTER +# is applied to all files. + +FILTER_PATTERNS = + +# If the FILTER_SOURCE_FILES tag is set to YES, the input filter (if set using +# INPUT_FILTER) will be used to filter the input files when producing source +# files to browse (i.e. when SOURCE_BROWSER is set to YES). + +FILTER_SOURCE_FILES = NO + +#--------------------------------------------------------------------------- +# configuration options related to source browsing +#--------------------------------------------------------------------------- + +# If the SOURCE_BROWSER tag is set to YES then a list of source files will +# be generated. Documented entities will be cross-referenced with these sources. +# Note: To get rid of all source code in the generated output, make sure also +# VERBATIM_HEADERS is set to NO. + +SOURCE_BROWSER = YES + +# Setting the INLINE_SOURCES tag to YES will include the body +# of functions and classes directly in the documentation. + +INLINE_SOURCES = YES + +# Setting the STRIP_CODE_COMMENTS tag to YES (the default) will instruct +# doxygen to hide any special comment blocks from generated source code +# fragments. Normal C and C++ comments will always remain visible. + +STRIP_CODE_COMMENTS = YES + +# If the REFERENCED_BY_RELATION tag is set to YES +# then for each documented function all documented +# functions referencing it will be listed. + +REFERENCED_BY_RELATION = YES + +# If the REFERENCES_RELATION tag is set to YES +# then for each documented function all documented entities +# called/used by that function will be listed. + +REFERENCES_RELATION = YES + +# If the REFERENCES_LINK_SOURCE tag is set to YES (the default) +# and SOURCE_BROWSER tag is set to YES, then the hyperlinks from +# functions in REFERENCES_RELATION and REFERENCED_BY_RELATION lists will +# link to the source code. +# Otherwise they will link to the documentation. + +REFERENCES_LINK_SOURCE = YES + +# If the USE_HTAGS tag is set to YES then the references to source code +# will point to the HTML generated by the htags(1) tool instead of doxygen +# built-in source browser. The htags tool is part of GNU's global source +# tagging system (see http://www.gnu.org/software/global/global.html). You +# will need version 4.8.6 or higher. + +USE_HTAGS = NO + +# If the VERBATIM_HEADERS tag is set to YES (the default) then Doxygen +# will generate a verbatim copy of the header file for each class for +# which an include is specified. Set to NO to disable this. + +VERBATIM_HEADERS = YES + +#--------------------------------------------------------------------------- +# configuration options related to the alphabetical class index +#--------------------------------------------------------------------------- + +# If the ALPHABETICAL_INDEX tag is set to YES, an alphabetical index +# of all compounds will be generated. Enable this if the project +# contains a lot of classes, structs, unions or interfaces. + +ALPHABETICAL_INDEX = NO + +# If the alphabetical index is enabled (see ALPHABETICAL_INDEX) then +# the COLS_IN_ALPHA_INDEX tag can be used to specify the number of columns +# in which this list will be split (can be a number in the range [1..20]) + +COLS_IN_ALPHA_INDEX = 5 + +# In case all classes in a project start with a common prefix, all +# classes will be put under the same header in the alphabetical index. +# The IGNORE_PREFIX tag can be used to specify one or more prefixes that +# should be ignored while generating the index headers. + +IGNORE_PREFIX = + +#--------------------------------------------------------------------------- +# configuration options related to the HTML output +#--------------------------------------------------------------------------- + +# If the GENERATE_HTML tag is set to YES (the default) Doxygen will +# generate HTML output. + +GENERATE_HTML = YES + +# The HTML_OUTPUT tag is used to specify where the HTML docs will be put. +# If a relative path is entered the value of OUTPUT_DIRECTORY will be +# put in front of it. If left blank `html' will be used as the default path. + +HTML_OUTPUT = html + +# The HTML_FILE_EXTENSION tag can be used to specify the file extension for +# each generated HTML page (for example: .htm,.php,.asp). If it is left blank +# doxygen will generate files with .html extension. + +HTML_FILE_EXTENSION = .html + +# The HTML_HEADER tag can be used to specify a personal HTML header for +# each generated HTML page. If it is left blank doxygen will generate a +# standard header. + +HTML_HEADER = + +# The HTML_FOOTER tag can be used to specify a personal HTML footer for +# each generated HTML page. If it is left blank doxygen will generate a +# standard footer. + +HTML_FOOTER = + +# The HTML_STYLESHEET tag can be used to specify a user-defined cascading +# style sheet that is used by each HTML page. It can be used to +# fine-tune the look of the HTML output. If the tag is left blank doxygen +# will generate a default style sheet. Note that doxygen will try to copy +# the style sheet file to the HTML output directory, so don't put your own +# stylesheet in the HTML output directory as well, or it will be erased! + +HTML_STYLESHEET = + +# The HTML_COLORSTYLE_HUE tag controls the color of the HTML output. +# Doxygen will adjust the colors in the stylesheet and background images +# according to this color. Hue is specified as an angle on a colorwheel, +# see http://en.wikipedia.org/wiki/Hue for more information. +# For instance the value 0 represents red, 60 is yellow, 120 is green, +# 180 is cyan, 240 is blue, 300 purple, and 360 is red again. +# The allowed range is 0 to 359. + +HTML_COLORSTYLE_HUE = 220 + +# The HTML_COLORSTYLE_SAT tag controls the purity (or saturation) of +# the colors in the HTML output. For a value of 0 the output will use +# grayscales only. A value of 255 will produce the most vivid colors. + +HTML_COLORSTYLE_SAT = 100 + +# The HTML_COLORSTYLE_GAMMA tag controls the gamma correction applied to +# the luminance component of the colors in the HTML output. Values below +# 100 gradually make the output lighter, whereas values above 100 make +# the output darker. The value divided by 100 is the actual gamma applied, +# so 80 represents a gamma of 0.8, The value 220 represents a gamma of 2.2, +# and 100 does not change the gamma. + +HTML_COLORSTYLE_GAMMA = 80 + +# If the HTML_TIMESTAMP tag is set to YES then the footer of each generated HTML +# page will contain the date and time when the page was generated. Setting +# this to NO can help when comparing the output of multiple runs. + +HTML_TIMESTAMP = YES + +# If the HTML_ALIGN_MEMBERS tag is set to YES, the members of classes, +# files or namespaces will be aligned in HTML using tables. If set to +# NO a bullet list will be used. + +HTML_ALIGN_MEMBERS = YES + +# If the HTML_DYNAMIC_SECTIONS tag is set to YES then the generated HTML +# documentation will contain sections that can be hidden and shown after the +# page has loaded. For this to work a browser that supports +# JavaScript and DHTML is required (for instance Mozilla 1.0+, Firefox +# Netscape 6.0+, Internet explorer 5.0+, Konqueror, or Safari). + +HTML_DYNAMIC_SECTIONS = NO + +# If the GENERATE_DOCSET tag is set to YES, additional index files +# will be generated that can be used as input for Apple's Xcode 3 +# integrated development environment, introduced with OSX 10.5 (Leopard). +# To create a documentation set, doxygen will generate a Makefile in the +# HTML output directory. Running make will produce the docset in that +# directory and running "make install" will install the docset in +# ~/Library/Developer/Shared/Documentation/DocSets so that Xcode will find +# it at startup. +# See http://developer.apple.com/tools/creatingdocsetswithdoxygen.html +# for more information. + +GENERATE_DOCSET = NO + +# When GENERATE_DOCSET tag is set to YES, this tag determines the name of the +# feed. A documentation feed provides an umbrella under which multiple +# documentation sets from a single provider (such as a company or product suite) +# can be grouped. + +DOCSET_FEEDNAME = "Doxygen generated docs" + +# When GENERATE_DOCSET tag is set to YES, this tag specifies a string that +# should uniquely identify the documentation set bundle. This should be a +# reverse domain-name style string, e.g. com.mycompany.MyDocSet. Doxygen +# will append .docset to the name. + +DOCSET_BUNDLE_ID = org.doxygen.Project + +# When GENERATE_PUBLISHER_ID tag specifies a string that should uniquely identify +# the documentation publisher. This should be a reverse domain-name style +# string, e.g. com.mycompany.MyDocSet.documentation. + +DOCSET_PUBLISHER_ID = org.doxygen.Publisher + +# The GENERATE_PUBLISHER_NAME tag identifies the documentation publisher. + +DOCSET_PUBLISHER_NAME = Publisher + +# If the GENERATE_HTMLHELP tag is set to YES, additional index files +# will be generated that can be used as input for tools like the +# Microsoft HTML help workshop to generate a compiled HTML help file (.chm) +# of the generated HTML documentation. + +GENERATE_HTMLHELP = NO + +# If the GENERATE_HTMLHELP tag is set to YES, the CHM_FILE tag can +# be used to specify the file name of the resulting .chm file. You +# can add a path in front of the file if the result should not be +# written to the html output directory. + +CHM_FILE = + +# If the GENERATE_HTMLHELP tag is set to YES, the HHC_LOCATION tag can +# be used to specify the location (absolute path including file name) of +# the HTML help compiler (hhc.exe). If non-empty doxygen will try to run +# the HTML help compiler on the generated index.hhp. + +HHC_LOCATION = + +# If the GENERATE_HTMLHELP tag is set to YES, the GENERATE_CHI flag +# controls if a separate .chi index file is generated (YES) or that +# it should be included in the master .chm file (NO). + +GENERATE_CHI = NO + +# If the GENERATE_HTMLHELP tag is set to YES, the CHM_INDEX_ENCODING +# is used to encode HtmlHelp index (hhk), content (hhc) and project file +# content. + +CHM_INDEX_ENCODING = + +# If the GENERATE_HTMLHELP tag is set to YES, the BINARY_TOC flag +# controls whether a binary table of contents is generated (YES) or a +# normal table of contents (NO) in the .chm file. + +BINARY_TOC = NO + +# The TOC_EXPAND flag can be set to YES to add extra items for group members +# to the contents of the HTML help documentation and to the tree view. + +TOC_EXPAND = NO + +# If the GENERATE_QHP tag is set to YES and both QHP_NAMESPACE and +# QHP_VIRTUAL_FOLDER are set, an additional index file will be generated +# that can be used as input for Qt's qhelpgenerator to generate a +# Qt Compressed Help (.qch) of the generated HTML documentation. + +GENERATE_QHP = NO + +# If the QHG_LOCATION tag is specified, the QCH_FILE tag can +# be used to specify the file name of the resulting .qch file. +# The path specified is relative to the HTML output folder. + +QCH_FILE = + +# The QHP_NAMESPACE tag specifies the namespace to use when generating +# Qt Help Project output. For more information please see +# http://doc.trolltech.com/qthelpproject.html#namespace + +QHP_NAMESPACE = org.doxygen.Project + +# The QHP_VIRTUAL_FOLDER tag specifies the namespace to use when generating +# Qt Help Project output. For more information please see +# http://doc.trolltech.com/qthelpproject.html#virtual-folders + +QHP_VIRTUAL_FOLDER = doc + +# If QHP_CUST_FILTER_NAME is set, it specifies the name of a custom filter to +# add. For more information please see +# http://doc.trolltech.com/qthelpproject.html#custom-filters + +QHP_CUST_FILTER_NAME = + +# The QHP_CUST_FILT_ATTRS tag specifies the list of the attributes of the +# custom filter to add. For more information please see +# <a href="http://doc.trolltech.com/qthelpproject.html#custom-filters"> +# Qt Help Project / Custom Filters</a>. + +QHP_CUST_FILTER_ATTRS = + +# The QHP_SECT_FILTER_ATTRS tag specifies the list of the attributes this +# project's +# filter section matches. +# <a href="http://doc.trolltech.com/qthelpproject.html#filter-attributes"> +# Qt Help Project / Filter Attributes</a>. + +QHP_SECT_FILTER_ATTRS = + +# If the GENERATE_QHP tag is set to YES, the QHG_LOCATION tag can +# be used to specify the location of Qt's qhelpgenerator. +# If non-empty doxygen will try to run qhelpgenerator on the generated +# .qhp file. + +QHG_LOCATION = + +# If the GENERATE_ECLIPSEHELP tag is set to YES, additional index files +# will be generated, which together with the HTML files, form an Eclipse help +# plugin. To install this plugin and make it available under the help contents +# menu in Eclipse, the contents of the directory containing the HTML and XML +# files needs to be copied into the plugins directory of eclipse. The name of +# the directory within the plugins directory should be the same as +# the ECLIPSE_DOC_ID value. After copying Eclipse needs to be restarted before +# the help appears. + +GENERATE_ECLIPSEHELP = NO + +# A unique identifier for the eclipse help plugin. When installing the plugin +# the directory name containing the HTML and XML files should also have +# this name. + +ECLIPSE_DOC_ID = org.doxygen.Project + +# The DISABLE_INDEX tag can be used to turn on/off the condensed index at +# top of each HTML page. The value NO (the default) enables the index and +# the value YES disables it. + +DISABLE_INDEX = NO + +# This tag can be used to set the number of enum values (range [1..20]) +# that doxygen will group on one line in the generated HTML documentation. + +ENUM_VALUES_PER_LINE = 1 + +# The GENERATE_TREEVIEW tag is used to specify whether a tree-like index +# structure should be generated to display hierarchical information. +# If the tag value is set to YES, a side panel will be generated +# containing a tree-like index structure (just like the one that +# is generated for HTML Help). For this to work a browser that supports +# JavaScript, DHTML, CSS and frames is required (i.e. any modern browser). +# Windows users are probably better off using the HTML help feature. + +GENERATE_TREEVIEW = NO + +# By enabling USE_INLINE_TREES, doxygen will generate the Groups, Directories, +# and Class Hierarchy pages using a tree view instead of an ordered list. + +USE_INLINE_TREES = NO + +# If the treeview is enabled (see GENERATE_TREEVIEW) then this tag can be +# used to set the initial width (in pixels) of the frame in which the tree +# is shown. + +TREEVIEW_WIDTH = 250 + +# When the EXT_LINKS_IN_WINDOW option is set to YES doxygen will open +# links to external symbols imported via tag files in a separate window. + +EXT_LINKS_IN_WINDOW = NO + +# Use this tag to change the font size of Latex formulas included +# as images in the HTML documentation. The default is 10. Note that +# when you change the font size after a successful doxygen run you need +# to manually remove any form_*.png images from the HTML output directory +# to force them to be regenerated. + +FORMULA_FONTSIZE = 10 + +# Use the FORMULA_TRANPARENT tag to determine whether or not the images +# generated for formulas are transparent PNGs. Transparent PNGs are +# not supported properly for IE 6.0, but are supported on all modern browsers. +# Note that when changing this option you need to delete any form_*.png files +# in the HTML output before the changes have effect. + +FORMULA_TRANSPARENT = YES + +# Enable the USE_MATHJAX option to render LaTeX formulas using MathJax (see +# http://www.mathjax.org) which uses client side Javascript for the rendering +# instead of using prerendered bitmaps. Use this if you do not have LaTeX +# installed or if you want to formulas look prettier in the HTML output. When +# enabled you may also need to install MathJax separately and configure the path +# to it using the MATHJAX_RELPATH option. +# The default value is: NO. +# This tag requires that the tag GENERATE_HTML is set to YES. + +USE_MATHJAX = NO + +# When the SEARCHENGINE tag is enabled doxygen will generate a search box +# for the HTML output. The underlying search engine uses javascript +# and DHTML and should work on any modern browser. Note that when using +# HTML help (GENERATE_HTMLHELP), Qt help (GENERATE_QHP), or docsets +# (GENERATE_DOCSET) there is already a search function so this one should +# typically be disabled. For large projects the javascript based search engine +# can be slow, then enabling SERVER_BASED_SEARCH may provide a better solution. + +SEARCHENGINE = YES + +# When the SERVER_BASED_SEARCH tag is enabled the search engine will be +# implemented using a PHP enabled web server instead of at the web client +# using Javascript. Doxygen will generate the search PHP script and index +# file to put on the web server. The advantage of the server +# based approach is that it scales better to large projects and allows +# full text search. The disadvances is that it is more difficult to setup +# and does not have live searching capabilities. + +SERVER_BASED_SEARCH = NO + +#--------------------------------------------------------------------------- +# configuration options related to the LaTeX output +#--------------------------------------------------------------------------- + +# If the GENERATE_LATEX tag is set to YES (the default) Doxygen will +# generate Latex output. + +GENERATE_LATEX = NO + +# The LATEX_OUTPUT tag is used to specify where the LaTeX docs will be put. +# If a relative path is entered the value of OUTPUT_DIRECTORY will be +# put in front of it. If left blank `latex' will be used as the default path. + +LATEX_OUTPUT = latex + +# The LATEX_CMD_NAME tag can be used to specify the LaTeX command name to be +# invoked. If left blank `latex' will be used as the default command name. +# Note that when enabling USE_PDFLATEX this option is only used for +# generating bitmaps for formulas in the HTML output, but not in the +# Makefile that is written to the output directory. + +LATEX_CMD_NAME = latex + +# The MAKEINDEX_CMD_NAME tag can be used to specify the command name to +# generate index for LaTeX. If left blank `makeindex' will be used as the +# default command name. + +MAKEINDEX_CMD_NAME = makeindex + +# If the COMPACT_LATEX tag is set to YES Doxygen generates more compact +# LaTeX documents. This may be useful for small projects and may help to +# save some trees in general. + +COMPACT_LATEX = NO + +# The PAPER_TYPE tag can be used to set the paper type that is used +# by the printer. Possible values are: a4, a4wide, letter, legal and +# executive. If left blank a4wide will be used. + +PAPER_TYPE = a4wide + +# The EXTRA_PACKAGES tag can be to specify one or more names of LaTeX +# packages that should be included in the LaTeX output. + +EXTRA_PACKAGES = + +# The LATEX_HEADER tag can be used to specify a personal LaTeX header for +# the generated latex document. The header should contain everything until +# the first chapter. If it is left blank doxygen will generate a +# standard header. Notice: only use this tag if you know what you are doing! + +LATEX_HEADER = + +# If the PDF_HYPERLINKS tag is set to YES, the LaTeX that is generated +# is prepared for conversion to pdf (using ps2pdf). The pdf file will +# contain links (just like the HTML output) instead of page references +# This makes the output suitable for online browsing using a pdf viewer. + +PDF_HYPERLINKS = NO + +# If the USE_PDFLATEX tag is set to YES, pdflatex will be used instead of +# plain latex in the generated Makefile. Set this option to YES to get a +# higher quality PDF documentation. + +USE_PDFLATEX = NO + +# If the LATEX_BATCHMODE tag is set to YES, doxygen will add the \\batchmode. +# command to the generated LaTeX files. This will instruct LaTeX to keep +# running if errors occur, instead of asking the user for help. +# This option is also used when generating formulas in HTML. + +LATEX_BATCHMODE = NO + +# If LATEX_HIDE_INDICES is set to YES then doxygen will not +# include the index chapters (such as File Index, Compound Index, etc.) +# in the output. + +LATEX_HIDE_INDICES = NO + +# If LATEX_SOURCE_CODE is set to YES then doxygen will include +# source code with syntax highlighting in the LaTeX output. +# Note that which sources are shown also depends on other settings +# such as SOURCE_BROWSER. + +LATEX_SOURCE_CODE = NO + +#--------------------------------------------------------------------------- +# configuration options related to the RTF output +#--------------------------------------------------------------------------- + +# If the GENERATE_RTF tag is set to YES Doxygen will generate RTF output +# The RTF output is optimized for Word 97 and may not look very pretty with +# other RTF readers or editors. + +GENERATE_RTF = NO + +# The RTF_OUTPUT tag is used to specify where the RTF docs will be put. +# If a relative path is entered the value of OUTPUT_DIRECTORY will be +# put in front of it. If left blank `rtf' will be used as the default path. + +RTF_OUTPUT = RTF + +# If the COMPACT_RTF tag is set to YES Doxygen generates more compact +# RTF documents. This may be useful for small projects and may help to +# save some trees in general. + +COMPACT_RTF = NO + +# If the RTF_HYPERLINKS tag is set to YES, the RTF that is generated +# will contain hyperlink fields. The RTF file will +# contain links (just like the HTML output) instead of page references. +# This makes the output suitable for online browsing using WORD or other +# programs which support those fields. +# Note: wordpad (write) and others do not support links. + +RTF_HYPERLINKS = YES + +# Load stylesheet definitions from file. Syntax is similar to doxygen's +# config file, i.e. a series of assignments. You only have to provide +# replacements, missing definitions are set to their default value. + +RTF_STYLESHEET_FILE = + +# Set optional variables used in the generation of an rtf document. +# Syntax is similar to doxygen's config file. + +RTF_EXTENSIONS_FILE = + +#--------------------------------------------------------------------------- +# configuration options related to the man page output +#--------------------------------------------------------------------------- + +# If the GENERATE_MAN tag is set to YES (the default) Doxygen will +# generate man pages + +GENERATE_MAN = NO + +# The MAN_OUTPUT tag is used to specify where the man pages will be put. +# If a relative path is entered the value of OUTPUT_DIRECTORY will be +# put in front of it. If left blank `man' will be used as the default path. + +MAN_OUTPUT = man + +# The MAN_EXTENSION tag determines the extension that is added to +# the generated man pages (default is the subroutine's section .3) + +MAN_EXTENSION = .3 + +# If the MAN_LINKS tag is set to YES and Doxygen generates man output, +# then it will generate one additional man file for each entity +# documented in the real man page(s). These additional files +# only source the real man page, but without them the man command +# would be unable to find the correct page. The default is NO. + +MAN_LINKS = NO + +#--------------------------------------------------------------------------- +# configuration options related to the XML output +#--------------------------------------------------------------------------- + +# If the GENERATE_XML tag is set to YES Doxygen will +# generate an XML file that captures the structure of +# the code including all documentation. + +GENERATE_XML = NO + +# The XML_OUTPUT tag is used to specify where the XML pages will be put. +# If a relative path is entered the value of OUTPUT_DIRECTORY will be +# put in front of it. If left blank `xml' will be used as the default path. + +XML_OUTPUT = xml + +# The XML_SCHEMA tag can be used to specify an XML schema, +# which can be used by a validating XML parser to check the +# syntax of the XML files. + +XML_SCHEMA = + +# The XML_DTD tag can be used to specify an XML DTD, +# which can be used by a validating XML parser to check the +# syntax of the XML files. + +XML_DTD = + +# If the XML_PROGRAMLISTING tag is set to YES Doxygen will +# dump the program listings (including syntax highlighting +# and cross-referencing information) to the XML output. Note that +# enabling this will significantly increase the size of the XML output. + +XML_PROGRAMLISTING = YES + +#--------------------------------------------------------------------------- +# configuration options for the AutoGen Definitions output +#--------------------------------------------------------------------------- + +# If the GENERATE_AUTOGEN_DEF tag is set to YES Doxygen will +# generate an AutoGen Definitions (see autogen.sf.net) file +# that captures the structure of the code including all +# documentation. Note that this feature is still experimental +# and incomplete at the moment. + +GENERATE_AUTOGEN_DEF = NO + +#--------------------------------------------------------------------------- +# configuration options related to the Perl module output +#--------------------------------------------------------------------------- + +# If the GENERATE_PERLMOD tag is set to YES Doxygen will +# generate a Perl module file that captures the structure of +# the code including all documentation. Note that this +# feature is still experimental and incomplete at the +# moment. + +GENERATE_PERLMOD = NO + +# If the PERLMOD_LATEX tag is set to YES Doxygen will generate +# the necessary Makefile rules, Perl scripts and LaTeX code to be able +# to generate PDF and DVI output from the Perl module output. + +PERLMOD_LATEX = NO + +# If the PERLMOD_PRETTY tag is set to YES the Perl module output will be +# nicely formatted so it can be parsed by a human reader. +# This is useful +# if you want to understand what is going on. +# On the other hand, if this +# tag is set to NO the size of the Perl module output will be much smaller +# and Perl will parse it just the same. + +PERLMOD_PRETTY = YES + +# The names of the make variables in the generated doxyrules.make file +# are prefixed with the string contained in PERLMOD_MAKEVAR_PREFIX. +# This is useful so different doxyrules.make files included by the same +# Makefile don't overwrite each other's variables. + +PERLMOD_MAKEVAR_PREFIX = + +#--------------------------------------------------------------------------- +# Configuration options related to the preprocessor +#--------------------------------------------------------------------------- + +# If the ENABLE_PREPROCESSING tag is set to YES (the default) Doxygen will +# evaluate all C-preprocessor directives found in the sources and include +# files. + +ENABLE_PREPROCESSING = YES + +# If the MACRO_EXPANSION tag is set to YES Doxygen will expand all macro +# names in the source code. If set to NO (the default) only conditional +# compilation will be performed. Macro expansion can be done in a controlled +# way by setting EXPAND_ONLY_PREDEF to YES. + +MACRO_EXPANSION = YES + +# If the EXPAND_ONLY_PREDEF and MACRO_EXPANSION tags are both set to YES +# then the macro expansion is limited to the macros specified with the +# PREDEFINED and EXPAND_AS_DEFINED tags. + +EXPAND_ONLY_PREDEF = YES + +# If the SEARCH_INCLUDES tag is set to YES (the default) the includes files +# in the INCLUDE_PATH (see below) will be search if a #include is found. + +SEARCH_INCLUDES = YES + +# The INCLUDE_PATH tag can be used to specify one or more directories that +# contain include files that are not input files but should be processed by +# the preprocessor. + +INCLUDE_PATH = ../.. ../../../../include + +# You can use the INCLUDE_FILE_PATTERNS tag to specify one or more wildcard +# patterns (like *.h and *.hpp) to filter out the header-files in the +# directories. If left blank, the patterns specified with FILE_PATTERNS will +# be used. + +INCLUDE_FILE_PATTERNS = + +# The PREDEFINED tag can be used to specify one or more macro names that +# are defined before the preprocessor is started (similar to the -D option of +# gcc). The argument of the tag is a list of macros of the form: name +# or name=definition (no spaces). If the definition and the = are +# omitted =1 is assumed. To prevent a macro definition from being +# undefined via #undef or recursively expanded use the := operator +# instead of the = operator. + +PREDEFINED = __DOXYGEN__ __AVR32_ABI_COMPILER__ __attribute__()= __GNUC__=4 + +# If the MACRO_EXPANSION and EXPAND_ONLY_PREDEF tags are set to YES then +# this tag can be used to specify a list of macro names that should be expanded. +# The macro definition that is found in the sources will be used. +# Use the PREDEFINED tag if you want to use a different macro definition. + +EXPAND_AS_DEFINED = + +# If the SKIP_FUNCTION_MACROS tag is set to YES (the default) then +# doxygen's preprocessor will remove all function-like macros that are alone +# on a line, have an all uppercase name, and do not end with a semicolon. Such +# function macros are typically used for boiler-plate code, and will confuse +# the parser if not removed. + +SKIP_FUNCTION_MACROS = YES + +#--------------------------------------------------------------------------- +# Configuration::additions related to external references +#--------------------------------------------------------------------------- + +# The TAGFILES option can be used to specify one or more tagfiles. +# Optionally an initial location of the external documentation +# can be added for each tagfile. The format of a tag file without +# this location is as follows: +# +# TAGFILES = file1 file2 ... +# Adding location for the tag files is done as follows: +# +# TAGFILES = file1=loc1 "file2 = loc2" ... +# where "loc1" and "loc2" can be relative or absolute paths or +# URLs. If a location is present for each tag, the installdox tool +# does not have to be run to correct the links. +# Note that each tag file must have a unique name +# (where the name does NOT include the path) +# If a tag file is not located in the directory in which doxygen +# is run, you must also specify the path to the tagfile here. + +TAGFILES = + +# When a file name is specified after GENERATE_TAGFILE, doxygen will create +# a tag file that is based on the input files it reads. + +GENERATE_TAGFILE = + +# If the ALLEXTERNALS tag is set to YES all external classes will be listed +# in the class index. If set to NO only the inherited external classes +# will be listed. + +ALLEXTERNALS = NO + +# If the EXTERNAL_GROUPS tag is set to YES all external groups will be listed +# in the modules index. If set to NO, only the current project's groups will +# be listed. + +EXTERNAL_GROUPS = YES + +# The PERL_PATH should be the absolute path and name of the perl script +# interpreter (i.e. the result of `which perl'). + +PERL_PATH = /usr/bin/perl + +#--------------------------------------------------------------------------- +# Configuration options related to the dot tool +#--------------------------------------------------------------------------- + +# If the CLASS_DIAGRAMS tag is set to YES (the default) Doxygen will +# generate a inheritance diagram (in HTML, RTF and LaTeX) for classes with base +# or super classes. Setting the tag to NO turns the diagrams off. Note that +# this option is superseded by the HAVE_DOT option below. This is only a +# fallback. It is recommended to install and use dot, since it yields more +# powerful graphs. + +CLASS_DIAGRAMS = YES + +# You can define message sequence charts within doxygen comments using the \msc +# command. Doxygen will then run the mscgen tool (see +# http://www.mcternan.me.uk/mscgen/) to produce the chart and insert it in the +# documentation. The MSCGEN_PATH tag allows you to specify the directory where +# the mscgen tool resides. If left empty the tool is assumed to be found in the +# default search path. + +MSCGEN_PATH = + +# If set to YES, the inheritance and collaboration graphs will hide +# inheritance and usage relations if the target is undocumented +# or is not a class. + +HIDE_UNDOC_RELATIONS = YES + +# If you set the HAVE_DOT tag to YES then doxygen will assume the dot tool is +# available from the path. This tool is part of Graphviz, a graph visualization +# toolkit from AT&T and Lucent Bell Labs. The other options in this section +# have no effect if this option is set to NO (the default) + +HAVE_DOT = YES + +# The DOT_NUM_THREADS specifies the number of dot invocations doxygen is +# allowed to run in parallel. When set to 0 (the default) doxygen will +# base this on the number of processors available in the system. You can set it +# explicitly to a value larger than 0 to get control over the balance +# between CPU load and processing speed. + +DOT_NUM_THREADS = 0 + +# By default doxygen will write a font called FreeSans.ttf to the output +# directory and reference it in all dot files that doxygen generates. This +# font does not include all possible unicode characters however, so when you need +# these (or just want a differently looking font) you can specify the font name +# using DOT_FONTNAME. You need need to make sure dot is able to find the font, +# which can be done by putting it in a standard location or by setting the +# DOTFONTPATH environment variable or by setting DOT_FONTPATH to the directory +# containing the font. + +DOT_FONTNAME = FreeSans + +# The DOT_FONTSIZE tag can be used to set the size of the font of dot graphs. +# The default size is 10pt. + +DOT_FONTSIZE = 10 + +# By default doxygen will tell dot to use the output directory to look for the +# FreeSans.ttf font (which doxygen will put there itself). If you specify a +# different font using DOT_FONTNAME you can set the path where dot +# can find it using this tag. + +DOT_FONTPATH = + +# If the CLASS_GRAPH and HAVE_DOT tags are set to YES then doxygen +# will generate a graph for each documented class showing the direct and +# indirect inheritance relations. Setting this tag to YES will force the +# the CLASS_DIAGRAMS tag to NO. + +CLASS_GRAPH = YES + +# If the COLLABORATION_GRAPH and HAVE_DOT tags are set to YES then doxygen +# will generate a graph for each documented class showing the direct and +# indirect implementation dependencies (inheritance, containment, and +# class references variables) of the class with other documented classes. + +COLLABORATION_GRAPH = YES + +# If the GROUP_GRAPHS and HAVE_DOT tags are set to YES then doxygen +# will generate a graph for groups, showing the direct groups dependencies + +GROUP_GRAPHS = YES + +# If the UML_LOOK tag is set to YES doxygen will generate inheritance and +# collaboration diagrams in a style similar to the OMG's Unified Modeling +# Language. + +UML_LOOK = YES + +# If set to YES, the inheritance and collaboration graphs will show the +# relations between templates and their instances. + +TEMPLATE_RELATIONS = YES + +# If the ENABLE_PREPROCESSING, SEARCH_INCLUDES, INCLUDE_GRAPH, and HAVE_DOT +# tags are set to YES then doxygen will generate a graph for each documented +# file showing the direct and indirect include dependencies of the file with +# other documented files. + +INCLUDE_GRAPH = YES + +# If the ENABLE_PREPROCESSING, SEARCH_INCLUDES, INCLUDED_BY_GRAPH, and +# HAVE_DOT tags are set to YES then doxygen will generate a graph for each +# documented header file showing the documented files that directly or +# indirectly include this file. + +INCLUDED_BY_GRAPH = YES + +# If the CALL_GRAPH and HAVE_DOT options are set to YES then +# doxygen will generate a call dependency graph for every global function +# or class method. Note that enabling this option will significantly increase +# the time of a run. So in most cases it will be better to enable call graphs +# for selected functions only using the \callgraph command. + +CALL_GRAPH = YES + +# If the CALLER_GRAPH and HAVE_DOT tags are set to YES then +# doxygen will generate a caller dependency graph for every global function +# or class method. Note that enabling this option will significantly increase +# the time of a run. So in most cases it will be better to enable caller +# graphs for selected functions only using the \callergraph command. + +CALLER_GRAPH = NO + +# If the GRAPHICAL_HIERARCHY and HAVE_DOT tags are set to YES then doxygen +# will graphical hierarchy of all classes instead of a textual one. + +GRAPHICAL_HIERARCHY = YES + +# If the DIRECTORY_GRAPH, SHOW_DIRECTORIES and HAVE_DOT tags are set to YES +# then doxygen will show the dependencies a directory has on other directories +# in a graphical way. The dependency relations are determined by the #include +# relations between the files in the directories. + +DIRECTORY_GRAPH = YES + +# The DOT_IMAGE_FORMAT tag can be used to set the image format of the images +# generated by dot. Possible values are png, jpg, or gif +# If left blank png will be used. + +DOT_IMAGE_FORMAT = gif + +# The tag DOT_PATH can be used to specify the path where the dot tool can be +# found. If left blank, it is assumed the dot tool can be found in the path. + +DOT_PATH = + +# The DOTFILE_DIRS tag can be used to specify one or more directories that +# contain dot files that are included in the documentation (see the +# \dotfile command). + +DOTFILE_DIRS = + +# The DOT_GRAPH_MAX_NODES tag can be used to set the maximum number of +# nodes that will be shown in the graph. If the number of nodes in a graph +# becomes larger than this value, doxygen will truncate the graph, which is +# visualized by representing a node as a red box. Note that doxygen if the +# number of direct children of the root node in a graph is already larger than +# DOT_GRAPH_MAX_NODES then the graph will not be shown at all. Also note +# that the size of a graph can be further restricted by MAX_DOT_GRAPH_DEPTH. + +DOT_GRAPH_MAX_NODES = 50 + +# The MAX_DOT_GRAPH_DEPTH tag can be used to set the maximum depth of the +# graphs generated by dot. A depth value of 3 means that only nodes reachable +# from the root by following a path via at most 3 edges will be shown. Nodes +# that lay further from the root node will be omitted. Note that setting this +# option to 1 or 2 may greatly reduce the computation time needed for large +# code bases. Also note that the size of a graph can be further restricted by +# DOT_GRAPH_MAX_NODES. Using a depth of 0 means no depth restriction. + +MAX_DOT_GRAPH_DEPTH = 0 + +# Set the DOT_TRANSPARENT tag to YES to generate images with a transparent +# background. This is disabled by default, because dot on Windows does not +# seem to support this out of the box. Warning: Depending on the platform used, +# enabling this option may lead to badly anti-aliased labels on the edges of +# a graph (i.e. they become hard to read). + +DOT_TRANSPARENT = NO + +# Set the DOT_MULTI_TARGETS tag to YES allow dot to generate multiple output +# files in one run (i.e. multiple -o and -T options on the command line). This +# makes dot run faster, but since only newer versions of dot (>1.8.10) +# support this, this feature is disabled by default. + +DOT_MULTI_TARGETS = YES + +# If the GENERATE_LEGEND tag is set to YES (the default) Doxygen will +# generate a legend page explaining the meaning of the various boxes and +# arrows in the dot generated graphs. + +GENERATE_LEGEND = YES + +# If the DOT_CLEANUP tag is set to YES (the default) Doxygen will +# remove the intermediate dot files that are used to generate +# the various graphs. + +DOT_CLEANUP = YES diff --git a/thirdparty/prime/mac/mac_1_3/addons/serial_if/doxygen/thirdparty.prime.mac_1_3.addons.plme_serial_if/doxygen_module_mainpage.h b/thirdparty/prime/mac/mac_1_3/addons/serial_if/doxygen/thirdparty.prime.mac_1_3.addons.plme_serial_if/doxygen_module_mainpage.h new file mode 100644 index 00000000..26566747 --- /dev/null +++ b/thirdparty/prime/mac/mac_1_3/addons/serial_if/doxygen/thirdparty.prime.mac_1_3.addons.plme_serial_if/doxygen_module_mainpage.h @@ -0,0 +1,58 @@ + +/** + * Copyright (c) 2012 Atmel Corporation. All rights reserved. + * + * \asf_license_start + * + * \page License + * + * 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 microcontroller 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. + * + * \asf_license_stop + * + * \mainpage + * + * \section intro Introduction + * This documentation has been automatically generated, and documents the source + * code found in the Atmel Software Framework (ASF). <p> + * Use the above menu to navigate in the documentation, or use the links below: <br> + * <ul> + * <li> <a href="globals_func.html">Functions</a> + * <li> <a href="annotated.html">Data structures</a> + * <li> <a href="globals_type.html">Defines</a> + * </ul> + * + * \section main_licence License + * <ul> + * <li>\ref License + * </ul> + * \section contactinfo Contact Information + * For further information, visit <a href="http://www.atmel.com/">Atmel</a>.\n + * + */ diff --git a/thirdparty/prime/mac/mac_1_3/addons/serial_if/doxygen/thirdparty.prime.mac_1_3.addons.snf_serial_if/doxyfile.doxygen b/thirdparty/prime/mac/mac_1_3/addons/serial_if/doxygen/thirdparty.prime.mac_1_3.addons.snf_serial_if/doxyfile.doxygen new file mode 100644 index 00000000..54c45e45 --- /dev/null +++ b/thirdparty/prime/mac/mac_1_3/addons/serial_if/doxygen/thirdparty.prime.mac_1_3.addons.snf_serial_if/doxyfile.doxygen @@ -0,0 +1,1645 @@ +# Doxyfile 1.7.1 + +# This file describes the settings to be used by the documentation system +# doxygen (www.doxygen.org) for a project +# +# All text after a hash (#) is considered a comment and will be ignored +# The format is: +# TAG = value [value, ...] +# For lists items can also be appended using: +# TAG += value [value, ...] +# Values that contain spaces should be placed between quotes (" ") + +#--------------------------------------------------------------------------- +# Project related configuration options +#--------------------------------------------------------------------------- + +# This tag specifies the encoding used for all characters in the config file +# that follow. The default is UTF-8 which is also the encoding used for all +# text before the first occurrence of this tag. Doxygen uses libiconv (or the +# iconv built into libc) for the transcoding. See +# http://www.gnu.org/software/libiconv for the list of possible encodings. + +DOXYFILE_ENCODING = UTF-8 + +# The PROJECT_NAME tag is a single word (or a sequence of words surrounded +# by quotes) that should identify the project. + +PROJECT_NAME = "PRIME Embedded Sniffer Serial Interface Module" + +# The PROJECT_NUMBER tag can be used to enter a project or revision number. +# This could be handy for archiving the generated documentation or +# if some version control system is used. + +PROJECT_NUMBER = + +# The OUTPUT_DIRECTORY tag is used to specify the (relative or absolute) +# base path where the generated documentation will be put. +# If a relative path is entered, it will be relative to the location +# where doxygen was started. If left blank the current directory will be used. + +OUTPUT_DIRECTORY = . + +# If the CREATE_SUBDIRS tag is set to YES, then doxygen will create +# 4096 sub-directories (in 2 levels) under the output directory of each output +# format and will distribute the generated files over these directories. +# Enabling this option can be useful when feeding doxygen a huge amount of +# source files, where putting all generated files in the same directory would +# otherwise cause performance problems for the file system. + +CREATE_SUBDIRS = NO + +# The OUTPUT_LANGUAGE tag is used to specify the language in which all +# documentation generated by doxygen is written. Doxygen will use this +# information to generate all constant output in the proper language. +# The default language is English, other supported languages are: +# Afrikaans, Arabic, Brazilian, Catalan, Chinese, Chinese-Traditional, +# Croatian, Czech, Danish, Dutch, Esperanto, Farsi, Finnish, French, German, +# Greek, Hungarian, Italian, Japanese, Japanese-en (Japanese with English +# messages), Korean, Korean-en, Lithuanian, Norwegian, Macedonian, Persian, +# Polish, Portuguese, Romanian, Russian, Serbian, Serbian-Cyrilic, Slovak, +# Slovene, Spanish, Swedish, Ukrainian, and Vietnamese. + +OUTPUT_LANGUAGE = English + +# If the BRIEF_MEMBER_DESC tag is set to YES (the default) Doxygen will +# include brief member descriptions after the members that are listed in +# the file and class documentation (similar to JavaDoc). +# Set to NO to disable this. + +BRIEF_MEMBER_DESC = YES + +# If the REPEAT_BRIEF tag is set to YES (the default) Doxygen will prepend +# the brief description of a member or function before the detailed description. +# Note: if both HIDE_UNDOC_MEMBERS and BRIEF_MEMBER_DESC are set to NO, the +# brief descriptions will be completely suppressed. + +REPEAT_BRIEF = YES + +# This tag implements a quasi-intelligent brief description abbreviator +# that is used to form the text in various listings. Each string +# in this list, if found as the leading text of the brief description, will be +# stripped from the text and the result after processing the whole list, is +# used as the annotated text. Otherwise, the brief description is used as-is. +# If left blank, the following values are used ("$name" is automatically +# replaced with the name of the entity): "The $name class" "The $name widget" +# "The $name file" "is" "provides" "specifies" "contains" +# "represents" "a" "an" "the" + +ABBREVIATE_BRIEF = + +# If the ALWAYS_DETAILED_SEC and REPEAT_BRIEF tags are both set to YES then +# Doxygen will generate a detailed section even if there is only a brief +# description. + +ALWAYS_DETAILED_SEC = NO + +# If the INLINE_INHERITED_MEMB tag is set to YES, doxygen will show all +# inherited members of a class in the documentation of that class as if those +# members were ordinary class members. Constructors, destructors and assignment +# operators of the base classes will not be shown. + +INLINE_INHERITED_MEMB = NO + +# If the FULL_PATH_NAMES tag is set to YES then Doxygen will prepend the full +# path before files name in the file list and in the header files. If set +# to NO the shortest path that makes the file name unique will be used. + +FULL_PATH_NAMES = NO + +# If the FULL_PATH_NAMES tag is set to YES then the STRIP_FROM_PATH tag +# can be used to strip a user-defined part of the path. Stripping is +# only done if one of the specified strings matches the left-hand part of +# the path. The tag can be used to show relative paths in the file list. +# If left blank the directory from which doxygen is run is used as the +# path to strip. + +STRIP_FROM_PATH = + +# The STRIP_FROM_INC_PATH tag can be used to strip a user-defined part of +# the path mentioned in the documentation of a class, which tells +# the reader which header file to include in order to use a class. +# If left blank only the name of the header file containing the class +# definition is used. Otherwise one should specify the include paths that +# are normally passed to the compiler using the -I flag. + +STRIP_FROM_INC_PATH = + +# If the SHORT_NAMES tag is set to YES, doxygen will generate much shorter +# (but less readable) file names. This can be useful is your file systems +# doesn't support long names like on DOS, Mac, or CD-ROM. + +SHORT_NAMES = NO + +# If the JAVADOC_AUTOBRIEF tag is set to YES then Doxygen +# will interpret the first line (until the first dot) of a JavaDoc-style +# comment as the brief description. If set to NO, the JavaDoc +# comments will behave just like regular Qt-style comments +# (thus requiring an explicit @brief command for a brief description.) + +JAVADOC_AUTOBRIEF = YES + +# If the QT_AUTOBRIEF tag is set to YES then Doxygen will +# interpret the first line (until the first dot) of a Qt-style +# comment as the brief description. If set to NO, the comments +# will behave just like regular Qt-style comments (thus requiring +# an explicit \brief command for a brief description.) + +QT_AUTOBRIEF = NO + +# The MULTILINE_CPP_IS_BRIEF tag can be set to YES to make Doxygen +# treat a multi-line C++ special comment block (i.e. a block of //! or /// +# comments) as a brief description. This used to be the default behaviour. +# The new default is to treat a multi-line C++ comment block as a detailed +# description. Set this tag to YES if you prefer the old behaviour instead. + +MULTILINE_CPP_IS_BRIEF = NO + +# If the INHERIT_DOCS tag is set to YES (the default) then an undocumented +# member inherits the documentation from any documented member that it +# re-implements. + +INHERIT_DOCS = YES + +# If the SEPARATE_MEMBER_PAGES tag is set to YES, then doxygen will produce +# a new page for each member. If set to NO, the documentation of a member will +# be part of the file/class/namespace that contains it. + +SEPARATE_MEMBER_PAGES = NO + +# The TAB_SIZE tag can be used to set the number of spaces in a tab. +# Doxygen uses this value to replace tabs by spaces in code fragments. + +TAB_SIZE = 4 + +# This tag can be used to specify a number of aliases that acts +# as commands in the documentation. An alias has the form "name=value". +# For example adding "sideeffect=\par Side Effects:\n" will allow you to +# put the command \sideeffect (or @sideeffect) in the documentation, which +# will result in a user-defined paragraph with heading "Side Effects:". +# You can put \n's in the value part of an alias to insert newlines. + +ALIASES += asf_license_start=" " +ALIASES += asf_license_stop=" " + +# Set the OPTIMIZE_OUTPUT_FOR_C tag to YES if your project consists of C +# sources only. Doxygen will then generate output that is more tailored for C. +# For instance, some of the names that are used will be different. The list +# of all members will be omitted, etc. + +OPTIMIZE_OUTPUT_FOR_C = YES + +# Set the OPTIMIZE_OUTPUT_JAVA tag to YES if your project consists of Java +# sources only. Doxygen will then generate output that is more tailored for +# Java. For instance, namespaces will be presented as packages, qualified +# scopes will look different, etc. + +OPTIMIZE_OUTPUT_JAVA = NO + +# Set the OPTIMIZE_FOR_FORTRAN tag to YES if your project consists of Fortran +# sources only. Doxygen will then generate output that is more tailored for +# Fortran. + +OPTIMIZE_FOR_FORTRAN = NO + +# Set the OPTIMIZE_OUTPUT_VHDL tag to YES if your project consists of VHDL +# sources. Doxygen will then generate output that is tailored for +# VHDL. + +OPTIMIZE_OUTPUT_VHDL = NO + +# Doxygen selects the parser to use depending on the extension of the files it +# parses. With this tag you can assign which parser to use for a given extension. +# Doxygen has a built-in mapping, but you can override or extend it using this +# tag. The format is ext=language, where ext is a file extension, and language +# is one of the parsers supported by doxygen: IDL, Java, Javascript, CSharp, C, +# C++, D, PHP, Objective-C, Python, Fortran, VHDL, C, C++. For instance to make +# doxygen treat .inc files as Fortran files (default is PHP), and .f files as C +# (default is Fortran), use: inc=Fortran f=C. Note that for custom extensions +# you also need to set FILE_PATTERNS otherwise the files are not read by doxygen. + +EXTENSION_MAPPING = + +# If you use STL classes (i.e. std::string, std::vector, etc.) but do not want +# to include (a tag file for) the STL sources as input, then you should +# set this tag to YES in order to let doxygen match functions declarations and +# definitions whose arguments contain STL classes (e.g. func(std::string); v.s. +# func(std::string) {}). This also make the inheritance and collaboration +# diagrams that involve STL classes more complete and accurate. + +BUILTIN_STL_SUPPORT = NO + +# If you use Microsoft's C++/CLI language, you should set this option to YES to +# enable parsing support. + +CPP_CLI_SUPPORT = NO + +# Set the SIP_SUPPORT tag to YES if your project consists of sip sources only. +# Doxygen will parse them like normal C++ but will assume all classes use public +# instead of private inheritance when no explicit protection keyword is present. + +SIP_SUPPORT = NO + +# For Microsoft's IDL there are propget and propput attributes to indicate getter +# and setter methods for a property. Setting this option to YES (the default) +# will make doxygen to replace the get and set methods by a property in the +# documentation. This will only work if the methods are indeed getting or +# setting a simple type. If this is not the case, or you want to show the +# methods anyway, you should set this option to NO. + +IDL_PROPERTY_SUPPORT = YES + +# If member grouping is used in the documentation and the DISTRIBUTE_GROUP_DOC +# tag is set to YES, then doxygen will reuse the documentation of the first +# member in the group (if any) for the other members of the group. By default +# all members of a group must be documented explicitly. + +DISTRIBUTE_GROUP_DOC = NO + +# Set the SUBGROUPING tag to YES (the default) to allow class member groups of +# the same type (for instance a group of public functions) to be put as a +# subgroup of that type (e.g. under the Public Functions section). Set it to +# NO to prevent subgrouping. Alternatively, this can be done per class using +# the \nosubgrouping command. + +SUBGROUPING = YES + +# When TYPEDEF_HIDES_STRUCT is enabled, a typedef of a struct, union, or enum +# is documented as struct, union, or enum with the name of the typedef. So +# typedef struct TypeS {} TypeT, will appear in the documentation as a struct +# with name TypeT. When disabled the typedef will appear as a member of a file, +# namespace, or class. And the struct will be named TypeS. This can typically +# be useful for C code in case the coding convention dictates that all compound +# types are typedef'ed and only the typedef is referenced, never the tag name. + +TYPEDEF_HIDES_STRUCT = NO + +# The SYMBOL_CACHE_SIZE determines the size of the internal cache use to +# determine which symbols to keep in memory and which to flush to disk. +# When the cache is full, less often used symbols will be written to disk. +# For small to medium size projects (<1000 input files) the default value is +# probably good enough. For larger projects a too small cache size can cause +# doxygen to be busy swapping symbols to and from disk most of the time +# causing a significant performance penality. +# If the system has enough physical memory increasing the cache will improve the +# performance by keeping more symbols in memory. Note that the value works on +# a logarithmic scale so increasing the size by one will rougly double the +# memory usage. The cache size is given by this formula: +# 2^(16+SYMBOL_CACHE_SIZE). The valid range is 0..9, the default is 0, +# corresponding to a cache size of 2^16 = 65536 symbols + +SYMBOL_CACHE_SIZE = 0 + +#--------------------------------------------------------------------------- +# Build related configuration options +#--------------------------------------------------------------------------- + +# If the EXTRACT_ALL tag is set to YES doxygen will assume all entities in +# documentation are documented, even if no documentation was available. +# Private class members and static file members will be hidden unless +# the EXTRACT_PRIVATE and EXTRACT_STATIC tags are set to YES + +EXTRACT_ALL = YES + +# If the EXTRACT_PRIVATE tag is set to YES all private members of a class +# will be included in the documentation. + +EXTRACT_PRIVATE = NO + +# If the EXTRACT_STATIC tag is set to YES all static members of a file +# will be included in the documentation. + +EXTRACT_STATIC = YES + +# If the EXTRACT_LOCAL_CLASSES tag is set to YES classes (and structs) +# defined locally in source files will be included in the documentation. +# If set to NO only classes defined in header files are included. + +EXTRACT_LOCAL_CLASSES = YES + +# This flag is only useful for Objective-C code. When set to YES local +# methods, which are defined in the implementation section but not in +# the interface are included in the documentation. +# If set to NO (the default) only methods in the interface are included. + +EXTRACT_LOCAL_METHODS = NO + +# If this flag is set to YES, the members of anonymous namespaces will be +# extracted and appear in the documentation as a namespace called +# 'anonymous_namespace{file}', where file will be replaced with the base +# name of the file that contains the anonymous namespace. By default +# anonymous namespace are hidden. + +EXTRACT_ANON_NSPACES = NO + +# If the HIDE_UNDOC_MEMBERS tag is set to YES, Doxygen will hide all +# undocumented members of documented classes, files or namespaces. +# If set to NO (the default) these members will be included in the +# various overviews, but no documentation section is generated. +# This option has no effect if EXTRACT_ALL is enabled. + +HIDE_UNDOC_MEMBERS = NO + +# If the HIDE_UNDOC_CLASSES tag is set to YES, Doxygen will hide all +# undocumented classes that are normally visible in the class hierarchy. +# If set to NO (the default) these classes will be included in the various +# overviews. This option has no effect if EXTRACT_ALL is enabled. + +HIDE_UNDOC_CLASSES = NO + +# If the HIDE_FRIEND_COMPOUNDS tag is set to YES, Doxygen will hide all +# friend (class|struct|union) declarations. +# If set to NO (the default) these declarations will be included in the +# documentation. + +HIDE_FRIEND_COMPOUNDS = NO + +# If the HIDE_IN_BODY_DOCS tag is set to YES, Doxygen will hide any +# documentation blocks found inside the body of a function. +# If set to NO (the default) these blocks will be appended to the +# function's detailed documentation block. + +HIDE_IN_BODY_DOCS = NO + +# The INTERNAL_DOCS tag determines if documentation +# that is typed after a \internal command is included. If the tag is set +# to NO (the default) then the documentation will be excluded. +# Set it to YES to include the internal documentation. + +INTERNAL_DOCS = YES + +# If the CASE_SENSE_NAMES tag is set to NO then Doxygen will only generate +# file names in lower-case letters. If set to YES upper-case letters are also +# allowed. This is useful if you have classes or files whose names only differ +# in case and if your file system supports case sensitive file names. Windows +# and Mac users are advised to set this option to NO. + +CASE_SENSE_NAMES = NO + +# If the HIDE_SCOPE_NAMES tag is set to NO (the default) then Doxygen +# will show members with their full class and namespace scopes in the +# documentation. If set to YES the scope will be hidden. + +HIDE_SCOPE_NAMES = NO + +# If the SHOW_INCLUDE_FILES tag is set to YES (the default) then Doxygen +# will put a list of the files that are included by a file in the documentation +# of that file. + +SHOW_INCLUDE_FILES = YES + +# If the FORCE_LOCAL_INCLUDES tag is set to YES then Doxygen +# will list include files with double quotes in the documentation +# rather than with sharp brackets. + +FORCE_LOCAL_INCLUDES = NO + +# If the INLINE_INFO tag is set to YES (the default) then a tag [inline] +# is inserted in the documentation for inline members. + +INLINE_INFO = YES + +# If the SORT_MEMBER_DOCS tag is set to YES (the default) then doxygen +# will sort the (detailed) documentation of file and class members +# alphabetically by member name. If set to NO the members will appear in +# declaration order. + +SORT_MEMBER_DOCS = YES + +# If the SORT_BRIEF_DOCS tag is set to YES then doxygen will sort the +# brief documentation of file, namespace and class members alphabetically +# by member name. If set to NO (the default) the members will appear in +# declaration order. + +SORT_BRIEF_DOCS = YES + +# If the SORT_MEMBERS_CTORS_1ST tag is set to YES then doxygen +# will sort the (brief and detailed) documentation of class members so that +# constructors and destructors are listed first. If set to NO (the default) +# the constructors will appear in the respective orders defined by +# SORT_MEMBER_DOCS and SORT_BRIEF_DOCS. +# This tag will be ignored for brief docs if SORT_BRIEF_DOCS is set to NO +# and ignored for detailed docs if SORT_MEMBER_DOCS is set to NO. + +SORT_MEMBERS_CTORS_1ST = NO + +# If the SORT_GROUP_NAMES tag is set to YES then doxygen will sort the +# hierarchy of group names into alphabetical order. If set to NO (the default) +# the group names will appear in their defined order. + +SORT_GROUP_NAMES = NO + +# If the SORT_BY_SCOPE_NAME tag is set to YES, the class list will be +# sorted by fully-qualified names, including namespaces. If set to +# NO (the default), the class list will be sorted only by class name, +# not including the namespace part. +# Note: This option is not very useful if HIDE_SCOPE_NAMES is set to YES. +# Note: This option applies only to the class list, not to the +# alphabetical list. + +SORT_BY_SCOPE_NAME = NO + +# The GENERATE_TODOLIST tag can be used to enable (YES) or +# disable (NO) the todo list. This list is created by putting \todo +# commands in the documentation. + +GENERATE_TODOLIST = YES + +# The GENERATE_TESTLIST tag can be used to enable (YES) or +# disable (NO) the test list. This list is created by putting \test +# commands in the documentation. + +GENERATE_TESTLIST = YES + +# The GENERATE_BUGLIST tag can be used to enable (YES) or +# disable (NO) the bug list. This list is created by putting \bug +# commands in the documentation. + +GENERATE_BUGLIST = YES + +# The GENERATE_DEPRECATEDLIST tag can be used to enable (YES) or +# disable (NO) the deprecated list. This list is created by putting +# \deprecated commands in the documentation. + +GENERATE_DEPRECATEDLIST= YES + +# The ENABLED_SECTIONS tag can be used to enable conditional +# documentation sections, marked by \if sectionname ... \endif. + +ENABLED_SECTIONS = + +# The MAX_INITIALIZER_LINES tag determines the maximum number of lines +# the initial value of a variable or define consists of for it to appear in +# the documentation. If the initializer consists of more lines than specified +# here it will be hidden. Use a value of 0 to hide initializers completely. +# The appearance of the initializer of individual variables and defines in the +# documentation can be controlled using \showinitializer or \hideinitializer +# command in the documentation regardless of this setting. + +MAX_INITIALIZER_LINES = 30 + +# Set the SHOW_USED_FILES tag to NO to disable the list of files generated +# at the bottom of the documentation of classes and structs. If set to YES the +# list will mention the files that were used to generate the documentation. + +SHOW_USED_FILES = NO + +# If the sources in your project are distributed over multiple directories +# then setting the SHOW_DIRECTORIES tag to YES will show the directory hierarchy +# in the documentation. The default is NO. + +SHOW_DIRECTORIES = NO + +# Set the SHOW_FILES tag to NO to disable the generation of the Files page. +# This will remove the Files entry from the Quick Index and from the +# Folder Tree View (if specified). The default is YES. + +SHOW_FILES = YES + +# Set the SHOW_NAMESPACES tag to NO to disable the generation of the +# Namespaces page. +# This will remove the Namespaces entry from the Quick Index +# and from the Folder Tree View (if specified). The default is YES. + +SHOW_NAMESPACES = YES + +# The FILE_VERSION_FILTER tag can be used to specify a program or script that +# doxygen should invoke to get the current version for each file (typically from +# the version control system). Doxygen will invoke the program by executing (via +# popen()) the command <command> <input-file>, where <command> is the value of +# the FILE_VERSION_FILTER tag, and <input-file> is the name of an input file +# provided by doxygen. Whatever the program writes to standard output +# is used as the file version. See the manual for examples. + +FILE_VERSION_FILTER = + +# The LAYOUT_FILE tag can be used to specify a layout file which will be parsed +# by doxygen. The layout file controls the global structure of the generated +# output files in an output format independent way. The create the layout file +# that represents doxygen's defaults, run doxygen with the -l option. +# You can optionally specify a file name after the option, if omitted +# DoxygenLayout.xml will be used as the name of the layout file. + +LAYOUT_FILE = + +#--------------------------------------------------------------------------- +# configuration options related to warning and progress messages +#--------------------------------------------------------------------------- + +# The QUIET tag can be used to turn on/off the messages that are generated +# by doxygen. Possible values are YES and NO. If left blank NO is used. + +QUIET = YES + +# The WARNINGS tag can be used to turn on/off the warning messages that are +# generated by doxygen. Possible values are YES and NO. If left blank +# NO is used. + +WARNINGS = YES + +# If WARN_IF_UNDOCUMENTED is set to YES, then doxygen will generate warnings +# for undocumented members. If EXTRACT_ALL is set to YES then this flag will +# automatically be disabled. + +WARN_IF_UNDOCUMENTED = YES + +# If WARN_IF_DOC_ERROR is set to YES, doxygen will generate warnings for +# potential errors in the documentation, such as not documenting some +# parameters in a documented function, or documenting parameters that +# don't exist or using markup commands wrongly. + +WARN_IF_DOC_ERROR = YES + +# This WARN_NO_PARAMDOC option can be abled to get warnings for +# functions that are documented, but have no documentation for their parameters +# or return value. If set to NO (the default) doxygen will only warn about +# wrong or incomplete parameter documentation, but not about the absence of +# documentation. + +WARN_NO_PARAMDOC = NO + +# The WARN_FORMAT tag determines the format of the warning messages that +# doxygen can produce. The string should contain the $file, $line, and $text +# tags, which will be replaced by the file and line number from which the +# warning originated and the warning text. Optionally the format may contain +# $version, which will be replaced by the version of the file (if it could +# be obtained via FILE_VERSION_FILTER) + +WARN_FORMAT = "[WARNING]$file:$line: $text" + +# The WARN_LOGFILE tag can be used to specify a file to which warning +# and error messages should be written. If left blank the output is written +# to stderr. + +WARN_LOGFILE = + +#--------------------------------------------------------------------------- +# configuration options related to the input files +#--------------------------------------------------------------------------- + +# The INPUT tag can be used to specify the files and/or directories that contain +# documented source files. You may enter file names like "myfile.cpp" or +# directories like "/usr/src/myproject". Separate the files or directories +# with spaces. + +INPUT = doxygen_module_mainpage.h ../../serial_if_sniffer.c ../../serial_if_sniffer.h + +# This tag can be used to specify the character encoding of the source files +# that doxygen parses. Internally doxygen uses the UTF-8 encoding, which is +# also the default input encoding. Doxygen uses libiconv (or the iconv built +# into libc) for the transcoding. See http://www.gnu.org/software/libiconv for +# the list of possible encodings. + +INPUT_ENCODING = UTF-8 + +# If the value of the INPUT tag contains directories, you can use the +# FILE_PATTERNS tag to specify one or more wildcard pattern (like *.cpp +# and *.h) to filter out the source-files in the directories. If left +# blank the following patterns are tested: +# *.c *.cc *.cxx *.cpp *.c++ *.java *.ii *.ixx *.ipp *.i++ *.inl *.h *.hh *.hxx +# *.hpp *.h++ *.idl *.odl *.cs *.php *.php3 *.inc *.m *.mm *.py *.f90 + +FILE_PATTERNS = *.c \ + *.h \ + *.s \ + *.S + +# The RECURSIVE tag can be used to turn specify whether or not subdirectories +# should be searched for input files as well. Possible values are YES and NO. +# If left blank NO is used. + +RECURSIVE = NO + +# The EXCLUDE tag can be used to specify files and/or directories that should +# excluded from the INPUT source files. This way you can easily exclude a +# subdirectory from a directory tree whose root is specified with the INPUT tag. + +EXCLUDE = + +# The EXCLUDE_SYMLINKS tag can be used select whether or not files or +# directories that are symbolic links (a Unix filesystem feature) are excluded +# from the input. + +EXCLUDE_SYMLINKS = NO + +# If the value of the INPUT tag contains directories, you can use the +# EXCLUDE_PATTERNS tag to specify one or more wildcard patterns to exclude +# certain files from those directories. Note that the wildcards are matched +# against the file with absolute path, so to exclude all test directories +# for example use the pattern */test/* + +EXCLUDE_PATTERNS = + +# The EXCLUDE_SYMBOLS tag can be used to specify one or more symbol names +# (namespaces, classes, functions, etc.) that should be excluded from the +# output. The symbol name can be a fully qualified name, a word, or if the +# wildcard * is used, a substring. Examples: ANamespace, AClass, +# AClass::ANamespace, ANamespace::*Test + +EXCLUDE_SYMBOLS = + +# The EXAMPLE_PATH tag can be used to specify one or more files or +# directories that contain example code fragments that are included (see +# the \include command). + +EXAMPLE_PATH = ./ + +# If the value of the EXAMPLE_PATH tag contains directories, you can use the +# EXAMPLE_PATTERNS tag to specify one or more wildcard pattern (like *.cpp +# and *.h) to filter out the source-files in the directories. If left +# blank all files are included. + +EXAMPLE_PATTERNS = + +# If the EXAMPLE_RECURSIVE tag is set to YES then subdirectories will be +# searched for input files to be used with the \include or \dontinclude +# commands irrespective of the value of the RECURSIVE tag. +# Possible values are YES and NO. If left blank NO is used. + +EXAMPLE_RECURSIVE = NO + +# The IMAGE_PATH tag can be used to specify one or more files or +# directories that contain image that are included in the documentation (see +# the \image command). + +IMAGE_PATH = + +# The INPUT_FILTER tag can be used to specify a program that doxygen should +# invoke to filter for each input file. Doxygen will invoke the filter program +# by executing (via popen()) the command <filter> <input-file>, where <filter> +# is the value of the INPUT_FILTER tag, and <input-file> is the name of an +# input file. Doxygen will then use the output that the filter program writes +# to standard output. +# If FILTER_PATTERNS is specified, this tag will be +# ignored. + +INPUT_FILTER = + +# The FILTER_PATTERNS tag can be used to specify filters on a per file pattern +# basis. +# Doxygen will compare the file name with each pattern and apply the +# filter if there is a match. +# The filters are a list of the form: +# pattern=filter (like *.cpp=my_cpp_filter). See INPUT_FILTER for further +# info on how filters are used. If FILTER_PATTERNS is empty, INPUT_FILTER +# is applied to all files. + +FILTER_PATTERNS = + +# If the FILTER_SOURCE_FILES tag is set to YES, the input filter (if set using +# INPUT_FILTER) will be used to filter the input files when producing source +# files to browse (i.e. when SOURCE_BROWSER is set to YES). + +FILTER_SOURCE_FILES = NO + +#--------------------------------------------------------------------------- +# configuration options related to source browsing +#--------------------------------------------------------------------------- + +# If the SOURCE_BROWSER tag is set to YES then a list of source files will +# be generated. Documented entities will be cross-referenced with these sources. +# Note: To get rid of all source code in the generated output, make sure also +# VERBATIM_HEADERS is set to NO. + +SOURCE_BROWSER = YES + +# Setting the INLINE_SOURCES tag to YES will include the body +# of functions and classes directly in the documentation. + +INLINE_SOURCES = YES + +# Setting the STRIP_CODE_COMMENTS tag to YES (the default) will instruct +# doxygen to hide any special comment blocks from generated source code +# fragments. Normal C and C++ comments will always remain visible. + +STRIP_CODE_COMMENTS = YES + +# If the REFERENCED_BY_RELATION tag is set to YES +# then for each documented function all documented +# functions referencing it will be listed. + +REFERENCED_BY_RELATION = YES + +# If the REFERENCES_RELATION tag is set to YES +# then for each documented function all documented entities +# called/used by that function will be listed. + +REFERENCES_RELATION = YES + +# If the REFERENCES_LINK_SOURCE tag is set to YES (the default) +# and SOURCE_BROWSER tag is set to YES, then the hyperlinks from +# functions in REFERENCES_RELATION and REFERENCED_BY_RELATION lists will +# link to the source code. +# Otherwise they will link to the documentation. + +REFERENCES_LINK_SOURCE = YES + +# If the USE_HTAGS tag is set to YES then the references to source code +# will point to the HTML generated by the htags(1) tool instead of doxygen +# built-in source browser. The htags tool is part of GNU's global source +# tagging system (see http://www.gnu.org/software/global/global.html). You +# will need version 4.8.6 or higher. + +USE_HTAGS = NO + +# If the VERBATIM_HEADERS tag is set to YES (the default) then Doxygen +# will generate a verbatim copy of the header file for each class for +# which an include is specified. Set to NO to disable this. + +VERBATIM_HEADERS = YES + +#--------------------------------------------------------------------------- +# configuration options related to the alphabetical class index +#--------------------------------------------------------------------------- + +# If the ALPHABETICAL_INDEX tag is set to YES, an alphabetical index +# of all compounds will be generated. Enable this if the project +# contains a lot of classes, structs, unions or interfaces. + +ALPHABETICAL_INDEX = NO + +# If the alphabetical index is enabled (see ALPHABETICAL_INDEX) then +# the COLS_IN_ALPHA_INDEX tag can be used to specify the number of columns +# in which this list will be split (can be a number in the range [1..20]) + +COLS_IN_ALPHA_INDEX = 5 + +# In case all classes in a project start with a common prefix, all +# classes will be put under the same header in the alphabetical index. +# The IGNORE_PREFIX tag can be used to specify one or more prefixes that +# should be ignored while generating the index headers. + +IGNORE_PREFIX = + +#--------------------------------------------------------------------------- +# configuration options related to the HTML output +#--------------------------------------------------------------------------- + +# If the GENERATE_HTML tag is set to YES (the default) Doxygen will +# generate HTML output. + +GENERATE_HTML = YES + +# The HTML_OUTPUT tag is used to specify where the HTML docs will be put. +# If a relative path is entered the value of OUTPUT_DIRECTORY will be +# put in front of it. If left blank `html' will be used as the default path. + +HTML_OUTPUT = html + +# The HTML_FILE_EXTENSION tag can be used to specify the file extension for +# each generated HTML page (for example: .htm,.php,.asp). If it is left blank +# doxygen will generate files with .html extension. + +HTML_FILE_EXTENSION = .html + +# The HTML_HEADER tag can be used to specify a personal HTML header for +# each generated HTML page. If it is left blank doxygen will generate a +# standard header. + +HTML_HEADER = + +# The HTML_FOOTER tag can be used to specify a personal HTML footer for +# each generated HTML page. If it is left blank doxygen will generate a +# standard footer. + +HTML_FOOTER = + +# The HTML_STYLESHEET tag can be used to specify a user-defined cascading +# style sheet that is used by each HTML page. It can be used to +# fine-tune the look of the HTML output. If the tag is left blank doxygen +# will generate a default style sheet. Note that doxygen will try to copy +# the style sheet file to the HTML output directory, so don't put your own +# stylesheet in the HTML output directory as well, or it will be erased! + +HTML_STYLESHEET = + +# The HTML_COLORSTYLE_HUE tag controls the color of the HTML output. +# Doxygen will adjust the colors in the stylesheet and background images +# according to this color. Hue is specified as an angle on a colorwheel, +# see http://en.wikipedia.org/wiki/Hue for more information. +# For instance the value 0 represents red, 60 is yellow, 120 is green, +# 180 is cyan, 240 is blue, 300 purple, and 360 is red again. +# The allowed range is 0 to 359. + +HTML_COLORSTYLE_HUE = 220 + +# The HTML_COLORSTYLE_SAT tag controls the purity (or saturation) of +# the colors in the HTML output. For a value of 0 the output will use +# grayscales only. A value of 255 will produce the most vivid colors. + +HTML_COLORSTYLE_SAT = 100 + +# The HTML_COLORSTYLE_GAMMA tag controls the gamma correction applied to +# the luminance component of the colors in the HTML output. Values below +# 100 gradually make the output lighter, whereas values above 100 make +# the output darker. The value divided by 100 is the actual gamma applied, +# so 80 represents a gamma of 0.8, The value 220 represents a gamma of 2.2, +# and 100 does not change the gamma. + +HTML_COLORSTYLE_GAMMA = 80 + +# If the HTML_TIMESTAMP tag is set to YES then the footer of each generated HTML +# page will contain the date and time when the page was generated. Setting +# this to NO can help when comparing the output of multiple runs. + +HTML_TIMESTAMP = YES + +# If the HTML_ALIGN_MEMBERS tag is set to YES, the members of classes, +# files or namespaces will be aligned in HTML using tables. If set to +# NO a bullet list will be used. + +HTML_ALIGN_MEMBERS = YES + +# If the HTML_DYNAMIC_SECTIONS tag is set to YES then the generated HTML +# documentation will contain sections that can be hidden and shown after the +# page has loaded. For this to work a browser that supports +# JavaScript and DHTML is required (for instance Mozilla 1.0+, Firefox +# Netscape 6.0+, Internet explorer 5.0+, Konqueror, or Safari). + +HTML_DYNAMIC_SECTIONS = NO + +# If the GENERATE_DOCSET tag is set to YES, additional index files +# will be generated that can be used as input for Apple's Xcode 3 +# integrated development environment, introduced with OSX 10.5 (Leopard). +# To create a documentation set, doxygen will generate a Makefile in the +# HTML output directory. Running make will produce the docset in that +# directory and running "make install" will install the docset in +# ~/Library/Developer/Shared/Documentation/DocSets so that Xcode will find +# it at startup. +# See http://developer.apple.com/tools/creatingdocsetswithdoxygen.html +# for more information. + +GENERATE_DOCSET = NO + +# When GENERATE_DOCSET tag is set to YES, this tag determines the name of the +# feed. A documentation feed provides an umbrella under which multiple +# documentation sets from a single provider (such as a company or product suite) +# can be grouped. + +DOCSET_FEEDNAME = "Doxygen generated docs" + +# When GENERATE_DOCSET tag is set to YES, this tag specifies a string that +# should uniquely identify the documentation set bundle. This should be a +# reverse domain-name style string, e.g. com.mycompany.MyDocSet. Doxygen +# will append .docset to the name. + +DOCSET_BUNDLE_ID = org.doxygen.Project + +# When GENERATE_PUBLISHER_ID tag specifies a string that should uniquely identify +# the documentation publisher. This should be a reverse domain-name style +# string, e.g. com.mycompany.MyDocSet.documentation. + +DOCSET_PUBLISHER_ID = org.doxygen.Publisher + +# The GENERATE_PUBLISHER_NAME tag identifies the documentation publisher. + +DOCSET_PUBLISHER_NAME = Publisher + +# If the GENERATE_HTMLHELP tag is set to YES, additional index files +# will be generated that can be used as input for tools like the +# Microsoft HTML help workshop to generate a compiled HTML help file (.chm) +# of the generated HTML documentation. + +GENERATE_HTMLHELP = NO + +# If the GENERATE_HTMLHELP tag is set to YES, the CHM_FILE tag can +# be used to specify the file name of the resulting .chm file. You +# can add a path in front of the file if the result should not be +# written to the html output directory. + +CHM_FILE = + +# If the GENERATE_HTMLHELP tag is set to YES, the HHC_LOCATION tag can +# be used to specify the location (absolute path including file name) of +# the HTML help compiler (hhc.exe). If non-empty doxygen will try to run +# the HTML help compiler on the generated index.hhp. + +HHC_LOCATION = + +# If the GENERATE_HTMLHELP tag is set to YES, the GENERATE_CHI flag +# controls if a separate .chi index file is generated (YES) or that +# it should be included in the master .chm file (NO). + +GENERATE_CHI = NO + +# If the GENERATE_HTMLHELP tag is set to YES, the CHM_INDEX_ENCODING +# is used to encode HtmlHelp index (hhk), content (hhc) and project file +# content. + +CHM_INDEX_ENCODING = + +# If the GENERATE_HTMLHELP tag is set to YES, the BINARY_TOC flag +# controls whether a binary table of contents is generated (YES) or a +# normal table of contents (NO) in the .chm file. + +BINARY_TOC = NO + +# The TOC_EXPAND flag can be set to YES to add extra items for group members +# to the contents of the HTML help documentation and to the tree view. + +TOC_EXPAND = NO + +# If the GENERATE_QHP tag is set to YES and both QHP_NAMESPACE and +# QHP_VIRTUAL_FOLDER are set, an additional index file will be generated +# that can be used as input for Qt's qhelpgenerator to generate a +# Qt Compressed Help (.qch) of the generated HTML documentation. + +GENERATE_QHP = NO + +# If the QHG_LOCATION tag is specified, the QCH_FILE tag can +# be used to specify the file name of the resulting .qch file. +# The path specified is relative to the HTML output folder. + +QCH_FILE = + +# The QHP_NAMESPACE tag specifies the namespace to use when generating +# Qt Help Project output. For more information please see +# http://doc.trolltech.com/qthelpproject.html#namespace + +QHP_NAMESPACE = org.doxygen.Project + +# The QHP_VIRTUAL_FOLDER tag specifies the namespace to use when generating +# Qt Help Project output. For more information please see +# http://doc.trolltech.com/qthelpproject.html#virtual-folders + +QHP_VIRTUAL_FOLDER = doc + +# If QHP_CUST_FILTER_NAME is set, it specifies the name of a custom filter to +# add. For more information please see +# http://doc.trolltech.com/qthelpproject.html#custom-filters + +QHP_CUST_FILTER_NAME = + +# The QHP_CUST_FILT_ATTRS tag specifies the list of the attributes of the +# custom filter to add. For more information please see +# <a href="http://doc.trolltech.com/qthelpproject.html#custom-filters"> +# Qt Help Project / Custom Filters</a>. + +QHP_CUST_FILTER_ATTRS = + +# The QHP_SECT_FILTER_ATTRS tag specifies the list of the attributes this +# project's +# filter section matches. +# <a href="http://doc.trolltech.com/qthelpproject.html#filter-attributes"> +# Qt Help Project / Filter Attributes</a>. + +QHP_SECT_FILTER_ATTRS = + +# If the GENERATE_QHP tag is set to YES, the QHG_LOCATION tag can +# be used to specify the location of Qt's qhelpgenerator. +# If non-empty doxygen will try to run qhelpgenerator on the generated +# .qhp file. + +QHG_LOCATION = + +# If the GENERATE_ECLIPSEHELP tag is set to YES, additional index files +# will be generated, which together with the HTML files, form an Eclipse help +# plugin. To install this plugin and make it available under the help contents +# menu in Eclipse, the contents of the directory containing the HTML and XML +# files needs to be copied into the plugins directory of eclipse. The name of +# the directory within the plugins directory should be the same as +# the ECLIPSE_DOC_ID value. After copying Eclipse needs to be restarted before +# the help appears. + +GENERATE_ECLIPSEHELP = NO + +# A unique identifier for the eclipse help plugin. When installing the plugin +# the directory name containing the HTML and XML files should also have +# this name. + +ECLIPSE_DOC_ID = org.doxygen.Project + +# The DISABLE_INDEX tag can be used to turn on/off the condensed index at +# top of each HTML page. The value NO (the default) enables the index and +# the value YES disables it. + +DISABLE_INDEX = NO + +# This tag can be used to set the number of enum values (range [1..20]) +# that doxygen will group on one line in the generated HTML documentation. + +ENUM_VALUES_PER_LINE = 1 + +# The GENERATE_TREEVIEW tag is used to specify whether a tree-like index +# structure should be generated to display hierarchical information. +# If the tag value is set to YES, a side panel will be generated +# containing a tree-like index structure (just like the one that +# is generated for HTML Help). For this to work a browser that supports +# JavaScript, DHTML, CSS and frames is required (i.e. any modern browser). +# Windows users are probably better off using the HTML help feature. + +GENERATE_TREEVIEW = NO + +# By enabling USE_INLINE_TREES, doxygen will generate the Groups, Directories, +# and Class Hierarchy pages using a tree view instead of an ordered list. + +USE_INLINE_TREES = NO + +# If the treeview is enabled (see GENERATE_TREEVIEW) then this tag can be +# used to set the initial width (in pixels) of the frame in which the tree +# is shown. + +TREEVIEW_WIDTH = 250 + +# When the EXT_LINKS_IN_WINDOW option is set to YES doxygen will open +# links to external symbols imported via tag files in a separate window. + +EXT_LINKS_IN_WINDOW = NO + +# Use this tag to change the font size of Latex formulas included +# as images in the HTML documentation. The default is 10. Note that +# when you change the font size after a successful doxygen run you need +# to manually remove any form_*.png images from the HTML output directory +# to force them to be regenerated. + +FORMULA_FONTSIZE = 10 + +# Use the FORMULA_TRANPARENT tag to determine whether or not the images +# generated for formulas are transparent PNGs. Transparent PNGs are +# not supported properly for IE 6.0, but are supported on all modern browsers. +# Note that when changing this option you need to delete any form_*.png files +# in the HTML output before the changes have effect. + +FORMULA_TRANSPARENT = YES + +# Enable the USE_MATHJAX option to render LaTeX formulas using MathJax (see +# http://www.mathjax.org) which uses client side Javascript for the rendering +# instead of using prerendered bitmaps. Use this if you do not have LaTeX +# installed or if you want to formulas look prettier in the HTML output. When +# enabled you may also need to install MathJax separately and configure the path +# to it using the MATHJAX_RELPATH option. +# The default value is: NO. +# This tag requires that the tag GENERATE_HTML is set to YES. + +USE_MATHJAX = NO + +# When the SEARCHENGINE tag is enabled doxygen will generate a search box +# for the HTML output. The underlying search engine uses javascript +# and DHTML and should work on any modern browser. Note that when using +# HTML help (GENERATE_HTMLHELP), Qt help (GENERATE_QHP), or docsets +# (GENERATE_DOCSET) there is already a search function so this one should +# typically be disabled. For large projects the javascript based search engine +# can be slow, then enabling SERVER_BASED_SEARCH may provide a better solution. + +SEARCHENGINE = YES + +# When the SERVER_BASED_SEARCH tag is enabled the search engine will be +# implemented using a PHP enabled web server instead of at the web client +# using Javascript. Doxygen will generate the search PHP script and index +# file to put on the web server. The advantage of the server +# based approach is that it scales better to large projects and allows +# full text search. The disadvances is that it is more difficult to setup +# and does not have live searching capabilities. + +SERVER_BASED_SEARCH = NO + +#--------------------------------------------------------------------------- +# configuration options related to the LaTeX output +#--------------------------------------------------------------------------- + +# If the GENERATE_LATEX tag is set to YES (the default) Doxygen will +# generate Latex output. + +GENERATE_LATEX = NO + +# The LATEX_OUTPUT tag is used to specify where the LaTeX docs will be put. +# If a relative path is entered the value of OUTPUT_DIRECTORY will be +# put in front of it. If left blank `latex' will be used as the default path. + +LATEX_OUTPUT = latex + +# The LATEX_CMD_NAME tag can be used to specify the LaTeX command name to be +# invoked. If left blank `latex' will be used as the default command name. +# Note that when enabling USE_PDFLATEX this option is only used for +# generating bitmaps for formulas in the HTML output, but not in the +# Makefile that is written to the output directory. + +LATEX_CMD_NAME = latex + +# The MAKEINDEX_CMD_NAME tag can be used to specify the command name to +# generate index for LaTeX. If left blank `makeindex' will be used as the +# default command name. + +MAKEINDEX_CMD_NAME = makeindex + +# If the COMPACT_LATEX tag is set to YES Doxygen generates more compact +# LaTeX documents. This may be useful for small projects and may help to +# save some trees in general. + +COMPACT_LATEX = NO + +# The PAPER_TYPE tag can be used to set the paper type that is used +# by the printer. Possible values are: a4, a4wide, letter, legal and +# executive. If left blank a4wide will be used. + +PAPER_TYPE = a4wide + +# The EXTRA_PACKAGES tag can be to specify one or more names of LaTeX +# packages that should be included in the LaTeX output. + +EXTRA_PACKAGES = + +# The LATEX_HEADER tag can be used to specify a personal LaTeX header for +# the generated latex document. The header should contain everything until +# the first chapter. If it is left blank doxygen will generate a +# standard header. Notice: only use this tag if you know what you are doing! + +LATEX_HEADER = + +# If the PDF_HYPERLINKS tag is set to YES, the LaTeX that is generated +# is prepared for conversion to pdf (using ps2pdf). The pdf file will +# contain links (just like the HTML output) instead of page references +# This makes the output suitable for online browsing using a pdf viewer. + +PDF_HYPERLINKS = NO + +# If the USE_PDFLATEX tag is set to YES, pdflatex will be used instead of +# plain latex in the generated Makefile. Set this option to YES to get a +# higher quality PDF documentation. + +USE_PDFLATEX = NO + +# If the LATEX_BATCHMODE tag is set to YES, doxygen will add the \\batchmode. +# command to the generated LaTeX files. This will instruct LaTeX to keep +# running if errors occur, instead of asking the user for help. +# This option is also used when generating formulas in HTML. + +LATEX_BATCHMODE = NO + +# If LATEX_HIDE_INDICES is set to YES then doxygen will not +# include the index chapters (such as File Index, Compound Index, etc.) +# in the output. + +LATEX_HIDE_INDICES = NO + +# If LATEX_SOURCE_CODE is set to YES then doxygen will include +# source code with syntax highlighting in the LaTeX output. +# Note that which sources are shown also depends on other settings +# such as SOURCE_BROWSER. + +LATEX_SOURCE_CODE = NO + +#--------------------------------------------------------------------------- +# configuration options related to the RTF output +#--------------------------------------------------------------------------- + +# If the GENERATE_RTF tag is set to YES Doxygen will generate RTF output +# The RTF output is optimized for Word 97 and may not look very pretty with +# other RTF readers or editors. + +GENERATE_RTF = NO + +# The RTF_OUTPUT tag is used to specify where the RTF docs will be put. +# If a relative path is entered the value of OUTPUT_DIRECTORY will be +# put in front of it. If left blank `rtf' will be used as the default path. + +RTF_OUTPUT = RTF + +# If the COMPACT_RTF tag is set to YES Doxygen generates more compact +# RTF documents. This may be useful for small projects and may help to +# save some trees in general. + +COMPACT_RTF = NO + +# If the RTF_HYPERLINKS tag is set to YES, the RTF that is generated +# will contain hyperlink fields. The RTF file will +# contain links (just like the HTML output) instead of page references. +# This makes the output suitable for online browsing using WORD or other +# programs which support those fields. +# Note: wordpad (write) and others do not support links. + +RTF_HYPERLINKS = YES + +# Load stylesheet definitions from file. Syntax is similar to doxygen's +# config file, i.e. a series of assignments. You only have to provide +# replacements, missing definitions are set to their default value. + +RTF_STYLESHEET_FILE = + +# Set optional variables used in the generation of an rtf document. +# Syntax is similar to doxygen's config file. + +RTF_EXTENSIONS_FILE = + +#--------------------------------------------------------------------------- +# configuration options related to the man page output +#--------------------------------------------------------------------------- + +# If the GENERATE_MAN tag is set to YES (the default) Doxygen will +# generate man pages + +GENERATE_MAN = NO + +# The MAN_OUTPUT tag is used to specify where the man pages will be put. +# If a relative path is entered the value of OUTPUT_DIRECTORY will be +# put in front of it. If left blank `man' will be used as the default path. + +MAN_OUTPUT = man + +# The MAN_EXTENSION tag determines the extension that is added to +# the generated man pages (default is the subroutine's section .3) + +MAN_EXTENSION = .3 + +# If the MAN_LINKS tag is set to YES and Doxygen generates man output, +# then it will generate one additional man file for each entity +# documented in the real man page(s). These additional files +# only source the real man page, but without them the man command +# would be unable to find the correct page. The default is NO. + +MAN_LINKS = NO + +#--------------------------------------------------------------------------- +# configuration options related to the XML output +#--------------------------------------------------------------------------- + +# If the GENERATE_XML tag is set to YES Doxygen will +# generate an XML file that captures the structure of +# the code including all documentation. + +GENERATE_XML = NO + +# The XML_OUTPUT tag is used to specify where the XML pages will be put. +# If a relative path is entered the value of OUTPUT_DIRECTORY will be +# put in front of it. If left blank `xml' will be used as the default path. + +XML_OUTPUT = xml + +# The XML_SCHEMA tag can be used to specify an XML schema, +# which can be used by a validating XML parser to check the +# syntax of the XML files. + +XML_SCHEMA = + +# The XML_DTD tag can be used to specify an XML DTD, +# which can be used by a validating XML parser to check the +# syntax of the XML files. + +XML_DTD = + +# If the XML_PROGRAMLISTING tag is set to YES Doxygen will +# dump the program listings (including syntax highlighting +# and cross-referencing information) to the XML output. Note that +# enabling this will significantly increase the size of the XML output. + +XML_PROGRAMLISTING = YES + +#--------------------------------------------------------------------------- +# configuration options for the AutoGen Definitions output +#--------------------------------------------------------------------------- + +# If the GENERATE_AUTOGEN_DEF tag is set to YES Doxygen will +# generate an AutoGen Definitions (see autogen.sf.net) file +# that captures the structure of the code including all +# documentation. Note that this feature is still experimental +# and incomplete at the moment. + +GENERATE_AUTOGEN_DEF = NO + +#--------------------------------------------------------------------------- +# configuration options related to the Perl module output +#--------------------------------------------------------------------------- + +# If the GENERATE_PERLMOD tag is set to YES Doxygen will +# generate a Perl module file that captures the structure of +# the code including all documentation. Note that this +# feature is still experimental and incomplete at the +# moment. + +GENERATE_PERLMOD = NO + +# If the PERLMOD_LATEX tag is set to YES Doxygen will generate +# the necessary Makefile rules, Perl scripts and LaTeX code to be able +# to generate PDF and DVI output from the Perl module output. + +PERLMOD_LATEX = NO + +# If the PERLMOD_PRETTY tag is set to YES the Perl module output will be +# nicely formatted so it can be parsed by a human reader. +# This is useful +# if you want to understand what is going on. +# On the other hand, if this +# tag is set to NO the size of the Perl module output will be much smaller +# and Perl will parse it just the same. + +PERLMOD_PRETTY = YES + +# The names of the make variables in the generated doxyrules.make file +# are prefixed with the string contained in PERLMOD_MAKEVAR_PREFIX. +# This is useful so different doxyrules.make files included by the same +# Makefile don't overwrite each other's variables. + +PERLMOD_MAKEVAR_PREFIX = + +#--------------------------------------------------------------------------- +# Configuration options related to the preprocessor +#--------------------------------------------------------------------------- + +# If the ENABLE_PREPROCESSING tag is set to YES (the default) Doxygen will +# evaluate all C-preprocessor directives found in the sources and include +# files. + +ENABLE_PREPROCESSING = YES + +# If the MACRO_EXPANSION tag is set to YES Doxygen will expand all macro +# names in the source code. If set to NO (the default) only conditional +# compilation will be performed. Macro expansion can be done in a controlled +# way by setting EXPAND_ONLY_PREDEF to YES. + +MACRO_EXPANSION = YES + +# If the EXPAND_ONLY_PREDEF and MACRO_EXPANSION tags are both set to YES +# then the macro expansion is limited to the macros specified with the +# PREDEFINED and EXPAND_AS_DEFINED tags. + +EXPAND_ONLY_PREDEF = YES + +# If the SEARCH_INCLUDES tag is set to YES (the default) the includes files +# in the INCLUDE_PATH (see below) will be search if a #include is found. + +SEARCH_INCLUDES = YES + +# The INCLUDE_PATH tag can be used to specify one or more directories that +# contain include files that are not input files but should be processed by +# the preprocessor. + +INCLUDE_PATH = ../.. ../../../../include + +# You can use the INCLUDE_FILE_PATTERNS tag to specify one or more wildcard +# patterns (like *.h and *.hpp) to filter out the header-files in the +# directories. If left blank, the patterns specified with FILE_PATTERNS will +# be used. + +INCLUDE_FILE_PATTERNS = + +# The PREDEFINED tag can be used to specify one or more macro names that +# are defined before the preprocessor is started (similar to the -D option of +# gcc). The argument of the tag is a list of macros of the form: name +# or name=definition (no spaces). If the definition and the = are +# omitted =1 is assumed. To prevent a macro definition from being +# undefined via #undef or recursively expanded use the := operator +# instead of the = operator. + +PREDEFINED = __DOXYGEN__ __AVR32_ABI_COMPILER__ __attribute__()= __GNUC__=4 + +# If the MACRO_EXPANSION and EXPAND_ONLY_PREDEF tags are set to YES then +# this tag can be used to specify a list of macro names that should be expanded. +# The macro definition that is found in the sources will be used. +# Use the PREDEFINED tag if you want to use a different macro definition. + +EXPAND_AS_DEFINED = + +# If the SKIP_FUNCTION_MACROS tag is set to YES (the default) then +# doxygen's preprocessor will remove all function-like macros that are alone +# on a line, have an all uppercase name, and do not end with a semicolon. Such +# function macros are typically used for boiler-plate code, and will confuse +# the parser if not removed. + +SKIP_FUNCTION_MACROS = YES + +#--------------------------------------------------------------------------- +# Configuration::additions related to external references +#--------------------------------------------------------------------------- + +# The TAGFILES option can be used to specify one or more tagfiles. +# Optionally an initial location of the external documentation +# can be added for each tagfile. The format of a tag file without +# this location is as follows: +# +# TAGFILES = file1 file2 ... +# Adding location for the tag files is done as follows: +# +# TAGFILES = file1=loc1 "file2 = loc2" ... +# where "loc1" and "loc2" can be relative or absolute paths or +# URLs. If a location is present for each tag, the installdox tool +# does not have to be run to correct the links. +# Note that each tag file must have a unique name +# (where the name does NOT include the path) +# If a tag file is not located in the directory in which doxygen +# is run, you must also specify the path to the tagfile here. + +TAGFILES = + +# When a file name is specified after GENERATE_TAGFILE, doxygen will create +# a tag file that is based on the input files it reads. + +GENERATE_TAGFILE = + +# If the ALLEXTERNALS tag is set to YES all external classes will be listed +# in the class index. If set to NO only the inherited external classes +# will be listed. + +ALLEXTERNALS = NO + +# If the EXTERNAL_GROUPS tag is set to YES all external groups will be listed +# in the modules index. If set to NO, only the current project's groups will +# be listed. + +EXTERNAL_GROUPS = YES + +# The PERL_PATH should be the absolute path and name of the perl script +# interpreter (i.e. the result of `which perl'). + +PERL_PATH = /usr/bin/perl + +#--------------------------------------------------------------------------- +# Configuration options related to the dot tool +#--------------------------------------------------------------------------- + +# If the CLASS_DIAGRAMS tag is set to YES (the default) Doxygen will +# generate a inheritance diagram (in HTML, RTF and LaTeX) for classes with base +# or super classes. Setting the tag to NO turns the diagrams off. Note that +# this option is superseded by the HAVE_DOT option below. This is only a +# fallback. It is recommended to install and use dot, since it yields more +# powerful graphs. + +CLASS_DIAGRAMS = YES + +# You can define message sequence charts within doxygen comments using the \msc +# command. Doxygen will then run the mscgen tool (see +# http://www.mcternan.me.uk/mscgen/) to produce the chart and insert it in the +# documentation. The MSCGEN_PATH tag allows you to specify the directory where +# the mscgen tool resides. If left empty the tool is assumed to be found in the +# default search path. + +MSCGEN_PATH = + +# If set to YES, the inheritance and collaboration graphs will hide +# inheritance and usage relations if the target is undocumented +# or is not a class. + +HIDE_UNDOC_RELATIONS = YES + +# If you set the HAVE_DOT tag to YES then doxygen will assume the dot tool is +# available from the path. This tool is part of Graphviz, a graph visualization +# toolkit from AT&T and Lucent Bell Labs. The other options in this section +# have no effect if this option is set to NO (the default) + +HAVE_DOT = YES + +# The DOT_NUM_THREADS specifies the number of dot invocations doxygen is +# allowed to run in parallel. When set to 0 (the default) doxygen will +# base this on the number of processors available in the system. You can set it +# explicitly to a value larger than 0 to get control over the balance +# between CPU load and processing speed. + +DOT_NUM_THREADS = 0 + +# By default doxygen will write a font called FreeSans.ttf to the output +# directory and reference it in all dot files that doxygen generates. This +# font does not include all possible unicode characters however, so when you need +# these (or just want a differently looking font) you can specify the font name +# using DOT_FONTNAME. You need need to make sure dot is able to find the font, +# which can be done by putting it in a standard location or by setting the +# DOTFONTPATH environment variable or by setting DOT_FONTPATH to the directory +# containing the font. + +DOT_FONTNAME = FreeSans + +# The DOT_FONTSIZE tag can be used to set the size of the font of dot graphs. +# The default size is 10pt. + +DOT_FONTSIZE = 10 + +# By default doxygen will tell dot to use the output directory to look for the +# FreeSans.ttf font (which doxygen will put there itself). If you specify a +# different font using DOT_FONTNAME you can set the path where dot +# can find it using this tag. + +DOT_FONTPATH = + +# If the CLASS_GRAPH and HAVE_DOT tags are set to YES then doxygen +# will generate a graph for each documented class showing the direct and +# indirect inheritance relations. Setting this tag to YES will force the +# the CLASS_DIAGRAMS tag to NO. + +CLASS_GRAPH = YES + +# If the COLLABORATION_GRAPH and HAVE_DOT tags are set to YES then doxygen +# will generate a graph for each documented class showing the direct and +# indirect implementation dependencies (inheritance, containment, and +# class references variables) of the class with other documented classes. + +COLLABORATION_GRAPH = YES + +# If the GROUP_GRAPHS and HAVE_DOT tags are set to YES then doxygen +# will generate a graph for groups, showing the direct groups dependencies + +GROUP_GRAPHS = YES + +# If the UML_LOOK tag is set to YES doxygen will generate inheritance and +# collaboration diagrams in a style similar to the OMG's Unified Modeling +# Language. + +UML_LOOK = YES + +# If set to YES, the inheritance and collaboration graphs will show the +# relations between templates and their instances. + +TEMPLATE_RELATIONS = YES + +# If the ENABLE_PREPROCESSING, SEARCH_INCLUDES, INCLUDE_GRAPH, and HAVE_DOT +# tags are set to YES then doxygen will generate a graph for each documented +# file showing the direct and indirect include dependencies of the file with +# other documented files. + +INCLUDE_GRAPH = YES + +# If the ENABLE_PREPROCESSING, SEARCH_INCLUDES, INCLUDED_BY_GRAPH, and +# HAVE_DOT tags are set to YES then doxygen will generate a graph for each +# documented header file showing the documented files that directly or +# indirectly include this file. + +INCLUDED_BY_GRAPH = YES + +# If the CALL_GRAPH and HAVE_DOT options are set to YES then +# doxygen will generate a call dependency graph for every global function +# or class method. Note that enabling this option will significantly increase +# the time of a run. So in most cases it will be better to enable call graphs +# for selected functions only using the \callgraph command. + +CALL_GRAPH = YES + +# If the CALLER_GRAPH and HAVE_DOT tags are set to YES then +# doxygen will generate a caller dependency graph for every global function +# or class method. Note that enabling this option will significantly increase +# the time of a run. So in most cases it will be better to enable caller +# graphs for selected functions only using the \callergraph command. + +CALLER_GRAPH = NO + +# If the GRAPHICAL_HIERARCHY and HAVE_DOT tags are set to YES then doxygen +# will graphical hierarchy of all classes instead of a textual one. + +GRAPHICAL_HIERARCHY = YES + +# If the DIRECTORY_GRAPH, SHOW_DIRECTORIES and HAVE_DOT tags are set to YES +# then doxygen will show the dependencies a directory has on other directories +# in a graphical way. The dependency relations are determined by the #include +# relations between the files in the directories. + +DIRECTORY_GRAPH = YES + +# The DOT_IMAGE_FORMAT tag can be used to set the image format of the images +# generated by dot. Possible values are png, jpg, or gif +# If left blank png will be used. + +DOT_IMAGE_FORMAT = gif + +# The tag DOT_PATH can be used to specify the path where the dot tool can be +# found. If left blank, it is assumed the dot tool can be found in the path. + +DOT_PATH = + +# The DOTFILE_DIRS tag can be used to specify one or more directories that +# contain dot files that are included in the documentation (see the +# \dotfile command). + +DOTFILE_DIRS = + +# The DOT_GRAPH_MAX_NODES tag can be used to set the maximum number of +# nodes that will be shown in the graph. If the number of nodes in a graph +# becomes larger than this value, doxygen will truncate the graph, which is +# visualized by representing a node as a red box. Note that doxygen if the +# number of direct children of the root node in a graph is already larger than +# DOT_GRAPH_MAX_NODES then the graph will not be shown at all. Also note +# that the size of a graph can be further restricted by MAX_DOT_GRAPH_DEPTH. + +DOT_GRAPH_MAX_NODES = 50 + +# The MAX_DOT_GRAPH_DEPTH tag can be used to set the maximum depth of the +# graphs generated by dot. A depth value of 3 means that only nodes reachable +# from the root by following a path via at most 3 edges will be shown. Nodes +# that lay further from the root node will be omitted. Note that setting this +# option to 1 or 2 may greatly reduce the computation time needed for large +# code bases. Also note that the size of a graph can be further restricted by +# DOT_GRAPH_MAX_NODES. Using a depth of 0 means no depth restriction. + +MAX_DOT_GRAPH_DEPTH = 0 + +# Set the DOT_TRANSPARENT tag to YES to generate images with a transparent +# background. This is disabled by default, because dot on Windows does not +# seem to support this out of the box. Warning: Depending on the platform used, +# enabling this option may lead to badly anti-aliased labels on the edges of +# a graph (i.e. they become hard to read). + +DOT_TRANSPARENT = NO + +# Set the DOT_MULTI_TARGETS tag to YES allow dot to generate multiple output +# files in one run (i.e. multiple -o and -T options on the command line). This +# makes dot run faster, but since only newer versions of dot (>1.8.10) +# support this, this feature is disabled by default. + +DOT_MULTI_TARGETS = YES + +# If the GENERATE_LEGEND tag is set to YES (the default) Doxygen will +# generate a legend page explaining the meaning of the various boxes and +# arrows in the dot generated graphs. + +GENERATE_LEGEND = YES + +# If the DOT_CLEANUP tag is set to YES (the default) Doxygen will +# remove the intermediate dot files that are used to generate +# the various graphs. + +DOT_CLEANUP = YES diff --git a/thirdparty/prime/mac/mac_1_3/addons/serial_if/doxygen/thirdparty.prime.mac_1_3.addons.snf_serial_if/doxygen_module_mainpage.h b/thirdparty/prime/mac/mac_1_3/addons/serial_if/doxygen/thirdparty.prime.mac_1_3.addons.snf_serial_if/doxygen_module_mainpage.h new file mode 100644 index 00000000..26566747 --- /dev/null +++ b/thirdparty/prime/mac/mac_1_3/addons/serial_if/doxygen/thirdparty.prime.mac_1_3.addons.snf_serial_if/doxygen_module_mainpage.h @@ -0,0 +1,58 @@ + +/** + * Copyright (c) 2012 Atmel Corporation. All rights reserved. + * + * \asf_license_start + * + * \page License + * + * 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 microcontroller 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. + * + * \asf_license_stop + * + * \mainpage + * + * \section intro Introduction + * This documentation has been automatically generated, and documents the source + * code found in the Atmel Software Framework (ASF). <p> + * Use the above menu to navigate in the documentation, or use the links below: <br> + * <ul> + * <li> <a href="globals_func.html">Functions</a> + * <li> <a href="annotated.html">Data structures</a> + * <li> <a href="globals_type.html">Defines</a> + * </ul> + * + * \section main_licence License + * <ul> + * <li>\ref License + * </ul> + * \section contactinfo Contact Information + * For further information, visit <a href="http://www.atmel.com/">Atmel</a>.\n + * + */ diff --git a/thirdparty/prime/mac/mac_1_3/addons/serial_if/serial_if_mac.c b/thirdparty/prime/mac/mac_1_3/addons/serial_if/serial_if_mac.c new file mode 100644 index 00000000..38129505 --- /dev/null +++ b/thirdparty/prime/mac/mac_1_3/addons/serial_if/serial_if_mac.c @@ -0,0 +1,1273 @@ +/** + * \file + * + * \brief PRIME Serial Interface for MAC + * + * Copyright (c) 2014-2015 Atmel Corporation. All rights reserved. + * + * \asf_license_start + * + * \page License + * + * 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 microcontroller 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. + * + * \asf_license_stop + * + */ + +#include <string.h> +#include "compiler.h" + +#include "serial_if_mac.h" + +/* From module: PRIME MAC Layer */ +#include <mngl.h> +#include <prime.h> + +/* From module: PLC Universal Serial Interface */ +#include <usi.h> + +/* @cond 0 */ +/**INDENT-OFF**/ +#ifdef __cplusplus +extern "C" { +#endif +/**INDENT-ON**/ +/* @endcond */ + +/** + * \weakgroup serial_mac_prime_group + * @{ + */ + +/* \name Validity indications */ +/* @{ */ +#define VALID 1 +#define NOTVALID 0 +/* @} */ + +/* \name Reception variables */ +/* @{ */ +static uint8_t *puc_rx; /* Pointer to received message */ +static uint16_t us_rx_len; /* Data length of received message */ +/* @} */ + +/* \name Transmission variables */ +/* @{ */ +static uint16_t us_tx_len; /* Data length in transmitted message */ +/* @} */ + +static MacSapCallBack cmd; +static MacSapCallBack *newMacCallBackCmd = &cmd; +static uint8_t commandMacToPack[PRIME_MACSAP_DATA_SIZE]; + +#pragma message ("PRIME_MAC_CFG: MAC_SERIALIZATION") + +/** + * \internal + * \brief This function packs the MAC callback primitive Establish.Indication. + * + * \note Copies puc_buf[] into puc_dst[], re-ordering the bytes to adapt to the + * serial communication. + * After packing, it requests the sending to the CS layer. + * + * \param us_con_handle Connection handler + * \param puc_eui48_addr Pointer to node's MAC address to set the connection + * \param uc_type Type of convergence sublayer for the connection + * \param puc_data Pointer to the data attached to the connection + * request + * \param us_data_len Data length of the data attached to the request + * \param us_cf_bytes Number of CFP Bytes to be allocated for the + * conecction + * \param uc_error_type Error type + * + * \retval 0 if the request has been made to the CS layer + * \retval -1 if it was unable to pass the request to the CS layer + */ +static int8_t _serial_if_mac_pack_establish_ind(uint16_t us_con_handle, + const uint8_t *puc_eui48_addr, uint8_t uc_type, + const uint8_t *puc_data, + uint16_t us_data_len, uint16_t us_cf_bytes, + uint8_t uc_error_type) +{ + uint8_t *puc_tx_buff; + uint16_t us_idx; + + /* Fill in received data, leaving space for required overhead */ + puc_tx_buff = &commandMacToPack[0]; + *puc_tx_buff++ = PRIME_MACSAP_ESTABLISH_INDICATION; + *puc_tx_buff++ = (uint8_t)(us_con_handle >> 8); + *puc_tx_buff++ = (uint8_t)us_con_handle; + if (puc_eui48_addr == NULL) { + *puc_tx_buff++ = NOTVALID; /* No EUI48 address */ + } else { + *puc_tx_buff++ = VALID; + for (us_idx = 0; us_idx < PRIME_MAC_LENGTH; us_idx++) { + *puc_tx_buff++ = (char)puc_eui48_addr[us_idx]; + } + } + + *puc_tx_buff++ = (char)uc_type; + *puc_tx_buff++ = (uint8_t)(us_data_len >> 8); + *puc_tx_buff++ = (uint8_t)us_data_len; + for (us_idx = 0; us_idx < us_data_len; us_idx++) { + *puc_tx_buff++ = (char)puc_data[us_idx]; + } + *puc_tx_buff++ = (uint8_t)(us_cf_bytes >> 8); + *puc_tx_buff++ = (uint8_t)us_cf_bytes; + + *puc_tx_buff++ = uc_error_type; + + /* Calculate MAC message length */ + us_tx_len = (uint16_t)(puc_tx_buff - &commandMacToPack[0]); + + return(0); +} + +/** + * \internal + * \brief This function packs the MAC callback primitive Establish.Confirm. + * + * \note After packing, it requests the sending to the CS layer. + * + * \param us_con_handle Connection handler + * \param uc_reason Reason for the connection indication + * \param puc_eui48_addr Pointer to node's MAC address to set the connection + * \param uc_type Type of convergence sublayer for the connection + * \param puc_data Pointer to the data attached to the connection + * request + * \param us_data_len Data length of the data attached to the request + * \param uc_error_type Error type + * + * \retval 0 if the request has been made to the CS layer + * \retval -1 if it was unable to pass the request to the CS layer + */ +static int8_t _serial_if_mac_pack_establish_conf(uint16_t us_con_handle, + uint8_t uc_reason, const uint8_t *puc_eui48_addr, + uint8_t uc_type, + const uint8_t *puc_data, uint16_t us_data_len, + uint8_t uc_error_type) +{ + uint8_t *puc_tx_buff; + uint16_t us_idx; + + /* Fill in received data, leaving space for required overhead */ + puc_tx_buff = &commandMacToPack[0]; + *puc_tx_buff++ = PRIME_MACSAP_ESTABLISH_CONFIRM; + *puc_tx_buff++ = (char)(us_con_handle >> 8); + *puc_tx_buff++ = (char)us_con_handle; + *puc_tx_buff++ = (char)uc_reason; + if (puc_eui48_addr == NULL) { + *puc_tx_buff++ = NOTVALID; /* No EUI48 address */ + } else { + *puc_tx_buff++ = VALID; + for (us_idx = 0; us_idx < PRIME_MAC_LENGTH; us_idx++) { + *puc_tx_buff++ = (char)puc_eui48_addr[us_idx]; + } + } + + *puc_tx_buff++ = (char)uc_type; + *puc_tx_buff++ = (char)(us_data_len >> 8); + *puc_tx_buff++ = (char)us_data_len; + for (us_idx = 0; us_idx < us_data_len; us_idx++) { + *puc_tx_buff++ = (char)puc_data[us_idx]; + } + + *puc_tx_buff++ = (char)uc_error_type; + + /* Calculate MAC message length */ + us_tx_len = (uint16_t)(puc_tx_buff - &commandMacToPack[0]); + + return(0); +} + +/** + * \internal + * \brief This function packs the MAC callback primitive Release.Indication. + * + * \note After packing, it requests the sending to the CS layer. + * + * \param us_con_handle Connection handler + * \param uc_reason Reason for the release + * \param uc_type Type of convergence sublayer for the connection + * \param uc_error_type Error type + * + * \retval 0 if the request has been made to the CS layer + * \retval -1 if it was unable to pass the request to the CS layer + */ +static int8_t _serial_if_mac_pack_release_ind(uint16_t us_con_handle, + uint8_t uc_reason, uint8_t uc_type, uint8_t uc_error_type) +{ + uint8_t *puc_tx_buff; + + /* Fill in received data, leaving space for required overhead */ + puc_tx_buff = &commandMacToPack[0]; + *puc_tx_buff++ = PRIME_MACSAP_RELEASE_INDICATION; + *puc_tx_buff++ = (char)(us_con_handle >> 8); + *puc_tx_buff++ = (char)us_con_handle; + *puc_tx_buff++ = (char)uc_reason; + *puc_tx_buff++ = (char)uc_type; + *puc_tx_buff++ = (char)uc_error_type; + + /* Calculate MAC message length */ + us_tx_len = (uint16_t)(puc_tx_buff - &commandMacToPack[0]); + + return(0); +} + +/** + * \internal + * \brief This function packs the MAC callback primitive Release.Confirm. + * + * \note After packing, it requests the sending to the CS layer. + * + * \param us_con_handle Connection handler + * \param uc_result Result of the release + * \param uc_type Type of convergence sublayer for the connection + * \param uc_error_type Error type + * + * \retval 0 if the request has been made to the CS layer + * \retval -1 if it was unable to pass the request to the CS layer + */ +static int8_t _serial_if_mac_pack_release_conf(uint16_t us_con_handle, + uint8_t uc_result, uint8_t uc_type, uint8_t uc_error_type) +{ + uint8_t *puc_tx_buff; + + /* Fill in received data, leaving space for required overhead */ + puc_tx_buff = &commandMacToPack[0]; + *puc_tx_buff++ = PRIME_MACSAP_RELEASE_CONFIRM; + *puc_tx_buff++ = (char)(us_con_handle >> 8); + *puc_tx_buff++ = (char)us_con_handle; + *puc_tx_buff++ = (char)uc_result; + *puc_tx_buff++ = (char)uc_type; + *puc_tx_buff++ = (char)uc_error_type; + + /* Calculate MAC message length */ + us_tx_len = (uint16_t)(puc_tx_buff - &commandMacToPack[0]); + + return(0); +} + +/** + * \internal + * \brief This function packs the MAC callback primitive Join.Confirm. + * + * \note After packing, it requests the sending to the CS layer. + * + * \param us_con_handle Connection handler + * \param uc_result Result to the join indication + * \param uc_type Type of convergence sublayer for the connection + * \param uc_error_type Error type + * + * \retval 0 if the request has been made to the CS layer + * \retval -1 if it was unable to pass the request to the CS layer + */ +static int8_t _serial_if_mac_pack_join_conf(uint16_t us_con_handle, + uint8_t uc_result, uint8_t uc_type, uint8_t uc_error_type) +{ + uint8_t *puc_tx_buff; + + /* Fill in received data, leaving space for required overhead */ + puc_tx_buff = &commandMacToPack[0]; + *puc_tx_buff++ = PRIME_MACSAP_JOIN_CONFIRM; + *puc_tx_buff++ = (char)(us_con_handle >> 8); + *puc_tx_buff++ = (char)us_con_handle; + *puc_tx_buff++ = (char)uc_result; + *puc_tx_buff++ = (char)uc_type; + *puc_tx_buff++ = (char)uc_error_type; + + us_tx_len = (uint16_t)(puc_tx_buff - &commandMacToPack[0]); + + return(0); +} + +/** + * \internal + * \brief This function packs the MAC callback primitive Join.Indication.Base. + * + * \note After packing, it requests the sending to the CS layer. + * + * \param us_con_handle Connection handler + * \param puc_eui48_addr Pointer to node's MAC address to set the connection + * \param uc_type Type of convergence sublayer for the connection + * \param puc_data Pointer to the data attached to the connection + * request + * \param us_data_len Data length of the data attached to the request + * \param uc_error_type Error type + * + * \retval 0 if the request has been made to the CS layer + * \retval -1 if it was unable to pass the request to the CS layer + */ +static int8_t _serial_if_mac_pack_join_ind_base(uint16_t us_con_handle, + const uint8_t *puc_eui48_addr, uint8_t uc_type, + const uint8_t *puc_data, + uint16_t us_data_len, uint8_t uc_error_type) +{ + uint8_t *puc_tx_buff; + uint16_t us_idx; + + /* Fill in received data, leaving space for required overhead */ + puc_tx_buff = &commandMacToPack[0]; + *puc_tx_buff++ = PRIME_MACSAP_JOIN_INDICATION_BASE; + *puc_tx_buff++ = (char)(us_con_handle >> 8); + *puc_tx_buff++ = (char)us_con_handle; + if (puc_eui48_addr == NULL) { + *puc_tx_buff++ = NOTVALID; /* No EUI48 address */ + } else { + *puc_tx_buff++ = VALID; + for (us_idx = 0; us_idx < PRIME_MAC_LENGTH; us_idx++) { + *puc_tx_buff++ = (char)puc_eui48_addr[us_idx]; + } + } + + *puc_tx_buff++ = (char)uc_type; + *puc_tx_buff++ = (char)(us_data_len >> 8); + *puc_tx_buff++ = (char)us_data_len; + for (us_idx = 0; us_idx < us_data_len; us_idx++) { + *puc_tx_buff++ = (char)puc_data[us_idx]; + } + + *puc_tx_buff++ = (char)uc_error_type; + + /* Calculate MAC message length */ + us_tx_len = (uint16_t)(puc_tx_buff - &commandMacToPack[0]); + + return(0); +} + +/** + * \internal + * \brief This function packs the MAC callback primitive + * Join.Indication.Service. + * + * \note After packing, it requests the sending to the CS layer. + * + * \param us_con_handle Connection handler + * \param puc_data Pointer to the data attached to the connection + * request + * \param us_data_len Data length of the data attached to the request + * \param uc_type Type of convergence sublayer for the connection + * \param uc_error_type Error type + * + * \retval 0 if the request has been made to the CS layer + * \retval -1 if it was unable to pass the request to the CS layer + */ +static int8_t _serial_if_mac_pack_join_ind_service(uint16_t us_con_handle, + const uint8_t *puc_data, uint16_t us_data_len, uint8_t uc_type, + uint8_t uc_error_type) +{ + uint8_t *puc_tx_buff; + uint16_t us_idx; + + /* Fill in received data, leaving space for required overhead */ + puc_tx_buff = &commandMacToPack[0]; + *puc_tx_buff++ = PRIME_MACSAP_JOIN_INDICATION_SERVICE; + *puc_tx_buff++ = (char)(us_con_handle >> 8); + *puc_tx_buff++ = (char)us_con_handle; + *puc_tx_buff++ = (char)uc_type; + *puc_tx_buff++ = (char)(us_data_len >> 8); + *puc_tx_buff++ = (char)us_data_len; + for (us_idx = 0; us_idx < us_data_len; us_idx++) { + *puc_tx_buff++ = (char)puc_data[us_idx]; + } + *puc_tx_buff++ = (char)uc_error_type; + + /* Calculate MAC message length */ + us_tx_len = (uint16_t)(puc_tx_buff - &commandMacToPack[0]); + + return(0); +} + +/** + * \internal + * \brief This function packs the MAC callback primitive Leave.Confirm. + * + * \note After packing, it requests the sending to the CS layer. + * + * \param us_con_handle Connection handler + * \param uc_result Result for the leave indication + * \param uc_type Type of convergence sublayer for the connection + * \param uc_error_type Error type + * + * \retval 0 if the request has been made to the CS layer + * \retval -1 if it was unable to pass the request to the CS layer + */ +static int8_t _serial_if_mac_pack_leave_conf(uint16_t us_con_handle, + uint8_t uc_result, uint8_t uc_type, uint8_t uc_error_type) +{ + uint8_t *puc_tx_buff; + + /* Fill in received data, leaving space for required overhead */ + puc_tx_buff = &commandMacToPack[0]; + *puc_tx_buff++ = PRIME_MACSAP_LEAVE_CONFIRM; + *puc_tx_buff++ = (char)(us_con_handle >> 8); + *puc_tx_buff++ = (char)us_con_handle; + *puc_tx_buff++ = (char)uc_result; + *puc_tx_buff++ = (char)uc_type; + *puc_tx_buff++ = (char)uc_error_type; + + /* Calculate MAC message length */ + us_tx_len = (uint16_t)(puc_tx_buff - &commandMacToPack[0]); + + return(0); +} + +/** + * \internal + * \brief This function packs the MAC callback primitive Leave.Indication.Base. + * + * \note After packing, it requests the sending to the CS layer. + * + * \param us_con_handle Connection handler + * \param puc_eui48_addr Pointer to node's MAC address to set the connection + * \param uc_type Type of convergence sublayer for the connection + * \param uc_error_type Error type + * + * \retval 0 if the request has been made to the CS layer + * \retval -1 if it was unable to pass the request to the CS layer + */ +static int8_t _serial_if_mac_pack_leave_ind_base(uint16_t us_con_handle, + const uint8_t *puc_eui48_addr, uint8_t uc_type, + uint8_t uc_error_type) +{ + uint8_t *puc_tx_buff; + uint16_t us_idx; + + /* Fill in received data, leaving space for required overhead */ + puc_tx_buff = &commandMacToPack[0]; + *puc_tx_buff++ = PRIME_MACSAP_LEAVE_INDICATION_BASE; + *puc_tx_buff++ = (char)(us_con_handle >> 8); + *puc_tx_buff++ = (char)us_con_handle; + if (puc_eui48_addr == NULL) { + *puc_tx_buff++ = NOTVALID; /* No EUI48 address */ + } else { + *puc_tx_buff++ = VALID; + for (us_idx = 0; us_idx < PRIME_MAC_LENGTH; us_idx++) { + *puc_tx_buff++ = (char)puc_eui48_addr[us_idx]; + } + } + + *puc_tx_buff++ = (char)uc_type; + *puc_tx_buff++ = (char)uc_error_type; + + /* Calculate MAC message length */ + us_tx_len = (uint16_t)(puc_tx_buff - &commandMacToPack[0]); + + return(0); +} + +/** + * \internal + * \brief This function packs the MAC callback primitive + * Leave.Indication.Service. + * + * \note After packing, it requests the sending to the CS layer. + * + * \param us_con_handle Connection handler + * \param uc_type Type of convergence sublayer for the connection + * \param uc_error_type Error type + * + * \retval 0 if the request has been made to the CS layer + * \retval -1 if it was unable to pass the request to the CS layer + */ +static int8_t _serial_if_mac_pack_leave_ind_service(uint16_t us_con_handle, + uint8_t uc_type, uint8_t uc_error_type) +{ + uint8_t *puc_tx_buff; + + /* Fill in received data, leaving space for required overhead */ + puc_tx_buff = &commandMacToPack[0]; + *puc_tx_buff++ = PRIME_MACSAP_LEAVE_INDICATION_SERVICE; + *puc_tx_buff++ = (char)(us_con_handle >> 8); + *puc_tx_buff++ = (char)us_con_handle; + *puc_tx_buff++ = (char)uc_type; + *puc_tx_buff++ = (char)uc_error_type; + + /* Calculate MAC message length */ + us_tx_len = (uint16_t)(puc_tx_buff - &commandMacToPack[0]); + + return(0); +} + +/** + * \internal + * \brief This function packs the MAC callback primitive Data.Confirm. + * + * \note After packing, it requests the sending to the CS layer. + * + * \param us_con_handle Connection handler + * \param puc_data Pointer to the data attached to the connection + * request + * \param uc_result Result of the transmission + * \param uc_type Type of convergence sublayer for the connection + * \param uc_error_type Error type + * + * \retval 0 if the request has been made to the CS layer + * \retval -1 if it was unable to pass the request to the CS layer + */ +static int8_t _serial_if_mac_pack_data_conf(uint16_t us_con_handle, + const uint8_t *puc_data, uint8_t uc_result, uint8_t uc_type, + uint8_t uc_error_type) +{ + uint8_t *puc_tx_buff; + int16_t s_idx; + uint16_t us_data_len; + + /* Since no data length is provided, send only valid buffer data to */ + /* save space and time */ + us_data_len = MAX_PDU_SIZE; + for (s_idx = (MAX_PDU_SIZE - 1); s_idx >= 0; s_idx--) { + if (puc_data[s_idx] != 0) { + us_data_len = (uint16_t)(s_idx + 1); + break; + } + } + + /* Fill in received data, leaving space for required overhead */ + puc_tx_buff = &commandMacToPack[0]; + *puc_tx_buff++ = PRIME_MACSAP_DATA_CONFIRM; + *puc_tx_buff++ = (char)(us_con_handle >> 8); + *puc_tx_buff++ = (char)us_con_handle; + *puc_tx_buff++ = (char)uc_result; + *puc_tx_buff++ = (char)uc_type; + *puc_tx_buff++ = (char)(us_data_len >> 8); + *puc_tx_buff++ = (char)us_data_len; + for (s_idx = 0; s_idx < us_data_len; s_idx++) { + *puc_tx_buff++ = (char)puc_data[s_idx]; + } + *puc_tx_buff++ = (char)uc_error_type; + + /* Calculate MAC message length */ + us_tx_len = (uint16_t)(puc_tx_buff - &commandMacToPack[0]); + + return(0); +} + +/** + * \internal + * \brief This function packs the MAC callback primitive Data.Indication. + * + * \note After packing, it requests the sending to the CS layer. + * + * \param us_con_handle Connection handler + * \param puc_data Pointer to the data attached to the connection + * request + * \param us_data_len Data length of the data attached to the request + * \param uc_type Type of convergence sublayer for the connection + * \param uc_error_type Error type + * + * \retval 0 if the request has been made to the CS layer + * \retval -1 if it was unable to pass the request to the CS layer + */ +static int8_t _serial_if_mac_pack_data_ind(uint16_t us_con_handle, + const uint8_t *puc_data, uint16_t us_data_len, uint8_t uc_type, + uint8_t uc_error_type) +{ + uint8_t *puc_tx_buff; + uint16_t us_idx; + + /* Fill in received data, leaving space for required overhead */ + puc_tx_buff = &commandMacToPack[0]; + *puc_tx_buff++ = PRIME_MACSAP_DATA_INDICATION; + *puc_tx_buff++ = (char)(us_con_handle >> 8); + *puc_tx_buff++ = (char)us_con_handle; + *puc_tx_buff++ = (char)uc_type; + *puc_tx_buff++ = (char)(us_data_len >> 8); + *puc_tx_buff++ = (char)us_data_len; + for (us_idx = 0; us_idx < us_data_len; us_idx++) { + *puc_tx_buff++ = (char)puc_data[us_idx]; + } + *puc_tx_buff++ = (char)uc_error_type; + + /* Calculate MAC message length */ + us_tx_len = (uint16_t)(puc_tx_buff - &commandMacToPack[0]); + + return(0); +} + +/** + * \internal + * \brief This function extracts the MAC SAP Establish.Request. + * + * \note This function extracts the MAC SAP Establish.Request from the + * received packet and stores the data in the circular buffer if possible. + * + * \retval 0 primitive stored + * \retval -1 primitive could not be stored + */ +static int _serial_if_mac_unpack_establish_req(void) +{ + uint8_t *puc_rx_buff; + uint8_t uc_eui48_addr_valid; + uint16_t us_idx; + + /* Extract MAC primitive */ + puc_rx_buff = puc_rx; + uc_eui48_addr_valid = *puc_rx_buff++; + if (uc_eui48_addr_valid == VALID) { + for (us_idx = 0; us_idx < PRIME_MAC_LENGTH; us_idx++) { + newMacCallBackCmd->macAddr[us_idx] = (uint8_t)(*puc_rx_buff++); + } + } else { + for (us_idx = 0; us_idx < PRIME_MAC_LENGTH; us_idx++) { + newMacCallBackCmd->macAddr[us_idx] = 0; + } + } + + newMacCallBackCmd->type = (uint8_t)(*puc_rx_buff++); + newMacCallBackCmd->bufLength = (((uint16_t)puc_rx_buff[0]) << 8) + + (uint16_t)puc_rx_buff[1]; + puc_rx_buff += 2; + + if (newMacCallBackCmd->bufLength != 0) { + for (us_idx = 0; us_idx < newMacCallBackCmd->bufLength; us_idx++) { + newMacCallBackCmd->buf[us_idx] = (uint8_t)(*puc_rx_buff++); + } + } + + newMacCallBackCmd->arq = (uint8_t)(*puc_rx_buff++); + newMacCallBackCmd->cfpBytes = (((uint16_t)puc_rx_buff[0]) << 8) + + (uint16_t)puc_rx_buff[1]; + + return(prime_MAC_ESTABLISH_request(newMacCallBackCmd->macAddr, + newMacCallBackCmd->type, newMacCallBackCmd->buf, + newMacCallBackCmd->bufLength, newMacCallBackCmd->arq, + newMacCallBackCmd->cfpBytes)); +} + +/** + * \internal + * \brief This function extracts the MAC SAP Establish.Response. + * + * \note This function extracts the MAC SAP Establish.Response from the + * received packet and stores the data in the circular buffer if possible. + * + * \retval 0 primitive stored + * \retval -1 primitive could not be stored + */ +static int _serial_if_mac_unpack_establish_resp(void) +{ + uint8_t *puc_rx_buff; + uint16_t us_idx; + + /* Extract MAC primitive */ + puc_rx_buff = puc_rx; + newMacCallBackCmd->handler = (((uint16_t)puc_rx_buff[0]) << 8) + + (uint16_t)puc_rx_buff[1]; + puc_rx_buff += 2; + newMacCallBackCmd->answer = (uint8_t)(*puc_rx_buff++); + newMacCallBackCmd->bufLength = (((uint16_t)puc_rx_buff[0]) << 8) + + (uint16_t)puc_rx_buff[1]; + puc_rx_buff += 2; + if (newMacCallBackCmd->bufLength != 0) { + for (us_idx = 0; us_idx < newMacCallBackCmd->bufLength; us_idx++) { + newMacCallBackCmd->buf[us_idx] = (uint8_t)(*puc_rx_buff++); + } + } + + /* Store the primitive in the circular buffer */ + return(prime_MAC_ESTABLISH_response(newMacCallBackCmd->handler, + newMacCallBackCmd->answer, newMacCallBackCmd->buf, + newMacCallBackCmd->bufLength)); +} + +/** + * \internal + * \brief This function extracts the MAC SAP Redirect.Response. + * + * \note This function extracts the MAC SAP Redirect.Response from the + * received packet and stores the data in the circular buffer if possible. + * + * \retval 0 primitive stored + * \retval -1 primitive could not be stored + */ +static int _serial_if_mac_unpack_redirect_resp(void) +{ + uint8_t *puc_rx_buff; + uint8_t uc_eui48_addr_valid; + uint16_t us_idx; + + /* Extract MAC primitive */ + puc_rx_buff = puc_rx; + newMacCallBackCmd->handler = (((uint16_t)puc_rx_buff[0]) << 8) + + (uint16_t)puc_rx_buff[1]; + puc_rx_buff += 2; + uc_eui48_addr_valid = (uint8_t)(*puc_rx_buff++); + if (uc_eui48_addr_valid) { + for (us_idx = 0; us_idx < PRIME_MAC_LENGTH; us_idx++) { + newMacCallBackCmd->macAddr[us_idx] = (uint8_t)(*puc_rx_buff++); + } + } else { + for (us_idx = 0; us_idx < PRIME_MAC_LENGTH; us_idx++) { + newMacCallBackCmd->macAddr[us_idx] = 0; + } + } + + newMacCallBackCmd->bufLength = (((uint16_t)puc_rx_buff[0]) << 8) + + (uint16_t)puc_rx_buff[1]; + puc_rx_buff += 2; + if (newMacCallBackCmd->bufLength != 0) { + for (us_idx = 0; us_idx < newMacCallBackCmd->bufLength; us_idx++) { + newMacCallBackCmd->buf[us_idx] = (uint8_t)(*puc_rx_buff++); + } + } + + /* Store the primitive in the circular buffer */ + return(prime_MAC_REDIRECT_response(newMacCallBackCmd->handler, + newMacCallBackCmd->macAddr, newMacCallBackCmd->buf, + newMacCallBackCmd->bufLength)); +} + +/** + * \internal + * \brief This function extracts the MAC SAP Release.Request. + * + * \note This function extracts the MAC SAP Release.Request from the + * received packet and stores the data in the circular buffer if possible. + * + * \retval 0 primitive stored + * \retval -1 primitive could not be stored + */ +static int _serial_if_mac_unpack_release_req(void) +{ + uint8_t *puc_rx_buff; + + /* Extract MAC primitive */ + puc_rx_buff = puc_rx; + newMacCallBackCmd->handler = (((uint16_t)puc_rx_buff[0]) << 8) + + (uint16_t)puc_rx_buff[1]; + + /* Store the primitive in the circular buffer */ + return(prime_MAC_RELEASE_request(newMacCallBackCmd->handler)); +} + +/** + * \internal + * \brief This function extracts the MAC SAP Release.Response. + * + * \note This function extracts the MAC SAP Release.Response from the + * received packet and stores the data in the circular buffer if possible. + * + * \retval 0 primitive stored + * \retval -1 primitive could not be stored + */ +static int _serial_if_mac_unpack_release_resp(void) +{ + uint8_t *puc_rx_buff; + + /* Extract MAC primitive */ + puc_rx_buff = puc_rx; + newMacCallBackCmd->handler = (((uint16_t)puc_rx_buff[0]) << 8) + + (uint16_t)puc_rx_buff[1]; + puc_rx_buff += 2; + newMacCallBackCmd->answer = (uint8_t)(*puc_rx_buff++); + + /* Store the primitive in the circular buffer */ + return(prime_MAC_RELEASE_response(newMacCallBackCmd->handler, + newMacCallBackCmd->answer)); +} + +/** + * \internal + * \brief This function extracts the MAC SAP Join.Request.Base. + * + * \note This function extracts the MAC SAP Join.Request.Base from the + * received packet and stores the data in the circular buffer if possible. + * + * \retval 0 primitive stored + * \retval -1 primitive could not be stored + */ +static int _serial_if_mac_unpack_join_req_base(void) +{ + uint8_t *puc_rx_buff; + uint16_t us_idx; + uint8_t uc_eui48_addr_valid; + + /* Extract MAC primitive */ + puc_rx_buff = puc_rx; + newMacCallBackCmd->broadcast = (uint8_t)(*puc_rx_buff++); + newMacCallBackCmd->handler = (((uint16_t)puc_rx_buff[0]) << 8) + + (uint16_t)puc_rx_buff[1]; + puc_rx_buff += 2; + + uc_eui48_addr_valid = (uint8_t)(*puc_rx_buff++); + if (uc_eui48_addr_valid) { + for (us_idx = 0; us_idx < PRIME_MAC_LENGTH; us_idx++) { + newMacCallBackCmd->macAddr[us_idx] = (uint8_t)(*puc_rx_buff++); + } + } else { + for (us_idx = 0; us_idx < PRIME_MAC_LENGTH; us_idx++) { + newMacCallBackCmd->macAddr[us_idx] = 0; + } + } + + newMacCallBackCmd->type = (uint8_t)(*puc_rx_buff++); + newMacCallBackCmd->bufLength = (((uint16_t)puc_rx_buff[0]) << 8) + + (uint16_t)puc_rx_buff[1]; + puc_rx_buff += 2; + if (newMacCallBackCmd->bufLength != 0) { + for (us_idx = 0; us_idx < newMacCallBackCmd->bufLength; us_idx++) { + newMacCallBackCmd->buf[us_idx] = (uint8_t)(*puc_rx_buff++); + } + } + + /* Store the primitive in the circular buffer */ + return(prime_MAC_JOIN_request_base(newMacCallBackCmd->broadcast, + newMacCallBackCmd->handler, newMacCallBackCmd->macAddr, + newMacCallBackCmd->type, newMacCallBackCmd->buf, + newMacCallBackCmd->bufLength)); +} + +/** + * \internal + * \brief This function extracts the MAC SAP Join.Request.Service. + * + * \note This function extracts the MAC SAP Join.Request.Service from the + * received packet and stores the data in the circular buffer if possible. + * + * \retval 0 primitive stored + * \retval -1 primitive could not be stored + */ +static int _serial_if_mac_unpack_join_req_service(void) +{ + uint8_t *puc_rx_buff; + uint16_t us_idx; + + /* Extract MAC primitive */ + puc_rx_buff = puc_rx; + newMacCallBackCmd->broadcast = (uint8_t)(*puc_rx_buff++); + newMacCallBackCmd->type = (uint8_t)(*puc_rx_buff++); + newMacCallBackCmd->bufLength = (((uint16_t)puc_rx_buff[0]) << 8) + + (uint16_t)puc_rx_buff[1]; + puc_rx_buff += 2; + if (newMacCallBackCmd->bufLength != 0) { + for (us_idx = 0; us_idx < newMacCallBackCmd->bufLength; us_idx++) { + newMacCallBackCmd->buf[us_idx] = (uint8_t)(*puc_rx_buff++); + } + } + + /* Store the primitive in the circular buffer */ + return(prime_MAC_JOIN_request_service(newMacCallBackCmd->broadcast, + newMacCallBackCmd->type, newMacCallBackCmd->buf, + newMacCallBackCmd->bufLength)); +} + +/** + * \internal + * \brief This function extracts the MAC SAP Join.Response.Base. + * + * \note This function extracts the MAC SAP Join.Response.Base from the + * received packet and stores the data in the circular buffer if possible. + * + * \retval 0 primitive stored + * \retval -1 primitive could not be stored + */ +static int _serial_if_mac_unpack_join_resp_base(void) +{ + uint8_t *puc_rx_buff; + uint16_t us_idx; + uint8_t uc_eui48_addr_valid; + + /* Extract MAC primitive */ + puc_rx_buff = puc_rx; + newMacCallBackCmd->handler = (((uint16_t)puc_rx_buff[0]) << 8) + + (uint16_t)puc_rx_buff[1]; + puc_rx_buff += 2; + uc_eui48_addr_valid = (uint8_t)(*puc_rx_buff++); + if (uc_eui48_addr_valid) { + for (us_idx = 0; us_idx < PRIME_MAC_LENGTH; us_idx++) { + newMacCallBackCmd->macAddr[us_idx] = (uint8_t)(*puc_rx_buff++); + } + } else { + for (us_idx = 0; us_idx < PRIME_MAC_LENGTH; us_idx++) { + newMacCallBackCmd->macAddr[us_idx] = 0; + } + } + + newMacCallBackCmd->answer = (uint8_t)(*puc_rx_buff++); + + /* Store the primitive in the circular buffer */ + return(prime_MAC_JOIN_response_base(newMacCallBackCmd->handler, + newMacCallBackCmd->macAddr, newMacCallBackCmd->answer)); +} + +/** + * \internal + * \brief This function extracts the MAC SAP Join.Response.Service. + * + * \note This function extracts the MAC SAP Join.Response.Service from the + * received packet and stores the data in the circular buffer if possible. + * + * \retval 0 primitive stored + * \retval -1 primitive could not be stored + */ +static int _serial_if_mac_unpack_join_resp_service(void) +{ + uint8_t *puc_rx_buff; + + /* Extract MAC primitive */ + puc_rx_buff = puc_rx; + newMacCallBackCmd->handler = (((uint16_t)puc_rx_buff[0]) << 8) + + (uint16_t)puc_rx_buff[1]; + puc_rx_buff += 2; + newMacCallBackCmd->answer = (uint8_t)(*puc_rx_buff++); + + /* Store the primitive in the circular buffer */ + return(prime_MAC_JOIN_response_service(newMacCallBackCmd->handler, + newMacCallBackCmd->answer)); +} + +/** + * \internal + * \brief This function extracts the MAC SAP Leave.Request.Base. + * + * \note This function extracts the MAC SAP Leave.Request.Base from the + * received packet and stores the data in the circular buffer if possible. + * + * \retval 0 primitive stored + * \retval -1 primitive could not be stored + */ +static int _serial_if_mac_unpack_leave_req_base(void) +{ + uint8_t *puc_rx_buff; + uint16_t us_idx; + uint8_t uc_eui48_addr_valid; + + /* Extract MAC primitive */ + puc_rx_buff = puc_rx; + newMacCallBackCmd->handler = (((uint16_t)puc_rx_buff[0]) << 8) + + (uint16_t)puc_rx_buff[1]; + puc_rx_buff += 2; + uc_eui48_addr_valid = (uint8_t)(*puc_rx_buff++); + if (uc_eui48_addr_valid) { + for (us_idx = 0; us_idx < PRIME_MAC_LENGTH; us_idx++) { + newMacCallBackCmd->macAddr[us_idx] = (uint8_t)(*puc_rx_buff++); + } + } else { + for (us_idx = 0; us_idx < PRIME_MAC_LENGTH; us_idx++) { + newMacCallBackCmd->macAddr[us_idx] = 0; + } + } + + /* Store the primitive in the circular buffer */ + return(prime_MAC_LEAVE_request_base(newMacCallBackCmd->handler, + newMacCallBackCmd->macAddr)); +} + +/** + * \internal + * \brief This function extracts the MAC SAP Leave.Request.Service. + * + * \note This function extracts the MAC SAP Leave.Request.Service from the + * received packet and stores the data in the circular buffer if possible. + * + * \retval 0 primitive stored + * \retval -1 primitive could not be stored + */ +static int _serial_if_mac_unpack_leave_req_service(void) +{ + uint8_t *puc_rx_buff; + + /* Extract MAC primitive */ + puc_rx_buff = puc_rx; + newMacCallBackCmd->handler = (((uint16_t)puc_rx_buff[0]) << 8) + + (uint16_t)puc_rx_buff[1]; + + /* Store the primitive in the circular buffer */ + return(prime_MAC_LEAVE_request_service(newMacCallBackCmd->handler)); +} + +/** + * \internal + * \brief This function extracts the MAC SAP Data.Request. + * + * \note This function extracts the MAC SAP Data.Request from the + * received packet and stores the data in the circular buffer if possible. + * + * \retval 0 primitive stored + * \retval -1 primitive could not be stored + */ +static int _serial_if_mac_unpack_data_req(void) +{ + uint8_t *puc_rx_buff; + uint16_t us_idx; + + /* Extract MAC primitive */ + puc_rx_buff = puc_rx; + newMacCallBackCmd->handler = (((uint16_t)puc_rx_buff[0]) << 8) + + (uint16_t)puc_rx_buff[1]; + puc_rx_buff += 2; + newMacCallBackCmd->bufLength = (((uint16_t)puc_rx_buff[0]) << 8) + + (uint16_t)puc_rx_buff[1]; + puc_rx_buff += 2; + if (newMacCallBackCmd->bufLength != 0) { + for (us_idx = 0; us_idx < newMacCallBackCmd->bufLength; us_idx++) { + newMacCallBackCmd->buf[us_idx] = (uint8_t)(*puc_rx_buff++); + } + } + + newMacCallBackCmd->priority = (uint8_t)(*puc_rx_buff++); + + /* Store the primitive in the circular buffer */ + return(prime_MAC_DATA_request(newMacCallBackCmd->handler, + newMacCallBackCmd->buf, newMacCallBackCmd->bufLength, + newMacCallBackCmd->priority)); +} + +/** + * \brief Received message + * + * \note Process Dialogue with peer + * - Proces Profiles + * - Wait for received message + * - Process incoming message + * - Send response if necessary + * + * \param puc_rx_msg Pointer to the data attached to the connection request + * \param us_len Data length of the data attached to the request + * + * \retval true primitive stored + * \retval false primitive could not be stored + */ +uint8_t serial_if_mac_api_parser(uint8_t *puc_rx_msg, uint16_t us_len) +{ + uint8_t uc_cmd; + int8_t c_result = -1; + + /* Extract command */ + uc_cmd = CMD_PRIME_PROTOCOL(puc_rx_msg[0]); + us_rx_len = us_len; + + /* Pointer to message data */ + puc_rx = (uint8_t *)&puc_rx_msg[1]; + + /* Extract and store MAC data depending on the primitive */ + switch (uc_cmd) { + case PRIME_MACSAP_ESTABLISH_REQUEST: + c_result = _serial_if_mac_unpack_establish_req(); + break; + + case PRIME_MACSAP_ESTABLISH_RESPONSE: + c_result = _serial_if_mac_unpack_establish_resp(); + break; + + case PRIME_MACSAP_REDIRECT_RESPONSE: + c_result = _serial_if_mac_unpack_redirect_resp(); + break; + + case PRIME_MACSAP_RELEASE_REQUEST: + c_result = _serial_if_mac_unpack_release_req(); + break; + + case PRIME_MACSAP_RELEASE_RESPONSE: + c_result = _serial_if_mac_unpack_release_resp(); + break; + + case PRIME_MACSAP_JOIN_REQUEST_BASE: + c_result = _serial_if_mac_unpack_join_req_base(); + break; + + case PRIME_MACSAP_JOIN_REQUEST_SERVICE: + c_result = _serial_if_mac_unpack_join_req_service(); + break; + + case PRIME_MACSAP_JOIN_RESPONSE_BASE: + c_result = _serial_if_mac_unpack_join_resp_base(); + break; + + case PRIME_MACSAP_JOIN_RESPONSE_SERVICE: + c_result = _serial_if_mac_unpack_join_resp_service(); + break; + + case PRIME_MACSAP_LEAVE_REQUEST_BASE: + c_result = _serial_if_mac_unpack_leave_req_base(); + break; + + case PRIME_MACSAP_LEAVE_REQUEST_SERVICE: + c_result = _serial_if_mac_unpack_leave_req_service(); + break; + + case PRIME_MACSAP_DATA_REQUEST: + c_result = _serial_if_mac_unpack_data_req(); + break; + + default: + c_result = 0; /* Primitive is ignored */ + } + + if (c_result == 0) { + return true; + } else { + return false; + } +} + +/** + * \brief Function to encapsulate MAC Tx Control Process. + * + * \note This function will be called using a pointer. + * + * \retval 0 if the request has been made to the CS layer + * \retval -1 if it was unable to pass the request to the CS layer + */ +int8_t serial_if_mac_process(void) +{ + int8_t c_result = -1; + x_usi_serial_cmd_params_t x_pkt_usi; + + if (newMacCallBackCmd != NULL) { + /* Extracts everything Non Reserved */ + if (prime_MAC_callback(newMacCallBackCmd, + GENERIC_CALLBACK_HANDLER, + GENERIC_CALLBACK_TYPE)) { + /* Extract the data before packing and sending the + * primitive */ + switch (newMacCallBackCmd->command) { + case PRIME_MACSAP_ESTABLISH_INDICATION: + c_result = _serial_if_mac_pack_establish_ind(newMacCallBackCmd->handler, + newMacCallBackCmd->macAddr, + newMacCallBackCmd->type, + newMacCallBackCmd->buf, + newMacCallBackCmd->bufLength, + newMacCallBackCmd->cfpBytes, + newMacCallBackCmd->errorType); + break; + + case PRIME_MACSAP_ESTABLISH_CONFIRM: + c_result = _serial_if_mac_pack_establish_conf(newMacCallBackCmd->handler, + newMacCallBackCmd->answer, + newMacCallBackCmd->macAddr, + newMacCallBackCmd->type, + newMacCallBackCmd->buf, + newMacCallBackCmd->bufLength, + newMacCallBackCmd->errorType); + break; + + case PRIME_MACSAP_RELEASE_INDICATION: + c_result = _serial_if_mac_pack_release_ind(newMacCallBackCmd->handler, + newMacCallBackCmd->answer, + newMacCallBackCmd->type, + newMacCallBackCmd->errorType); + break; + + case PRIME_MACSAP_RELEASE_CONFIRM: + c_result = _serial_if_mac_pack_release_conf(newMacCallBackCmd->handler, + newMacCallBackCmd->answer, + newMacCallBackCmd->type, + newMacCallBackCmd->errorType); + break; + + case PRIME_MACSAP_JOIN_CONFIRM: + c_result = _serial_if_mac_pack_join_conf(newMacCallBackCmd->handler, + newMacCallBackCmd->answer, + newMacCallBackCmd->type, + newMacCallBackCmd->errorType); + break; + + case PRIME_MACSAP_JOIN_INDICATION_BASE: + c_result = _serial_if_mac_pack_join_ind_base(newMacCallBackCmd->handler, + newMacCallBackCmd->macAddr, + newMacCallBackCmd->type, + newMacCallBackCmd->buf, + newMacCallBackCmd->bufLength, + newMacCallBackCmd->errorType); + break; + + case PRIME_MACSAP_JOIN_INDICATION_SERVICE: + c_result = _serial_if_mac_pack_join_ind_service(newMacCallBackCmd->handler, + newMacCallBackCmd->buf, + newMacCallBackCmd->bufLength, + newMacCallBackCmd->type, + newMacCallBackCmd->errorType); + break; + + case PRIME_MACSAP_LEAVE_CONFIRM: + c_result = _serial_if_mac_pack_leave_conf(newMacCallBackCmd->handler, + newMacCallBackCmd->answer, + newMacCallBackCmd->type, + newMacCallBackCmd->errorType); + break; + + case PRIME_MACSAP_LEAVE_INDICATION_BASE: + c_result = _serial_if_mac_pack_leave_ind_base(newMacCallBackCmd->handler, + newMacCallBackCmd->macAddr, + newMacCallBackCmd->type, + newMacCallBackCmd->errorType); + break; + + case PRIME_MACSAP_LEAVE_INDICATION_SERVICE: + c_result = _serial_if_mac_pack_leave_ind_service(newMacCallBackCmd->handler, + newMacCallBackCmd->type, + newMacCallBackCmd->errorType); + break; + + case PRIME_MACSAP_DATA_CONFIRM: + c_result = _serial_if_mac_pack_data_conf(newMacCallBackCmd->handler, + newMacCallBackCmd->buf, + newMacCallBackCmd->answer, + newMacCallBackCmd->type, + newMacCallBackCmd->errorType); + break; + + case PRIME_MACSAP_DATA_INDICATION: + c_result = _serial_if_mac_pack_data_ind(newMacCallBackCmd->handler, + newMacCallBackCmd->buf, + newMacCallBackCmd->bufLength, + newMacCallBackCmd->type, + newMacCallBackCmd->errorType); + break; + + default: + c_result = -1; + break; + } + + if (c_result == 0) { + /* Pack and send the primitive */ + x_pkt_usi.uc_protocol_type = PROTOCOL_MAC_PRIME; + x_pkt_usi.ptr_buf = (uint8_t *)&commandMacToPack[0]; + x_pkt_usi.us_len = us_tx_len; + c_result = usi_send_cmd(&x_pkt_usi); + } + } + } + + return(c_result); +} + +/* @} */ + +/* / @cond 0 */ +/**INDENT-OFF**/ +#ifdef __cplusplus +} +#endif +/**INDENT-ON**/ +/* / @endcond */ diff --git a/thirdparty/prime/mac/mac_1_3/addons/serial_if/serial_if_mac.h b/thirdparty/prime/mac/mac_1_3/addons/serial_if/serial_if_mac.h new file mode 100644 index 00000000..667e73a8 --- /dev/null +++ b/thirdparty/prime/mac/mac_1_3/addons/serial_if/serial_if_mac.h @@ -0,0 +1,82 @@ +/** + * \file + * + * \brief Prime MAC Serial Interface. + * + * Copyright (c) 2014-2015 Atmel Corporation. All rights reserved. + * + * \asf_license_start + * + * \page License + * + * 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 microcontroller 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. + * + * \asf_license_stop + * + */ + +#ifndef SERIAL_IF_MAC_H_INCLUDE +#define SERIAL_IF_MAC_H_INCLUDE + +/* / @cond 0 */ +/**INDENT-OFF**/ +#ifdef __cplusplus +extern "C" { +#endif +/**INDENT-ON**/ +/* / @endcond */ + +/** + * \ingroup mac_prime_group + * \defgroup serial_mac_prime_group PRIME Serial MAC + * + * This module provides configuration and utils for the + * serialization of the MAC layer in PRIME. + * + * @{ + */ + +/* \name Serialization of MAC protocol */ +/* @{ */ +uint8_t serial_if_mac_api_parser(uint8_t *puc_rx_msg, uint16_t us_len); +int8_t serial_if_mac_process(void); + +/* @} */ + +/* @} */ + +/* / @cond 0 */ +/**INDENT-OFF**/ +#ifdef __cplusplus +} +#endif +/**INDENT-ON**/ +/* / @endcond */ + +#endif /* SERIAL_IF_MAC_H_INCLUDE */ diff --git a/thirdparty/prime/mac/mac_1_3/addons/serial_if/serial_if_mlme.c b/thirdparty/prime/mac/mac_1_3/addons/serial_if/serial_if_mlme.c new file mode 100644 index 00000000..7c8a754d --- /dev/null +++ b/thirdparty/prime/mac/mac_1_3/addons/serial_if/serial_if_mlme.c @@ -0,0 +1,919 @@ +/** + * \file + * + * \brief PRIME Serial Interface for MLME + * + * Copyright (c) 2014-2015 Atmel Corporation. All rights reserved. + * + * \asf_license_start + * + * \page License + * + * 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 microcontroller 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. + * + * \asf_license_stop + * + */ +#include <string.h> +#include "compiler.h" + +#include "serial_if_mlme.h" + +/* From module: PRIME MAC Layer */ +#include <mngl.h> +#include <prime.h> + +/* From module: PLC Universal Serial Interface */ +#include <usi.h> + +/* / @cond 0 */ +/**INDENT-OFF**/ +#ifdef __cplusplus +extern "C" { +#endif +/**INDENT-ON**/ +/* / @endcond */ + +/** + * \weakgroup serial_mlme_prime_group + * @{ + */ + +/* \name Address indication for the MLME primitive Register.Request */ +/* @{ */ +enum ADDRESS_IND { + NOADDRESS, + EUI48, + SNA_REQ +}; +/* @} */ + +/* \name Reception variables */ +/* @{ */ +static uint8_t *puc_rx; /* Pointer to received message */ +/* @} */ + +static uint8_t NewMlmeCallBackCmd[MLME_DATA_SIZE]; +static uint8_t commandMlmeToPack[MLME_DATA_SIZE]; + +#pragma message ("PRIME_MAC_CFG: MLME_SERIALIZATION") + +/** + * \internal + * \brief This function extracts the MLME SAP Register.Request. + * + * \note This function extracts the MLME SAP Register.Request from the + * received packet and stores the data in the circular buffer if possible. + * + * \retval 0 primitive stored + * \retval -1 primitive could not be stored + */ +static int _serial_if_mlme_unpack_register_req(void) +{ + uint8_t *puc_rx_buff; + uint8_t uc_sna[PRIME_MAC_LENGTH]; + uint8_t uc_mac[PRIME_MAC_LENGTH]; + uint8_t uc_addr_ind; + uint16_t us_idx; + + /* Extract MLME primitive */ + puc_rx_buff = puc_rx; + uc_addr_ind = (uint8_t)(*puc_rx_buff++); + switch (uc_addr_ind) { + case EUI48: + for (us_idx = 0; us_idx < PRIME_MAC_LENGTH; us_idx++) { + uc_mac[us_idx] = (uint8_t)(*puc_rx_buff++); + } + break; + + case SNA_REQ: + for (us_idx = 0; us_idx < PRIME_MAC_LENGTH; us_idx++) { + uc_sna[us_idx] = (uint8_t)(*puc_rx_buff++); + } + break; + + case NOADDRESS: + default: + for (us_idx = 0; us_idx < PRIME_MAC_LENGTH; us_idx++) { + uc_mac[us_idx] = 0; + uc_sna[us_idx] = 0; + } + } + + /* Store the primitive in the circular buffer */ + return(prime_MLME_REGISTER_request(uc_sna, uc_mac)); +} + +/** + * \internal + * \brief This function extracts the MLME SAP Unregister.Request. + * + * \note This function extracts the MLME SAP Unregister.Request from the + * received packet and stores the data in the circular buffer if possible. + * + * \retval 0 primitive stored + * \retval -1 primitive could not be stored + */ +static int _serial_if_mlme_unpack_unregister_req_base(void) +{ + uint8_t *puc_rx_buff; + uint8_t uc_mac[PRIME_MAC_LENGTH]; + + /* Extract MLME primitive */ + puc_rx_buff = puc_rx; + memcpy(uc_mac, (uint8_t *)puc_rx_buff, PRIME_MAC_LENGTH); + + /* Store the primitive in the circular buffer */ + return(prime_MLME_UNREGISTER_request_base(uc_mac)); +} + +/** + * \internal + * \brief This function extracts the MLME SAP Promote.Request. + * + * \note This function extracts the MLME SAP Promote.Request from the + * received packet and stores the data in the circular buffer if possible. + * + * \retval 0 primitive stored + * \retval -1 primitive could not be stored + */ +static int _serial_if_mlme_unpack_promote_req_base(void) +{ + uint8_t *puc_rx_buff; + uint8_t uc_mac[PRIME_MAC_LENGTH]; + + /* Extract MLME primitive */ + puc_rx_buff = puc_rx; + memcpy(uc_mac, (uint8_t *)puc_rx_buff, PRIME_MAC_LENGTH); + + /* Store the primitive in the circular buffer */ + return(prime_MLME_PROMOTE_request_base(uc_mac)); +} + +/** + * \internal + * \brief This function extracts the MLME SAP Demote.Request. + * + * \note This function extracts the MLME SAP Demote.Request from the + * received packet and stores the data in the circular buffer if possible. + * + * \retval 0 primitive stored + * \retval -1 primitive could not be stored + */ +static int _serial_if_mlme_unpack_demote_req_base(void) +{ + uint8_t *puc_rx_buff; + uint8_t uc_mac[PRIME_MAC_LENGTH]; + + /* Extract MLME primitive */ + puc_rx_buff = puc_rx; + memcpy(uc_mac, (uint8_t *)puc_rx_buff, PRIME_MAC_LENGTH); + + /* Store the primitive in the circular buffer */ + return(prime_MLME_DEMOTE_request_base(uc_mac)); +} + +/** + * \internal + * \brief This function extracts the MLME SAP Get.Request. + * + * \note This function extracts the MLME SAP Get.Request from the + * received packet and stores the data in the circular buffer if possible. + * + * \retval 0 primitive stored + * \retval -1 primitive could not be stored + */ +static int _serial_if_mlme_unpack_get_req(void) +{ + uint8_t *puc_rx_buff; + uint16_t us_pib_attr; + + /* Extract MLME primitive */ + puc_rx_buff = puc_rx; + us_pib_attr = (((uint16_t)puc_rx_buff[0]) << 8) + (uint16_t)puc_rx_buff[1]; + + /* Store the primitive in the circular buffer */ + return(prime_MLME_GET_request(us_pib_attr)); +} + +/** + * \internal + * \brief This function extracts the MLME SAP List.Get.Request. + * + * \note This function extracts the MLME SAP List.Get.Request from the + * received packet and stores the data in the circular buffer if possible. + * + * \retval 0 primitive stored + * \retval -1 primitive could not be stored + */ +static int _serial_if_mlme_unpack_list_get_req(void) +{ + uint8_t *puc_rx_buff; + uint16_t us_pib_attr; + + /* Extract MLME primitive */ + puc_rx_buff = puc_rx; + us_pib_attr = (((uint16_t)puc_rx_buff[0]) << 8) + (uint16_t)puc_rx_buff[1]; + + /* Store the primitive in the circular buffer */ + return(prime_MLME_LIST_GET_request(us_pib_attr)); +} + +/** + * \internal + * \brief This function extracts the MLME SAP Set.Request. + * + * \note This function extracts the MLME SAP Set.Request from the + * received packet and stores the data in the circular buffer if possible. + * + * \retval 0 primitive stored + * \retval -1 primitive could not be stored + */ +static int _serial_if_mlme_unpack_set_req(void) +{ + uint8_t *puc_rx_buff; + uint16_t us_pib_attr; + uint32_t ul_pib_attr_val; + uint8_t uc_len; + + /* Extract MLME primitive */ + puc_rx_buff = puc_rx; + us_pib_attr = (((uint16_t)puc_rx_buff[0]) << 8) + (uint16_t)puc_rx_buff[1]; + puc_rx_buff += 2; + uc_len = 0; + + switch (us_pib_attr) { + case PIB_MAC_EUI48: + case PIB_MAC_BOARD_SERIAL_NUMBER: + uc_len = PRIME_MAC_LENGTH; + break; + + case PIB_CERTIFICATION_SEND_MSG: + uc_len = 5; + break; + + case PIB_MAC_ACTION_PROMOTE: + case PIB_MAC_ACTION_DEMOTE: + case PIB_MAC_ACTION_PRM: + case PIB_MAC_ACTION_UNREGISTER_BN: + uc_len = 6; + break; + + case PIB_MAC_ACTION_MGMT_CON: + case PIB_MAC_ACTION_MGMT_MUL: + uc_len = 7; + break; + + case PIB_MAC_ACTION_REJECT: + case PIB_MAC_ACTION_CONN_CLOSE_BN: + case PIB_MAC_ACTION_SEGMENTED_432: + uc_len = 8; + break; + + case PIB_MAC_ACTION_BROADCAST_BURST: + uc_len = 9; + break; + + case PIB_MAC_ACTION_APPEMU_DATA_BURST: + uc_len = 12; + break; + + default: + uc_len = 0; + break; + } + + if (uc_len) { + /* Store the primitive in the circular buffer */ + return(prime_MLME_SET_BUF_request(us_pib_attr, + (uint8_t *)puc_rx_buff, uc_len)); + } else { + ul_pib_attr_val = (((uint32_t)puc_rx_buff[0]) << 24) + + (((uint32_t)puc_rx_buff[1]) << 16) + + (((uint32_t)puc_rx_buff[2]) << 8) + + (uint32_t)puc_rx_buff[3]; + /* Store the primitive in the circular buffer */ + return(prime_MLME_SET_request(us_pib_attr, ul_pib_attr_val)); + } +} + +/** + * \internal + * \brief Packets a MLME Callback to avoid misalignments + * + * \param puc_buf_des Pointer to the destination buffer + * \param px_buf_org Pointer to the source buffer + * + * \retval length of the buffer packet + */ +static int _serial_if_mlme_pack_reg_devices(uint8_t *puc_buf_des, + uint8_t *px_buf_org) +{ + uint8_t *puc_packet; + + puc_packet = puc_buf_des; + + memcpy(puc_packet, px_buf_org, PRIME_MAC_LENGTH + 4); /* mac */ + puc_packet += PRIME_MAC_LENGTH + 4; + *puc_packet++ = px_buf_org[10]; /* lnid */ + *puc_packet++ = px_buf_org[11]; /* lnid */ + *puc_packet++ = px_buf_org[12]; /* lsid */ + *puc_packet++ = px_buf_org[13]; /* lsid */ + *puc_packet++ = px_buf_org[14]; /* sid */ + *puc_packet++ = px_buf_org[15]; /* sid */ + + return(puc_packet - puc_buf_des); +} + +/** + * \internal + * \brief Packets a MLME Callback to avoid misalignments + * + * \param puc_buf_des Pointer to the destination buffer + * \param px_buf_org Pointer to the source buffer + * + * \retval length of the buffer packet + */ +static int _serial_if_mlme_pack_active_conn(uint8_t *puc_buf_des, + uint8_t *px_buf_org) +{ + uint8_t *puc_packet; + + puc_packet = puc_buf_des; + + memcpy(puc_packet, px_buf_org, PRIME_MAC_LENGTH); /* mac */ + puc_packet += PRIME_MAC_LENGTH; + *puc_packet++ = px_buf_org[6]; /* sid */ + *puc_packet++ = px_buf_org[7]; /* sid */ + *puc_packet++ = px_buf_org[8]; /* lnid */ + *puc_packet++ = px_buf_org[9]; /* lnid */ + *puc_packet++ = px_buf_org[10]; /* lcid */ + + return(puc_packet - puc_buf_des); +} + +/** + * \internal + * \brief Packets a MLME Callback to avoid misalignments + * + * \param puc_buf_des Pointer to the destination buffer + * \param px_buf_org Pointer to the source buffer + * + * \retval length of the buffer packet + */ +static int _serial_if_mlme_pack_mcast_entries(uint8_t *puc_buf_des, + uint8_t *px_buf_org) +{ + uint8_t *puc_packet; + + puc_packet = puc_buf_des; + + *puc_packet++ = px_buf_org[0]; /* member */ + *puc_packet++ = px_buf_org[1]; /* member */ + *puc_packet++ = px_buf_org[2]; /* lcid */ + + return(puc_packet - puc_buf_des); +} + +/** + * \internal + * \brief Packets a MLME Callback to avoid misaligments + * + * \param puc_buf_des Pointer to the destination buffer + * \param px_buf_org Pointer to the source buffer + * + * \retval length of the buffer packet + */ +static int _serial_if_mlme_pack_switch_table(uint8_t *puc_buf_des, + uint8_t *px_buf_org) +{ + uint8_t *puc_packet; + + puc_packet = puc_buf_des; + + *puc_packet++ = px_buf_org[0]; /* sid */ + *puc_packet++ = px_buf_org[1]; /* sid */ + + return(puc_packet - puc_buf_des); +} + +/** + * \internal + * \brief Packets a MLME Callback to avoid misalignments + * + * \param puc_buf_des Pointer to the destination buffer + * \param px_buf_org Pointer to the source buffer + * + * \retval length of the buffer packet + */ +static int _serial_if_mlme_pack_direct_conn(uint8_t *puc_buf_des, + uint8_t *px_buf_org) +{ + uint8_t *puc_packet; + + puc_packet = puc_buf_des; + + memcpy(puc_packet, px_buf_org, PRIME_MAC_LENGTH); /* srcmac */ + puc_packet += PRIME_MAC_LENGTH; + *puc_packet++ = px_buf_org[6]; /* srcsid */ + *puc_packet++ = px_buf_org[7]; /* srcsid */ + *puc_packet++ = px_buf_org[8]; /* srclnid */ + *puc_packet++ = px_buf_org[9]; /* srclnid */ + *puc_packet++ = px_buf_org[10]; /* srclcid */ + memcpy(puc_packet, &px_buf_org[11], PRIME_MAC_LENGTH); /* dstmac */ + puc_packet += PRIME_MAC_LENGTH; + *puc_packet++ = px_buf_org[17]; /* dstsid */ + *puc_packet++ = px_buf_org[18]; /* dstsid */ + *puc_packet++ = px_buf_org[19]; /* dstlnid */ + *puc_packet++ = px_buf_org[20]; /* dstlnid */ + *puc_packet++ = px_buf_org[21]; /* dstlcid */ + memcpy(puc_packet, &px_buf_org[22], PRIME_MAC_LENGTH); /* dmac */ + puc_packet += PRIME_MAC_LENGTH; + *puc_packet++ = px_buf_org[28]; /* dsid */ + *puc_packet++ = px_buf_org[29]; /* dsid */ + + return(puc_packet - puc_buf_des); +} + +/** + * \internal + * \brief Packets a MLME Callback to avoid misalignments + * + * \param puc_buf_des Pointer to the destination buffer + * \param px_buf_org Pointer to the source buffer + * + * \retval length of the buffer packet + */ +static int _serial_if_mlme_pack_direct_switch_table(uint8_t *puc_buf_des, + uint8_t *px_buf_org) +{ + uint8_t *puc_packet; + + puc_packet = puc_buf_des; + + memcpy(puc_packet, px_buf_org, PRIME_MAC_LENGTH); /* dsmac */ + puc_packet += PRIME_MAC_LENGTH; + *puc_packet++ = px_buf_org[6]; /* srcsid */ + *puc_packet++ = px_buf_org[7]; /* srcsid */ + *puc_packet++ = px_buf_org[8]; /* srclnid */ + *puc_packet++ = px_buf_org[9]; /* srclnid */ + *puc_packet++ = px_buf_org[10]; /* srclcid */ + *puc_packet++ = px_buf_org[11]; /* dstsid */ + *puc_packet++ = px_buf_org[12]; /* dstsid */ + *puc_packet++ = px_buf_org[13]; /* dstlnid */ + *puc_packet++ = px_buf_org[14]; /* dstlnid */ + *puc_packet++ = px_buf_org[15]; /* dstlcid */ + + return(puc_packet - puc_buf_des); +} + +/** + * \internal + * \brief Packets a MLME Callback to avoid misalignments + * + * \param puc_buf_des Pointer to the destination buffer + * \param px_buf_org Pointer to the source buffer + * + * \retval length of the buffer packet + */ +static int _serial_if_mlme_pack_node_432_table(uint8_t *puc_buf_des, + uint8_t *px_buf_org) +{ + uint8_t *puc_packet; + + puc_packet = puc_buf_des; + + *puc_packet++ = px_buf_org[0]; /* address */ + *puc_packet++ = px_buf_org[1]; /* address */ + memcpy(puc_packet, &px_buf_org[2], SERIAL_NUMBER_432_MAC); + puc_packet += SERIAL_NUMBER_432_MAC; + *puc_packet++ = px_buf_org[18]; /* lenSerial */ + memcpy(puc_packet, &px_buf_org[19], PRIME_MAC_LENGTH); /* mac */ + puc_packet += PRIME_MAC_LENGTH; + *puc_packet++ = px_buf_org[25]; /* arq */ + + return(puc_packet - puc_buf_des); +} + +/** + * \internal + * \brief Packets a MLME Callback to avoid misalignments + * + * \param puc_buf_des Pointer to the destination buffer + * \param px_buf_org Pointer to the source buffer + * + * \retval length of the buffer packet + */ +static int _serial_if_mlme_pack_available_switch_table(uint8_t *puc_buf_des, + uint8_t *px_buf_org) +{ + uint8_t *puc_packet; + + puc_packet = puc_buf_des; + + memcpy(puc_packet, px_buf_org, PRIME_MAC_LENGTH); /* sna */ + puc_packet += PRIME_MAC_LENGTH; + *puc_packet++ = px_buf_org[6]; /* sid */ + *puc_packet++ = px_buf_org[7]; /* sid */ + *puc_packet++ = px_buf_org[8]; /* level */ + *puc_packet++ = px_buf_org[9]; /* rxLevel */ + *puc_packet++ = px_buf_org[10]; /* rxSNR */ + + return(puc_packet - puc_buf_des); +} + +/** + * \internal + * \brief Packets a MLME Callback to avoid misalignments + * + * \param puc_buf_des Pointer to the destination buffer + * \param px_buf_org Pointer to the source buffer + * + * \retval length of the buffer packet + */ +static int _serial_if_mlme_pack_list_phy_comm(uint8_t *puc_buf_des, + uint8_t *px_buf_org) +{ + uint8_t *puc_packet; + + puc_packet = puc_buf_des; + + memcpy(puc_packet, px_buf_org, PRIME_MAC_LENGTH); /* eui48 */ + puc_packet += PRIME_MAC_LENGTH; + *puc_packet++ = px_buf_org[6]; /* txPower */ + *puc_packet++ = px_buf_org[7]; /* txCoding */ + *puc_packet++ = px_buf_org[8]; /* rxCoding */ + *puc_packet++ = px_buf_org[9]; /* rxLevel */ + *puc_packet++ = px_buf_org[10]; /* snr */ + *puc_packet++ = px_buf_org[11]; /* txPowerMod */ + *puc_packet++ = px_buf_org[12]; /* txCodingMod */ + *puc_packet++ = px_buf_org[13]; /* rxCodingMod */ + + return(puc_packet - puc_buf_des); +} + +/** + * \internal + * \brief Packets a MLME Callback to avoid misalignments + * + * \param puc_buf_des Pointer to the destination buffer + * \param px_buf_org Pointer to the source buffer + * + * \retval length of the buffer packet + */ +static int _serial_if_mlme_pack_active_conn_ex(uint8_t *puc_buf_des, + uint8_t *px_buf_org) +{ + uint8_t *puc_packet; + + puc_packet = puc_buf_des; + + memcpy(puc_packet, px_buf_org, PRIME_MAC_LENGTH); /* mac */ + puc_packet += PRIME_MAC_LENGTH; + *puc_packet++ = px_buf_org[6]; /* sid */ + *puc_packet++ = px_buf_org[7]; /* sid */ + *puc_packet++ = px_buf_org[8]; /* lnid */ + *puc_packet++ = px_buf_org[9]; /* lnid */ + *puc_packet++ = px_buf_org[10]; /* lcid */ + *puc_packet++ = px_buf_org[11]; /* lcid */ + *puc_packet++ = px_buf_org[12]; /* type */ + + return(puc_packet - puc_buf_des); +} + +/** + * \internal + * \brief Packets a MLME Callback to avoid misalignments + * + * \param puc_buf_des Pointer to the destination buffer + * \param px_buf_org Pointer to the source buffer + * + * \retval length of the buffer packet + */ +static int _serial_if_mlme_pack_ex_snr_table(uint8_t *puc_buf_des, + uint8_t *px_buf_org) +{ + uint8_t *puc_packet; + + puc_packet = puc_buf_des; + + *puc_packet++ = px_buf_org[0]; /* sid */ + *puc_packet++ = px_buf_org[1]; /* lnid */ + *puc_packet++ = px_buf_org[2]; /* lnid */ + *puc_packet++ = px_buf_org[3]; /* exSNR */ + + return(puc_packet - puc_buf_des); +} + +/** + * \internal + * \brief Packets a MLME Callback to avoid misalignments + * + * \param puc_mlme_command Pointer to the MLME command + * \param l_len Command length + * + * \retval length of the buffer packet + */ +static int _serial_if_mlme_pack_mlme_callback(uint8_t *puc_mlme_command, + int l_len) +{ + uint8_t *puc_command; + uint16_t us_pibAttrib; + uint8_t uc_idx; + uint8_t uc_list_idx; + + puc_command = puc_mlme_command; + memcpy(commandMlmeToPack, puc_mlme_command, l_len); + switch (((MlmeCommand *)puc_command)->cmd) { + case PRIME_MLME_UNREGISTER_CONFIRM: + case PRIME_MLME_PROMOTE_CONFIRM: + case PRIME_MLME_DEMOTE_CONFIRM: + case PRIME_MLME_RESET_CONFIRM: + *puc_command++ = ((MlmeResult *)commandMlmeToPack)->cmd; + *puc_command++ = ((MlmeResult *)commandMlmeToPack)->result; + return(puc_command - puc_mlme_command); + + case PRIME_MLME_SET_CONFIRM: + puc_command += 2 * sizeof(uint8_t); /* (cmd + result) */ + *puc_command++ = commandMlmeToPack[2]; /* pibAttrib high part */ + *puc_command++ = commandMlmeToPack[3]; /* pibAttrib low part */ + return(puc_command - puc_mlme_command); + + case PRIME_MLME_UNREGISTER_INDICATION: + case PRIME_MLME_PROMOTE_INDICATION: + case PRIME_MLME_DEMOTE_INDICATION: + *puc_command++ = ((MlmeCommand *)commandMlmeToPack)->cmd; + return(puc_command - puc_mlme_command); + + case PRIME_MLME_REGISTER_CONFIRM: + *puc_command++ = ((MlmeRegisterConfirm *)commandMlmeToPack)->cmd; + *puc_command++ = ((MlmeRegisterConfirm *)commandMlmeToPack)->result; + memcpy(puc_command, ((MlmeRegisterConfirm *)commandMlmeToPack)->sna, PRIME_MAC_LENGTH); + puc_command += PRIME_MAC_LENGTH; + memcpy(puc_command, ((MlmeRegisterConfirm *)commandMlmeToPack)->mac, PRIME_MAC_LENGTH); + puc_command += PRIME_MAC_LENGTH; + return(puc_command - puc_mlme_command); + + case PRIME_MLME_REGISTER_INDICATION: + *puc_command++ = ((MlmeRegisterConfirm *)commandMlmeToPack)->cmd; + memcpy(puc_command, ((MlmeRegisterConfirm *)commandMlmeToPack)->sna, PRIME_MAC_LENGTH); + puc_command += PRIME_MAC_LENGTH; + memcpy(puc_command, ((MlmeRegisterConfirm *)commandMlmeToPack)->mac, PRIME_MAC_LENGTH); + puc_command += PRIME_MAC_LENGTH; + return(puc_command - puc_mlme_command); + + case PRIME_MLME_GET_CONFIRM: /* MlmeGetValue */ + if (l_len == sizeof(MlmeGetValue)) { + puc_command += 2 * sizeof(uint8_t); + *puc_command++ = commandMlmeToPack[2]; + *puc_command++ = commandMlmeToPack[3]; + *puc_command++ = commandMlmeToPack[4]; + *puc_command++ = commandMlmeToPack[5]; + *puc_command++ = commandMlmeToPack[6]; + *puc_command++ = commandMlmeToPack[7]; + return(puc_command - puc_mlme_command); + } else { /* MlmeGetArray */ + puc_command += 2 * sizeof(uint8_t); + *puc_command++ = commandMlmeToPack[2]; + *puc_command++ = commandMlmeToPack[3]; + memcpy(puc_command, &commandMlmeToPack[4], l_len - (sizeof(MlmeGetArray) - 1)); + puc_command += l_len - (sizeof(MlmeGetArray) - 1); + return(puc_command - puc_mlme_command); + } + + case PRIME_MLME_LIST_GET_CONFIRM: + puc_command += 2 * sizeof(uint8_t); + *puc_command++ = commandMlmeToPack[2]; + *puc_command++ = commandMlmeToPack[3]; + puc_command += 2 * sizeof(uint8_t); + /* Check numItems */ + if (commandMlmeToPack[5] == 0) { + return(puc_command - puc_mlme_command); + } + + uc_list_idx = 6; /* commandMlmeToPack[6] corresponds to the first list item */ + for (uc_idx = 0; uc_idx < commandMlmeToPack[5]; uc_idx++) { + us_pibAttrib = (uint16_t)(commandMlmeToPack[2] << 8) + (uint16_t)commandMlmeToPack[3]; + switch (us_pibAttrib) { + case PIB_MAC_LIST_REGISTER_DEVICES: + puc_command += _serial_if_mlme_pack_reg_devices(puc_command, + &commandMlmeToPack[uc_list_idx]); + uc_list_idx += sizeof(MlmeRegDevice); + break; + + case PIB_MAC_LIST_ACTIVE_CONN: + puc_command += _serial_if_mlme_pack_active_conn(puc_command, + &commandMlmeToPack[uc_list_idx]); + uc_list_idx += sizeof(MlmeActiveConn); + break; + + case PIB_MAC_LIST_MCAST_ENTRIES: + puc_command += _serial_if_mlme_pack_mcast_entries(puc_command, + &commandMlmeToPack[uc_list_idx]); + uc_list_idx += sizeof(MlmeMcastEntrie); + break; + + case PIB_MAC_LIST_SWITCH_TABLE: + puc_command += _serial_if_mlme_pack_switch_table(puc_command, + &commandMlmeToPack[uc_list_idx]); + uc_list_idx += sizeof(MlmeSwitchNode); + break; + + case PIB_MAC_LIST_DIRECT_CONN: + puc_command += _serial_if_mlme_pack_direct_conn(puc_command, + &commandMlmeToPack[uc_list_idx]); + uc_list_idx += sizeof(MlmeDirectConn); + break; + + case PIB_MAC_LIST_DIRECT_TABLE: + puc_command += _serial_if_mlme_pack_direct_switch_table(puc_command, + &commandMlmeToPack[uc_list_idx]); + uc_list_idx += sizeof(MlmeDirectSwitchNode); + break; + + case PIB_MAC_LIST_AVAILABLE_SWITCHES: + puc_command += _serial_if_mlme_pack_available_switch_table(puc_command, + &commandMlmeToPack[uc_list_idx]); + uc_list_idx += sizeof(MlmeAvailableSwitchNode); + break; + + case PIB_MAC_LIST_PHY_COMM: + puc_command += _serial_if_mlme_pack_list_phy_comm(puc_command, + &commandMlmeToPack[uc_list_idx]); + uc_list_idx += sizeof(MlmePhyCommDevice); + break; + + case PIB_MAC_LIST_ACTIVE_CONN_EX: + puc_command += _serial_if_mlme_pack_active_conn_ex(puc_command, + &commandMlmeToPack[uc_list_idx]); + uc_list_idx += sizeof(MlmeActiveConnEx); + break; + + case PIB_MAC_LIST_EX_SNR: + puc_command += _serial_if_mlme_pack_ex_snr_table(puc_command, + &commandMlmeToPack[uc_list_idx]); + uc_list_idx += sizeof(ExSNRElementType); + break; + + case PIB_432_LIST_NODES: + puc_command += _serial_if_mlme_pack_node_432_table(puc_command, + &commandMlmeToPack[uc_list_idx]); + uc_list_idx += sizeof(Node432Type); + break; + + default: + break; + } + } + return(puc_command - puc_mlme_command); + } + /* This point of code shouldn't be reached */ + return(-1); +} + +/** + * \brief Received message + * + * \note Process Dialogue with peer + * - Proces Profiles + * - Wait for received message + * - Process incoming message + * - Send response if necessary + * + * \param puc_rx_msg Pointer to the data attached to the connection request + * \param us_len Data length of the data attached to the request + * + * \retval 1 primitive stored + * \retval 0 primitive could not be stored + */ +uint8_t serial_if_mlme_api_parser(uint8_t *puc_rx_msg, uint16_t us_len) +{ + uint8_t uc_cmd; + int8_t c_result = -1; + + /* Extract command */ + uc_cmd = CMD_PRIME_PROTOCOL(puc_rx_msg[0]); + UNUSED(us_len); + + /* Pointer to message data */ + puc_rx = (uint8_t *)&puc_rx_msg[1]; + + /* Check received command */ + switch (uc_cmd) { + case PRIME_MLME_REGISTER_REQUEST: + c_result = _serial_if_mlme_unpack_register_req(); + break; + + case PRIME_MLME_UNREGISTER_REQUEST_BASE: + c_result = _serial_if_mlme_unpack_unregister_req_base(); + break; + + case PRIME_MLME_UNREGISTER_REQUEST_SERVICE: + c_result = prime_MLME_UNREGISTER_request_service(); + break; + + case PRIME_MLME_PROMOTE_REQUEST_BASE: + c_result = _serial_if_mlme_unpack_promote_req_base(); + break; + + case PRIME_MLME_PROMOTE_REQUEST_SERVICE: + c_result = prime_MLME_PROMOTE_request_service(); + break; + + case PRIME_MLME_DEMOTE_REQUEST_BASE: + c_result = _serial_if_mlme_unpack_demote_req_base(); + break; + + case PRIME_MLME_DEMOTE_REQUEST_SERVICE: + c_result = prime_MLME_DEMOTE_request_service(); + break; + + case PRIME_MLME_RESET_REQUEST: + c_result = prime_MLME_RESET_request(); + break; + + case PRIME_MLME_GET_REQUEST: + c_result = _serial_if_mlme_unpack_get_req(); + break; + + case PRIME_MLME_LIST_GET_REQUEST: + c_result = _serial_if_mlme_unpack_list_get_req(); + break; + + case PRIME_MLME_SET_REQUEST: + c_result = _serial_if_mlme_unpack_set_req(); + break; + + default: + c_result = 0; + } + + if (c_result == 0) { + return 1; + } else { + return 0; + } +} + +/** + * \brief Function to encapsulate MLME Tx Control Process + * + * \note This function will be called using a pointer + * + * \retval 0 if the request has been sent + * \retval -1 if the request has not been sent + */ +int8_t serial_if_mlme_process(void) +{ + int l_len, l_packet_len; + int8_t c_result = -1; + x_usi_serial_cmd_params_t x_pkt_usi; + + l_len = prime_MLME_callback(NewMlmeCallBackCmd); + if (l_len > 0) { + l_packet_len = _serial_if_mlme_pack_mlme_callback(NewMlmeCallBackCmd, l_len); + /* pack and send the primitive */ + x_pkt_usi.uc_protocol_type = PROTOCOL_MLME_PRIME; + x_pkt_usi.ptr_buf = &NewMlmeCallBackCmd[0]; + x_pkt_usi.us_len = l_packet_len; + c_result = usi_send_cmd(&x_pkt_usi); + } + + return(c_result); +} + +/* @} */ + +/* / @cond 0 */ +/**INDENT-OFF**/ +#ifdef __cplusplus +} +#endif +/**INDENT-ON**/ +/* / @endcond */ diff --git a/thirdparty/prime/mac/mac_1_3/addons/serial_if/serial_if_mlme.h b/thirdparty/prime/mac/mac_1_3/addons/serial_if/serial_if_mlme.h new file mode 100644 index 00000000..fcfcab5f --- /dev/null +++ b/thirdparty/prime/mac/mac_1_3/addons/serial_if/serial_if_mlme.h @@ -0,0 +1,82 @@ +/** + * \file + * + * \brief PRIME Serial Interface for MLME + * + * Copyright (c) 2014-2015 Atmel Corporation. All rights reserved. + * + * \asf_license_start + * + * \page License + * + * 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 microcontroller 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. + * + * \asf_license_stop + * + */ + +#ifndef SERIAL_IF_MLME_H_INCLUDE +#define SERIAL_IF_MLME_H_INCLUDE + +/* / @cond 0 */ +/**INDENT-OFF**/ +#ifdef __cplusplus +extern "C" { +#endif +/**INDENT-ON**/ +/* / @endcond */ + +/** + * \ingroup mac_prime_group + * \defgroup serial_mlme_prime_group PRIME Serial MLME + * + * This module provides configuration and utils for the + * serialization of PRIME MLME. + * + * @{ + */ + +/* \name Serialization of MLME protocol */ +/* @{ */ +uint8_t serial_if_mlme_api_parser(uint8_t *puc_rx_msg, uint16_t us_len); +int8_t serial_if_mlme_process(void); + +/* @} */ + +/* @} */ + +/* / @cond 0 */ +/**INDENT-OFF**/ +#ifdef __cplusplus +} +#endif +/**INDENT-ON**/ +/* / @endcond */ + +#endif /* SERIAL_IF_MLME_H_INCLUDE */ diff --git a/thirdparty/prime/mac/mac_1_3/addons/serial_if/serial_if_plme.c b/thirdparty/prime/mac/mac_1_3/addons/serial_if/serial_if_plme.c new file mode 100644 index 00000000..7ea35bc1 --- /dev/null +++ b/thirdparty/prime/mac/mac_1_3/addons/serial_if/serial_if_plme.c @@ -0,0 +1,337 @@ +/** + * \file + * + * \brief PRIME Serial Interface for PLME + * + * Copyright (c) 2014-2015 Atmel Corporation. All rights reserved. + * + * \asf_license_start + * + * \page License + * + * 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 microcontroller 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. + * + * \asf_license_stop + * + */ + +#include <string.h> +#include "compiler.h" + +#include "serial_if_plme.h" + +/* From module: PRIME MAC Layer */ +#include <mngl.h> +#include <prime.h> + +/* From module: PLC Universal Serial Interface */ +#include <usi.h> + +/* @cond 0 */ +/**INDENT-OFF**/ +#ifdef __cplusplus +extern "C" { +#endif +/**INDENT-ON**/ +/* @endcond */ + +/** + * \weakgroup serial_plme_prime_group + * @{ + */ + +/* \name Reception variables */ +/* @{ */ +static uint8_t *puc_rx; /* Pointer to received message */ +/* @} */ + +static uint8_t NewPlmeCallBackCmd[PRIME_PLME_DATA_SIZE]; +static uint8_t commandPlmeToPack[PRIME_PLME_DATA_SIZE]; + +#pragma message ("PRIME_MAC_CFG: PLME_SERIALIZATION") + +/** + * \internal + * \brief This function extracts the PLME SAP Testmode.Request. + * + * \note This function extracts the PLME SAP Testmode.Request from the + * received packet and stores the data in the circular buffer if possible. + * + * \retval 0 primitive stored + * \retval -1 primitive could not be stored + */ +static int _serial_if_plme_unpack_testmode_req(void) +{ + uint8_t *puc_rx_buff; + uint8_t uc_enable; + uint8_t uc_mode; + uint8_t uc_modulation; + uint8_t uc_pwr_level; + + /* Extract PLME primitive */ + puc_rx_buff = puc_rx; + uc_enable = (uint8_t)(*puc_rx_buff++); + uc_mode = (uint8_t)(*puc_rx_buff++); + uc_modulation = (uint8_t)(*puc_rx_buff++); + uc_pwr_level = (uint8_t)(*puc_rx_buff++); + + /* Store the primitive in the circular buffer */ + return(prime_PLME_TESTMODE_request(uc_enable, uc_mode, uc_modulation, + uc_pwr_level)); +} + +/** + * \internal + * \brief This function extracts the PLME SAP Get.Request. + * + * \note This function extracts the PLME SAP Get.Request from the + * received packet and stores the data in the circular buffer if possible. + * + * \retval 0 primitive stored + * \retval -1 primitive could not be stored + */ +static int _serial_if_plme_unpack_get_req(void) +{ + uint8_t *puc_rx_buff; + uint16_t us_pib_attr; + + /* Extract PLME primitive */ + puc_rx_buff = puc_rx; + us_pib_attr = (((uint16_t)puc_rx_buff[0]) << 8) + (uint16_t)puc_rx_buff[1]; + + /* Store the primitive in the circular buffer */ + return(prime_PLME_GET_request(us_pib_attr)); +} + +/** + * \internal + * \brief This function extracts the PLME SAP Set.Request. + * + * \note This function extracts the PLME SAP Set.Request from the + * received packet and stores the data in the circular buffer if possible. + * + * \retval 0 primitive stored + * \retval -1 primitive could not be stored + */ +static int _serial_if_plme_unpack_set_req(void) +{ + uint8_t *puc_rx_buff, *puc_rx_buff2; + uint8_t uc_use_random; + uint16_t us_pib_attr, us_len; + uint32_t ul_pib_attr_val; + + /* Extract PLME primitive */ + puc_rx_buff = puc_rx; + us_pib_attr = (((uint16_t)puc_rx_buff[0]) << 8) + (uint16_t)puc_rx_buff[1]; + puc_rx_buff += 2; + + if (us_pib_attr == 0x8083) { /* PHY_AGC */ + /* Store the primitive in the circular buffer */ + /* 2: mode, gain */ + return(prime_PLME_SET_BUF_request(us_pib_attr, (uint8_t *)puc_rx_buff, 2)); + } else if (us_pib_attr == 0x8089) { /* PHY_TX_PARAMS */ + puc_rx_buff2 = puc_rx_buff; + puc_rx_buff2++; + puc_rx_buff2++; + us_len = (((uint16_t)puc_rx_buff2[0]) << 8) + (uint16_t)puc_rx_buff2[1]; + puc_rx_buff2 += 2; + uc_use_random = (uint8_t)(*puc_rx_buff2++); + if (uc_use_random) { + us_len = puc_rx_buff2 - puc_rx_buff; + } else { + us_len += puc_rx_buff2 - puc_rx_buff; + } + + /* Store the primitive in the circular buffer */ + return(prime_PLME_SET_BUF_request(us_pib_attr, (uint8_t *)puc_rx_buff, us_len)); + } else { + /* ul_pib_attr_val = getUint32((uint8_t **)&puc_rx_buff); */ + ul_pib_attr_val = ((uint32_t)puc_rx_buff[0] << 24) | + ((uint32_t)puc_rx_buff[1] << 16) | + ((uint32_t)puc_rx_buff[2] << 8) | + (uint32_t)puc_rx_buff[3]; + /* Store the primitive in the circular buffer */ + return(prime_PLME_SET_request(us_pib_attr, ul_pib_attr_val)); + } +} + +/** + * \internal + * \brief Packets a PLME Callback to avoid misaligments + * + * \param puc_plme_command Pointer to the PLME command + * \param l_len Command length + * + * \retval length of the buffer packet + */ +static int _serial_if_plme_pack_plme_callback(uint8_t *puc_plme_command, + int l_len) +{ + uint8_t *puc_command; + + puc_command = puc_plme_command; + memcpy(commandPlmeToPack, puc_plme_command, l_len); + switch (((PlmeCommand *)puc_command)->cmd) { + case PRIME_PLME_RESET_CONFIRM: + case PRIME_PLME_SLEEP_CONFIRM: + case PRIME_PLME_RESUME_CONFIRM: + case PRIME_PLME_TESTMODE_CONFIRM: + *puc_command++ = ((PlmeResult *)commandPlmeToPack)->cmd; + *puc_command++ = ((PlmeResult *)commandPlmeToPack)->result; + return(puc_command - puc_plme_command); + + case PRIME_PLME_GET_CONFIRM: + if (l_len == sizeof(PlmeGetValue)) { + puc_command += 2; /* (cmd + result) */ + *puc_command++ = commandPlmeToPack[2]; + *puc_command++ = commandPlmeToPack[3]; + *puc_command++ = commandPlmeToPack[4]; + *puc_command++ = commandPlmeToPack[5]; + *puc_command++ = commandPlmeToPack[6]; + *puc_command++ = commandPlmeToPack[7]; + return(puc_command - puc_plme_command); + } else { + puc_command += 2; /* (cmd + result) */ + *puc_command++ = commandPlmeToPack[2]; + *puc_command++ = commandPlmeToPack[3]; + memcpy(puc_command, &commandPlmeToPack[4], l_len - (sizeof(PlmeGetArray) - 1)); + puc_command += l_len - (sizeof(PlmeGetArray) - 1); + return(puc_command - puc_plme_command); + } + + case PRIME_PLME_SET_CONFIRM: + puc_command += 2; /* (cmd + result) */ + *puc_command++ = commandPlmeToPack[2]; + *puc_command++ = commandPlmeToPack[3]; + return(puc_command - puc_plme_command); + } + /* This point of code shouldn't be reached */ + return (-1); +} + +/** + * \brief Received message + * + * \note Process Dialogue with peer + * - Proces Profiles + * - Wait for received message + * - Process incoming message + * - Send response if necessary + * + * \param puc_rx_msg Pointer to the data attached to the connection request + * \param us_len Data length of the data attached to the request + * + * \retval 1 primitive stored + * \retval 0 primitive could not be stored + */ +uint8_t serial_if_plme_api_parser(uint8_t *puc_rx_msg, uint16_t us_len) +{ + uint8_t uc_cmd; + int8_t c_result = -1; + + /* Extract command */ + uc_cmd = CMD_PRIME_PROTOCOL(puc_rx_msg[0]); + UNUSED(us_len); + + /* Pointer to message data */ + puc_rx = (uint8_t *)&puc_rx_msg[1]; + + /* Check received command */ + switch (uc_cmd) { + case PRIME_PLME_RESET_REQUEST: + c_result = prime_PLME_RESET_request(); + break; + + case PRIME_PLME_SLEEP_REQUEST: + c_result = prime_PLME_SLEEP_request(); + break; + + case PRIME_PLME_RESUME_REQUEST: + c_result = prime_PLME_RESUME_request(); + break; + + case PRIME_PLME_TESTMODE_REQUEST: + c_result = _serial_if_plme_unpack_testmode_req(); + break; + + case PRIME_PLME_GET_REQUEST: + c_result = _serial_if_plme_unpack_get_req(); + break; + + case PRIME_PLME_SET_REQUEST: + c_result = _serial_if_plme_unpack_set_req(); + break; + + default: + c_result = 0; /* Primitive is ignored */ + } + + if (c_result == 0) { + return 1; + } else { + return 0; + } +} + + +/** @brief Function to encapsulate PLME Tx Control Process + * + * @param + * @return + * + * This function will be called using a pointer + **/ +int8_t serial_if_plme_process(void) +{ + int l_len, l_packet_len; + int8_t c_result = -1; + x_usi_serial_cmd_params_t x_pkt_usi; + + l_len = prime_PLME_callback(NewPlmeCallBackCmd); + if (l_len > 0) { + l_packet_len = _serial_if_plme_pack_plme_callback(NewPlmeCallBackCmd, l_len); + /* Pack and send the primitive */ + x_pkt_usi.uc_protocol_type = PROTOCOL_PLME_PRIME; + x_pkt_usi.ptr_buf = &NewPlmeCallBackCmd[0]; + x_pkt_usi.us_len = l_packet_len; + c_result = usi_send_cmd(&x_pkt_usi); + } + + return(c_result); +} + +/* @} */ + +/* / @cond 0 */ +/**INDENT-OFF**/ +#ifdef __cplusplus +} +#endif +/**INDENT-ON**/ +/* / @endcond */ diff --git a/thirdparty/prime/mac/mac_1_3/addons/serial_if/serial_if_plme.h b/thirdparty/prime/mac/mac_1_3/addons/serial_if/serial_if_plme.h new file mode 100644 index 00000000..7bcd4291 --- /dev/null +++ b/thirdparty/prime/mac/mac_1_3/addons/serial_if/serial_if_plme.h @@ -0,0 +1,82 @@ +/** + * \file + * + * \brief PRIME Serial Interface for PLME + * + * Copyright (c) 2014-2015 Atmel Corporation. All rights reserved. + * + * \asf_license_start + * + * \page License + * + * 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 microcontroller 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. + * + * \asf_license_stop + * + */ + +#ifndef SERIAL_IF_PLME_H_INCLUDE +#define SERIAL_IF_PLME_H_INCLUDE + +/* @cond 0 */ +/**INDENT-OFF**/ +#ifdef __cplusplus +extern "C" { +#endif +/**INDENT-ON**/ +/* @endcond */ + +/** + * \ingroup mac_prime_group + * \defgroup serial_plme_prime_group PRIME Serial PLME + * + * This module provides configuration and utils for the + * serialization of PRIME PLME. + * + * @{ + */ + +/* \name Serialization of PLME protocol */ +/* @{ */ +uint8_t serial_if_plme_api_parser(uint8_t *puc_rx_msg, uint16_t us_len); +int8_t serial_if_plme_process(void); + +/* @} */ + +/* @} */ + +/* @cond 0 */ +/**INDENT-OFF**/ +#ifdef __cplusplus +} +#endif +/**INDENT-ON**/ +/* @endcond */ + +#endif /* SERIAL_IF_PLME_H_INCLUDE */ diff --git a/thirdparty/prime/mac/mac_1_3/addons/serial_if/serial_if_sniffer.c b/thirdparty/prime/mac/mac_1_3/addons/serial_if/serial_if_sniffer.c new file mode 100644 index 00000000..586b52f8 --- /dev/null +++ b/thirdparty/prime/mac/mac_1_3/addons/serial_if/serial_if_sniffer.c @@ -0,0 +1,370 @@ +/** + * \file + * + * \brief PRIME Embedded Sniffer Serial Interface + * + * Copyright (c) 2014-2015 Atmel Corporation. All rights reserved. + * + * \asf_license_start + * + * \page License + * + * 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 microcontroller 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. + * + * \asf_license_stop + * + */ + +#include <string.h> +#include "compiler.h" + +#include "serial_if_sniffer.h" + +/* From module: PRIME MAC Layer */ +#include <mngl.h> +#include <prime.h> + +/* From module: PLC Universal Serial Interface */ +#include <usi.h> + +/* From module: Physical Abstraction Layer (PAL) interface - ATPL230 and PRIME + * MAC 1.3 */ +#include <pal.h> + +/* @cond 0 */ +/**INDENT-OFF**/ +#ifdef __cplusplus +extern "C" { +#endif +/**INDENT-ON**/ +/* @endcond */ + +/** + * \weakgroup serial_sniffer_prime_group + * @{ + */ + +/* \name Commands received */ +/* @{ */ +#define SNIFFER_ACTIVATE_CRC 0x01 +#define SNIFFER_SELECT_CHANNEL 0x02 +#define SNIFFER_ROBO_MODULATIONS 0x03 +/* @} */ + +/* \name Response */ +/* @{ */ +#define SNIFFER_PDU_CMD 0x20 +/* @} */ + +/* \name Version format of header */ +/* @{ */ +#define SNIFFER_PDU_VERSION_FORMAT 0x01 +/* @} */ + +/* \name Length of the header */ +/* @{ */ +#define SNIFFER_PDU_HEADER_LENGTH 32 +/* @} */ + +/* \name Timer values */ +/* @{ */ +/* Timer is a 20-bit counter, so to complete 32 bits is shifted 12 bits to */ +/* the left */ +#define TIME_SHIFT_BITS 12 +/* Time unit for phy timer is 10us */ +#define TIME_PHY_UNIT_US 10 +/* PREAMBLE + HEADER + PAYLOAD = 2048us + 4480us + M*2240us */ +#define TIME_PREAMBLE_US 2048L +#define TIME_HEADER_US 4480L +#define TIME_OFDM_SYMBOL_US 2240L +#define TIME_PHY_PREAMBLE ((TIME_PREAMBLE_US / TIME_PHY_UNIT_US) << TIME_SHIFT_BITS) +#define TIME_PHY_HEADER ((TIME_HEADER_US / TIME_PHY_UNIT_US) << TIME_SHIFT_BITS) +#define TIME_PHY_OFDM_SYMBOL ((TIME_OFDM_SYMBOL_US / TIME_PHY_UNIT_US) << TIME_SHIFT_BITS) +/* @} */ + +/* \name Mac header size */ +/* @{ */ +#define MAC_HEADER_SIZE 7 +/* @} */ + +/* External variables */ +extern uint8_t cfgSnifferType; + +/* Serial Buffer */ +static uint8_t frameMacToPack[512]; + +/* \name Include a long of 32 bits in a vector */ +/* @{ */ +/* Includes highest significative byte at first position in vector */ +#define _pack_ul(ul_data) \ + { \ + *puc_tx++ = (uint8_t)(ul_data >> 24); \ + *puc_tx++ = (uint8_t)(ul_data >> 16); \ + *puc_tx++ = (uint8_t)(ul_data >> 8); \ + *puc_tx++ = (uint8_t)ul_data; \ + } +/* @} */ + +/* \name Include a long of 32 bits in a vector */ +/* @{ */ +/* Includes highest significative byte at first position in vector */ +#define _pack_us(us_data) \ + { \ + *puc_tx++ = (uint8_t)(us_data >> 8); \ + *puc_tx++ = (uint8_t)us_data; \ + } +/* @} */ + +/** + * \internal + * \brief Get the number of symbols in PDU + * + * \param us_pdu_len PDU length + * \param uc_scheme Scheme + * \param uc_phy_header_type PHY header type + * + * \retval number of symbols in PDU + */ +static uint16_t _serial_if_sniffer_get_num_symbols(uint16_t us_pdu_len, + uint8_t uc_scheme, uint8_t uc_phy_header_type) +{ + uint16_t us_num_symbols; + uint8_t uc_num_bytes_symbol; + uint16_t us_long_total; + + us_long_total = us_pdu_len - MAC_HEADER_SIZE; + if (uc_phy_header_type == PHY_HT_PROMOTION) { + us_long_total++; + } else { + us_long_total += 4; + } + + switch (uc_scheme & 0x03) { + case 0x00: + uc_num_bytes_symbol = 12; + break; + + case 0x01: + uc_num_bytes_symbol = 24; + break; + + case 0x02: + uc_num_bytes_symbol = 36; + break; + + default: + uc_num_bytes_symbol = 12; + break; + } + + if (uc_scheme & 0x04) { /* Viterbi */ + us_long_total++; + uc_num_bytes_symbol >>= 1; + } + + us_num_symbols = us_long_total / uc_num_bytes_symbol; + if (us_long_total % uc_num_bytes_symbol) { + us_num_symbols++; + } + + return us_num_symbols; +} + +/** + * \brief Received message + * + * \note Process Dialogue with peer + * - Proces Profiles + * - Wait for received message + * - Process incoming message + * - Send response if necessary + * + * \param puc_rx_msg Pointer to the data attached to the connection request + * \param us_len Data length of the data attached to the request + * + * \retval true primitive stored + * \retval false primitive could not be stored + */ +uint8_t serial_if_sniffer_api_parser(uint8_t *puc_rx_msg, uint16_t us_len) +{ +#ifdef SNIFFER_STAND_ALONE + uint8_t uc_cmd; + uint8_t *puc_rx; + + /* Pointer to message data */ + puc_rx = puc_rx_msg; + + /* Extract command */ + uc_cmd = *puc_rx++; + + switch (cfgSnifferType) { + case SNIFFER_ATPL240: + if (uc_cmd == SNIFFER_SELECT_CHANNEL) { + phy1020Sniffer_setRxChannel(*puc_rx++); + } + + case SNIFFER_ATPL210: + if (uc_cmd == SNIFFER_ACTIVATE_CRC) { + phy1020Sniffer_setMacCoprocEn(*puc_rx++); + } + + default: + break; + } +#endif + puc_rx_msg = puc_rx_msg; + us_len = us_len; + return true; +} + +/** + * \brief This function packs the received packet. + * + * \param px_snif Pointer to sniffer data parameters + * \param puc_buf Pointer to the data + * \param us_len Data length of the data + * + */ +void serial_if_sniffer_pack_pdu(SnifferParam *px_snif, uint8_t *puc_buf, + uint16_t us_len) +{ + uint8_t *puc_tx; + uint16_t us_idx; + uint32_t ul_rx_time_end; + uint8_t uc_rx_scheme; + uint8_t uc_rx_payload_len; + uint32_t l_rx_time; + uint8_t uc_rx_rssi; + uint8_t uc_snr, uc_snr_ex, uc_chn; + x_usi_serial_cmd_params_t x_pkt_usi; + uint8_t uc_buff_id; + + /* Fill in received data, leaving space for required overhead */ + puc_tx = &frameMacToPack[0]; + *puc_tx++ = SNIFFER_PDU_CMD; + *puc_tx++ = SNIFFER_PDU_VERSION_FORMAT; + *puc_tx++ = cfgSnifferType; + + if ((cfgSnifferType & MASK_SNIFFER_EMBEDDED) == 0) { + pal_get_cfg_ex(PAL_ID_RX_SCHEME, &uc_rx_scheme, 1); + pal_get_cfg_ex(PAL_ID_RX_BUFFER_ID, &uc_buff_id, sizeof(uc_buff_id)); + pal_get_cfg_ex(PAL_ID_RX_RSSI_AVG_RX0 + uc_buff_id, &uc_rx_rssi, sizeof(uc_rx_rssi)); + pal_get_cfg_ex(PAL_ID_TXRX_CHANNEL, &uc_chn, 1); + pal_get_cfg_ex(PAL_ID_RX_PAYLOAD_LEN, &uc_rx_payload_len, 1); + /* Reception quality */ + pal_snr_get(&uc_snr, PAL_QT_UNKNOW); + pal_get_cfg_ex(PAL_ID_EX_SNR, &uc_snr_ex, 1); + } else if ((px_snif->type == SNIFFER_RX) || (px_snif->type == SNIFFER_TX)) { + uc_rx_scheme = px_snif->scheme; + uc_rx_payload_len = _serial_if_sniffer_get_num_symbols(us_len, uc_rx_scheme, + ((puc_buf[2] >> 4) & 0x03)); + l_rx_time = px_snif->time; + pal_get_cfg_ex(PAL_ID_TXRX_CHANNEL, &uc_chn, 1); + if (px_snif->type == SNIFFER_RX) { + pal_get_cfg_ex(PAL_ID_RX_SCHEME, &uc_rx_scheme, 1); + pal_get_cfg_ex(PAL_ID_RX_BUFFER_ID, &uc_buff_id, sizeof(uc_buff_id)); + pal_get_cfg_ex(PAL_ID_RX_RSSI_AVG_RX0 + uc_buff_id, &uc_rx_rssi, sizeof(uc_rx_rssi)); + /* Reception quality */ + pal_snr_get(&uc_snr, PAL_QT_UNKNOW); + pal_get_cfg_ex(PAL_ID_EX_SNR, &uc_snr_ex, 1); + } else { + uc_rx_rssi = 136; + uc_snr_ex = 59; + uc_snr = 7; + } + } else { /* Sniffer Serial */ + pal_timer_get(&l_rx_time); + uc_rx_scheme = 0x02; + uc_rx_payload_len = _serial_if_sniffer_get_num_symbols(us_len, uc_rx_scheme, + ((puc_buf[2] >> 4) & 0x03)); + uc_rx_rssi = 136; + uc_snr_ex = 59; + uc_snr = 7; + uc_chn = 0xff; /* channel reserved for serial line */ + } + + /* Modulation scheme */ + *puc_tx++ = uc_rx_scheme; + /* Payload length */ + *puc_tx++ = uc_rx_payload_len; + + /* SNR */ + *puc_tx++ = uc_snr; + *puc_tx++ = uc_snr_ex; + + /* Reception Channel */ + *puc_tx++ = uc_chn; + + /* Set to '0' unused, reserved 11 bytes */ + for (us_idx = 0; us_idx < 11; us_idx++) { + *puc_tx++ = 0; + } + + /* Add Time start */ + l_rx_time <<= TIME_SHIFT_BITS; /* PC Sniffer expects a shifted value */ + _pack_ul(l_rx_time); + + /* Add Time End */ + ul_rx_time_end = l_rx_time + TIME_PHY_PREAMBLE + TIME_PHY_HEADER + + (uc_rx_payload_len * TIME_PHY_OFDM_SYMBOL); + _pack_ul(ul_rx_time_end); + + /* Add Power */ + _pack_us(uc_rx_rssi); + + /* Add Crc Coprocessor status */ + #ifdef SNIFFER_STAND_ALONE + *puc_tx++ = phy1020Sniffer_getMacCoprocEn(); + #else + *puc_tx++ = true; + #endif + /* Add pdu length */ + _pack_us(us_len); + + /* Copy pdu to Buffer */ + memcpy(puc_tx, puc_buf, us_len); + + /* Pack and send the primitive */ + x_pkt_usi.uc_protocol_type = PROTOCOL_SNIF_PRIME; + x_pkt_usi.ptr_buf = (uint8_t *)&frameMacToPack[0]; + x_pkt_usi.us_len = SNIFFER_PDU_HEADER_LENGTH + us_len; + usi_send_cmd(&x_pkt_usi); + + return; +} + +/* @} */ + +/* @cond 0 */ +/**INDENT-OFF**/ +#ifdef __cplusplus +} +#endif +/**INDENT-ON**/ +/* @endcond */ diff --git a/thirdparty/prime/mac/mac_1_3/addons/serial_if/serial_if_sniffer.h b/thirdparty/prime/mac/mac_1_3/addons/serial_if/serial_if_sniffer.h new file mode 100644 index 00000000..cc285fdd --- /dev/null +++ b/thirdparty/prime/mac/mac_1_3/addons/serial_if/serial_if_sniffer.h @@ -0,0 +1,84 @@ +/** + * \file + * + * \brief PRIME Embedded Sniffer Serial Interface + * + * Copyright (c) 2014-2015 Atmel Corporation. All rights reserved. + * + * \asf_license_start + * + * \page License + * + * 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 microcontroller 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. + * + * \asf_license_stop + * + */ + +#ifndef SERIAL_IF_SNIFFER_H_INCLUDE +#define SERIAL_IF_SNIFFER_H_INCLUDE + +#include "prime.h" + +/* @cond 0 */ +/**INDENT-OFF**/ +#ifdef __cplusplus +extern "C" { +#endif +/**INDENT-ON**/ +/* @endcond */ + +/** + * \ingroup mac_prime_group + * \defgroup serial_sniffer_prime_group PRIME Serial Embedded Sniffer + * + * This module provides configuration and utils for the + * serialization of the embedded sniffer in PRIME. + * + * @{ + */ + +/* \name Serialization of Embedded Sniffer */ +/* @{ */ +uint8_t serial_if_sniffer_api_parser(uint8_t *puc_rx_msg, uint16_t len); +void serial_if_sniffer_pack_pdu(SnifferParam *snif, uint8_t *buf, uint16_t len); + +/* @} */ + +/* @} */ + +/* @cond 0 */ +/**INDENT-OFF**/ +#ifdef __cplusplus +} +#endif +/**INDENT-ON**/ +/* @endcond */ + +#endif /* SERIAL_IF_SNIFFER_H_INCLUDE */ diff --git a/thirdparty/prime/mac/mac_1_3/doxygen/thirdparty.prime.mac_1_3_base/doxyfile.doxygen b/thirdparty/prime/mac/mac_1_3/doxygen/thirdparty.prime.mac_1_3_base/doxyfile.doxygen new file mode 100644 index 00000000..c63ed84d --- /dev/null +++ b/thirdparty/prime/mac/mac_1_3/doxygen/thirdparty.prime.mac_1_3_base/doxyfile.doxygen @@ -0,0 +1,1645 @@ +# Doxyfile 1.7.1 + +# This file describes the settings to be used by the documentation system +# doxygen (www.doxygen.org) for a project +# +# All text after a hash (#) is considered a comment and will be ignored +# The format is: +# TAG = value [value, ...] +# For lists items can also be appended using: +# TAG += value [value, ...] +# Values that contain spaces should be placed between quotes (" ") + +#--------------------------------------------------------------------------- +# Project related configuration options +#--------------------------------------------------------------------------- + +# This tag specifies the encoding used for all characters in the config file +# that follow. The default is UTF-8 which is also the encoding used for all +# text before the first occurrence of this tag. Doxygen uses libiconv (or the +# iconv built into libc) for the transcoding. See +# http://www.gnu.org/software/libiconv for the list of possible encodings. + +DOXYFILE_ENCODING = UTF-8 + +# The PROJECT_NAME tag is a single word (or a sequence of words surrounded +# by quotes) that should identify the project. + +PROJECT_NAME = "PRIME MAC Layer" + +# The PROJECT_NUMBER tag can be used to enter a project or revision number. +# This could be handy for archiving the generated documentation or +# if some version control system is used. + +PROJECT_NUMBER = + +# The OUTPUT_DIRECTORY tag is used to specify the (relative or absolute) +# base path where the generated documentation will be put. +# If a relative path is entered, it will be relative to the location +# where doxygen was started. If left blank the current directory will be used. + +OUTPUT_DIRECTORY = . + +# If the CREATE_SUBDIRS tag is set to YES, then doxygen will create +# 4096 sub-directories (in 2 levels) under the output directory of each output +# format and will distribute the generated files over these directories. +# Enabling this option can be useful when feeding doxygen a huge amount of +# source files, where putting all generated files in the same directory would +# otherwise cause performance problems for the file system. + +CREATE_SUBDIRS = NO + +# The OUTPUT_LANGUAGE tag is used to specify the language in which all +# documentation generated by doxygen is written. Doxygen will use this +# information to generate all constant output in the proper language. +# The default language is English, other supported languages are: +# Afrikaans, Arabic, Brazilian, Catalan, Chinese, Chinese-Traditional, +# Croatian, Czech, Danish, Dutch, Esperanto, Farsi, Finnish, French, German, +# Greek, Hungarian, Italian, Japanese, Japanese-en (Japanese with English +# messages), Korean, Korean-en, Lithuanian, Norwegian, Macedonian, Persian, +# Polish, Portuguese, Romanian, Russian, Serbian, Serbian-Cyrilic, Slovak, +# Slovene, Spanish, Swedish, Ukrainian, and Vietnamese. + +OUTPUT_LANGUAGE = English + +# If the BRIEF_MEMBER_DESC tag is set to YES (the default) Doxygen will +# include brief member descriptions after the members that are listed in +# the file and class documentation (similar to JavaDoc). +# Set to NO to disable this. + +BRIEF_MEMBER_DESC = YES + +# If the REPEAT_BRIEF tag is set to YES (the default) Doxygen will prepend +# the brief description of a member or function before the detailed description. +# Note: if both HIDE_UNDOC_MEMBERS and BRIEF_MEMBER_DESC are set to NO, the +# brief descriptions will be completely suppressed. + +REPEAT_BRIEF = YES + +# This tag implements a quasi-intelligent brief description abbreviator +# that is used to form the text in various listings. Each string +# in this list, if found as the leading text of the brief description, will be +# stripped from the text and the result after processing the whole list, is +# used as the annotated text. Otherwise, the brief description is used as-is. +# If left blank, the following values are used ("$name" is automatically +# replaced with the name of the entity): "The $name class" "The $name widget" +# "The $name file" "is" "provides" "specifies" "contains" +# "represents" "a" "an" "the" + +ABBREVIATE_BRIEF = + +# If the ALWAYS_DETAILED_SEC and REPEAT_BRIEF tags are both set to YES then +# Doxygen will generate a detailed section even if there is only a brief +# description. + +ALWAYS_DETAILED_SEC = NO + +# If the INLINE_INHERITED_MEMB tag is set to YES, doxygen will show all +# inherited members of a class in the documentation of that class as if those +# members were ordinary class members. Constructors, destructors and assignment +# operators of the base classes will not be shown. + +INLINE_INHERITED_MEMB = NO + +# If the FULL_PATH_NAMES tag is set to YES then Doxygen will prepend the full +# path before files name in the file list and in the header files. If set +# to NO the shortest path that makes the file name unique will be used. + +FULL_PATH_NAMES = NO + +# If the FULL_PATH_NAMES tag is set to YES then the STRIP_FROM_PATH tag +# can be used to strip a user-defined part of the path. Stripping is +# only done if one of the specified strings matches the left-hand part of +# the path. The tag can be used to show relative paths in the file list. +# If left blank the directory from which doxygen is run is used as the +# path to strip. + +STRIP_FROM_PATH = + +# The STRIP_FROM_INC_PATH tag can be used to strip a user-defined part of +# the path mentioned in the documentation of a class, which tells +# the reader which header file to include in order to use a class. +# If left blank only the name of the header file containing the class +# definition is used. Otherwise one should specify the include paths that +# are normally passed to the compiler using the -I flag. + +STRIP_FROM_INC_PATH = + +# If the SHORT_NAMES tag is set to YES, doxygen will generate much shorter +# (but less readable) file names. This can be useful is your file systems +# doesn't support long names like on DOS, Mac, or CD-ROM. + +SHORT_NAMES = NO + +# If the JAVADOC_AUTOBRIEF tag is set to YES then Doxygen +# will interpret the first line (until the first dot) of a JavaDoc-style +# comment as the brief description. If set to NO, the JavaDoc +# comments will behave just like regular Qt-style comments +# (thus requiring an explicit @brief command for a brief description.) + +JAVADOC_AUTOBRIEF = YES + +# If the QT_AUTOBRIEF tag is set to YES then Doxygen will +# interpret the first line (until the first dot) of a Qt-style +# comment as the brief description. If set to NO, the comments +# will behave just like regular Qt-style comments (thus requiring +# an explicit \brief command for a brief description.) + +QT_AUTOBRIEF = NO + +# The MULTILINE_CPP_IS_BRIEF tag can be set to YES to make Doxygen +# treat a multi-line C++ special comment block (i.e. a block of //! or /// +# comments) as a brief description. This used to be the default behaviour. +# The new default is to treat a multi-line C++ comment block as a detailed +# description. Set this tag to YES if you prefer the old behaviour instead. + +MULTILINE_CPP_IS_BRIEF = NO + +# If the INHERIT_DOCS tag is set to YES (the default) then an undocumented +# member inherits the documentation from any documented member that it +# re-implements. + +INHERIT_DOCS = YES + +# If the SEPARATE_MEMBER_PAGES tag is set to YES, then doxygen will produce +# a new page for each member. If set to NO, the documentation of a member will +# be part of the file/class/namespace that contains it. + +SEPARATE_MEMBER_PAGES = NO + +# The TAB_SIZE tag can be used to set the number of spaces in a tab. +# Doxygen uses this value to replace tabs by spaces in code fragments. + +TAB_SIZE = 4 + +# This tag can be used to specify a number of aliases that acts +# as commands in the documentation. An alias has the form "name=value". +# For example adding "sideeffect=\par Side Effects:\n" will allow you to +# put the command \sideeffect (or @sideeffect) in the documentation, which +# will result in a user-defined paragraph with heading "Side Effects:". +# You can put \n's in the value part of an alias to insert newlines. + +ALIASES += asf_license_start=" " +ALIASES += asf_license_stop=" " + +# Set the OPTIMIZE_OUTPUT_FOR_C tag to YES if your project consists of C +# sources only. Doxygen will then generate output that is more tailored for C. +# For instance, some of the names that are used will be different. The list +# of all members will be omitted, etc. + +OPTIMIZE_OUTPUT_FOR_C = YES + +# Set the OPTIMIZE_OUTPUT_JAVA tag to YES if your project consists of Java +# sources only. Doxygen will then generate output that is more tailored for +# Java. For instance, namespaces will be presented as packages, qualified +# scopes will look different, etc. + +OPTIMIZE_OUTPUT_JAVA = NO + +# Set the OPTIMIZE_FOR_FORTRAN tag to YES if your project consists of Fortran +# sources only. Doxygen will then generate output that is more tailored for +# Fortran. + +OPTIMIZE_FOR_FORTRAN = NO + +# Set the OPTIMIZE_OUTPUT_VHDL tag to YES if your project consists of VHDL +# sources. Doxygen will then generate output that is tailored for +# VHDL. + +OPTIMIZE_OUTPUT_VHDL = NO + +# Doxygen selects the parser to use depending on the extension of the files it +# parses. With this tag you can assign which parser to use for a given extension. +# Doxygen has a built-in mapping, but you can override or extend it using this +# tag. The format is ext=language, where ext is a file extension, and language +# is one of the parsers supported by doxygen: IDL, Java, Javascript, CSharp, C, +# C++, D, PHP, Objective-C, Python, Fortran, VHDL, C, C++. For instance to make +# doxygen treat .inc files as Fortran files (default is PHP), and .f files as C +# (default is Fortran), use: inc=Fortran f=C. Note that for custom extensions +# you also need to set FILE_PATTERNS otherwise the files are not read by doxygen. + +EXTENSION_MAPPING = + +# If you use STL classes (i.e. std::string, std::vector, etc.) but do not want +# to include (a tag file for) the STL sources as input, then you should +# set this tag to YES in order to let doxygen match functions declarations and +# definitions whose arguments contain STL classes (e.g. func(std::string); v.s. +# func(std::string) {}). This also make the inheritance and collaboration +# diagrams that involve STL classes more complete and accurate. + +BUILTIN_STL_SUPPORT = NO + +# If you use Microsoft's C++/CLI language, you should set this option to YES to +# enable parsing support. + +CPP_CLI_SUPPORT = NO + +# Set the SIP_SUPPORT tag to YES if your project consists of sip sources only. +# Doxygen will parse them like normal C++ but will assume all classes use public +# instead of private inheritance when no explicit protection keyword is present. + +SIP_SUPPORT = NO + +# For Microsoft's IDL there are propget and propput attributes to indicate getter +# and setter methods for a property. Setting this option to YES (the default) +# will make doxygen to replace the get and set methods by a property in the +# documentation. This will only work if the methods are indeed getting or +# setting a simple type. If this is not the case, or you want to show the +# methods anyway, you should set this option to NO. + +IDL_PROPERTY_SUPPORT = YES + +# If member grouping is used in the documentation and the DISTRIBUTE_GROUP_DOC +# tag is set to YES, then doxygen will reuse the documentation of the first +# member in the group (if any) for the other members of the group. By default +# all members of a group must be documented explicitly. + +DISTRIBUTE_GROUP_DOC = NO + +# Set the SUBGROUPING tag to YES (the default) to allow class member groups of +# the same type (for instance a group of public functions) to be put as a +# subgroup of that type (e.g. under the Public Functions section). Set it to +# NO to prevent subgrouping. Alternatively, this can be done per class using +# the \nosubgrouping command. + +SUBGROUPING = YES + +# When TYPEDEF_HIDES_STRUCT is enabled, a typedef of a struct, union, or enum +# is documented as struct, union, or enum with the name of the typedef. So +# typedef struct TypeS {} TypeT, will appear in the documentation as a struct +# with name TypeT. When disabled the typedef will appear as a member of a file, +# namespace, or class. And the struct will be named TypeS. This can typically +# be useful for C code in case the coding convention dictates that all compound +# types are typedef'ed and only the typedef is referenced, never the tag name. + +TYPEDEF_HIDES_STRUCT = NO + +# The SYMBOL_CACHE_SIZE determines the size of the internal cache use to +# determine which symbols to keep in memory and which to flush to disk. +# When the cache is full, less often used symbols will be written to disk. +# For small to medium size projects (<1000 input files) the default value is +# probably good enough. For larger projects a too small cache size can cause +# doxygen to be busy swapping symbols to and from disk most of the time +# causing a significant performance penality. +# If the system has enough physical memory increasing the cache will improve the +# performance by keeping more symbols in memory. Note that the value works on +# a logarithmic scale so increasing the size by one will rougly double the +# memory usage. The cache size is given by this formula: +# 2^(16+SYMBOL_CACHE_SIZE). The valid range is 0..9, the default is 0, +# corresponding to a cache size of 2^16 = 65536 symbols + +SYMBOL_CACHE_SIZE = 0 + +#--------------------------------------------------------------------------- +# Build related configuration options +#--------------------------------------------------------------------------- + +# If the EXTRACT_ALL tag is set to YES doxygen will assume all entities in +# documentation are documented, even if no documentation was available. +# Private class members and static file members will be hidden unless +# the EXTRACT_PRIVATE and EXTRACT_STATIC tags are set to YES + +EXTRACT_ALL = YES + +# If the EXTRACT_PRIVATE tag is set to YES all private members of a class +# will be included in the documentation. + +EXTRACT_PRIVATE = NO + +# If the EXTRACT_STATIC tag is set to YES all static members of a file +# will be included in the documentation. + +EXTRACT_STATIC = YES + +# If the EXTRACT_LOCAL_CLASSES tag is set to YES classes (and structs) +# defined locally in source files will be included in the documentation. +# If set to NO only classes defined in header files are included. + +EXTRACT_LOCAL_CLASSES = YES + +# This flag is only useful for Objective-C code. When set to YES local +# methods, which are defined in the implementation section but not in +# the interface are included in the documentation. +# If set to NO (the default) only methods in the interface are included. + +EXTRACT_LOCAL_METHODS = NO + +# If this flag is set to YES, the members of anonymous namespaces will be +# extracted and appear in the documentation as a namespace called +# 'anonymous_namespace{file}', where file will be replaced with the base +# name of the file that contains the anonymous namespace. By default +# anonymous namespace are hidden. + +EXTRACT_ANON_NSPACES = NO + +# If the HIDE_UNDOC_MEMBERS tag is set to YES, Doxygen will hide all +# undocumented members of documented classes, files or namespaces. +# If set to NO (the default) these members will be included in the +# various overviews, but no documentation section is generated. +# This option has no effect if EXTRACT_ALL is enabled. + +HIDE_UNDOC_MEMBERS = NO + +# If the HIDE_UNDOC_CLASSES tag is set to YES, Doxygen will hide all +# undocumented classes that are normally visible in the class hierarchy. +# If set to NO (the default) these classes will be included in the various +# overviews. This option has no effect if EXTRACT_ALL is enabled. + +HIDE_UNDOC_CLASSES = NO + +# If the HIDE_FRIEND_COMPOUNDS tag is set to YES, Doxygen will hide all +# friend (class|struct|union) declarations. +# If set to NO (the default) these declarations will be included in the +# documentation. + +HIDE_FRIEND_COMPOUNDS = NO + +# If the HIDE_IN_BODY_DOCS tag is set to YES, Doxygen will hide any +# documentation blocks found inside the body of a function. +# If set to NO (the default) these blocks will be appended to the +# function's detailed documentation block. + +HIDE_IN_BODY_DOCS = NO + +# The INTERNAL_DOCS tag determines if documentation +# that is typed after a \internal command is included. If the tag is set +# to NO (the default) then the documentation will be excluded. +# Set it to YES to include the internal documentation. + +INTERNAL_DOCS = YES + +# If the CASE_SENSE_NAMES tag is set to NO then Doxygen will only generate +# file names in lower-case letters. If set to YES upper-case letters are also +# allowed. This is useful if you have classes or files whose names only differ +# in case and if your file system supports case sensitive file names. Windows +# and Mac users are advised to set this option to NO. + +CASE_SENSE_NAMES = NO + +# If the HIDE_SCOPE_NAMES tag is set to NO (the default) then Doxygen +# will show members with their full class and namespace scopes in the +# documentation. If set to YES the scope will be hidden. + +HIDE_SCOPE_NAMES = NO + +# If the SHOW_INCLUDE_FILES tag is set to YES (the default) then Doxygen +# will put a list of the files that are included by a file in the documentation +# of that file. + +SHOW_INCLUDE_FILES = YES + +# If the FORCE_LOCAL_INCLUDES tag is set to YES then Doxygen +# will list include files with double quotes in the documentation +# rather than with sharp brackets. + +FORCE_LOCAL_INCLUDES = NO + +# If the INLINE_INFO tag is set to YES (the default) then a tag [inline] +# is inserted in the documentation for inline members. + +INLINE_INFO = YES + +# If the SORT_MEMBER_DOCS tag is set to YES (the default) then doxygen +# will sort the (detailed) documentation of file and class members +# alphabetically by member name. If set to NO the members will appear in +# declaration order. + +SORT_MEMBER_DOCS = YES + +# If the SORT_BRIEF_DOCS tag is set to YES then doxygen will sort the +# brief documentation of file, namespace and class members alphabetically +# by member name. If set to NO (the default) the members will appear in +# declaration order. + +SORT_BRIEF_DOCS = YES + +# If the SORT_MEMBERS_CTORS_1ST tag is set to YES then doxygen +# will sort the (brief and detailed) documentation of class members so that +# constructors and destructors are listed first. If set to NO (the default) +# the constructors will appear in the respective orders defined by +# SORT_MEMBER_DOCS and SORT_BRIEF_DOCS. +# This tag will be ignored for brief docs if SORT_BRIEF_DOCS is set to NO +# and ignored for detailed docs if SORT_MEMBER_DOCS is set to NO. + +SORT_MEMBERS_CTORS_1ST = NO + +# If the SORT_GROUP_NAMES tag is set to YES then doxygen will sort the +# hierarchy of group names into alphabetical order. If set to NO (the default) +# the group names will appear in their defined order. + +SORT_GROUP_NAMES = NO + +# If the SORT_BY_SCOPE_NAME tag is set to YES, the class list will be +# sorted by fully-qualified names, including namespaces. If set to +# NO (the default), the class list will be sorted only by class name, +# not including the namespace part. +# Note: This option is not very useful if HIDE_SCOPE_NAMES is set to YES. +# Note: This option applies only to the class list, not to the +# alphabetical list. + +SORT_BY_SCOPE_NAME = NO + +# The GENERATE_TODOLIST tag can be used to enable (YES) or +# disable (NO) the todo list. This list is created by putting \todo +# commands in the documentation. + +GENERATE_TODOLIST = YES + +# The GENERATE_TESTLIST tag can be used to enable (YES) or +# disable (NO) the test list. This list is created by putting \test +# commands in the documentation. + +GENERATE_TESTLIST = YES + +# The GENERATE_BUGLIST tag can be used to enable (YES) or +# disable (NO) the bug list. This list is created by putting \bug +# commands in the documentation. + +GENERATE_BUGLIST = YES + +# The GENERATE_DEPRECATEDLIST tag can be used to enable (YES) or +# disable (NO) the deprecated list. This list is created by putting +# \deprecated commands in the documentation. + +GENERATE_DEPRECATEDLIST= YES + +# The ENABLED_SECTIONS tag can be used to enable conditional +# documentation sections, marked by \if sectionname ... \endif. + +ENABLED_SECTIONS = + +# The MAX_INITIALIZER_LINES tag determines the maximum number of lines +# the initial value of a variable or define consists of for it to appear in +# the documentation. If the initializer consists of more lines than specified +# here it will be hidden. Use a value of 0 to hide initializers completely. +# The appearance of the initializer of individual variables and defines in the +# documentation can be controlled using \showinitializer or \hideinitializer +# command in the documentation regardless of this setting. + +MAX_INITIALIZER_LINES = 30 + +# Set the SHOW_USED_FILES tag to NO to disable the list of files generated +# at the bottom of the documentation of classes and structs. If set to YES the +# list will mention the files that were used to generate the documentation. + +SHOW_USED_FILES = NO + +# If the sources in your project are distributed over multiple directories +# then setting the SHOW_DIRECTORIES tag to YES will show the directory hierarchy +# in the documentation. The default is NO. + +SHOW_DIRECTORIES = NO + +# Set the SHOW_FILES tag to NO to disable the generation of the Files page. +# This will remove the Files entry from the Quick Index and from the +# Folder Tree View (if specified). The default is YES. + +SHOW_FILES = YES + +# Set the SHOW_NAMESPACES tag to NO to disable the generation of the +# Namespaces page. +# This will remove the Namespaces entry from the Quick Index +# and from the Folder Tree View (if specified). The default is YES. + +SHOW_NAMESPACES = YES + +# The FILE_VERSION_FILTER tag can be used to specify a program or script that +# doxygen should invoke to get the current version for each file (typically from +# the version control system). Doxygen will invoke the program by executing (via +# popen()) the command <command> <input-file>, where <command> is the value of +# the FILE_VERSION_FILTER tag, and <input-file> is the name of an input file +# provided by doxygen. Whatever the program writes to standard output +# is used as the file version. See the manual for examples. + +FILE_VERSION_FILTER = + +# The LAYOUT_FILE tag can be used to specify a layout file which will be parsed +# by doxygen. The layout file controls the global structure of the generated +# output files in an output format independent way. The create the layout file +# that represents doxygen's defaults, run doxygen with the -l option. +# You can optionally specify a file name after the option, if omitted +# DoxygenLayout.xml will be used as the name of the layout file. + +LAYOUT_FILE = + +#--------------------------------------------------------------------------- +# configuration options related to warning and progress messages +#--------------------------------------------------------------------------- + +# The QUIET tag can be used to turn on/off the messages that are generated +# by doxygen. Possible values are YES and NO. If left blank NO is used. + +QUIET = YES + +# The WARNINGS tag can be used to turn on/off the warning messages that are +# generated by doxygen. Possible values are YES and NO. If left blank +# NO is used. + +WARNINGS = YES + +# If WARN_IF_UNDOCUMENTED is set to YES, then doxygen will generate warnings +# for undocumented members. If EXTRACT_ALL is set to YES then this flag will +# automatically be disabled. + +WARN_IF_UNDOCUMENTED = YES + +# If WARN_IF_DOC_ERROR is set to YES, doxygen will generate warnings for +# potential errors in the documentation, such as not documenting some +# parameters in a documented function, or documenting parameters that +# don't exist or using markup commands wrongly. + +WARN_IF_DOC_ERROR = YES + +# This WARN_NO_PARAMDOC option can be abled to get warnings for +# functions that are documented, but have no documentation for their parameters +# or return value. If set to NO (the default) doxygen will only warn about +# wrong or incomplete parameter documentation, but not about the absence of +# documentation. + +WARN_NO_PARAMDOC = NO + +# The WARN_FORMAT tag determines the format of the warning messages that +# doxygen can produce. The string should contain the $file, $line, and $text +# tags, which will be replaced by the file and line number from which the +# warning originated and the warning text. Optionally the format may contain +# $version, which will be replaced by the version of the file (if it could +# be obtained via FILE_VERSION_FILTER) + +WARN_FORMAT = "[WARNING]$file:$line: $text" + +# The WARN_LOGFILE tag can be used to specify a file to which warning +# and error messages should be written. If left blank the output is written +# to stderr. + +WARN_LOGFILE = + +#--------------------------------------------------------------------------- +# configuration options related to the input files +#--------------------------------------------------------------------------- + +# The INPUT tag can be used to specify the files and/or directories that contain +# documented source files. You may enter file names like "myfile.cpp" or +# directories like "/usr/src/myproject". Separate the files or directories +# with spaces. + +INPUT = doxygen_module_mainpage.h ../../module_config/conf_mac.c ../../source/PrimeVersion.c ../../include/bmngt.h ../../include/mngl.h ../../include/prime.h ../../module_config/conf_mac.h ../../module_config/conf_prime.h + +# This tag can be used to specify the character encoding of the source files +# that doxygen parses. Internally doxygen uses the UTF-8 encoding, which is +# also the default input encoding. Doxygen uses libiconv (or the iconv built +# into libc) for the transcoding. See http://www.gnu.org/software/libiconv for +# the list of possible encodings. + +INPUT_ENCODING = UTF-8 + +# If the value of the INPUT tag contains directories, you can use the +# FILE_PATTERNS tag to specify one or more wildcard pattern (like *.cpp +# and *.h) to filter out the source-files in the directories. If left +# blank the following patterns are tested: +# *.c *.cc *.cxx *.cpp *.c++ *.java *.ii *.ixx *.ipp *.i++ *.inl *.h *.hh *.hxx +# *.hpp *.h++ *.idl *.odl *.cs *.php *.php3 *.inc *.m *.mm *.py *.f90 + +FILE_PATTERNS = *.c \ + *.h \ + *.s \ + *.S + +# The RECURSIVE tag can be used to turn specify whether or not subdirectories +# should be searched for input files as well. Possible values are YES and NO. +# If left blank NO is used. + +RECURSIVE = NO + +# The EXCLUDE tag can be used to specify files and/or directories that should +# excluded from the INPUT source files. This way you can easily exclude a +# subdirectory from a directory tree whose root is specified with the INPUT tag. + +EXCLUDE = + +# The EXCLUDE_SYMLINKS tag can be used select whether or not files or +# directories that are symbolic links (a Unix filesystem feature) are excluded +# from the input. + +EXCLUDE_SYMLINKS = NO + +# If the value of the INPUT tag contains directories, you can use the +# EXCLUDE_PATTERNS tag to specify one or more wildcard patterns to exclude +# certain files from those directories. Note that the wildcards are matched +# against the file with absolute path, so to exclude all test directories +# for example use the pattern */test/* + +EXCLUDE_PATTERNS = + +# The EXCLUDE_SYMBOLS tag can be used to specify one or more symbol names +# (namespaces, classes, functions, etc.) that should be excluded from the +# output. The symbol name can be a fully qualified name, a word, or if the +# wildcard * is used, a substring. Examples: ANamespace, AClass, +# AClass::ANamespace, ANamespace::*Test + +EXCLUDE_SYMBOLS = + +# The EXAMPLE_PATH tag can be used to specify one or more files or +# directories that contain example code fragments that are included (see +# the \include command). + +EXAMPLE_PATH = ./ + +# If the value of the EXAMPLE_PATH tag contains directories, you can use the +# EXAMPLE_PATTERNS tag to specify one or more wildcard pattern (like *.cpp +# and *.h) to filter out the source-files in the directories. If left +# blank all files are included. + +EXAMPLE_PATTERNS = + +# If the EXAMPLE_RECURSIVE tag is set to YES then subdirectories will be +# searched for input files to be used with the \include or \dontinclude +# commands irrespective of the value of the RECURSIVE tag. +# Possible values are YES and NO. If left blank NO is used. + +EXAMPLE_RECURSIVE = NO + +# The IMAGE_PATH tag can be used to specify one or more files or +# directories that contain image that are included in the documentation (see +# the \image command). + +IMAGE_PATH = + +# The INPUT_FILTER tag can be used to specify a program that doxygen should +# invoke to filter for each input file. Doxygen will invoke the filter program +# by executing (via popen()) the command <filter> <input-file>, where <filter> +# is the value of the INPUT_FILTER tag, and <input-file> is the name of an +# input file. Doxygen will then use the output that the filter program writes +# to standard output. +# If FILTER_PATTERNS is specified, this tag will be +# ignored. + +INPUT_FILTER = + +# The FILTER_PATTERNS tag can be used to specify filters on a per file pattern +# basis. +# Doxygen will compare the file name with each pattern and apply the +# filter if there is a match. +# The filters are a list of the form: +# pattern=filter (like *.cpp=my_cpp_filter). See INPUT_FILTER for further +# info on how filters are used. If FILTER_PATTERNS is empty, INPUT_FILTER +# is applied to all files. + +FILTER_PATTERNS = + +# If the FILTER_SOURCE_FILES tag is set to YES, the input filter (if set using +# INPUT_FILTER) will be used to filter the input files when producing source +# files to browse (i.e. when SOURCE_BROWSER is set to YES). + +FILTER_SOURCE_FILES = NO + +#--------------------------------------------------------------------------- +# configuration options related to source browsing +#--------------------------------------------------------------------------- + +# If the SOURCE_BROWSER tag is set to YES then a list of source files will +# be generated. Documented entities will be cross-referenced with these sources. +# Note: To get rid of all source code in the generated output, make sure also +# VERBATIM_HEADERS is set to NO. + +SOURCE_BROWSER = YES + +# Setting the INLINE_SOURCES tag to YES will include the body +# of functions and classes directly in the documentation. + +INLINE_SOURCES = YES + +# Setting the STRIP_CODE_COMMENTS tag to YES (the default) will instruct +# doxygen to hide any special comment blocks from generated source code +# fragments. Normal C and C++ comments will always remain visible. + +STRIP_CODE_COMMENTS = YES + +# If the REFERENCED_BY_RELATION tag is set to YES +# then for each documented function all documented +# functions referencing it will be listed. + +REFERENCED_BY_RELATION = YES + +# If the REFERENCES_RELATION tag is set to YES +# then for each documented function all documented entities +# called/used by that function will be listed. + +REFERENCES_RELATION = YES + +# If the REFERENCES_LINK_SOURCE tag is set to YES (the default) +# and SOURCE_BROWSER tag is set to YES, then the hyperlinks from +# functions in REFERENCES_RELATION and REFERENCED_BY_RELATION lists will +# link to the source code. +# Otherwise they will link to the documentation. + +REFERENCES_LINK_SOURCE = YES + +# If the USE_HTAGS tag is set to YES then the references to source code +# will point to the HTML generated by the htags(1) tool instead of doxygen +# built-in source browser. The htags tool is part of GNU's global source +# tagging system (see http://www.gnu.org/software/global/global.html). You +# will need version 4.8.6 or higher. + +USE_HTAGS = NO + +# If the VERBATIM_HEADERS tag is set to YES (the default) then Doxygen +# will generate a verbatim copy of the header file for each class for +# which an include is specified. Set to NO to disable this. + +VERBATIM_HEADERS = YES + +#--------------------------------------------------------------------------- +# configuration options related to the alphabetical class index +#--------------------------------------------------------------------------- + +# If the ALPHABETICAL_INDEX tag is set to YES, an alphabetical index +# of all compounds will be generated. Enable this if the project +# contains a lot of classes, structs, unions or interfaces. + +ALPHABETICAL_INDEX = NO + +# If the alphabetical index is enabled (see ALPHABETICAL_INDEX) then +# the COLS_IN_ALPHA_INDEX tag can be used to specify the number of columns +# in which this list will be split (can be a number in the range [1..20]) + +COLS_IN_ALPHA_INDEX = 5 + +# In case all classes in a project start with a common prefix, all +# classes will be put under the same header in the alphabetical index. +# The IGNORE_PREFIX tag can be used to specify one or more prefixes that +# should be ignored while generating the index headers. + +IGNORE_PREFIX = + +#--------------------------------------------------------------------------- +# configuration options related to the HTML output +#--------------------------------------------------------------------------- + +# If the GENERATE_HTML tag is set to YES (the default) Doxygen will +# generate HTML output. + +GENERATE_HTML = YES + +# The HTML_OUTPUT tag is used to specify where the HTML docs will be put. +# If a relative path is entered the value of OUTPUT_DIRECTORY will be +# put in front of it. If left blank `html' will be used as the default path. + +HTML_OUTPUT = html + +# The HTML_FILE_EXTENSION tag can be used to specify the file extension for +# each generated HTML page (for example: .htm,.php,.asp). If it is left blank +# doxygen will generate files with .html extension. + +HTML_FILE_EXTENSION = .html + +# The HTML_HEADER tag can be used to specify a personal HTML header for +# each generated HTML page. If it is left blank doxygen will generate a +# standard header. + +HTML_HEADER = + +# The HTML_FOOTER tag can be used to specify a personal HTML footer for +# each generated HTML page. If it is left blank doxygen will generate a +# standard footer. + +HTML_FOOTER = + +# The HTML_STYLESHEET tag can be used to specify a user-defined cascading +# style sheet that is used by each HTML page. It can be used to +# fine-tune the look of the HTML output. If the tag is left blank doxygen +# will generate a default style sheet. Note that doxygen will try to copy +# the style sheet file to the HTML output directory, so don't put your own +# stylesheet in the HTML output directory as well, or it will be erased! + +HTML_STYLESHEET = + +# The HTML_COLORSTYLE_HUE tag controls the color of the HTML output. +# Doxygen will adjust the colors in the stylesheet and background images +# according to this color. Hue is specified as an angle on a colorwheel, +# see http://en.wikipedia.org/wiki/Hue for more information. +# For instance the value 0 represents red, 60 is yellow, 120 is green, +# 180 is cyan, 240 is blue, 300 purple, and 360 is red again. +# The allowed range is 0 to 359. + +HTML_COLORSTYLE_HUE = 220 + +# The HTML_COLORSTYLE_SAT tag controls the purity (or saturation) of +# the colors in the HTML output. For a value of 0 the output will use +# grayscales only. A value of 255 will produce the most vivid colors. + +HTML_COLORSTYLE_SAT = 100 + +# The HTML_COLORSTYLE_GAMMA tag controls the gamma correction applied to +# the luminance component of the colors in the HTML output. Values below +# 100 gradually make the output lighter, whereas values above 100 make +# the output darker. The value divided by 100 is the actual gamma applied, +# so 80 represents a gamma of 0.8, The value 220 represents a gamma of 2.2, +# and 100 does not change the gamma. + +HTML_COLORSTYLE_GAMMA = 80 + +# If the HTML_TIMESTAMP tag is set to YES then the footer of each generated HTML +# page will contain the date and time when the page was generated. Setting +# this to NO can help when comparing the output of multiple runs. + +HTML_TIMESTAMP = YES + +# If the HTML_ALIGN_MEMBERS tag is set to YES, the members of classes, +# files or namespaces will be aligned in HTML using tables. If set to +# NO a bullet list will be used. + +HTML_ALIGN_MEMBERS = YES + +# If the HTML_DYNAMIC_SECTIONS tag is set to YES then the generated HTML +# documentation will contain sections that can be hidden and shown after the +# page has loaded. For this to work a browser that supports +# JavaScript and DHTML is required (for instance Mozilla 1.0+, Firefox +# Netscape 6.0+, Internet explorer 5.0+, Konqueror, or Safari). + +HTML_DYNAMIC_SECTIONS = NO + +# If the GENERATE_DOCSET tag is set to YES, additional index files +# will be generated that can be used as input for Apple's Xcode 3 +# integrated development environment, introduced with OSX 10.5 (Leopard). +# To create a documentation set, doxygen will generate a Makefile in the +# HTML output directory. Running make will produce the docset in that +# directory and running "make install" will install the docset in +# ~/Library/Developer/Shared/Documentation/DocSets so that Xcode will find +# it at startup. +# See http://developer.apple.com/tools/creatingdocsetswithdoxygen.html +# for more information. + +GENERATE_DOCSET = NO + +# When GENERATE_DOCSET tag is set to YES, this tag determines the name of the +# feed. A documentation feed provides an umbrella under which multiple +# documentation sets from a single provider (such as a company or product suite) +# can be grouped. + +DOCSET_FEEDNAME = "Doxygen generated docs" + +# When GENERATE_DOCSET tag is set to YES, this tag specifies a string that +# should uniquely identify the documentation set bundle. This should be a +# reverse domain-name style string, e.g. com.mycompany.MyDocSet. Doxygen +# will append .docset to the name. + +DOCSET_BUNDLE_ID = org.doxygen.Project + +# When GENERATE_PUBLISHER_ID tag specifies a string that should uniquely identify +# the documentation publisher. This should be a reverse domain-name style +# string, e.g. com.mycompany.MyDocSet.documentation. + +DOCSET_PUBLISHER_ID = org.doxygen.Publisher + +# The GENERATE_PUBLISHER_NAME tag identifies the documentation publisher. + +DOCSET_PUBLISHER_NAME = Publisher + +# If the GENERATE_HTMLHELP tag is set to YES, additional index files +# will be generated that can be used as input for tools like the +# Microsoft HTML help workshop to generate a compiled HTML help file (.chm) +# of the generated HTML documentation. + +GENERATE_HTMLHELP = NO + +# If the GENERATE_HTMLHELP tag is set to YES, the CHM_FILE tag can +# be used to specify the file name of the resulting .chm file. You +# can add a path in front of the file if the result should not be +# written to the html output directory. + +CHM_FILE = + +# If the GENERATE_HTMLHELP tag is set to YES, the HHC_LOCATION tag can +# be used to specify the location (absolute path including file name) of +# the HTML help compiler (hhc.exe). If non-empty doxygen will try to run +# the HTML help compiler on the generated index.hhp. + +HHC_LOCATION = + +# If the GENERATE_HTMLHELP tag is set to YES, the GENERATE_CHI flag +# controls if a separate .chi index file is generated (YES) or that +# it should be included in the master .chm file (NO). + +GENERATE_CHI = NO + +# If the GENERATE_HTMLHELP tag is set to YES, the CHM_INDEX_ENCODING +# is used to encode HtmlHelp index (hhk), content (hhc) and project file +# content. + +CHM_INDEX_ENCODING = + +# If the GENERATE_HTMLHELP tag is set to YES, the BINARY_TOC flag +# controls whether a binary table of contents is generated (YES) or a +# normal table of contents (NO) in the .chm file. + +BINARY_TOC = NO + +# The TOC_EXPAND flag can be set to YES to add extra items for group members +# to the contents of the HTML help documentation and to the tree view. + +TOC_EXPAND = NO + +# If the GENERATE_QHP tag is set to YES and both QHP_NAMESPACE and +# QHP_VIRTUAL_FOLDER are set, an additional index file will be generated +# that can be used as input for Qt's qhelpgenerator to generate a +# Qt Compressed Help (.qch) of the generated HTML documentation. + +GENERATE_QHP = NO + +# If the QHG_LOCATION tag is specified, the QCH_FILE tag can +# be used to specify the file name of the resulting .qch file. +# The path specified is relative to the HTML output folder. + +QCH_FILE = + +# The QHP_NAMESPACE tag specifies the namespace to use when generating +# Qt Help Project output. For more information please see +# http://doc.trolltech.com/qthelpproject.html#namespace + +QHP_NAMESPACE = org.doxygen.Project + +# The QHP_VIRTUAL_FOLDER tag specifies the namespace to use when generating +# Qt Help Project output. For more information please see +# http://doc.trolltech.com/qthelpproject.html#virtual-folders + +QHP_VIRTUAL_FOLDER = doc + +# If QHP_CUST_FILTER_NAME is set, it specifies the name of a custom filter to +# add. For more information please see +# http://doc.trolltech.com/qthelpproject.html#custom-filters + +QHP_CUST_FILTER_NAME = + +# The QHP_CUST_FILT_ATTRS tag specifies the list of the attributes of the +# custom filter to add. For more information please see +# <a href="http://doc.trolltech.com/qthelpproject.html#custom-filters"> +# Qt Help Project / Custom Filters</a>. + +QHP_CUST_FILTER_ATTRS = + +# The QHP_SECT_FILTER_ATTRS tag specifies the list of the attributes this +# project's +# filter section matches. +# <a href="http://doc.trolltech.com/qthelpproject.html#filter-attributes"> +# Qt Help Project / Filter Attributes</a>. + +QHP_SECT_FILTER_ATTRS = + +# If the GENERATE_QHP tag is set to YES, the QHG_LOCATION tag can +# be used to specify the location of Qt's qhelpgenerator. +# If non-empty doxygen will try to run qhelpgenerator on the generated +# .qhp file. + +QHG_LOCATION = + +# If the GENERATE_ECLIPSEHELP tag is set to YES, additional index files +# will be generated, which together with the HTML files, form an Eclipse help +# plugin. To install this plugin and make it available under the help contents +# menu in Eclipse, the contents of the directory containing the HTML and XML +# files needs to be copied into the plugins directory of eclipse. The name of +# the directory within the plugins directory should be the same as +# the ECLIPSE_DOC_ID value. After copying Eclipse needs to be restarted before +# the help appears. + +GENERATE_ECLIPSEHELP = NO + +# A unique identifier for the eclipse help plugin. When installing the plugin +# the directory name containing the HTML and XML files should also have +# this name. + +ECLIPSE_DOC_ID = org.doxygen.Project + +# The DISABLE_INDEX tag can be used to turn on/off the condensed index at +# top of each HTML page. The value NO (the default) enables the index and +# the value YES disables it. + +DISABLE_INDEX = NO + +# This tag can be used to set the number of enum values (range [1..20]) +# that doxygen will group on one line in the generated HTML documentation. + +ENUM_VALUES_PER_LINE = 1 + +# The GENERATE_TREEVIEW tag is used to specify whether a tree-like index +# structure should be generated to display hierarchical information. +# If the tag value is set to YES, a side panel will be generated +# containing a tree-like index structure (just like the one that +# is generated for HTML Help). For this to work a browser that supports +# JavaScript, DHTML, CSS and frames is required (i.e. any modern browser). +# Windows users are probably better off using the HTML help feature. + +GENERATE_TREEVIEW = NO + +# By enabling USE_INLINE_TREES, doxygen will generate the Groups, Directories, +# and Class Hierarchy pages using a tree view instead of an ordered list. + +USE_INLINE_TREES = NO + +# If the treeview is enabled (see GENERATE_TREEVIEW) then this tag can be +# used to set the initial width (in pixels) of the frame in which the tree +# is shown. + +TREEVIEW_WIDTH = 250 + +# When the EXT_LINKS_IN_WINDOW option is set to YES doxygen will open +# links to external symbols imported via tag files in a separate window. + +EXT_LINKS_IN_WINDOW = NO + +# Use this tag to change the font size of Latex formulas included +# as images in the HTML documentation. The default is 10. Note that +# when you change the font size after a successful doxygen run you need +# to manually remove any form_*.png images from the HTML output directory +# to force them to be regenerated. + +FORMULA_FONTSIZE = 10 + +# Use the FORMULA_TRANPARENT tag to determine whether or not the images +# generated for formulas are transparent PNGs. Transparent PNGs are +# not supported properly for IE 6.0, but are supported on all modern browsers. +# Note that when changing this option you need to delete any form_*.png files +# in the HTML output before the changes have effect. + +FORMULA_TRANSPARENT = YES + +# Enable the USE_MATHJAX option to render LaTeX formulas using MathJax (see +# http://www.mathjax.org) which uses client side Javascript for the rendering +# instead of using prerendered bitmaps. Use this if you do not have LaTeX +# installed or if you want to formulas look prettier in the HTML output. When +# enabled you may also need to install MathJax separately and configure the path +# to it using the MATHJAX_RELPATH option. +# The default value is: NO. +# This tag requires that the tag GENERATE_HTML is set to YES. + +USE_MATHJAX = NO + +# When the SEARCHENGINE tag is enabled doxygen will generate a search box +# for the HTML output. The underlying search engine uses javascript +# and DHTML and should work on any modern browser. Note that when using +# HTML help (GENERATE_HTMLHELP), Qt help (GENERATE_QHP), or docsets +# (GENERATE_DOCSET) there is already a search function so this one should +# typically be disabled. For large projects the javascript based search engine +# can be slow, then enabling SERVER_BASED_SEARCH may provide a better solution. + +SEARCHENGINE = YES + +# When the SERVER_BASED_SEARCH tag is enabled the search engine will be +# implemented using a PHP enabled web server instead of at the web client +# using Javascript. Doxygen will generate the search PHP script and index +# file to put on the web server. The advantage of the server +# based approach is that it scales better to large projects and allows +# full text search. The disadvances is that it is more difficult to setup +# and does not have live searching capabilities. + +SERVER_BASED_SEARCH = NO + +#--------------------------------------------------------------------------- +# configuration options related to the LaTeX output +#--------------------------------------------------------------------------- + +# If the GENERATE_LATEX tag is set to YES (the default) Doxygen will +# generate Latex output. + +GENERATE_LATEX = NO + +# The LATEX_OUTPUT tag is used to specify where the LaTeX docs will be put. +# If a relative path is entered the value of OUTPUT_DIRECTORY will be +# put in front of it. If left blank `latex' will be used as the default path. + +LATEX_OUTPUT = latex + +# The LATEX_CMD_NAME tag can be used to specify the LaTeX command name to be +# invoked. If left blank `latex' will be used as the default command name. +# Note that when enabling USE_PDFLATEX this option is only used for +# generating bitmaps for formulas in the HTML output, but not in the +# Makefile that is written to the output directory. + +LATEX_CMD_NAME = latex + +# The MAKEINDEX_CMD_NAME tag can be used to specify the command name to +# generate index for LaTeX. If left blank `makeindex' will be used as the +# default command name. + +MAKEINDEX_CMD_NAME = makeindex + +# If the COMPACT_LATEX tag is set to YES Doxygen generates more compact +# LaTeX documents. This may be useful for small projects and may help to +# save some trees in general. + +COMPACT_LATEX = NO + +# The PAPER_TYPE tag can be used to set the paper type that is used +# by the printer. Possible values are: a4, a4wide, letter, legal and +# executive. If left blank a4wide will be used. + +PAPER_TYPE = a4wide + +# The EXTRA_PACKAGES tag can be to specify one or more names of LaTeX +# packages that should be included in the LaTeX output. + +EXTRA_PACKAGES = + +# The LATEX_HEADER tag can be used to specify a personal LaTeX header for +# the generated latex document. The header should contain everything until +# the first chapter. If it is left blank doxygen will generate a +# standard header. Notice: only use this tag if you know what you are doing! + +LATEX_HEADER = + +# If the PDF_HYPERLINKS tag is set to YES, the LaTeX that is generated +# is prepared for conversion to pdf (using ps2pdf). The pdf file will +# contain links (just like the HTML output) instead of page references +# This makes the output suitable for online browsing using a pdf viewer. + +PDF_HYPERLINKS = NO + +# If the USE_PDFLATEX tag is set to YES, pdflatex will be used instead of +# plain latex in the generated Makefile. Set this option to YES to get a +# higher quality PDF documentation. + +USE_PDFLATEX = NO + +# If the LATEX_BATCHMODE tag is set to YES, doxygen will add the \\batchmode. +# command to the generated LaTeX files. This will instruct LaTeX to keep +# running if errors occur, instead of asking the user for help. +# This option is also used when generating formulas in HTML. + +LATEX_BATCHMODE = NO + +# If LATEX_HIDE_INDICES is set to YES then doxygen will not +# include the index chapters (such as File Index, Compound Index, etc.) +# in the output. + +LATEX_HIDE_INDICES = NO + +# If LATEX_SOURCE_CODE is set to YES then doxygen will include +# source code with syntax highlighting in the LaTeX output. +# Note that which sources are shown also depends on other settings +# such as SOURCE_BROWSER. + +LATEX_SOURCE_CODE = NO + +#--------------------------------------------------------------------------- +# configuration options related to the RTF output +#--------------------------------------------------------------------------- + +# If the GENERATE_RTF tag is set to YES Doxygen will generate RTF output +# The RTF output is optimized for Word 97 and may not look very pretty with +# other RTF readers or editors. + +GENERATE_RTF = NO + +# The RTF_OUTPUT tag is used to specify where the RTF docs will be put. +# If a relative path is entered the value of OUTPUT_DIRECTORY will be +# put in front of it. If left blank `rtf' will be used as the default path. + +RTF_OUTPUT = RTF + +# If the COMPACT_RTF tag is set to YES Doxygen generates more compact +# RTF documents. This may be useful for small projects and may help to +# save some trees in general. + +COMPACT_RTF = NO + +# If the RTF_HYPERLINKS tag is set to YES, the RTF that is generated +# will contain hyperlink fields. The RTF file will +# contain links (just like the HTML output) instead of page references. +# This makes the output suitable for online browsing using WORD or other +# programs which support those fields. +# Note: wordpad (write) and others do not support links. + +RTF_HYPERLINKS = YES + +# Load stylesheet definitions from file. Syntax is similar to doxygen's +# config file, i.e. a series of assignments. You only have to provide +# replacements, missing definitions are set to their default value. + +RTF_STYLESHEET_FILE = + +# Set optional variables used in the generation of an rtf document. +# Syntax is similar to doxygen's config file. + +RTF_EXTENSIONS_FILE = + +#--------------------------------------------------------------------------- +# configuration options related to the man page output +#--------------------------------------------------------------------------- + +# If the GENERATE_MAN tag is set to YES (the default) Doxygen will +# generate man pages + +GENERATE_MAN = NO + +# The MAN_OUTPUT tag is used to specify where the man pages will be put. +# If a relative path is entered the value of OUTPUT_DIRECTORY will be +# put in front of it. If left blank `man' will be used as the default path. + +MAN_OUTPUT = man + +# The MAN_EXTENSION tag determines the extension that is added to +# the generated man pages (default is the subroutine's section .3) + +MAN_EXTENSION = .3 + +# If the MAN_LINKS tag is set to YES and Doxygen generates man output, +# then it will generate one additional man file for each entity +# documented in the real man page(s). These additional files +# only source the real man page, but without them the man command +# would be unable to find the correct page. The default is NO. + +MAN_LINKS = NO + +#--------------------------------------------------------------------------- +# configuration options related to the XML output +#--------------------------------------------------------------------------- + +# If the GENERATE_XML tag is set to YES Doxygen will +# generate an XML file that captures the structure of +# the code including all documentation. + +GENERATE_XML = NO + +# The XML_OUTPUT tag is used to specify where the XML pages will be put. +# If a relative path is entered the value of OUTPUT_DIRECTORY will be +# put in front of it. If left blank `xml' will be used as the default path. + +XML_OUTPUT = xml + +# The XML_SCHEMA tag can be used to specify an XML schema, +# which can be used by a validating XML parser to check the +# syntax of the XML files. + +XML_SCHEMA = + +# The XML_DTD tag can be used to specify an XML DTD, +# which can be used by a validating XML parser to check the +# syntax of the XML files. + +XML_DTD = + +# If the XML_PROGRAMLISTING tag is set to YES Doxygen will +# dump the program listings (including syntax highlighting +# and cross-referencing information) to the XML output. Note that +# enabling this will significantly increase the size of the XML output. + +XML_PROGRAMLISTING = YES + +#--------------------------------------------------------------------------- +# configuration options for the AutoGen Definitions output +#--------------------------------------------------------------------------- + +# If the GENERATE_AUTOGEN_DEF tag is set to YES Doxygen will +# generate an AutoGen Definitions (see autogen.sf.net) file +# that captures the structure of the code including all +# documentation. Note that this feature is still experimental +# and incomplete at the moment. + +GENERATE_AUTOGEN_DEF = NO + +#--------------------------------------------------------------------------- +# configuration options related to the Perl module output +#--------------------------------------------------------------------------- + +# If the GENERATE_PERLMOD tag is set to YES Doxygen will +# generate a Perl module file that captures the structure of +# the code including all documentation. Note that this +# feature is still experimental and incomplete at the +# moment. + +GENERATE_PERLMOD = NO + +# If the PERLMOD_LATEX tag is set to YES Doxygen will generate +# the necessary Makefile rules, Perl scripts and LaTeX code to be able +# to generate PDF and DVI output from the Perl module output. + +PERLMOD_LATEX = NO + +# If the PERLMOD_PRETTY tag is set to YES the Perl module output will be +# nicely formatted so it can be parsed by a human reader. +# This is useful +# if you want to understand what is going on. +# On the other hand, if this +# tag is set to NO the size of the Perl module output will be much smaller +# and Perl will parse it just the same. + +PERLMOD_PRETTY = YES + +# The names of the make variables in the generated doxyrules.make file +# are prefixed with the string contained in PERLMOD_MAKEVAR_PREFIX. +# This is useful so different doxyrules.make files included by the same +# Makefile don't overwrite each other's variables. + +PERLMOD_MAKEVAR_PREFIX = + +#--------------------------------------------------------------------------- +# Configuration options related to the preprocessor +#--------------------------------------------------------------------------- + +# If the ENABLE_PREPROCESSING tag is set to YES (the default) Doxygen will +# evaluate all C-preprocessor directives found in the sources and include +# files. + +ENABLE_PREPROCESSING = YES + +# If the MACRO_EXPANSION tag is set to YES Doxygen will expand all macro +# names in the source code. If set to NO (the default) only conditional +# compilation will be performed. Macro expansion can be done in a controlled +# way by setting EXPAND_ONLY_PREDEF to YES. + +MACRO_EXPANSION = YES + +# If the EXPAND_ONLY_PREDEF and MACRO_EXPANSION tags are both set to YES +# then the macro expansion is limited to the macros specified with the +# PREDEFINED and EXPAND_AS_DEFINED tags. + +EXPAND_ONLY_PREDEF = YES + +# If the SEARCH_INCLUDES tag is set to YES (the default) the includes files +# in the INCLUDE_PATH (see below) will be search if a #include is found. + +SEARCH_INCLUDES = YES + +# The INCLUDE_PATH tag can be used to specify one or more directories that +# contain include files that are not input files but should be processed by +# the preprocessor. + +INCLUDE_PATH = ../../include ../../module_config + +# You can use the INCLUDE_FILE_PATTERNS tag to specify one or more wildcard +# patterns (like *.h and *.hpp) to filter out the header-files in the +# directories. If left blank, the patterns specified with FILE_PATTERNS will +# be used. + +INCLUDE_FILE_PATTERNS = + +# The PREDEFINED tag can be used to specify one or more macro names that +# are defined before the preprocessor is started (similar to the -D option of +# gcc). The argument of the tag is a list of macros of the form: name +# or name=definition (no spaces). If the definition and the = are +# omitted =1 is assumed. To prevent a macro definition from being +# undefined via #undef or recursively expanded use the := operator +# instead of the = operator. + +PREDEFINED = __DOXYGEN__ __AVR32_ABI_COMPILER__ __attribute__()= __GNUC__=4 + +# If the MACRO_EXPANSION and EXPAND_ONLY_PREDEF tags are set to YES then +# this tag can be used to specify a list of macro names that should be expanded. +# The macro definition that is found in the sources will be used. +# Use the PREDEFINED tag if you want to use a different macro definition. + +EXPAND_AS_DEFINED = + +# If the SKIP_FUNCTION_MACROS tag is set to YES (the default) then +# doxygen's preprocessor will remove all function-like macros that are alone +# on a line, have an all uppercase name, and do not end with a semicolon. Such +# function macros are typically used for boiler-plate code, and will confuse +# the parser if not removed. + +SKIP_FUNCTION_MACROS = YES + +#--------------------------------------------------------------------------- +# Configuration::additions related to external references +#--------------------------------------------------------------------------- + +# The TAGFILES option can be used to specify one or more tagfiles. +# Optionally an initial location of the external documentation +# can be added for each tagfile. The format of a tag file without +# this location is as follows: +# +# TAGFILES = file1 file2 ... +# Adding location for the tag files is done as follows: +# +# TAGFILES = file1=loc1 "file2 = loc2" ... +# where "loc1" and "loc2" can be relative or absolute paths or +# URLs. If a location is present for each tag, the installdox tool +# does not have to be run to correct the links. +# Note that each tag file must have a unique name +# (where the name does NOT include the path) +# If a tag file is not located in the directory in which doxygen +# is run, you must also specify the path to the tagfile here. + +TAGFILES = + +# When a file name is specified after GENERATE_TAGFILE, doxygen will create +# a tag file that is based on the input files it reads. + +GENERATE_TAGFILE = + +# If the ALLEXTERNALS tag is set to YES all external classes will be listed +# in the class index. If set to NO only the inherited external classes +# will be listed. + +ALLEXTERNALS = NO + +# If the EXTERNAL_GROUPS tag is set to YES all external groups will be listed +# in the modules index. If set to NO, only the current project's groups will +# be listed. + +EXTERNAL_GROUPS = YES + +# The PERL_PATH should be the absolute path and name of the perl script +# interpreter (i.e. the result of `which perl'). + +PERL_PATH = /usr/bin/perl + +#--------------------------------------------------------------------------- +# Configuration options related to the dot tool +#--------------------------------------------------------------------------- + +# If the CLASS_DIAGRAMS tag is set to YES (the default) Doxygen will +# generate a inheritance diagram (in HTML, RTF and LaTeX) for classes with base +# or super classes. Setting the tag to NO turns the diagrams off. Note that +# this option is superseded by the HAVE_DOT option below. This is only a +# fallback. It is recommended to install and use dot, since it yields more +# powerful graphs. + +CLASS_DIAGRAMS = YES + +# You can define message sequence charts within doxygen comments using the \msc +# command. Doxygen will then run the mscgen tool (see +# http://www.mcternan.me.uk/mscgen/) to produce the chart and insert it in the +# documentation. The MSCGEN_PATH tag allows you to specify the directory where +# the mscgen tool resides. If left empty the tool is assumed to be found in the +# default search path. + +MSCGEN_PATH = + +# If set to YES, the inheritance and collaboration graphs will hide +# inheritance and usage relations if the target is undocumented +# or is not a class. + +HIDE_UNDOC_RELATIONS = YES + +# If you set the HAVE_DOT tag to YES then doxygen will assume the dot tool is +# available from the path. This tool is part of Graphviz, a graph visualization +# toolkit from AT&T and Lucent Bell Labs. The other options in this section +# have no effect if this option is set to NO (the default) + +HAVE_DOT = YES + +# The DOT_NUM_THREADS specifies the number of dot invocations doxygen is +# allowed to run in parallel. When set to 0 (the default) doxygen will +# base this on the number of processors available in the system. You can set it +# explicitly to a value larger than 0 to get control over the balance +# between CPU load and processing speed. + +DOT_NUM_THREADS = 0 + +# By default doxygen will write a font called FreeSans.ttf to the output +# directory and reference it in all dot files that doxygen generates. This +# font does not include all possible unicode characters however, so when you need +# these (or just want a differently looking font) you can specify the font name +# using DOT_FONTNAME. You need need to make sure dot is able to find the font, +# which can be done by putting it in a standard location or by setting the +# DOTFONTPATH environment variable or by setting DOT_FONTPATH to the directory +# containing the font. + +DOT_FONTNAME = FreeSans + +# The DOT_FONTSIZE tag can be used to set the size of the font of dot graphs. +# The default size is 10pt. + +DOT_FONTSIZE = 10 + +# By default doxygen will tell dot to use the output directory to look for the +# FreeSans.ttf font (which doxygen will put there itself). If you specify a +# different font using DOT_FONTNAME you can set the path where dot +# can find it using this tag. + +DOT_FONTPATH = + +# If the CLASS_GRAPH and HAVE_DOT tags are set to YES then doxygen +# will generate a graph for each documented class showing the direct and +# indirect inheritance relations. Setting this tag to YES will force the +# the CLASS_DIAGRAMS tag to NO. + +CLASS_GRAPH = YES + +# If the COLLABORATION_GRAPH and HAVE_DOT tags are set to YES then doxygen +# will generate a graph for each documented class showing the direct and +# indirect implementation dependencies (inheritance, containment, and +# class references variables) of the class with other documented classes. + +COLLABORATION_GRAPH = YES + +# If the GROUP_GRAPHS and HAVE_DOT tags are set to YES then doxygen +# will generate a graph for groups, showing the direct groups dependencies + +GROUP_GRAPHS = YES + +# If the UML_LOOK tag is set to YES doxygen will generate inheritance and +# collaboration diagrams in a style similar to the OMG's Unified Modeling +# Language. + +UML_LOOK = YES + +# If set to YES, the inheritance and collaboration graphs will show the +# relations between templates and their instances. + +TEMPLATE_RELATIONS = YES + +# If the ENABLE_PREPROCESSING, SEARCH_INCLUDES, INCLUDE_GRAPH, and HAVE_DOT +# tags are set to YES then doxygen will generate a graph for each documented +# file showing the direct and indirect include dependencies of the file with +# other documented files. + +INCLUDE_GRAPH = YES + +# If the ENABLE_PREPROCESSING, SEARCH_INCLUDES, INCLUDED_BY_GRAPH, and +# HAVE_DOT tags are set to YES then doxygen will generate a graph for each +# documented header file showing the documented files that directly or +# indirectly include this file. + +INCLUDED_BY_GRAPH = YES + +# If the CALL_GRAPH and HAVE_DOT options are set to YES then +# doxygen will generate a call dependency graph for every global function +# or class method. Note that enabling this option will significantly increase +# the time of a run. So in most cases it will be better to enable call graphs +# for selected functions only using the \callgraph command. + +CALL_GRAPH = YES + +# If the CALLER_GRAPH and HAVE_DOT tags are set to YES then +# doxygen will generate a caller dependency graph for every global function +# or class method. Note that enabling this option will significantly increase +# the time of a run. So in most cases it will be better to enable caller +# graphs for selected functions only using the \callergraph command. + +CALLER_GRAPH = NO + +# If the GRAPHICAL_HIERARCHY and HAVE_DOT tags are set to YES then doxygen +# will graphical hierarchy of all classes instead of a textual one. + +GRAPHICAL_HIERARCHY = YES + +# If the DIRECTORY_GRAPH, SHOW_DIRECTORIES and HAVE_DOT tags are set to YES +# then doxygen will show the dependencies a directory has on other directories +# in a graphical way. The dependency relations are determined by the #include +# relations between the files in the directories. + +DIRECTORY_GRAPH = YES + +# The DOT_IMAGE_FORMAT tag can be used to set the image format of the images +# generated by dot. Possible values are png, jpg, or gif +# If left blank png will be used. + +DOT_IMAGE_FORMAT = gif + +# The tag DOT_PATH can be used to specify the path where the dot tool can be +# found. If left blank, it is assumed the dot tool can be found in the path. + +DOT_PATH = + +# The DOTFILE_DIRS tag can be used to specify one or more directories that +# contain dot files that are included in the documentation (see the +# \dotfile command). + +DOTFILE_DIRS = + +# The DOT_GRAPH_MAX_NODES tag can be used to set the maximum number of +# nodes that will be shown in the graph. If the number of nodes in a graph +# becomes larger than this value, doxygen will truncate the graph, which is +# visualized by representing a node as a red box. Note that doxygen if the +# number of direct children of the root node in a graph is already larger than +# DOT_GRAPH_MAX_NODES then the graph will not be shown at all. Also note +# that the size of a graph can be further restricted by MAX_DOT_GRAPH_DEPTH. + +DOT_GRAPH_MAX_NODES = 50 + +# The MAX_DOT_GRAPH_DEPTH tag can be used to set the maximum depth of the +# graphs generated by dot. A depth value of 3 means that only nodes reachable +# from the root by following a path via at most 3 edges will be shown. Nodes +# that lay further from the root node will be omitted. Note that setting this +# option to 1 or 2 may greatly reduce the computation time needed for large +# code bases. Also note that the size of a graph can be further restricted by +# DOT_GRAPH_MAX_NODES. Using a depth of 0 means no depth restriction. + +MAX_DOT_GRAPH_DEPTH = 0 + +# Set the DOT_TRANSPARENT tag to YES to generate images with a transparent +# background. This is disabled by default, because dot on Windows does not +# seem to support this out of the box. Warning: Depending on the platform used, +# enabling this option may lead to badly anti-aliased labels on the edges of +# a graph (i.e. they become hard to read). + +DOT_TRANSPARENT = NO + +# Set the DOT_MULTI_TARGETS tag to YES allow dot to generate multiple output +# files in one run (i.e. multiple -o and -T options on the command line). This +# makes dot run faster, but since only newer versions of dot (>1.8.10) +# support this, this feature is disabled by default. + +DOT_MULTI_TARGETS = YES + +# If the GENERATE_LEGEND tag is set to YES (the default) Doxygen will +# generate a legend page explaining the meaning of the various boxes and +# arrows in the dot generated graphs. + +GENERATE_LEGEND = YES + +# If the DOT_CLEANUP tag is set to YES (the default) Doxygen will +# remove the intermediate dot files that are used to generate +# the various graphs. + +DOT_CLEANUP = YES diff --git a/thirdparty/prime/mac/mac_1_3/doxygen/thirdparty.prime.mac_1_3_base/doxygen_module_mainpage.h b/thirdparty/prime/mac/mac_1_3/doxygen/thirdparty.prime.mac_1_3_base/doxygen_module_mainpage.h new file mode 100644 index 00000000..26566747 --- /dev/null +++ b/thirdparty/prime/mac/mac_1_3/doxygen/thirdparty.prime.mac_1_3_base/doxygen_module_mainpage.h @@ -0,0 +1,58 @@ + +/** + * Copyright (c) 2012 Atmel Corporation. All rights reserved. + * + * \asf_license_start + * + * \page License + * + * 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 microcontroller 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. + * + * \asf_license_stop + * + * \mainpage + * + * \section intro Introduction + * This documentation has been automatically generated, and documents the source + * code found in the Atmel Software Framework (ASF). <p> + * Use the above menu to navigate in the documentation, or use the links below: <br> + * <ul> + * <li> <a href="globals_func.html">Functions</a> + * <li> <a href="annotated.html">Data structures</a> + * <li> <a href="globals_type.html">Defines</a> + * </ul> + * + * \section main_licence License + * <ul> + * <li>\ref License + * </ul> + * \section contactinfo Contact Information + * For further information, visit <a href="http://www.atmel.com/">Atmel</a>.\n + * + */ diff --git a/thirdparty/prime/mac/mac_1_3/doxygen/thirdparty.prime.mac_1_3_service/doxyfile.doxygen b/thirdparty/prime/mac/mac_1_3/doxygen/thirdparty.prime.mac_1_3_service/doxyfile.doxygen new file mode 100644 index 00000000..a03368e2 --- /dev/null +++ b/thirdparty/prime/mac/mac_1_3/doxygen/thirdparty.prime.mac_1_3_service/doxyfile.doxygen @@ -0,0 +1,1645 @@ +# Doxyfile 1.7.1 + +# This file describes the settings to be used by the documentation system +# doxygen (www.doxygen.org) for a project +# +# All text after a hash (#) is considered a comment and will be ignored +# The format is: +# TAG = value [value, ...] +# For lists items can also be appended using: +# TAG += value [value, ...] +# Values that contain spaces should be placed between quotes (" ") + +#--------------------------------------------------------------------------- +# Project related configuration options +#--------------------------------------------------------------------------- + +# This tag specifies the encoding used for all characters in the config file +# that follow. The default is UTF-8 which is also the encoding used for all +# text before the first occurrence of this tag. Doxygen uses libiconv (or the +# iconv built into libc) for the transcoding. See +# http://www.gnu.org/software/libiconv for the list of possible encodings. + +DOXYFILE_ENCODING = UTF-8 + +# The PROJECT_NAME tag is a single word (or a sequence of words surrounded +# by quotes) that should identify the project. + +PROJECT_NAME = "PRIME MAC Layer" + +# The PROJECT_NUMBER tag can be used to enter a project or revision number. +# This could be handy for archiving the generated documentation or +# if some version control system is used. + +PROJECT_NUMBER = + +# The OUTPUT_DIRECTORY tag is used to specify the (relative or absolute) +# base path where the generated documentation will be put. +# If a relative path is entered, it will be relative to the location +# where doxygen was started. If left blank the current directory will be used. + +OUTPUT_DIRECTORY = . + +# If the CREATE_SUBDIRS tag is set to YES, then doxygen will create +# 4096 sub-directories (in 2 levels) under the output directory of each output +# format and will distribute the generated files over these directories. +# Enabling this option can be useful when feeding doxygen a huge amount of +# source files, where putting all generated files in the same directory would +# otherwise cause performance problems for the file system. + +CREATE_SUBDIRS = NO + +# The OUTPUT_LANGUAGE tag is used to specify the language in which all +# documentation generated by doxygen is written. Doxygen will use this +# information to generate all constant output in the proper language. +# The default language is English, other supported languages are: +# Afrikaans, Arabic, Brazilian, Catalan, Chinese, Chinese-Traditional, +# Croatian, Czech, Danish, Dutch, Esperanto, Farsi, Finnish, French, German, +# Greek, Hungarian, Italian, Japanese, Japanese-en (Japanese with English +# messages), Korean, Korean-en, Lithuanian, Norwegian, Macedonian, Persian, +# Polish, Portuguese, Romanian, Russian, Serbian, Serbian-Cyrilic, Slovak, +# Slovene, Spanish, Swedish, Ukrainian, and Vietnamese. + +OUTPUT_LANGUAGE = English + +# If the BRIEF_MEMBER_DESC tag is set to YES (the default) Doxygen will +# include brief member descriptions after the members that are listed in +# the file and class documentation (similar to JavaDoc). +# Set to NO to disable this. + +BRIEF_MEMBER_DESC = YES + +# If the REPEAT_BRIEF tag is set to YES (the default) Doxygen will prepend +# the brief description of a member or function before the detailed description. +# Note: if both HIDE_UNDOC_MEMBERS and BRIEF_MEMBER_DESC are set to NO, the +# brief descriptions will be completely suppressed. + +REPEAT_BRIEF = YES + +# This tag implements a quasi-intelligent brief description abbreviator +# that is used to form the text in various listings. Each string +# in this list, if found as the leading text of the brief description, will be +# stripped from the text and the result after processing the whole list, is +# used as the annotated text. Otherwise, the brief description is used as-is. +# If left blank, the following values are used ("$name" is automatically +# replaced with the name of the entity): "The $name class" "The $name widget" +# "The $name file" "is" "provides" "specifies" "contains" +# "represents" "a" "an" "the" + +ABBREVIATE_BRIEF = + +# If the ALWAYS_DETAILED_SEC and REPEAT_BRIEF tags are both set to YES then +# Doxygen will generate a detailed section even if there is only a brief +# description. + +ALWAYS_DETAILED_SEC = NO + +# If the INLINE_INHERITED_MEMB tag is set to YES, doxygen will show all +# inherited members of a class in the documentation of that class as if those +# members were ordinary class members. Constructors, destructors and assignment +# operators of the base classes will not be shown. + +INLINE_INHERITED_MEMB = NO + +# If the FULL_PATH_NAMES tag is set to YES then Doxygen will prepend the full +# path before files name in the file list and in the header files. If set +# to NO the shortest path that makes the file name unique will be used. + +FULL_PATH_NAMES = NO + +# If the FULL_PATH_NAMES tag is set to YES then the STRIP_FROM_PATH tag +# can be used to strip a user-defined part of the path. Stripping is +# only done if one of the specified strings matches the left-hand part of +# the path. The tag can be used to show relative paths in the file list. +# If left blank the directory from which doxygen is run is used as the +# path to strip. + +STRIP_FROM_PATH = + +# The STRIP_FROM_INC_PATH tag can be used to strip a user-defined part of +# the path mentioned in the documentation of a class, which tells +# the reader which header file to include in order to use a class. +# If left blank only the name of the header file containing the class +# definition is used. Otherwise one should specify the include paths that +# are normally passed to the compiler using the -I flag. + +STRIP_FROM_INC_PATH = + +# If the SHORT_NAMES tag is set to YES, doxygen will generate much shorter +# (but less readable) file names. This can be useful is your file systems +# doesn't support long names like on DOS, Mac, or CD-ROM. + +SHORT_NAMES = NO + +# If the JAVADOC_AUTOBRIEF tag is set to YES then Doxygen +# will interpret the first line (until the first dot) of a JavaDoc-style +# comment as the brief description. If set to NO, the JavaDoc +# comments will behave just like regular Qt-style comments +# (thus requiring an explicit @brief command for a brief description.) + +JAVADOC_AUTOBRIEF = YES + +# If the QT_AUTOBRIEF tag is set to YES then Doxygen will +# interpret the first line (until the first dot) of a Qt-style +# comment as the brief description. If set to NO, the comments +# will behave just like regular Qt-style comments (thus requiring +# an explicit \brief command for a brief description.) + +QT_AUTOBRIEF = NO + +# The MULTILINE_CPP_IS_BRIEF tag can be set to YES to make Doxygen +# treat a multi-line C++ special comment block (i.e. a block of //! or /// +# comments) as a brief description. This used to be the default behaviour. +# The new default is to treat a multi-line C++ comment block as a detailed +# description. Set this tag to YES if you prefer the old behaviour instead. + +MULTILINE_CPP_IS_BRIEF = NO + +# If the INHERIT_DOCS tag is set to YES (the default) then an undocumented +# member inherits the documentation from any documented member that it +# re-implements. + +INHERIT_DOCS = YES + +# If the SEPARATE_MEMBER_PAGES tag is set to YES, then doxygen will produce +# a new page for each member. If set to NO, the documentation of a member will +# be part of the file/class/namespace that contains it. + +SEPARATE_MEMBER_PAGES = NO + +# The TAB_SIZE tag can be used to set the number of spaces in a tab. +# Doxygen uses this value to replace tabs by spaces in code fragments. + +TAB_SIZE = 4 + +# This tag can be used to specify a number of aliases that acts +# as commands in the documentation. An alias has the form "name=value". +# For example adding "sideeffect=\par Side Effects:\n" will allow you to +# put the command \sideeffect (or @sideeffect) in the documentation, which +# will result in a user-defined paragraph with heading "Side Effects:". +# You can put \n's in the value part of an alias to insert newlines. + +ALIASES += asf_license_start=" " +ALIASES += asf_license_stop=" " + +# Set the OPTIMIZE_OUTPUT_FOR_C tag to YES if your project consists of C +# sources only. Doxygen will then generate output that is more tailored for C. +# For instance, some of the names that are used will be different. The list +# of all members will be omitted, etc. + +OPTIMIZE_OUTPUT_FOR_C = YES + +# Set the OPTIMIZE_OUTPUT_JAVA tag to YES if your project consists of Java +# sources only. Doxygen will then generate output that is more tailored for +# Java. For instance, namespaces will be presented as packages, qualified +# scopes will look different, etc. + +OPTIMIZE_OUTPUT_JAVA = NO + +# Set the OPTIMIZE_FOR_FORTRAN tag to YES if your project consists of Fortran +# sources only. Doxygen will then generate output that is more tailored for +# Fortran. + +OPTIMIZE_FOR_FORTRAN = NO + +# Set the OPTIMIZE_OUTPUT_VHDL tag to YES if your project consists of VHDL +# sources. Doxygen will then generate output that is tailored for +# VHDL. + +OPTIMIZE_OUTPUT_VHDL = NO + +# Doxygen selects the parser to use depending on the extension of the files it +# parses. With this tag you can assign which parser to use for a given extension. +# Doxygen has a built-in mapping, but you can override or extend it using this +# tag. The format is ext=language, where ext is a file extension, and language +# is one of the parsers supported by doxygen: IDL, Java, Javascript, CSharp, C, +# C++, D, PHP, Objective-C, Python, Fortran, VHDL, C, C++. For instance to make +# doxygen treat .inc files as Fortran files (default is PHP), and .f files as C +# (default is Fortran), use: inc=Fortran f=C. Note that for custom extensions +# you also need to set FILE_PATTERNS otherwise the files are not read by doxygen. + +EXTENSION_MAPPING = + +# If you use STL classes (i.e. std::string, std::vector, etc.) but do not want +# to include (a tag file for) the STL sources as input, then you should +# set this tag to YES in order to let doxygen match functions declarations and +# definitions whose arguments contain STL classes (e.g. func(std::string); v.s. +# func(std::string) {}). This also make the inheritance and collaboration +# diagrams that involve STL classes more complete and accurate. + +BUILTIN_STL_SUPPORT = NO + +# If you use Microsoft's C++/CLI language, you should set this option to YES to +# enable parsing support. + +CPP_CLI_SUPPORT = NO + +# Set the SIP_SUPPORT tag to YES if your project consists of sip sources only. +# Doxygen will parse them like normal C++ but will assume all classes use public +# instead of private inheritance when no explicit protection keyword is present. + +SIP_SUPPORT = NO + +# For Microsoft's IDL there are propget and propput attributes to indicate getter +# and setter methods for a property. Setting this option to YES (the default) +# will make doxygen to replace the get and set methods by a property in the +# documentation. This will only work if the methods are indeed getting or +# setting a simple type. If this is not the case, or you want to show the +# methods anyway, you should set this option to NO. + +IDL_PROPERTY_SUPPORT = YES + +# If member grouping is used in the documentation and the DISTRIBUTE_GROUP_DOC +# tag is set to YES, then doxygen will reuse the documentation of the first +# member in the group (if any) for the other members of the group. By default +# all members of a group must be documented explicitly. + +DISTRIBUTE_GROUP_DOC = NO + +# Set the SUBGROUPING tag to YES (the default) to allow class member groups of +# the same type (for instance a group of public functions) to be put as a +# subgroup of that type (e.g. under the Public Functions section). Set it to +# NO to prevent subgrouping. Alternatively, this can be done per class using +# the \nosubgrouping command. + +SUBGROUPING = YES + +# When TYPEDEF_HIDES_STRUCT is enabled, a typedef of a struct, union, or enum +# is documented as struct, union, or enum with the name of the typedef. So +# typedef struct TypeS {} TypeT, will appear in the documentation as a struct +# with name TypeT. When disabled the typedef will appear as a member of a file, +# namespace, or class. And the struct will be named TypeS. This can typically +# be useful for C code in case the coding convention dictates that all compound +# types are typedef'ed and only the typedef is referenced, never the tag name. + +TYPEDEF_HIDES_STRUCT = NO + +# The SYMBOL_CACHE_SIZE determines the size of the internal cache use to +# determine which symbols to keep in memory and which to flush to disk. +# When the cache is full, less often used symbols will be written to disk. +# For small to medium size projects (<1000 input files) the default value is +# probably good enough. For larger projects a too small cache size can cause +# doxygen to be busy swapping symbols to and from disk most of the time +# causing a significant performance penality. +# If the system has enough physical memory increasing the cache will improve the +# performance by keeping more symbols in memory. Note that the value works on +# a logarithmic scale so increasing the size by one will rougly double the +# memory usage. The cache size is given by this formula: +# 2^(16+SYMBOL_CACHE_SIZE). The valid range is 0..9, the default is 0, +# corresponding to a cache size of 2^16 = 65536 symbols + +SYMBOL_CACHE_SIZE = 0 + +#--------------------------------------------------------------------------- +# Build related configuration options +#--------------------------------------------------------------------------- + +# If the EXTRACT_ALL tag is set to YES doxygen will assume all entities in +# documentation are documented, even if no documentation was available. +# Private class members and static file members will be hidden unless +# the EXTRACT_PRIVATE and EXTRACT_STATIC tags are set to YES + +EXTRACT_ALL = YES + +# If the EXTRACT_PRIVATE tag is set to YES all private members of a class +# will be included in the documentation. + +EXTRACT_PRIVATE = NO + +# If the EXTRACT_STATIC tag is set to YES all static members of a file +# will be included in the documentation. + +EXTRACT_STATIC = YES + +# If the EXTRACT_LOCAL_CLASSES tag is set to YES classes (and structs) +# defined locally in source files will be included in the documentation. +# If set to NO only classes defined in header files are included. + +EXTRACT_LOCAL_CLASSES = YES + +# This flag is only useful for Objective-C code. When set to YES local +# methods, which are defined in the implementation section but not in +# the interface are included in the documentation. +# If set to NO (the default) only methods in the interface are included. + +EXTRACT_LOCAL_METHODS = NO + +# If this flag is set to YES, the members of anonymous namespaces will be +# extracted and appear in the documentation as a namespace called +# 'anonymous_namespace{file}', where file will be replaced with the base +# name of the file that contains the anonymous namespace. By default +# anonymous namespace are hidden. + +EXTRACT_ANON_NSPACES = NO + +# If the HIDE_UNDOC_MEMBERS tag is set to YES, Doxygen will hide all +# undocumented members of documented classes, files or namespaces. +# If set to NO (the default) these members will be included in the +# various overviews, but no documentation section is generated. +# This option has no effect if EXTRACT_ALL is enabled. + +HIDE_UNDOC_MEMBERS = NO + +# If the HIDE_UNDOC_CLASSES tag is set to YES, Doxygen will hide all +# undocumented classes that are normally visible in the class hierarchy. +# If set to NO (the default) these classes will be included in the various +# overviews. This option has no effect if EXTRACT_ALL is enabled. + +HIDE_UNDOC_CLASSES = NO + +# If the HIDE_FRIEND_COMPOUNDS tag is set to YES, Doxygen will hide all +# friend (class|struct|union) declarations. +# If set to NO (the default) these declarations will be included in the +# documentation. + +HIDE_FRIEND_COMPOUNDS = NO + +# If the HIDE_IN_BODY_DOCS tag is set to YES, Doxygen will hide any +# documentation blocks found inside the body of a function. +# If set to NO (the default) these blocks will be appended to the +# function's detailed documentation block. + +HIDE_IN_BODY_DOCS = NO + +# The INTERNAL_DOCS tag determines if documentation +# that is typed after a \internal command is included. If the tag is set +# to NO (the default) then the documentation will be excluded. +# Set it to YES to include the internal documentation. + +INTERNAL_DOCS = YES + +# If the CASE_SENSE_NAMES tag is set to NO then Doxygen will only generate +# file names in lower-case letters. If set to YES upper-case letters are also +# allowed. This is useful if you have classes or files whose names only differ +# in case and if your file system supports case sensitive file names. Windows +# and Mac users are advised to set this option to NO. + +CASE_SENSE_NAMES = NO + +# If the HIDE_SCOPE_NAMES tag is set to NO (the default) then Doxygen +# will show members with their full class and namespace scopes in the +# documentation. If set to YES the scope will be hidden. + +HIDE_SCOPE_NAMES = NO + +# If the SHOW_INCLUDE_FILES tag is set to YES (the default) then Doxygen +# will put a list of the files that are included by a file in the documentation +# of that file. + +SHOW_INCLUDE_FILES = YES + +# If the FORCE_LOCAL_INCLUDES tag is set to YES then Doxygen +# will list include files with double quotes in the documentation +# rather than with sharp brackets. + +FORCE_LOCAL_INCLUDES = NO + +# If the INLINE_INFO tag is set to YES (the default) then a tag [inline] +# is inserted in the documentation for inline members. + +INLINE_INFO = YES + +# If the SORT_MEMBER_DOCS tag is set to YES (the default) then doxygen +# will sort the (detailed) documentation of file and class members +# alphabetically by member name. If set to NO the members will appear in +# declaration order. + +SORT_MEMBER_DOCS = YES + +# If the SORT_BRIEF_DOCS tag is set to YES then doxygen will sort the +# brief documentation of file, namespace and class members alphabetically +# by member name. If set to NO (the default) the members will appear in +# declaration order. + +SORT_BRIEF_DOCS = YES + +# If the SORT_MEMBERS_CTORS_1ST tag is set to YES then doxygen +# will sort the (brief and detailed) documentation of class members so that +# constructors and destructors are listed first. If set to NO (the default) +# the constructors will appear in the respective orders defined by +# SORT_MEMBER_DOCS and SORT_BRIEF_DOCS. +# This tag will be ignored for brief docs if SORT_BRIEF_DOCS is set to NO +# and ignored for detailed docs if SORT_MEMBER_DOCS is set to NO. + +SORT_MEMBERS_CTORS_1ST = NO + +# If the SORT_GROUP_NAMES tag is set to YES then doxygen will sort the +# hierarchy of group names into alphabetical order. If set to NO (the default) +# the group names will appear in their defined order. + +SORT_GROUP_NAMES = NO + +# If the SORT_BY_SCOPE_NAME tag is set to YES, the class list will be +# sorted by fully-qualified names, including namespaces. If set to +# NO (the default), the class list will be sorted only by class name, +# not including the namespace part. +# Note: This option is not very useful if HIDE_SCOPE_NAMES is set to YES. +# Note: This option applies only to the class list, not to the +# alphabetical list. + +SORT_BY_SCOPE_NAME = NO + +# The GENERATE_TODOLIST tag can be used to enable (YES) or +# disable (NO) the todo list. This list is created by putting \todo +# commands in the documentation. + +GENERATE_TODOLIST = YES + +# The GENERATE_TESTLIST tag can be used to enable (YES) or +# disable (NO) the test list. This list is created by putting \test +# commands in the documentation. + +GENERATE_TESTLIST = YES + +# The GENERATE_BUGLIST tag can be used to enable (YES) or +# disable (NO) the bug list. This list is created by putting \bug +# commands in the documentation. + +GENERATE_BUGLIST = YES + +# The GENERATE_DEPRECATEDLIST tag can be used to enable (YES) or +# disable (NO) the deprecated list. This list is created by putting +# \deprecated commands in the documentation. + +GENERATE_DEPRECATEDLIST= YES + +# The ENABLED_SECTIONS tag can be used to enable conditional +# documentation sections, marked by \if sectionname ... \endif. + +ENABLED_SECTIONS = + +# The MAX_INITIALIZER_LINES tag determines the maximum number of lines +# the initial value of a variable or define consists of for it to appear in +# the documentation. If the initializer consists of more lines than specified +# here it will be hidden. Use a value of 0 to hide initializers completely. +# The appearance of the initializer of individual variables and defines in the +# documentation can be controlled using \showinitializer or \hideinitializer +# command in the documentation regardless of this setting. + +MAX_INITIALIZER_LINES = 30 + +# Set the SHOW_USED_FILES tag to NO to disable the list of files generated +# at the bottom of the documentation of classes and structs. If set to YES the +# list will mention the files that were used to generate the documentation. + +SHOW_USED_FILES = NO + +# If the sources in your project are distributed over multiple directories +# then setting the SHOW_DIRECTORIES tag to YES will show the directory hierarchy +# in the documentation. The default is NO. + +SHOW_DIRECTORIES = NO + +# Set the SHOW_FILES tag to NO to disable the generation of the Files page. +# This will remove the Files entry from the Quick Index and from the +# Folder Tree View (if specified). The default is YES. + +SHOW_FILES = YES + +# Set the SHOW_NAMESPACES tag to NO to disable the generation of the +# Namespaces page. +# This will remove the Namespaces entry from the Quick Index +# and from the Folder Tree View (if specified). The default is YES. + +SHOW_NAMESPACES = YES + +# The FILE_VERSION_FILTER tag can be used to specify a program or script that +# doxygen should invoke to get the current version for each file (typically from +# the version control system). Doxygen will invoke the program by executing (via +# popen()) the command <command> <input-file>, where <command> is the value of +# the FILE_VERSION_FILTER tag, and <input-file> is the name of an input file +# provided by doxygen. Whatever the program writes to standard output +# is used as the file version. See the manual for examples. + +FILE_VERSION_FILTER = + +# The LAYOUT_FILE tag can be used to specify a layout file which will be parsed +# by doxygen. The layout file controls the global structure of the generated +# output files in an output format independent way. The create the layout file +# that represents doxygen's defaults, run doxygen with the -l option. +# You can optionally specify a file name after the option, if omitted +# DoxygenLayout.xml will be used as the name of the layout file. + +LAYOUT_FILE = + +#--------------------------------------------------------------------------- +# configuration options related to warning and progress messages +#--------------------------------------------------------------------------- + +# The QUIET tag can be used to turn on/off the messages that are generated +# by doxygen. Possible values are YES and NO. If left blank NO is used. + +QUIET = YES + +# The WARNINGS tag can be used to turn on/off the warning messages that are +# generated by doxygen. Possible values are YES and NO. If left blank +# NO is used. + +WARNINGS = YES + +# If WARN_IF_UNDOCUMENTED is set to YES, then doxygen will generate warnings +# for undocumented members. If EXTRACT_ALL is set to YES then this flag will +# automatically be disabled. + +WARN_IF_UNDOCUMENTED = YES + +# If WARN_IF_DOC_ERROR is set to YES, doxygen will generate warnings for +# potential errors in the documentation, such as not documenting some +# parameters in a documented function, or documenting parameters that +# don't exist or using markup commands wrongly. + +WARN_IF_DOC_ERROR = YES + +# This WARN_NO_PARAMDOC option can be abled to get warnings for +# functions that are documented, but have no documentation for their parameters +# or return value. If set to NO (the default) doxygen will only warn about +# wrong or incomplete parameter documentation, but not about the absence of +# documentation. + +WARN_NO_PARAMDOC = NO + +# The WARN_FORMAT tag determines the format of the warning messages that +# doxygen can produce. The string should contain the $file, $line, and $text +# tags, which will be replaced by the file and line number from which the +# warning originated and the warning text. Optionally the format may contain +# $version, which will be replaced by the version of the file (if it could +# be obtained via FILE_VERSION_FILTER) + +WARN_FORMAT = "[WARNING]$file:$line: $text" + +# The WARN_LOGFILE tag can be used to specify a file to which warning +# and error messages should be written. If left blank the output is written +# to stderr. + +WARN_LOGFILE = + +#--------------------------------------------------------------------------- +# configuration options related to the input files +#--------------------------------------------------------------------------- + +# The INPUT tag can be used to specify the files and/or directories that contain +# documented source files. You may enter file names like "myfile.cpp" or +# directories like "/usr/src/myproject". Separate the files or directories +# with spaces. + +INPUT = doxygen_module_mainpage.h ../../module_config/conf_mac.c ../../source/PrimeVersion.c ../../include/mngl.h ../../include/prime.h ../../module_config/conf_mac.h ../../module_config/conf_prime.h + +# This tag can be used to specify the character encoding of the source files +# that doxygen parses. Internally doxygen uses the UTF-8 encoding, which is +# also the default input encoding. Doxygen uses libiconv (or the iconv built +# into libc) for the transcoding. See http://www.gnu.org/software/libiconv for +# the list of possible encodings. + +INPUT_ENCODING = UTF-8 + +# If the value of the INPUT tag contains directories, you can use the +# FILE_PATTERNS tag to specify one or more wildcard pattern (like *.cpp +# and *.h) to filter out the source-files in the directories. If left +# blank the following patterns are tested: +# *.c *.cc *.cxx *.cpp *.c++ *.java *.ii *.ixx *.ipp *.i++ *.inl *.h *.hh *.hxx +# *.hpp *.h++ *.idl *.odl *.cs *.php *.php3 *.inc *.m *.mm *.py *.f90 + +FILE_PATTERNS = *.c \ + *.h \ + *.s \ + *.S + +# The RECURSIVE tag can be used to turn specify whether or not subdirectories +# should be searched for input files as well. Possible values are YES and NO. +# If left blank NO is used. + +RECURSIVE = NO + +# The EXCLUDE tag can be used to specify files and/or directories that should +# excluded from the INPUT source files. This way you can easily exclude a +# subdirectory from a directory tree whose root is specified with the INPUT tag. + +EXCLUDE = + +# The EXCLUDE_SYMLINKS tag can be used select whether or not files or +# directories that are symbolic links (a Unix filesystem feature) are excluded +# from the input. + +EXCLUDE_SYMLINKS = NO + +# If the value of the INPUT tag contains directories, you can use the +# EXCLUDE_PATTERNS tag to specify one or more wildcard patterns to exclude +# certain files from those directories. Note that the wildcards are matched +# against the file with absolute path, so to exclude all test directories +# for example use the pattern */test/* + +EXCLUDE_PATTERNS = + +# The EXCLUDE_SYMBOLS tag can be used to specify one or more symbol names +# (namespaces, classes, functions, etc.) that should be excluded from the +# output. The symbol name can be a fully qualified name, a word, or if the +# wildcard * is used, a substring. Examples: ANamespace, AClass, +# AClass::ANamespace, ANamespace::*Test + +EXCLUDE_SYMBOLS = + +# The EXAMPLE_PATH tag can be used to specify one or more files or +# directories that contain example code fragments that are included (see +# the \include command). + +EXAMPLE_PATH = ./ + +# If the value of the EXAMPLE_PATH tag contains directories, you can use the +# EXAMPLE_PATTERNS tag to specify one or more wildcard pattern (like *.cpp +# and *.h) to filter out the source-files in the directories. If left +# blank all files are included. + +EXAMPLE_PATTERNS = + +# If the EXAMPLE_RECURSIVE tag is set to YES then subdirectories will be +# searched for input files to be used with the \include or \dontinclude +# commands irrespective of the value of the RECURSIVE tag. +# Possible values are YES and NO. If left blank NO is used. + +EXAMPLE_RECURSIVE = NO + +# The IMAGE_PATH tag can be used to specify one or more files or +# directories that contain image that are included in the documentation (see +# the \image command). + +IMAGE_PATH = + +# The INPUT_FILTER tag can be used to specify a program that doxygen should +# invoke to filter for each input file. Doxygen will invoke the filter program +# by executing (via popen()) the command <filter> <input-file>, where <filter> +# is the value of the INPUT_FILTER tag, and <input-file> is the name of an +# input file. Doxygen will then use the output that the filter program writes +# to standard output. +# If FILTER_PATTERNS is specified, this tag will be +# ignored. + +INPUT_FILTER = + +# The FILTER_PATTERNS tag can be used to specify filters on a per file pattern +# basis. +# Doxygen will compare the file name with each pattern and apply the +# filter if there is a match. +# The filters are a list of the form: +# pattern=filter (like *.cpp=my_cpp_filter). See INPUT_FILTER for further +# info on how filters are used. If FILTER_PATTERNS is empty, INPUT_FILTER +# is applied to all files. + +FILTER_PATTERNS = + +# If the FILTER_SOURCE_FILES tag is set to YES, the input filter (if set using +# INPUT_FILTER) will be used to filter the input files when producing source +# files to browse (i.e. when SOURCE_BROWSER is set to YES). + +FILTER_SOURCE_FILES = NO + +#--------------------------------------------------------------------------- +# configuration options related to source browsing +#--------------------------------------------------------------------------- + +# If the SOURCE_BROWSER tag is set to YES then a list of source files will +# be generated. Documented entities will be cross-referenced with these sources. +# Note: To get rid of all source code in the generated output, make sure also +# VERBATIM_HEADERS is set to NO. + +SOURCE_BROWSER = YES + +# Setting the INLINE_SOURCES tag to YES will include the body +# of functions and classes directly in the documentation. + +INLINE_SOURCES = YES + +# Setting the STRIP_CODE_COMMENTS tag to YES (the default) will instruct +# doxygen to hide any special comment blocks from generated source code +# fragments. Normal C and C++ comments will always remain visible. + +STRIP_CODE_COMMENTS = YES + +# If the REFERENCED_BY_RELATION tag is set to YES +# then for each documented function all documented +# functions referencing it will be listed. + +REFERENCED_BY_RELATION = YES + +# If the REFERENCES_RELATION tag is set to YES +# then for each documented function all documented entities +# called/used by that function will be listed. + +REFERENCES_RELATION = YES + +# If the REFERENCES_LINK_SOURCE tag is set to YES (the default) +# and SOURCE_BROWSER tag is set to YES, then the hyperlinks from +# functions in REFERENCES_RELATION and REFERENCED_BY_RELATION lists will +# link to the source code. +# Otherwise they will link to the documentation. + +REFERENCES_LINK_SOURCE = YES + +# If the USE_HTAGS tag is set to YES then the references to source code +# will point to the HTML generated by the htags(1) tool instead of doxygen +# built-in source browser. The htags tool is part of GNU's global source +# tagging system (see http://www.gnu.org/software/global/global.html). You +# will need version 4.8.6 or higher. + +USE_HTAGS = NO + +# If the VERBATIM_HEADERS tag is set to YES (the default) then Doxygen +# will generate a verbatim copy of the header file for each class for +# which an include is specified. Set to NO to disable this. + +VERBATIM_HEADERS = YES + +#--------------------------------------------------------------------------- +# configuration options related to the alphabetical class index +#--------------------------------------------------------------------------- + +# If the ALPHABETICAL_INDEX tag is set to YES, an alphabetical index +# of all compounds will be generated. Enable this if the project +# contains a lot of classes, structs, unions or interfaces. + +ALPHABETICAL_INDEX = NO + +# If the alphabetical index is enabled (see ALPHABETICAL_INDEX) then +# the COLS_IN_ALPHA_INDEX tag can be used to specify the number of columns +# in which this list will be split (can be a number in the range [1..20]) + +COLS_IN_ALPHA_INDEX = 5 + +# In case all classes in a project start with a common prefix, all +# classes will be put under the same header in the alphabetical index. +# The IGNORE_PREFIX tag can be used to specify one or more prefixes that +# should be ignored while generating the index headers. + +IGNORE_PREFIX = + +#--------------------------------------------------------------------------- +# configuration options related to the HTML output +#--------------------------------------------------------------------------- + +# If the GENERATE_HTML tag is set to YES (the default) Doxygen will +# generate HTML output. + +GENERATE_HTML = YES + +# The HTML_OUTPUT tag is used to specify where the HTML docs will be put. +# If a relative path is entered the value of OUTPUT_DIRECTORY will be +# put in front of it. If left blank `html' will be used as the default path. + +HTML_OUTPUT = html + +# The HTML_FILE_EXTENSION tag can be used to specify the file extension for +# each generated HTML page (for example: .htm,.php,.asp). If it is left blank +# doxygen will generate files with .html extension. + +HTML_FILE_EXTENSION = .html + +# The HTML_HEADER tag can be used to specify a personal HTML header for +# each generated HTML page. If it is left blank doxygen will generate a +# standard header. + +HTML_HEADER = + +# The HTML_FOOTER tag can be used to specify a personal HTML footer for +# each generated HTML page. If it is left blank doxygen will generate a +# standard footer. + +HTML_FOOTER = + +# The HTML_STYLESHEET tag can be used to specify a user-defined cascading +# style sheet that is used by each HTML page. It can be used to +# fine-tune the look of the HTML output. If the tag is left blank doxygen +# will generate a default style sheet. Note that doxygen will try to copy +# the style sheet file to the HTML output directory, so don't put your own +# stylesheet in the HTML output directory as well, or it will be erased! + +HTML_STYLESHEET = + +# The HTML_COLORSTYLE_HUE tag controls the color of the HTML output. +# Doxygen will adjust the colors in the stylesheet and background images +# according to this color. Hue is specified as an angle on a colorwheel, +# see http://en.wikipedia.org/wiki/Hue for more information. +# For instance the value 0 represents red, 60 is yellow, 120 is green, +# 180 is cyan, 240 is blue, 300 purple, and 360 is red again. +# The allowed range is 0 to 359. + +HTML_COLORSTYLE_HUE = 220 + +# The HTML_COLORSTYLE_SAT tag controls the purity (or saturation) of +# the colors in the HTML output. For a value of 0 the output will use +# grayscales only. A value of 255 will produce the most vivid colors. + +HTML_COLORSTYLE_SAT = 100 + +# The HTML_COLORSTYLE_GAMMA tag controls the gamma correction applied to +# the luminance component of the colors in the HTML output. Values below +# 100 gradually make the output lighter, whereas values above 100 make +# the output darker. The value divided by 100 is the actual gamma applied, +# so 80 represents a gamma of 0.8, The value 220 represents a gamma of 2.2, +# and 100 does not change the gamma. + +HTML_COLORSTYLE_GAMMA = 80 + +# If the HTML_TIMESTAMP tag is set to YES then the footer of each generated HTML +# page will contain the date and time when the page was generated. Setting +# this to NO can help when comparing the output of multiple runs. + +HTML_TIMESTAMP = YES + +# If the HTML_ALIGN_MEMBERS tag is set to YES, the members of classes, +# files or namespaces will be aligned in HTML using tables. If set to +# NO a bullet list will be used. + +HTML_ALIGN_MEMBERS = YES + +# If the HTML_DYNAMIC_SECTIONS tag is set to YES then the generated HTML +# documentation will contain sections that can be hidden and shown after the +# page has loaded. For this to work a browser that supports +# JavaScript and DHTML is required (for instance Mozilla 1.0+, Firefox +# Netscape 6.0+, Internet explorer 5.0+, Konqueror, or Safari). + +HTML_DYNAMIC_SECTIONS = NO + +# If the GENERATE_DOCSET tag is set to YES, additional index files +# will be generated that can be used as input for Apple's Xcode 3 +# integrated development environment, introduced with OSX 10.5 (Leopard). +# To create a documentation set, doxygen will generate a Makefile in the +# HTML output directory. Running make will produce the docset in that +# directory and running "make install" will install the docset in +# ~/Library/Developer/Shared/Documentation/DocSets so that Xcode will find +# it at startup. +# See http://developer.apple.com/tools/creatingdocsetswithdoxygen.html +# for more information. + +GENERATE_DOCSET = NO + +# When GENERATE_DOCSET tag is set to YES, this tag determines the name of the +# feed. A documentation feed provides an umbrella under which multiple +# documentation sets from a single provider (such as a company or product suite) +# can be grouped. + +DOCSET_FEEDNAME = "Doxygen generated docs" + +# When GENERATE_DOCSET tag is set to YES, this tag specifies a string that +# should uniquely identify the documentation set bundle. This should be a +# reverse domain-name style string, e.g. com.mycompany.MyDocSet. Doxygen +# will append .docset to the name. + +DOCSET_BUNDLE_ID = org.doxygen.Project + +# When GENERATE_PUBLISHER_ID tag specifies a string that should uniquely identify +# the documentation publisher. This should be a reverse domain-name style +# string, e.g. com.mycompany.MyDocSet.documentation. + +DOCSET_PUBLISHER_ID = org.doxygen.Publisher + +# The GENERATE_PUBLISHER_NAME tag identifies the documentation publisher. + +DOCSET_PUBLISHER_NAME = Publisher + +# If the GENERATE_HTMLHELP tag is set to YES, additional index files +# will be generated that can be used as input for tools like the +# Microsoft HTML help workshop to generate a compiled HTML help file (.chm) +# of the generated HTML documentation. + +GENERATE_HTMLHELP = NO + +# If the GENERATE_HTMLHELP tag is set to YES, the CHM_FILE tag can +# be used to specify the file name of the resulting .chm file. You +# can add a path in front of the file if the result should not be +# written to the html output directory. + +CHM_FILE = + +# If the GENERATE_HTMLHELP tag is set to YES, the HHC_LOCATION tag can +# be used to specify the location (absolute path including file name) of +# the HTML help compiler (hhc.exe). If non-empty doxygen will try to run +# the HTML help compiler on the generated index.hhp. + +HHC_LOCATION = + +# If the GENERATE_HTMLHELP tag is set to YES, the GENERATE_CHI flag +# controls if a separate .chi index file is generated (YES) or that +# it should be included in the master .chm file (NO). + +GENERATE_CHI = NO + +# If the GENERATE_HTMLHELP tag is set to YES, the CHM_INDEX_ENCODING +# is used to encode HtmlHelp index (hhk), content (hhc) and project file +# content. + +CHM_INDEX_ENCODING = + +# If the GENERATE_HTMLHELP tag is set to YES, the BINARY_TOC flag +# controls whether a binary table of contents is generated (YES) or a +# normal table of contents (NO) in the .chm file. + +BINARY_TOC = NO + +# The TOC_EXPAND flag can be set to YES to add extra items for group members +# to the contents of the HTML help documentation and to the tree view. + +TOC_EXPAND = NO + +# If the GENERATE_QHP tag is set to YES and both QHP_NAMESPACE and +# QHP_VIRTUAL_FOLDER are set, an additional index file will be generated +# that can be used as input for Qt's qhelpgenerator to generate a +# Qt Compressed Help (.qch) of the generated HTML documentation. + +GENERATE_QHP = NO + +# If the QHG_LOCATION tag is specified, the QCH_FILE tag can +# be used to specify the file name of the resulting .qch file. +# The path specified is relative to the HTML output folder. + +QCH_FILE = + +# The QHP_NAMESPACE tag specifies the namespace to use when generating +# Qt Help Project output. For more information please see +# http://doc.trolltech.com/qthelpproject.html#namespace + +QHP_NAMESPACE = org.doxygen.Project + +# The QHP_VIRTUAL_FOLDER tag specifies the namespace to use when generating +# Qt Help Project output. For more information please see +# http://doc.trolltech.com/qthelpproject.html#virtual-folders + +QHP_VIRTUAL_FOLDER = doc + +# If QHP_CUST_FILTER_NAME is set, it specifies the name of a custom filter to +# add. For more information please see +# http://doc.trolltech.com/qthelpproject.html#custom-filters + +QHP_CUST_FILTER_NAME = + +# The QHP_CUST_FILT_ATTRS tag specifies the list of the attributes of the +# custom filter to add. For more information please see +# <a href="http://doc.trolltech.com/qthelpproject.html#custom-filters"> +# Qt Help Project / Custom Filters</a>. + +QHP_CUST_FILTER_ATTRS = + +# The QHP_SECT_FILTER_ATTRS tag specifies the list of the attributes this +# project's +# filter section matches. +# <a href="http://doc.trolltech.com/qthelpproject.html#filter-attributes"> +# Qt Help Project / Filter Attributes</a>. + +QHP_SECT_FILTER_ATTRS = + +# If the GENERATE_QHP tag is set to YES, the QHG_LOCATION tag can +# be used to specify the location of Qt's qhelpgenerator. +# If non-empty doxygen will try to run qhelpgenerator on the generated +# .qhp file. + +QHG_LOCATION = + +# If the GENERATE_ECLIPSEHELP tag is set to YES, additional index files +# will be generated, which together with the HTML files, form an Eclipse help +# plugin. To install this plugin and make it available under the help contents +# menu in Eclipse, the contents of the directory containing the HTML and XML +# files needs to be copied into the plugins directory of eclipse. The name of +# the directory within the plugins directory should be the same as +# the ECLIPSE_DOC_ID value. After copying Eclipse needs to be restarted before +# the help appears. + +GENERATE_ECLIPSEHELP = NO + +# A unique identifier for the eclipse help plugin. When installing the plugin +# the directory name containing the HTML and XML files should also have +# this name. + +ECLIPSE_DOC_ID = org.doxygen.Project + +# The DISABLE_INDEX tag can be used to turn on/off the condensed index at +# top of each HTML page. The value NO (the default) enables the index and +# the value YES disables it. + +DISABLE_INDEX = NO + +# This tag can be used to set the number of enum values (range [1..20]) +# that doxygen will group on one line in the generated HTML documentation. + +ENUM_VALUES_PER_LINE = 1 + +# The GENERATE_TREEVIEW tag is used to specify whether a tree-like index +# structure should be generated to display hierarchical information. +# If the tag value is set to YES, a side panel will be generated +# containing a tree-like index structure (just like the one that +# is generated for HTML Help). For this to work a browser that supports +# JavaScript, DHTML, CSS and frames is required (i.e. any modern browser). +# Windows users are probably better off using the HTML help feature. + +GENERATE_TREEVIEW = NO + +# By enabling USE_INLINE_TREES, doxygen will generate the Groups, Directories, +# and Class Hierarchy pages using a tree view instead of an ordered list. + +USE_INLINE_TREES = NO + +# If the treeview is enabled (see GENERATE_TREEVIEW) then this tag can be +# used to set the initial width (in pixels) of the frame in which the tree +# is shown. + +TREEVIEW_WIDTH = 250 + +# When the EXT_LINKS_IN_WINDOW option is set to YES doxygen will open +# links to external symbols imported via tag files in a separate window. + +EXT_LINKS_IN_WINDOW = NO + +# Use this tag to change the font size of Latex formulas included +# as images in the HTML documentation. The default is 10. Note that +# when you change the font size after a successful doxygen run you need +# to manually remove any form_*.png images from the HTML output directory +# to force them to be regenerated. + +FORMULA_FONTSIZE = 10 + +# Use the FORMULA_TRANPARENT tag to determine whether or not the images +# generated for formulas are transparent PNGs. Transparent PNGs are +# not supported properly for IE 6.0, but are supported on all modern browsers. +# Note that when changing this option you need to delete any form_*.png files +# in the HTML output before the changes have effect. + +FORMULA_TRANSPARENT = YES + +# Enable the USE_MATHJAX option to render LaTeX formulas using MathJax (see +# http://www.mathjax.org) which uses client side Javascript for the rendering +# instead of using prerendered bitmaps. Use this if you do not have LaTeX +# installed or if you want to formulas look prettier in the HTML output. When +# enabled you may also need to install MathJax separately and configure the path +# to it using the MATHJAX_RELPATH option. +# The default value is: NO. +# This tag requires that the tag GENERATE_HTML is set to YES. + +USE_MATHJAX = NO + +# When the SEARCHENGINE tag is enabled doxygen will generate a search box +# for the HTML output. The underlying search engine uses javascript +# and DHTML and should work on any modern browser. Note that when using +# HTML help (GENERATE_HTMLHELP), Qt help (GENERATE_QHP), or docsets +# (GENERATE_DOCSET) there is already a search function so this one should +# typically be disabled. For large projects the javascript based search engine +# can be slow, then enabling SERVER_BASED_SEARCH may provide a better solution. + +SEARCHENGINE = YES + +# When the SERVER_BASED_SEARCH tag is enabled the search engine will be +# implemented using a PHP enabled web server instead of at the web client +# using Javascript. Doxygen will generate the search PHP script and index +# file to put on the web server. The advantage of the server +# based approach is that it scales better to large projects and allows +# full text search. The disadvances is that it is more difficult to setup +# and does not have live searching capabilities. + +SERVER_BASED_SEARCH = NO + +#--------------------------------------------------------------------------- +# configuration options related to the LaTeX output +#--------------------------------------------------------------------------- + +# If the GENERATE_LATEX tag is set to YES (the default) Doxygen will +# generate Latex output. + +GENERATE_LATEX = NO + +# The LATEX_OUTPUT tag is used to specify where the LaTeX docs will be put. +# If a relative path is entered the value of OUTPUT_DIRECTORY will be +# put in front of it. If left blank `latex' will be used as the default path. + +LATEX_OUTPUT = latex + +# The LATEX_CMD_NAME tag can be used to specify the LaTeX command name to be +# invoked. If left blank `latex' will be used as the default command name. +# Note that when enabling USE_PDFLATEX this option is only used for +# generating bitmaps for formulas in the HTML output, but not in the +# Makefile that is written to the output directory. + +LATEX_CMD_NAME = latex + +# The MAKEINDEX_CMD_NAME tag can be used to specify the command name to +# generate index for LaTeX. If left blank `makeindex' will be used as the +# default command name. + +MAKEINDEX_CMD_NAME = makeindex + +# If the COMPACT_LATEX tag is set to YES Doxygen generates more compact +# LaTeX documents. This may be useful for small projects and may help to +# save some trees in general. + +COMPACT_LATEX = NO + +# The PAPER_TYPE tag can be used to set the paper type that is used +# by the printer. Possible values are: a4, a4wide, letter, legal and +# executive. If left blank a4wide will be used. + +PAPER_TYPE = a4wide + +# The EXTRA_PACKAGES tag can be to specify one or more names of LaTeX +# packages that should be included in the LaTeX output. + +EXTRA_PACKAGES = + +# The LATEX_HEADER tag can be used to specify a personal LaTeX header for +# the generated latex document. The header should contain everything until +# the first chapter. If it is left blank doxygen will generate a +# standard header. Notice: only use this tag if you know what you are doing! + +LATEX_HEADER = + +# If the PDF_HYPERLINKS tag is set to YES, the LaTeX that is generated +# is prepared for conversion to pdf (using ps2pdf). The pdf file will +# contain links (just like the HTML output) instead of page references +# This makes the output suitable for online browsing using a pdf viewer. + +PDF_HYPERLINKS = NO + +# If the USE_PDFLATEX tag is set to YES, pdflatex will be used instead of +# plain latex in the generated Makefile. Set this option to YES to get a +# higher quality PDF documentation. + +USE_PDFLATEX = NO + +# If the LATEX_BATCHMODE tag is set to YES, doxygen will add the \\batchmode. +# command to the generated LaTeX files. This will instruct LaTeX to keep +# running if errors occur, instead of asking the user for help. +# This option is also used when generating formulas in HTML. + +LATEX_BATCHMODE = NO + +# If LATEX_HIDE_INDICES is set to YES then doxygen will not +# include the index chapters (such as File Index, Compound Index, etc.) +# in the output. + +LATEX_HIDE_INDICES = NO + +# If LATEX_SOURCE_CODE is set to YES then doxygen will include +# source code with syntax highlighting in the LaTeX output. +# Note that which sources are shown also depends on other settings +# such as SOURCE_BROWSER. + +LATEX_SOURCE_CODE = NO + +#--------------------------------------------------------------------------- +# configuration options related to the RTF output +#--------------------------------------------------------------------------- + +# If the GENERATE_RTF tag is set to YES Doxygen will generate RTF output +# The RTF output is optimized for Word 97 and may not look very pretty with +# other RTF readers or editors. + +GENERATE_RTF = NO + +# The RTF_OUTPUT tag is used to specify where the RTF docs will be put. +# If a relative path is entered the value of OUTPUT_DIRECTORY will be +# put in front of it. If left blank `rtf' will be used as the default path. + +RTF_OUTPUT = RTF + +# If the COMPACT_RTF tag is set to YES Doxygen generates more compact +# RTF documents. This may be useful for small projects and may help to +# save some trees in general. + +COMPACT_RTF = NO + +# If the RTF_HYPERLINKS tag is set to YES, the RTF that is generated +# will contain hyperlink fields. The RTF file will +# contain links (just like the HTML output) instead of page references. +# This makes the output suitable for online browsing using WORD or other +# programs which support those fields. +# Note: wordpad (write) and others do not support links. + +RTF_HYPERLINKS = YES + +# Load stylesheet definitions from file. Syntax is similar to doxygen's +# config file, i.e. a series of assignments. You only have to provide +# replacements, missing definitions are set to their default value. + +RTF_STYLESHEET_FILE = + +# Set optional variables used in the generation of an rtf document. +# Syntax is similar to doxygen's config file. + +RTF_EXTENSIONS_FILE = + +#--------------------------------------------------------------------------- +# configuration options related to the man page output +#--------------------------------------------------------------------------- + +# If the GENERATE_MAN tag is set to YES (the default) Doxygen will +# generate man pages + +GENERATE_MAN = NO + +# The MAN_OUTPUT tag is used to specify where the man pages will be put. +# If a relative path is entered the value of OUTPUT_DIRECTORY will be +# put in front of it. If left blank `man' will be used as the default path. + +MAN_OUTPUT = man + +# The MAN_EXTENSION tag determines the extension that is added to +# the generated man pages (default is the subroutine's section .3) + +MAN_EXTENSION = .3 + +# If the MAN_LINKS tag is set to YES and Doxygen generates man output, +# then it will generate one additional man file for each entity +# documented in the real man page(s). These additional files +# only source the real man page, but without them the man command +# would be unable to find the correct page. The default is NO. + +MAN_LINKS = NO + +#--------------------------------------------------------------------------- +# configuration options related to the XML output +#--------------------------------------------------------------------------- + +# If the GENERATE_XML tag is set to YES Doxygen will +# generate an XML file that captures the structure of +# the code including all documentation. + +GENERATE_XML = NO + +# The XML_OUTPUT tag is used to specify where the XML pages will be put. +# If a relative path is entered the value of OUTPUT_DIRECTORY will be +# put in front of it. If left blank `xml' will be used as the default path. + +XML_OUTPUT = xml + +# The XML_SCHEMA tag can be used to specify an XML schema, +# which can be used by a validating XML parser to check the +# syntax of the XML files. + +XML_SCHEMA = + +# The XML_DTD tag can be used to specify an XML DTD, +# which can be used by a validating XML parser to check the +# syntax of the XML files. + +XML_DTD = + +# If the XML_PROGRAMLISTING tag is set to YES Doxygen will +# dump the program listings (including syntax highlighting +# and cross-referencing information) to the XML output. Note that +# enabling this will significantly increase the size of the XML output. + +XML_PROGRAMLISTING = YES + +#--------------------------------------------------------------------------- +# configuration options for the AutoGen Definitions output +#--------------------------------------------------------------------------- + +# If the GENERATE_AUTOGEN_DEF tag is set to YES Doxygen will +# generate an AutoGen Definitions (see autogen.sf.net) file +# that captures the structure of the code including all +# documentation. Note that this feature is still experimental +# and incomplete at the moment. + +GENERATE_AUTOGEN_DEF = NO + +#--------------------------------------------------------------------------- +# configuration options related to the Perl module output +#--------------------------------------------------------------------------- + +# If the GENERATE_PERLMOD tag is set to YES Doxygen will +# generate a Perl module file that captures the structure of +# the code including all documentation. Note that this +# feature is still experimental and incomplete at the +# moment. + +GENERATE_PERLMOD = NO + +# If the PERLMOD_LATEX tag is set to YES Doxygen will generate +# the necessary Makefile rules, Perl scripts and LaTeX code to be able +# to generate PDF and DVI output from the Perl module output. + +PERLMOD_LATEX = NO + +# If the PERLMOD_PRETTY tag is set to YES the Perl module output will be +# nicely formatted so it can be parsed by a human reader. +# This is useful +# if you want to understand what is going on. +# On the other hand, if this +# tag is set to NO the size of the Perl module output will be much smaller +# and Perl will parse it just the same. + +PERLMOD_PRETTY = YES + +# The names of the make variables in the generated doxyrules.make file +# are prefixed with the string contained in PERLMOD_MAKEVAR_PREFIX. +# This is useful so different doxyrules.make files included by the same +# Makefile don't overwrite each other's variables. + +PERLMOD_MAKEVAR_PREFIX = + +#--------------------------------------------------------------------------- +# Configuration options related to the preprocessor +#--------------------------------------------------------------------------- + +# If the ENABLE_PREPROCESSING tag is set to YES (the default) Doxygen will +# evaluate all C-preprocessor directives found in the sources and include +# files. + +ENABLE_PREPROCESSING = YES + +# If the MACRO_EXPANSION tag is set to YES Doxygen will expand all macro +# names in the source code. If set to NO (the default) only conditional +# compilation will be performed. Macro expansion can be done in a controlled +# way by setting EXPAND_ONLY_PREDEF to YES. + +MACRO_EXPANSION = YES + +# If the EXPAND_ONLY_PREDEF and MACRO_EXPANSION tags are both set to YES +# then the macro expansion is limited to the macros specified with the +# PREDEFINED and EXPAND_AS_DEFINED tags. + +EXPAND_ONLY_PREDEF = YES + +# If the SEARCH_INCLUDES tag is set to YES (the default) the includes files +# in the INCLUDE_PATH (see below) will be search if a #include is found. + +SEARCH_INCLUDES = YES + +# The INCLUDE_PATH tag can be used to specify one or more directories that +# contain include files that are not input files but should be processed by +# the preprocessor. + +INCLUDE_PATH = ../../include ../../module_config + +# You can use the INCLUDE_FILE_PATTERNS tag to specify one or more wildcard +# patterns (like *.h and *.hpp) to filter out the header-files in the +# directories. If left blank, the patterns specified with FILE_PATTERNS will +# be used. + +INCLUDE_FILE_PATTERNS = + +# The PREDEFINED tag can be used to specify one or more macro names that +# are defined before the preprocessor is started (similar to the -D option of +# gcc). The argument of the tag is a list of macros of the form: name +# or name=definition (no spaces). If the definition and the = are +# omitted =1 is assumed. To prevent a macro definition from being +# undefined via #undef or recursively expanded use the := operator +# instead of the = operator. + +PREDEFINED = __DOXYGEN__ __AVR32_ABI_COMPILER__ __attribute__()= __GNUC__=4 + +# If the MACRO_EXPANSION and EXPAND_ONLY_PREDEF tags are set to YES then +# this tag can be used to specify a list of macro names that should be expanded. +# The macro definition that is found in the sources will be used. +# Use the PREDEFINED tag if you want to use a different macro definition. + +EXPAND_AS_DEFINED = + +# If the SKIP_FUNCTION_MACROS tag is set to YES (the default) then +# doxygen's preprocessor will remove all function-like macros that are alone +# on a line, have an all uppercase name, and do not end with a semicolon. Such +# function macros are typically used for boiler-plate code, and will confuse +# the parser if not removed. + +SKIP_FUNCTION_MACROS = YES + +#--------------------------------------------------------------------------- +# Configuration::additions related to external references +#--------------------------------------------------------------------------- + +# The TAGFILES option can be used to specify one or more tagfiles. +# Optionally an initial location of the external documentation +# can be added for each tagfile. The format of a tag file without +# this location is as follows: +# +# TAGFILES = file1 file2 ... +# Adding location for the tag files is done as follows: +# +# TAGFILES = file1=loc1 "file2 = loc2" ... +# where "loc1" and "loc2" can be relative or absolute paths or +# URLs. If a location is present for each tag, the installdox tool +# does not have to be run to correct the links. +# Note that each tag file must have a unique name +# (where the name does NOT include the path) +# If a tag file is not located in the directory in which doxygen +# is run, you must also specify the path to the tagfile here. + +TAGFILES = + +# When a file name is specified after GENERATE_TAGFILE, doxygen will create +# a tag file that is based on the input files it reads. + +GENERATE_TAGFILE = + +# If the ALLEXTERNALS tag is set to YES all external classes will be listed +# in the class index. If set to NO only the inherited external classes +# will be listed. + +ALLEXTERNALS = NO + +# If the EXTERNAL_GROUPS tag is set to YES all external groups will be listed +# in the modules index. If set to NO, only the current project's groups will +# be listed. + +EXTERNAL_GROUPS = YES + +# The PERL_PATH should be the absolute path and name of the perl script +# interpreter (i.e. the result of `which perl'). + +PERL_PATH = /usr/bin/perl + +#--------------------------------------------------------------------------- +# Configuration options related to the dot tool +#--------------------------------------------------------------------------- + +# If the CLASS_DIAGRAMS tag is set to YES (the default) Doxygen will +# generate a inheritance diagram (in HTML, RTF and LaTeX) for classes with base +# or super classes. Setting the tag to NO turns the diagrams off. Note that +# this option is superseded by the HAVE_DOT option below. This is only a +# fallback. It is recommended to install and use dot, since it yields more +# powerful graphs. + +CLASS_DIAGRAMS = YES + +# You can define message sequence charts within doxygen comments using the \msc +# command. Doxygen will then run the mscgen tool (see +# http://www.mcternan.me.uk/mscgen/) to produce the chart and insert it in the +# documentation. The MSCGEN_PATH tag allows you to specify the directory where +# the mscgen tool resides. If left empty the tool is assumed to be found in the +# default search path. + +MSCGEN_PATH = + +# If set to YES, the inheritance and collaboration graphs will hide +# inheritance and usage relations if the target is undocumented +# or is not a class. + +HIDE_UNDOC_RELATIONS = YES + +# If you set the HAVE_DOT tag to YES then doxygen will assume the dot tool is +# available from the path. This tool is part of Graphviz, a graph visualization +# toolkit from AT&T and Lucent Bell Labs. The other options in this section +# have no effect if this option is set to NO (the default) + +HAVE_DOT = YES + +# The DOT_NUM_THREADS specifies the number of dot invocations doxygen is +# allowed to run in parallel. When set to 0 (the default) doxygen will +# base this on the number of processors available in the system. You can set it +# explicitly to a value larger than 0 to get control over the balance +# between CPU load and processing speed. + +DOT_NUM_THREADS = 0 + +# By default doxygen will write a font called FreeSans.ttf to the output +# directory and reference it in all dot files that doxygen generates. This +# font does not include all possible unicode characters however, so when you need +# these (or just want a differently looking font) you can specify the font name +# using DOT_FONTNAME. You need need to make sure dot is able to find the font, +# which can be done by putting it in a standard location or by setting the +# DOTFONTPATH environment variable or by setting DOT_FONTPATH to the directory +# containing the font. + +DOT_FONTNAME = FreeSans + +# The DOT_FONTSIZE tag can be used to set the size of the font of dot graphs. +# The default size is 10pt. + +DOT_FONTSIZE = 10 + +# By default doxygen will tell dot to use the output directory to look for the +# FreeSans.ttf font (which doxygen will put there itself). If you specify a +# different font using DOT_FONTNAME you can set the path where dot +# can find it using this tag. + +DOT_FONTPATH = + +# If the CLASS_GRAPH and HAVE_DOT tags are set to YES then doxygen +# will generate a graph for each documented class showing the direct and +# indirect inheritance relations. Setting this tag to YES will force the +# the CLASS_DIAGRAMS tag to NO. + +CLASS_GRAPH = YES + +# If the COLLABORATION_GRAPH and HAVE_DOT tags are set to YES then doxygen +# will generate a graph for each documented class showing the direct and +# indirect implementation dependencies (inheritance, containment, and +# class references variables) of the class with other documented classes. + +COLLABORATION_GRAPH = YES + +# If the GROUP_GRAPHS and HAVE_DOT tags are set to YES then doxygen +# will generate a graph for groups, showing the direct groups dependencies + +GROUP_GRAPHS = YES + +# If the UML_LOOK tag is set to YES doxygen will generate inheritance and +# collaboration diagrams in a style similar to the OMG's Unified Modeling +# Language. + +UML_LOOK = YES + +# If set to YES, the inheritance and collaboration graphs will show the +# relations between templates and their instances. + +TEMPLATE_RELATIONS = YES + +# If the ENABLE_PREPROCESSING, SEARCH_INCLUDES, INCLUDE_GRAPH, and HAVE_DOT +# tags are set to YES then doxygen will generate a graph for each documented +# file showing the direct and indirect include dependencies of the file with +# other documented files. + +INCLUDE_GRAPH = YES + +# If the ENABLE_PREPROCESSING, SEARCH_INCLUDES, INCLUDED_BY_GRAPH, and +# HAVE_DOT tags are set to YES then doxygen will generate a graph for each +# documented header file showing the documented files that directly or +# indirectly include this file. + +INCLUDED_BY_GRAPH = YES + +# If the CALL_GRAPH and HAVE_DOT options are set to YES then +# doxygen will generate a call dependency graph for every global function +# or class method. Note that enabling this option will significantly increase +# the time of a run. So in most cases it will be better to enable call graphs +# for selected functions only using the \callgraph command. + +CALL_GRAPH = YES + +# If the CALLER_GRAPH and HAVE_DOT tags are set to YES then +# doxygen will generate a caller dependency graph for every global function +# or class method. Note that enabling this option will significantly increase +# the time of a run. So in most cases it will be better to enable caller +# graphs for selected functions only using the \callergraph command. + +CALLER_GRAPH = NO + +# If the GRAPHICAL_HIERARCHY and HAVE_DOT tags are set to YES then doxygen +# will graphical hierarchy of all classes instead of a textual one. + +GRAPHICAL_HIERARCHY = YES + +# If the DIRECTORY_GRAPH, SHOW_DIRECTORIES and HAVE_DOT tags are set to YES +# then doxygen will show the dependencies a directory has on other directories +# in a graphical way. The dependency relations are determined by the #include +# relations between the files in the directories. + +DIRECTORY_GRAPH = YES + +# The DOT_IMAGE_FORMAT tag can be used to set the image format of the images +# generated by dot. Possible values are png, jpg, or gif +# If left blank png will be used. + +DOT_IMAGE_FORMAT = gif + +# The tag DOT_PATH can be used to specify the path where the dot tool can be +# found. If left blank, it is assumed the dot tool can be found in the path. + +DOT_PATH = + +# The DOTFILE_DIRS tag can be used to specify one or more directories that +# contain dot files that are included in the documentation (see the +# \dotfile command). + +DOTFILE_DIRS = + +# The DOT_GRAPH_MAX_NODES tag can be used to set the maximum number of +# nodes that will be shown in the graph. If the number of nodes in a graph +# becomes larger than this value, doxygen will truncate the graph, which is +# visualized by representing a node as a red box. Note that doxygen if the +# number of direct children of the root node in a graph is already larger than +# DOT_GRAPH_MAX_NODES then the graph will not be shown at all. Also note +# that the size of a graph can be further restricted by MAX_DOT_GRAPH_DEPTH. + +DOT_GRAPH_MAX_NODES = 50 + +# The MAX_DOT_GRAPH_DEPTH tag can be used to set the maximum depth of the +# graphs generated by dot. A depth value of 3 means that only nodes reachable +# from the root by following a path via at most 3 edges will be shown. Nodes +# that lay further from the root node will be omitted. Note that setting this +# option to 1 or 2 may greatly reduce the computation time needed for large +# code bases. Also note that the size of a graph can be further restricted by +# DOT_GRAPH_MAX_NODES. Using a depth of 0 means no depth restriction. + +MAX_DOT_GRAPH_DEPTH = 0 + +# Set the DOT_TRANSPARENT tag to YES to generate images with a transparent +# background. This is disabled by default, because dot on Windows does not +# seem to support this out of the box. Warning: Depending on the platform used, +# enabling this option may lead to badly anti-aliased labels on the edges of +# a graph (i.e. they become hard to read). + +DOT_TRANSPARENT = NO + +# Set the DOT_MULTI_TARGETS tag to YES allow dot to generate multiple output +# files in one run (i.e. multiple -o and -T options on the command line). This +# makes dot run faster, but since only newer versions of dot (>1.8.10) +# support this, this feature is disabled by default. + +DOT_MULTI_TARGETS = YES + +# If the GENERATE_LEGEND tag is set to YES (the default) Doxygen will +# generate a legend page explaining the meaning of the various boxes and +# arrows in the dot generated graphs. + +GENERATE_LEGEND = YES + +# If the DOT_CLEANUP tag is set to YES (the default) Doxygen will +# remove the intermediate dot files that are used to generate +# the various graphs. + +DOT_CLEANUP = YES diff --git a/thirdparty/prime/mac/mac_1_3/doxygen/thirdparty.prime.mac_1_3_service/doxygen_module_mainpage.h b/thirdparty/prime/mac/mac_1_3/doxygen/thirdparty.prime.mac_1_3_service/doxygen_module_mainpage.h new file mode 100644 index 00000000..26566747 --- /dev/null +++ b/thirdparty/prime/mac/mac_1_3/doxygen/thirdparty.prime.mac_1_3_service/doxygen_module_mainpage.h @@ -0,0 +1,58 @@ + +/** + * Copyright (c) 2012 Atmel Corporation. All rights reserved. + * + * \asf_license_start + * + * \page License + * + * 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 microcontroller 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. + * + * \asf_license_stop + * + * \mainpage + * + * \section intro Introduction + * This documentation has been automatically generated, and documents the source + * code found in the Atmel Software Framework (ASF). <p> + * Use the above menu to navigate in the documentation, or use the links below: <br> + * <ul> + * <li> <a href="globals_func.html">Functions</a> + * <li> <a href="annotated.html">Data structures</a> + * <li> <a href="globals_type.html">Defines</a> + * </ul> + * + * \section main_licence License + * <ul> + * <li>\ref License + * </ul> + * \section contactinfo Contact Information + * For further information, visit <a href="http://www.atmel.com/">Atmel</a>.\n + * + */ diff --git a/thirdparty/prime/mac/mac_1_3/include/bmngt.h b/thirdparty/prime/mac/mac_1_3/include/bmngt.h new file mode 100644 index 00000000..2131a590 --- /dev/null +++ b/thirdparty/prime/mac/mac_1_3/include/bmngt.h @@ -0,0 +1,395 @@ +/** + * \file + * + * \brief PRIME Base Management + * + * Copyright (c) 2014-2015 Atmel Corporation. All rights reserved. + * + * \asf_license_start + * + * 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 microcontroller 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. + * + * \asf_license_stop + * + */ + +#ifndef BaseMngH +#define BaseMngH + +#include "compiler.h" + +/* @cond 0 */ +/**INDENT-OFF**/ +#ifdef __cplusplus +extern "C" { +#endif +/**INDENT-ON**/ +/* @endcond */ + +/** + * \ingroup mac_prime_group + * \defgroup bmngt_prime_group PRIME Base Management Protocol + * + * This module provides configuration and utils for the + * Base Managament Protocol in PRIME. + * + * @{ + */ + +#define MAC_SIZE 6 +#define FW_VERSION_SIZE 32 +#define MAX_BUFFER_RCV 500 + +/* FUP request messages */ +enum FupReqValues { + FUP_CLEARTARGETLIST_REQUEST = 0x14, + FUP_ADDTARGET_REQUEST = 0x15, + FUP_SETFWDATA_REQUEST = 0x16, + FUP_SETUPGOPTIONS_REQUEST = 0x17, + FUP_INITFILETX_REQUEST = 0x18, + FUP_DATAFRAME_REQUEST = 0x19, + FUP_CRC_REQUEST = 0x1A, + FUP_ABORT_FUP_REQUEST = 0x1B, + FUP_START_FU_REQUEST = 0x1C, + FUP_SETMATCHRULES_REQUEST = 0x1D, + FUP_VERSION_REQUEST = 0x1E, + FUP_STATE_REQUEST = 0x1F, +}; + +/* Base Management banned MAC list request messages */ +enum BaseMngBannedMacValues { + BASEMNG_ADDBANNEDMACLIST_REQUEST = 0x28, + BASEMNG_REMOVEBANNEDMACLIST_REQUEST = 0x29, + BASEMNG_CLEARBANNEDMACLIST_REQUEST = 0x2A, + BASEMNG_ENABLEBANNEDMACLIST_REQUEST = 0x2B, + BASEMNG_DISABLEBANNEDMACLIST_REQUEST = 0x2C, + BASEMNG_MODIFYBANNEDMACLIST_REQUEST = 0x2D, + BASEMNG_GETBANNEDMACLIST_REQUEST = 0x2E, +}; + +/* PRIME Profile request messages */ +enum PrimeProfReqValues { + PPROF_GETPIB_REQUEST = 0x30, + PPROF_SETPIB_REQUEST = 0x31, + PPROF_RESETSTAT_REQUEST = 0x32, + PPROF_REBOOTDEV_REQUEST = 0x33, +}; + +/* \name Base Management response */ +/* @{ */ +#define BASEMNG_ACK 1 +/* @} */ + +/* FUP indication messages */ +enum FupValues { + FUP_ACK = 1, + FUP_STATUS_INDICATION = 3, + FUP_ERROR_INDICATION = 4, + FUP_VERSION_INDICATION = 5, + FUP_KILL_INDICATION = 6, +}; + +/* \name Base Mangement banned MAC list response */ +/* @{ */ +#define BASEMNG_GETBANNEDMACLIST_RESPONSE 0x10 +/* @} */ + +/* \name PRIME Profile response */ +/* @{ */ +#define PPROF_GETPIB_RESPONSE 0x20 +/* @} */ + +/* \name Base Management event network */ +/* @{ */ +#define BASEMNG_EVENT_NETWORK 0x28 +#define BASEMNG_EVENT_ALIVE_NETWORK 0x29 +/* @} */ + +/* \name Base Management ACK response codes */ +/* @{ */ +#define BASEMNG_ACK_OK 0 +#define BASEMNG_ACK_ERROR 1 +/* @} */ + +/* FUP ACK response codes */ +enum FupAckValues { + FUP_ACK_OK = 0, + FUP_ACK_ERROR = 1, + FUP_ACK_ERROR_MACADD = 2, + FUP_ACK_ERROR_VENDOR = 3, + FUP_ACK_ERROR_MODEL = 4, + FUP_ACK_ERROR_CRC = 5, + FUP_ACK_ERROR_DATA = 6, + FUP_ACK_ERROR_CRCFILE = 7, + FUP_ACK_CRC_INPROCESS = 8, + FUP_ACK_FU_INPROCESS = 9, +}; + +/* FUP states */ +enum FupStates { + FUP_STATE_IDLE = 0, + FUP_STATE_INIT = 1, + FUP_STATE_JOIN = 2, + FUP_STATE_MULT = 3, + FUP_STATE_UNIC = 4, + FUP_STATE_RSTR = 5, + FUP_STATE_CFRM = 6, + FUP_STATE_END = 7, + FUP_STATE_KILL = 8, + FUP_STATE_CNTDWN = 9, +}; + +/* FUP error type */ +enum FupErrorValues { + FU_ERROR_NODE_NOERROR = 0, + FU_ERROR_NODE_WRONGSTATE_EXEC = 1, + FU_ERROR_NODE_WRONGSTATE_UPG = 2, + FU_ERROR_NODE_WRONGSTATE = 3, + FU_ERROR_NODE_WRONGSTATE_RCV = 4, + FU_ERROR_NODE_WRONGSTATE_CNTDWN = 5, + FU_ERROR_NODE_FW_NOTMATCH = 6, + FU_ERROR_NODE_REVERT_ERRORINIT = 7, + FU_ERROR_NODE_REVERT_ERR7 = 8, + FU_ERROR_NODE_RETRY_KILL = 9, + FU_ERROR_NODE_UNICAST_TIMEOUT = 10, + FU_ERROR_NODE_CONFIRM_IND = 11, + FU_ERROR_NODE_REVERT_CRCNOK = 12, + FU_ERROR_NODE_RESTART = 13, + FU_ERROR_NODE_WRONG_MISS_BITMAP = 14, + FU_ERROR_NODE_WRONG_MISS_LIST = 15, + FU_ERROR_NODE_VENDOR_INVALID = 16, + FU_ERROR_NODE_VENDOR_NOTMATCH = 17, + FU_ERROR_NODE_MODEL_INVALID = 18, + FU_ERROR_NODE_MODEL_NOTMATCH = 19, +}; + +/* FUP warning type */ +enum FupWarningValues { + FU_WARNING_NODE_ALREADY_UPDATE = 128, + FU_WARNING_NODE_ALREADY_EXECUTED = 129, + FU_WARNING_NODE_LINK_QUALITY = 130, +}; + +#define FRAME_SIZE 256 + +#define STATUSIND_LENGTH 12 +#define ERRORIND_LENGTH 8 +#define VERSIONIND_MAX_LENGTH 103 +#define KILLIND_LENGTH 7 + +/* \name Definitions to serialize Base Management (USI) */ +/* @{ */ +#define PROTOCOL_FUP 0x1D +#define CMD_FUP_PROTOCOL_MSK 0x3F +#define CMD_FUP_PROTOCOL(A) ((A)&CMD_FUP_PROTOCOL_MSK) +/* @} */ + +#define MAC_SIZE 6 + +/* \name Firmware Information List */ +/* @{ */ +#define INFO_LIST_MAX_SIZE 32 +#define INFO_LIST_NUMBER_ID 3 +/* @} */ + +typedef struct { + uint8_t macAddr[6]; + uint8_t *msgdata; + uint16_t len; +} MsgPProfileParams; + +/* Status information */ +typedef struct { + uint8_t state; + uint32_t pages; + uint8_t macAddr[MAC_SIZE]; +} FupStatusInfo; + +/* Frame information */ +typedef struct { + uint8_t *fwdata; + uint16_t *numfr; + uint16_t len; +} FupFrameInfo; + +/* Error information */ +typedef struct { + uint8_t error; + uint8_t macAddr[MAC_SIZE]; +} FupErrorInfo; + +/* Firmware Information List */ +typedef struct _FupInfoIdList { + uint8_t infoId; + uint8_t idLen; + char idData[INFO_LIST_MAX_SIZE]; +} FupInfoIdList; + +/* Version information */ +typedef struct { + uint8_t macAddr[MAC_SIZE]; + FupInfoIdList infoIdList[INFO_LIST_NUMBER_ID]; +} FupVersionInfo; + +/* Status command */ +typedef struct { + uint8_t cmd; + FupStatusInfo statusinfo; +} FUStatusCmd; + +/* Information associated to message */ +typedef union { + /* Info in crc at first */ + struct { + uint32_t val; + uint8_t pad; + } crcFirst; + + /* Info in crc at last */ + struct { + uint8_t pad; + uint32_t val; + } crcLast; +} FupBufferCrc; + +/* Kill information */ +typedef struct { + uint8_t macAddr[MAC_SIZE]; +} FupKillInfo; + +typedef struct { + uint8_t command; + uint8_t cmd_ack; + uint8_t ack; + uint16_t datafr; +} FUPAckCallBack; + +typedef struct { + uint8_t command; + uint8_t macAddr[MAC_SIZE]; + + FupInfoIdList infoIdList[INFO_LIST_NUMBER_ID]; +} FUPVersionIndCallBack; + +typedef struct { + uint8_t command; + uint8_t state; + uint32_t pages; + + uint8_t macAddr[MAC_SIZE]; +} FUPStatusIndCallBack; + +typedef struct { + uint8_t command; + uint8_t error; + uint8_t macAddr[MAC_SIZE]; +} FUPErrorIndCallBack; + +typedef struct { + uint8_t command; + uint8_t nodeState; + uint8_t mac[MAC_SIZE]; + uint16_t lnid; + uint8_t sid; + uint8_t lsid; + uint8_t macFather[MAC_SIZE]; + uint16_t lnidFather; + uint8_t sidFather; +} NetworkEvent; + +typedef struct { + uint8_t command; + uint8_t nodeState; + uint8_t mac[MAC_SIZE]; + uint16_t lnid; + uint8_t sid; + uint8_t lsid; + uint8_t alvRxcnt; + uint8_t alvTxcnt; + uint8_t alvTime; +} NetworkEventAlive; + +/* \name Base Management interface */ +/* @{ */ +void baseMng_Start(void); +void baseMng_Process(void); +uint8_t baseMng_receivedCmd(uint8_t *buf, uint16_t len); +int8_t baseMng_SendBuf(uint8_t *bufPtr, uint16_t len); +int8_t baseMng_SendPProfMsg(MsgPProfileParams *rsp); +int8_t baseMng_SendEventNetwork(void *event); + +/* @} */ + +/* \name Firmware Upgrade (FUP) interface */ +/* @{ */ +int8_t fup_clearTargetList(void); +int8_t fup_addNewTarget(uint8_t *macAddr); +int8_t fup_SetFwDataRequest(uint8_t *fwdata); +int8_t fup_SetMatchRulesRequest(uint8_t *fwdata); +int8_t fup_SetUpgOptionsRequest(uint8_t *fwdata); +int8_t fup_InitFileTxRequest(uint8_t *fwdata); +int8_t fup_DataFrameRequest(FupFrameInfo *frameInfo); +int8_t fup_EndFileTxRequest(void); +int8_t fup_checkCrcStatus(void); +int8_t fup_enableFU(uint8_t enable); +int8_t fup_abort(uint8_t *macadd); +int8_t fup_getVersionRequestfromNode(uint8_t *macadd); +int8_t fup_getStateRequestfromNode(uint8_t *macadd); + +void fup_SendStatus(FupStatusInfo *statusinfo); +void fup_SendError(FupErrorInfo *errorinfo); +void fup_SendVersion(FupVersionInfo *versioninfo); +void fup_SendKill(FupKillInfo *killinfo); + +void fup_Init(void); +void fup_Start(void); +void fup_Process(void); + +/* @} */ + +/* \name Iface FUP interface */ +/* @{ */ +int8_t ifaceFUP_send_ACK(uint8_t ackcmd, uint8_t ackerrcode); +int8_t ifaceFUP_send_FrameACK(uint8_t ackerrcode, uint16_t numfr); +int ifaceFUP_Unpack_DataFrameRequest(uint8_t *dataPtr, uint16_t len, + uint16_t *numFrame); + +/* @} */ + +/* @} */ + +/* @cond 0 */ +/**INDENT-OFF**/ +#ifdef __cplusplus +} +#endif +/**INDENT-ON**/ +/* @endcond */ + +#endif diff --git a/thirdparty/prime/mac/mac_1_3/include/mngl.h b/thirdparty/prime/mac/mac_1_3/include/mngl.h new file mode 100644 index 00000000..8445684e --- /dev/null +++ b/thirdparty/prime/mac/mac_1_3/include/mngl.h @@ -0,0 +1,273 @@ +/** + * \file + * + * \brief PRIME Management Layer + * + * Copyright (c) 2014-2015 Atmel Corporation. All rights reserved. + * + * \asf_license_start + * + * \page License + * + * 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 microcontroller 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. + * + * \asf_license_stop + * + */ + +#ifndef MNGLAYER_H_INCLUDED +#define MNGLAYER_H_INCLUDED + +#include "compiler.h" + +/* @cond 0 */ +/**INDENT-OFF**/ +#ifdef __cplusplus +extern "C" { +#endif +/**INDENT-ON**/ +/* @endcond */ + +/** + * \ingroup mac_prime_group + * \defgroup mngl_prime_group PRIME Management Plane + * + * This module provides configuration and utils for the + * Management Plane in PRIME. + * + * @{ + */ + +/* \name Communication profiles */ +/* @{ */ +#define MNGP_SERIAL_PROFILE 0x00 +#define MNGP_PRIME_PROFILE 0x01 +#define MNGP_IFACE_PROFILE 0x02 +/* @} */ + +/* \name Commands */ +/* @{ */ +#define MNGP_PRIME 0x00 +#define MNGP_PRIME_GETQRY 0x00 +#define MNGP_PRIME_GETRSP 0x01 +#define MNGP_PRIME_SET 0x02 +#define MNGP_PRIME_RESET 0x03 +#define MNGP_PRIME_REBOOT 0x04 +#define MNGP_PRIME_FU 0x05 +#define MNGP_PRIME_EN_PIBQRY 0x06 +#define MNGP_PRIME_EN_PIBRSP 0x07 +/* @} */ + +/* \name Enhanced PIB query types */ +/* @{ */ +#define MNGP_PRIME_LISTQRY 0x0E +#define MNGP_PRIME_LISTRSP 0x0F +/* @} */ + +/* Length to be used */ +#define MAX_LEN_ANSWER 400 + +/* * \name PHY PIB attributes */ +/* @{ */ +#define PIB_PHY_STATS_CRC_INCORRECT 0x00A0 +#define PIB_PHY_STATS_CRC_FAIL_COUNT 0x00A1 +#define PIB_PHY_STATS_TX_DROP_COUNT 0x00A2 +#define PIB_PHY_STATS_RX_DROP_COUNT 0x00A3 +#define PIB_PHY_STATS_RX_TOTAL_COUNT 0x00A4 +#define PIB_PHY_STATS_BLK_AVG_EVM 0x00A5 +#define PIB_PHY_EMA_SMOOTHING 0x00A8 +#define PIB_PHY_TX_QUEUE_LEN 0x00B0 +#define PIB_PHY_RX_QUEUE_LEN 0x00B1 +#define PIB_PHY_TX_PROCESSING_DELAY 0x00B2 +#define PIB_PHY_RX_PROCESSING_DELAY 0x00B3 +#define PIB_PHY_AGC_MIN_GAIN 0x00B4 +#define PIB_PHY_AGC_STEP_VALUE 0x00B5 +#define PIB_PHY_AGC_STEP_NUMBER 0x00B6 +/* @} */ +/* \name MAC variable PIB attributes */ +/* @{ */ +#define PIB_MAC_MIN_SWITCH_SEARCH_TIME 0x0010 +#define PIB_MAC_MAX_PROMOTION_PDU 0x0011 +#define PIB_MAC_PROMOTION_PDU_TX_PERIOD 0x0012 +#define PIB_MAC_BEACONS_PER_FRAME 0x0013 +#define PIB_MAC_SCP_MAX_TX_ATTEMPTS 0x0014 +#define PIB_MAC_CTL_RE_TX_TIMER 0x0015 +#define PIB_MAC_SCP_RBO 0x0016 +#define PIB_MAC_SCP_CH_SENCSE_COUNT 0x0017 +#define PIB_MAC_MAX_CTL_RE_TX 0x0018 +#define PIB_MAC_EMA_SMOOTHING 0x0019 +/* @} */ +/* \name MAC functional PIB attributes */ +/* @{ */ +#define PIB_MAC_LNID 0x0020 +#define PIB_MAC_LSID 0x0021 +#define PIB_MAC_SID 0x0022 +#define PIB_MAC_SNA 0x0023 +#define PIB_MAC_STATE 0x0024 +#define PIB_MAC_SCP_LENGTH 0x0025 +#define PIB_MAC_NODE_HIERARCHY_LEVEL 0x0026 +#define PIB_MAC_BEACON_SLOT_COUNT 0x0027 +#define PIB_MAC_BEACON_RX_SLOT 0x0028 +#define PIB_MAC_BEACON_TX_SLOT 0x0029 +#define PIB_MAC_BEACON_RX_FRECUENCY 0x002A +#define PIB_MAC_BEACON_TX_FRECUENCY 0x002B +#define PIB_MAC_MAC_CAPABILITES 0x002C +/* @} */ +/* \name MAC statistical PIB attributes */ +/* @{ */ +#define PIB_MAC_TX_DATAPKT_COUNT 0x0040 +#define PIB_MAC_RX_DATAPKT_COUNT 0x0041 +#define PIB_MAC_TX_CTRLPKT_COUNT 0x0042 +#define PIB_MAC_RX_CTRLPKT_COUNT 0x0043 +#define PIB_MAC_CSMA_FAIL_COUNT 0x0044 +#define PIB_MAC_CSMA_CH_BUSY_COUNT 0x0045 +/* @} */ +/* \name MAC list PIB attributes */ +/* @{ */ +#define PIB_MAC_LIST_REGISTER_DEVICES 0x0050 +#define PIB_MAC_LIST_ACTIVE_CONN 0x0051 +#define PIB_MAC_LIST_MCAST_ENTRIES 0x0052 +#define PIB_MAC_LIST_SWITCH_TABLE 0x0053 +#define PIB_MAC_LIST_DIRECT_CONN 0x0054 +#define PIB_MAC_LIST_DIRECT_TABLE 0x0055 +#define PIB_MAC_LIST_AVAILABLE_SWITCHES 0x0056 +#define PIB_MAC_LIST_PHY_COMM 0x0057 +#define PIB_MAC_LIST_ACTIVE_CONN_EX 0x0058 +/* @} */ +/* \name MAC action PIB attributes */ +/* @{ */ +#define PIB_MAC_ACTION_TX_DATA 0x0060 +#define PIB_MAC_ACTION_CONN_CLOSE 0x0061 +#define PIB_MAC_ACTION_REG_REJECT 0x0062 +#define PIB_MAC_ACTION_PRO_REJECT 0x0063 +#define PIB_MAC_ACTION_UNREGISTER 0x0064 +/* @} */ +/* \name Base Node certification PIB attributes */ +/* @{ */ +#define PIB_MAC_ACTION_PROMOTE 0x0065 +#define PIB_MAC_ACTION_DEMOTE 0x0066 +#define PIB_MAC_ACTION_REJECT 0x0067 +#define PIB_MAC_ACTION_CURRENT_ALIVE_TIME 0x0068 +#define PIB_MAC_ACTION_PRM 0x0069 +#define PIB_MAC_ACTION_BROADCAST_BURST 0x006A +#define PIB_MAC_ACTION_MGMT_CON 0x006B +#define PIB_MAC_ACTION_MGMT_MUL 0x006C +#define PIB_MAC_ACTION_CONN_CLOSE_BN 0x006D +#define PIB_MAC_ACTION_UNREGISTER_BN 0x006E +#define PIB_MAC_ACTION_SEGMENTED_432 0x006F +#define PIB_MAC_ACTION_APPEMU_DATA_BURST 0x0080 +/* @} */ +/* \name MAC application PIB attributes */ +/* @{ */ +#define PIB_MAC_APP_FWDL_RUNNING 0x0070 +#define PIB_MAC_APP_FWDL_RX_PHT_COUNT 0x0071 +#define PIB_MAC_APP_FW_VERSION 0x0075 +#define PIB_MAC_APP_VENDOR_ID 0x0076 +#define PIB_MAC_APP_PRODUCT_ID 0x0077 +/* @} */ +/* \name ATMEL PHY PIB attributes */ +/* @{ */ +#define PIB_PHY_SW_VERSION 0x8080 +#define PIB_PHY_ZCT 0x8081 +#define PIB_PHY_CD 0x8082 +#define PIB_PHY_AGC 0x8083 +#define PIB_PHY_TIMER 0x8085 +#define PIB_PHY_RMS_LAST_TX 0x8086 +#define PIB_PHY_EXECUTE_CALIBRATION 0x8087 +#define PIB_PHY_RX_PARAMS 0x8088 +#define PIB_PHY_TX_PARAM 0x8089 +#define PIB_PHY_SEED_GENERATION 0x808A +#define PIB_PHY_NOISE_LEVEL 0x808B +#define PIB_PHY_SNR 0x808C +#define PIB_PHY_BOARD_SERIAL_NUMBER 0x808D +#define PIB_PHY_EOL 0x808E +#define PIB_PHY_TX_CHANNEL 0x8090 +#define PIB_PHY_RX_PDU 0xC08F +/* @} */ +/* \name ATPL230 PIB attributes */ +/* @{ */ +#define PIB_PHY_DRV_AUTO 0x8301 +#define PIB_PHY_DRV_IMPEDANCE 0x8302 +#define PIB_PHY_PIOC_CTRL 0x8303 +/* @} */ +/* \name ATMEL MAC PIB attributes */ +/* @{ */ +#define PIB_MAC_EUI48 0x8100 +#define PIB_MAC_PLC_STATE 0x8101 +#define PIB_MAC_SW_VERSION 0x8102 +#define PIB_MAC_PRM_ACTIVATION 0x8103 +#define PIB_MAC_TX_PARAMS 0x8104 +#define PIB_MAC_RX_PARAMS 0x8105 +#define PIB_MAC_SNIFFER_ACTIVATION 0x8106 +#define PIB_MAC_NETWORK_EVENTS 0x8107 +#define PIB_MAC_ALV_MODE 0x8108 +#define PIB_MAC_ALV_CHECK_PERIOD 0x8109 +#define PIB_MAC_ALV_TIME 0x810A +#define PIB_MAC_MAX_ALV_INPERIOD 0x810B +#define PIB_MAC_CFP_LENGTH 0x810D +#define PIB_MAC_BCN_SLOT_COUNT 0x810E +#define PIB_MAC_BOARD_SERIAL_NUMBER 0x810F +#define PIB_CERTIFICATION_MODE 0x8120 +#define PIB_CERTIFICATION_SEND_MSG 0x8121 +#define PIB_MAC_SNA_RW 0x8123 +#define PIB_MAC_ARQ_WINDOW_SIZE 0x8124 +#define PIB_MAC_ENABLE_SAR_CRITICAL 0x8125 +#define PIB_MAC_INTERNAL_SW_VERSION 0x8126 +#define PIB_MAC_LIST_EX_SNR 0x8150 +#define PIB_432_CONNECTION_STATE 0x8200 +#define PIB_432_INTERNAL_SW_VERSION 0x8201 +#define PIB_432_LIST_NODES 0x8250 +#define PIB_FU_LIST 0x8350 +/* @} */ +/* \name BOOT PIB attributes */ +/* @{ */ +#define PIB_BOOT_VERSION 0x8400 +/* @} */ + +/* \name Management Plane interface */ +/* @{ */ +void mngl_init(void); +void mngl_start(void); +void mngl_process(void); +void mngl_extract_pkt(uint8_t commProf, uint8_t *rxBufPtr, uint16_t length); +uint8_t mngl_rcv_cmd(uint8_t *rxBuff, uint16_t length); + +/* @} */ + +/* @} */ + +/* @cond 0 */ +/**INDENT-OFF**/ +#ifdef __cplusplus +} +#endif +/**INDENT-ON**/ +/* @endcond */ + +#endif /* MNGLAYER_H_INCLUDED */ diff --git a/thirdparty/prime/mac/mac_1_3/include/prime.h b/thirdparty/prime/mac/mac_1_3/include/prime.h new file mode 100644 index 00000000..3934fb58 --- /dev/null +++ b/thirdparty/prime/mac/mac_1_3/include/prime.h @@ -0,0 +1,817 @@ +/** + * \file + * + * \brief PRIME Header + * + * Copyright (c) 2014-2015 Atmel Corporation. All rights reserved. + * + * \asf_license_start + * + * \page License + * + * 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 microcontroller 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. + * + * \asf_license_stop + * + */ + +#ifndef PRIME_H_INCLUDE +#define PRIME_H_INCLUDE + +#include "compiler.h" + +/* @cond 0 */ +/**INDENT-OFF**/ +#ifdef __cplusplus +extern "C" { +#endif +/**INDENT-ON**/ +/* @endcond */ + +/** + * \defgroup prime_group PRIME + * + * This module provides configuration and utils for PRIME. + */ + +/** + * \ingroup prime_group + * \defgroup mac_prime_group PRIME MAC Layer + * + * This module provides configuration and utils for the + * MAC layer in PRIME. + * + * @{ + */ + +enum MacLnidValues { + PRIME_BROADCAST_LNID = 0x3FFF, + PRIME_MULTICAST_LNID = 0x3FFE, +}; + +/* \name Length in bytes of EUI48 identifier of a Node */ +/* @{ */ +#define PRIME_MAC_LENGTH 6 +/* @} */ + +/* \name Length in bytes of max pdu */ +/* @{ */ +#define MAX_PDU_SIZE 364 +/* @} */ + +/* \name Time interval [msec] to check unexpected PLC chip resets */ +/* @{ */ +#define PRIME_CHECK_PLC_CFG_TIMER 5000 +/* @} */ + +/* \name PRIME main control interface */ +/* @{ */ +void prime_init(void); +void prime_start(void); +void prime_process(void); +void prime_upd1ms(void); + +/* @} */ + +/* \name PLME Result values */ +/* @{ */ +#define PRIME_PLME_RESULT_DONE 0 +#define PRIME_PLME_RESULT_SUCCESS 0 +#define PRIME_PLME_RESULT_FAILED 1 +#define PRIME_PLME_RESULT_REJECTED 2 +#define PRIME_PLME_RESULT_BADATTR 3 +#define PRIME_PLME_RESULT_OUTOFRANGE 4 +#define PRIME_PLME_RESULT_READONLY 5 +/* @} */ + +/* \name PLME Commands for callback messages */ +/* @{ */ +#define PRIME_PLME_RESET_CONFIRM 1 +#define PRIME_PLME_SLEEP_CONFIRM 2 +#define PRIME_PLME_RESUME_CONFIRM 3 +#define PRIME_PLME_TESTMODE_CONFIRM 4 +#define PRIME_PLME_GET_CONFIRM 5 +#define PRIME_PLME_SET_CONFIRM 6 +/* @} */ + +/* \name PLME Commands for request messages */ +/* @{ */ +#define PRIME_PLME_RESET_REQUEST 20 +#define PRIME_PLME_SLEEP_REQUEST 21 +#define PRIME_PLME_RESUME_REQUEST 22 +#define PRIME_PLME_TESTMODE_REQUEST 23 +#define PRIME_PLME_GET_REQUEST 24 +#define PRIME_PLME_SET_REQUEST 25 +/* @} */ + +/* Types for PLME information access */ + +/* Extract PLME command */ +typedef struct { + uint8_t cmd; +} PlmeCommand; + +/* Extract PLME result of operation */ +typedef struct { + uint8_t cmd; + uint8_t result; +} PlmeResult; + +/* Extract PLME numeric value */ +typedef struct { + uint8_t cmd; + uint8_t result; + uint16_t pibAttrib; + uint32_t pibValue; +} PlmeGetValue; + +/* Extract PLME array value */ +typedef struct { + uint8_t cmd; + uint8_t result; + uint16_t pibAttrib; + uint8_t buf[1]; +} PlmeGetArray; + +/* Extract PLME SET result */ +typedef struct { + uint8_t cmd; + uint8_t result; + uint16_t pibAttrib; +} PlmeSetResult; + +/* \name Buffer size needed to receive PLME data */ +/* @{ */ +#define PRIME_PLME_DATA_SIZE 364 +/* @} */ + +/* \name PLME Functions interface */ +/* @{ */ +int prime_PLME_RESET_request(void); +int prime_PLME_SLEEP_request(void); +int prime_PLME_RESUME_request(void); +int prime_PLME_TESTMODE_request(uint8_t enable, uint8_t mode, uint8_t modulation, uint8_t pwr_level); +int prime_PLME_GET_request(uint16_t pibAttribute); +int prime_PLME_SET_request(uint16_t pibAttribute, uint32_t pibAttributeValue); +int prime_PLME_SET_BUF_request(uint16_t pibAttribute, uint8_t *pibBuf, uint16_t pibLen); +int prime_PLME_callback(uint8_t *buf); + +/* @} */ + +/* \name MLME Result values */ +/* @{ */ +#define PRIME_MLME_RESULT_DONE 0 +#define PRIME_MLME_RESULT_SUCCESS 0 +#define PRIME_MLME_RESULT_FAILED 1 +#define PRIME_MLME_RESULT_REJECTED 1 +#define PRIME_MLME_RESULT_TIMEOUT 2 +#define PRIME_MLME_RESULT_NOSNA 8 +#define PRIME_MLME_RESULT_NOSWITCH 9 +#define PRIME_MLME_RESULT_REDUNDANT 10 +#define PRIME_MLME_RESULT_BADATTR 11 +#define PRIME_MLME_RESULT_OUTOFRANGE 12 +#define PRIME_MLME_RESULT_READONLY 13 +/* @} */ + +/* \name MLME Commands for callback messages */ +/* @{ */ +#define PRIME_MLME_REGISTER_CONFIRM 1 +#define PRIME_MLME_REGISTER_INDICATION 2 +#define PRIME_MLME_UNREGISTER_CONFIRM 3 +#define PRIME_MLME_UNREGISTER_INDICATION 4 +#define PRIME_MLME_PROMOTE_CONFIRM 5 +#define PRIME_MLME_PROMOTE_INDICATION 6 +#define PRIME_MLME_DEMOTE_CONFIRM 7 +#define PRIME_MLME_DEMOTE_INDICATION 8 +#define PRIME_MLME_RESET_CONFIRM 9 +#define PRIME_MLME_GET_CONFIRM 10 +#define PRIME_MLME_LIST_GET_CONFIRM 11 +#define PRIME_MLME_SET_CONFIRM 12 +/* @} */ + +/* \name MLME Commands for request messages */ +/* @{ */ +#define PRIME_MLME_REGISTER_REQUEST 20 +#define PRIME_MLME_UNREGISTER_REQUEST_SERVICE 21 +#define PRIME_MLME_PROMOTE_REQUEST_SERVICE 22 +#define PRIME_MLME_DEMOTE_REQUEST_SERVICE 23 +#define PRIME_MLME_RESET_REQUEST 24 +#define PRIME_MLME_GET_REQUEST 25 +#define PRIME_MLME_LIST_GET_REQUEST 26 +#define PRIME_MLME_SET_REQUEST 27 +#define PRIME_MLME_UNREGISTER_REQUEST_BASE 29 +#define PRIME_MLME_PROMOTE_REQUEST_BASE 30 +#define PRIME_MLME_DEMOTE_REQUEST_BASE 31 +/* @} */ + +/* \name MLME definitions */ +/* @{ */ +/* Buffer size needed to receive MLME data */ +#define MLME_DATA_SIZE 364 + +/* Number of registered devices per message */ +#define MLME_LIST_REGDEVNUM 15 + +/* Number of active connections per message */ +#define MLME_LIST_ACTCONNUM 22 + +/* Number of multicast entries per message */ +#define MLME_LIST_MCASTNUM 83 + +/* Number of Switch Nodes entries per message */ +#define MLME_LIST_SWNODENUM 64 + +/* Number of direct connections per message */ +#define MLME_LIST_DIRCONNUM 8 + +/* Number of direct connections per message */ +#define MLME_LIST_DIRSWNODENUM 15 + +/* Number of Available Switch Nodes entries per message */ +#define MLME_LIST_AVAILSWNODENUM 22 + +/* Number of Switch Nodes entries per message */ +#define MLME_LIST_PHYCOMMNUM 17 + +/* Number of active connections per message */ +#define MLME_LIST_ACTCONNUM_EX 20 + +/* Number of 432 Nodes per message */ +#define MLME_LIST_432_NODES 7 + +/* Maximum number of extended SNR elements per message */ +#define MLME_LIST_EXSNR_DEVNUM 80 + +/* Number of FU Nodes per message */ +#define MLME_LIST_FU_NODES 20 +/* @} */ + +/* PLC states */ +enum MacPlcStateValues { + MAC_PLC_STATE_DISCONNECTED = 0, + MAC_PLC_STATE_DETECTION = 1, + MAC_PLC_STATE_REGISTERING = 2, + MAC_PLC_STATE_OPERATIVE = 3, + MAC_PLC_STATE_BASE = 4, +}; + +/* Types for MLME information access */ + +/* Extract MLME command */ +typedef struct { + uint8_t cmd; +} MlmeCommand; + +/* Extract MLME result of operation */ +typedef struct { + uint8_t cmd; + uint8_t result; +} MlmeResult; + +/* Extract MLME numeric value */ +typedef struct { + uint8_t cmd; + uint8_t result; + uint16_t pibAttrib; + uint32_t pibValue; +} MlmeGetValue; + +/* Extract MLME array value */ +typedef struct { + uint8_t cmd; + uint8_t result; + uint16_t pibAttrib; + uint8_t buf[1]; +} MlmeGetArray; + +/* Extract MLME SET result */ +typedef struct { + uint8_t cmd; + uint8_t result; + uint16_t pibAttrib; +} MlmeSetResult; + +/* Extract MLME results */ +typedef struct { + uint8_t headerType; + uint8_t ctrlPktFlag; + uint16_t lcid; + uint8_t type; +} MlmeParam; + +/* Value for MLME Register Confirm command */ +typedef struct { + uint8_t cmd; + uint8_t result; + uint8_t sna[PRIME_MAC_LENGTH]; + uint8_t mac[PRIME_MAC_LENGTH]; +} MlmeRegisterConfirm; + +/* Value for MLME Register Indication command */ +typedef struct { + uint8_t cmd; + uint8_t sna[PRIME_MAC_LENGTH]; + uint8_t mac[PRIME_MAC_LENGTH]; +} MlmeRegisterIndication; + +/* Header for MLME ListGet commands */ +typedef struct { + uint8_t cmd; + uint8_t result; + uint16_t pibAttrib; + uint8_t isLast; + uint8_t numItems; +} MlmeListGetHeader; + +/* Information of Registered Device */ +typedef struct { + uint8_t mac[PRIME_MAC_LENGTH]; + uint8_t state; + uint8_t level; + uint8_t tCap; + uint8_t swCap; + uint16_t lnid; + uint16_t lsid; + uint16_t sid; +} MlmeRegDevice; + +/* ListGet for Registered Devices */ +typedef struct { + uint8_t cmd; + uint8_t result; + uint16_t pibAttrib; + uint8_t isLast; + uint8_t numItems; + MlmeRegDevice dev[MLME_LIST_REGDEVNUM]; +} MlmeListGetRegDevices; + +/* Information of Active Connections */ +typedef struct { + uint8_t mac[PRIME_MAC_LENGTH]; + uint16_t sid; + uint16_t lnid; + uint8_t lcid; +} MlmeActiveConn; + +/* ListGet for Active Connections */ +typedef struct { + uint8_t cmd; + uint8_t result; + uint16_t pibAttrib; + uint8_t isLast; + uint8_t numItems; + MlmeActiveConn conn[MLME_LIST_ACTCONNUM]; +} MlmeListGetActiveConn; + +/* Information of Active Connections (Extended List) */ +typedef struct { + uint8_t mac[PRIME_MAC_LENGTH]; + uint16_t sid; + uint16_t lnid; + uint16_t lcid; + uint8_t type; +} MlmeActiveConnEx; + +/* ListGet for Active Connections (Extended List) */ +typedef struct { + uint8_t cmd; + uint8_t result; + uint16_t pibAttrib; + uint8_t isLast; + uint8_t numItems; + MlmeActiveConnEx conn[MLME_LIST_ACTCONNUM_EX]; +} MlmeListGetActiveConnEx; + +/* Information of Multicast Entries */ +typedef struct { + uint16_t member; + uint8_t lcid; +} MlmeMcastEntrie; + +/* ListGet for Multicast Entries */ +typedef struct { + uint8_t cmd; + uint8_t result; + uint16_t pibAttrib; + uint8_t isLast; + uint8_t numItems; + MlmeMcastEntrie ent[MLME_LIST_MCASTNUM]; +} MlmeListGetMcastEntries; + +/* Information of Switch Table */ +typedef struct { + uint16_t sid; +} MlmeSwitchNode; + +/* ListGet for Switch Table */ +typedef struct { + uint8_t cmd; + uint8_t result; + uint16_t pibAttrib; + uint8_t isLast; + uint8_t numItems; + MlmeSwitchNode nod[MLME_LIST_SWNODENUM]; +} MlmeListGetSwitchTable; + +/* Information of Direct Connections */ +typedef struct { + uint8_t srcmac[PRIME_MAC_LENGTH]; + uint16_t srcsid; + uint16_t srclnid; + uint8_t srclcid; + uint8_t dstmac[PRIME_MAC_LENGTH]; + uint16_t dstsid; + uint16_t dstlnid; + uint8_t dstlcid; + uint8_t dmac[PRIME_MAC_LENGTH]; + uint16_t dsid; +} MlmeDirectConn; + +/* ListGet for Direct Connections */ +typedef struct { + uint8_t cmd; + uint8_t result; + uint16_t pibAttrib; + uint8_t isLast; + uint8_t numItems; + MlmeDirectConn conn[MLME_LIST_DIRCONNUM]; +} MlmeListGetDirectConn; + +/* Information of Direct Switch Table */ +typedef struct { + uint8_t dsmac[PRIME_MAC_LENGTH]; + uint16_t srcsid; + uint16_t srclnid; + uint8_t srclcid; + uint16_t dstsid; + uint16_t dstlnid; + uint8_t dstlcid; +} MlmeDirectSwitchNode; + +/* ListGet for Direct Switch Table */ +typedef struct { + uint8_t cmd; + uint8_t result; + uint16_t pibAttrib; + uint8_t isLast; + uint8_t numItems; + MlmeDirectSwitchNode nod[MLME_LIST_DIRSWNODENUM]; +} MlmeListGetDirectSwitchTable; + +/* Information of Available Switch Table */ +typedef struct { + uint8_t sna[PRIME_MAC_LENGTH]; + uint16_t sid; + uint8_t level; + uint8_t rxLevel; + uint8_t rxSNR; +} MlmeAvailableSwitchNode; + +/* ListGet for Available Switch Table */ +typedef struct { + uint8_t cmd; + uint8_t result; + uint16_t pibAttrib; + uint8_t isLast; + uint8_t numItems; + MlmeAvailableSwitchNode nod[MLME_LIST_AVAILSWNODENUM]; +} MlmeListGetAvailableSwitchTable; + +/* Information of Phy Communication Parameters Table */ +typedef struct { + uint8_t eui48[PRIME_MAC_LENGTH]; + uint8_t txPower; + uint8_t txCoding; + uint8_t rxCoding; + uint8_t rxLevel; + uint8_t snr; + uint8_t txPowerMod; + uint8_t txCodingMod; + uint8_t rxCodingMod; +} MlmePhyCommDevice; + +/* ListGet for Phy Communication Parameters Table */ +typedef struct { + uint8_t cmd; + uint8_t result; + uint16_t pibAttrib; + uint8_t isLast; + uint8_t numItems; + MlmePhyCommDevice dev[MLME_LIST_PHYCOMMNUM]; +} MlmeListGetPhyCommTable; + +/* List of extended SNR (PIB 0x8150) */ +typedef struct { + uint8_t sid; + uint16_t lnid; + uint8_t exSnr; +} ExSNRElementType; + +/* ListGet for Phy Communication Parameters Table */ +typedef struct { + uint8_t cmd; + uint8_t result; + uint16_t pibAttrib; + uint8_t isLast; + uint8_t numItems; + ExSNRElementType exSnrDev[MLME_LIST_EXSNR_DEVNUM]; +} MlmeListGetExSnrTable; + +/* Equal to LEN_432_SERIAL_NUMBER defined in 432 layer */ +#define SERIAL_NUMBER_432_MAC 16 + +/* List of 432 Information Nodes if exists 432 (PIB 0x8250) */ +typedef struct { + uint16_t address; + int8_t serialNumber[SERIAL_NUMBER_432_MAC]; + uint8_t lenSerial; + uint8_t mac[PRIME_MAC_LENGTH]; + uint8_t arq; +} Node432Type; + +/* ListGet for Phy Communication Parameters Table */ +typedef struct { + uint8_t cmd; + uint8_t result; + uint16_t pibAttrib; + uint8_t isLast; + uint8_t numItems; + Node432Type dev[MLME_LIST_432_NODES]; +} MlmeListGetNode432Table; + +/* List of Nodes in the FU target list (PIB 0x8350) */ +typedef struct { + uint8_t fuState; + uint32_t pagesReceived; + uint8_t mac[PRIME_MAC_LENGTH]; +} FuNodeTargetType; + +/* ListGet for FU target list */ +typedef struct { + uint8_t cmd; + uint8_t result; + uint16_t pibAttrib; + uint8_t isLast; + uint8_t numItems; + FuNodeTargetType dev[MLME_LIST_FU_NODES]; +} MlmeListFUTable; + +/* \name MLME Functions interface */ +/* @{ */ +int prime_MLME_REGISTER_request(uint8_t *sna, uint8_t *mac); +int prime_MLME_UNREGISTER_request_base(uint8_t *mac); +int prime_MLME_UNREGISTER_request_service(void); +int prime_MLME_PROMOTE_request_base(uint8_t *mac); +int prime_MLME_PROMOTE_request_service(void); +int prime_MLME_DEMOTE_request_base(uint8_t *mac); +int prime_MLME_DEMOTE_request_service(void); +int prime_MLME_RESET_request(void); +int prime_MLME_GET_request(uint16_t pibAttribute); +int prime_MLME_LIST_GET_request(uint16_t pibListAttribute); +int prime_MLME_SET_request(uint16_t pibAttribute, uint32_t pibAttributeValue); +int prime_MLME_SET_BUF_request(uint16_t pibAttribute, uint8_t *pibBuf, uint8_t pibLen); +int prime_MLME_callback(uint8_t *buf); + +/* @} */ + +/* \name MAC_SAP Result values */ +/* @{ */ +#define PRIME_MACSAP_RESULT_SUCCESS 0 +#define PRIME_MACSAP_RESULT_ACCEPT 0 +#define PRIME_MACSAP_RESULT_ERROR 1 +#define PRIME_MACSAP_RESULT_REJECT 1 +#define PRIME_MACSAP_RESULT_TIMEOUT 2 +#define PRIME_MACSAP_RESULT_NO_BANDWITH 3 +#define PRIME_MACSAP_RESULT_NO_SUCH_DEVICE 4 +#define PRIME_MACSAP_RESULT_REDIRECT_FAILED 5 +#define PRIME_MACSAP_RESULT_NOT_REGISTERED 6 +#define PRIME_MACSAP_RESULT_NO_MORE_LCIDS 7 +/* @} */ + +/* \name MAC_SAP Error Type values */ +/* @{ */ +#define PRIME_MACSAP_ERROR_NO_ERROR 0 +#define PRIME_MACSAP_ERROR_REJECT 1 +#define PRIME_MACSAP_ERROR_TIMEOUT 2 +#define PRIME_MACSAP_ERROR_NO_SUCH_DEVICE 4 +#define PRIME_MACSAP_ERROR_NOT_REGISTERED 6 +#define PRIME_MACSAP_ERROR_INVALID_HANDLER 8 +#define PRIME_MACSAP_ERROR_NO_RESOURCES 9 +#define PRIME_MACSAP_ERROR_PROCESS_RUNNING 10 +#define PRIME_MACSAP_ERROR_TOO_LONG 11 +#define PRIME_MACSAP_ERROR_CON_NOT_OPEN 12 +#define PRIME_MACSAP_ERROR_NO_ACKED 13 +#define PRIME_MACSAP_ERROR_TX_BUSY 14 +#define PRIME_MACSAP_ERROR_INVALID_BCAST 15 +#define PRIME_MACSAP_ERROR_INVALID_DIRCON 16 +#define PRIME_MACSAP_ERROR_INVALID_EUI48 17 +/* @} */ + +/* \name MAC_SAP Commands for callback messages */ +/* @{ */ +#define PRIME_MACSAP_ESTABLISH_CONFIRM 1 +#define PRIME_MACSAP_ESTABLISH_INDICATION 2 +#define PRIME_MACSAP_RELEASE_CONFIRM 3 +#define PRIME_MACSAP_RELEASE_INDICATION 4 +#define PRIME_MACSAP_DATA_CONFIRM 5 +#define PRIME_MACSAP_DATA_INDICATION 6 +#define PRIME_MACSAP_JOIN_CONFIRM 8 +#define PRIME_MACSAP_LEAVE_CONFIRM 9 +#define PRIME_MACSAP_JOIN_INDICATION_BASE 10 +#define PRIME_MACSAP_LEAVE_INDICATION_BASE 11 +#define PRIME_MACSAP_JOIN_INDICATION_SERVICE 12 +#define PRIME_MACSAP_LEAVE_INDICATION_SERVICE 13 +/* @} */ + +/* \name MAC_SAP Commands for callback messages (Request & Response) */ +/* @{ */ +#define PRIME_MACSAP_ESTABLISH_REQUEST 20 +#define PRIME_MACSAP_ESTABLISH_RESPONSE 21 +#define PRIME_MACSAP_REDIRECT_RESPONSE 22 +#define PRIME_MACSAP_RELEASE_REQUEST 23 +#define PRIME_MACSAP_RELEASE_RESPONSE 24 +#define PRIME_MACSAP_SEND_REQUEST 25 +#define PRIME_MACSAP_DATA_REQUEST 26 +#define PRIME_MACSAP_JOIN_REQUEST_BASE 27 +#define PRIME_MACSAP_LEAVE_REQUEST_BASE 28 +#define PRIME_MACSAP_JOIN_RESPONSE_BASE 29 +#define PRIME_MACSAP_JOIN_REQUEST_SERVICE 30 +#define PRIME_MACSAP_LEAVE_REQUEST_SERVICE 31 +#define PRIME_MACSAP_JOIN_RESPONSE_SERVICE 32 +/* @} */ + +/* \name MAX Buffer size to transmit or receive MAC data */ +/* @{ */ +#define PRIME_MACSAP_DATA_SIZE 1024 +/* @} */ + +/* \name Message Priorities */ +/* @{ */ +#define MAX_PRIO 0 +#define PRIO_1 1 +#define PRIO_2 2 +#define PRIO_3 3 +/* @} */ + +/* \name Default Priority for Data Messages */ +/* @{ */ +#define DATA_PRIO 2 +/* @} */ + +/* \name Type values defined for different CS defined in PRIME Spec v1.3 */ +/* @{ */ +#define TYPE_CL_IPv4_AR 1 +#define TYPE_CL_IPv4_UNICAST 2 +#define TYPE_CL_432 3 +#define TYPE_CL_MGMT 4 +#define TYPE_CL_APPEMU 250 +/* @} */ + +/* \name LCI values for broadcast connections defined in PRIME Spec v1.3 */ +/* @{ */ +#define LCI_CL_IPv4_BROADCAST 1 +#define LCI_CL_432_BROADCAST 2 +/* @} */ + +/* \name Generic Handler and Type values to use on MAC SAP Callback */ +/* @{ */ +#define GENERIC_CALLBACK_TYPE 0 +#define GENERIC_CALLBACK_HANDLER 0xFFFF +/* @} */ + +/* Type for callback information */ +typedef struct { + uint8_t command; + uint8_t type; + uint16_t handler; + uint16_t answer; + uint8_t errorType; + uint16_t bufLength; + uint16_t cfpBytes; + uint16_t lcid; + uint8_t arq; + uint8_t priority; + uint8_t broadcast; + uint8_t macAddr[PRIME_MAC_LENGTH]; + uint8_t buf[PRIME_MACSAP_DATA_SIZE]; +} MacSapCallBack; + +/* \name MAC Functions Interface */ +/* @{ */ +int prime_MAC_ESTABLISH_request(uint8_t *macAddr, uint8_t type, uint8_t *buf, uint16_t dataLength, uint8_t arq, uint16_t cfpBytes); +int prime_MAC_ESTABLISH_response(uint16_t conHandle, uint8_t answer, uint8_t *buf, uint16_t dataLength); +int prime_MAC_RELEASE_request(uint16_t conHandle); +int prime_MAC_RELEASE_response(uint16_t conHandle, uint8_t answer); +int prime_MAC_JOIN_request_base(uint8_t broadcast, uint16_t handler, uint8_t *macAddr, uint8_t type, uint8_t *buf, uint16_t dataLength); +int prime_MAC_JOIN_request_service(uint8_t broadcast, uint8_t type, uint8_t *buf, uint16_t dataLength); +int prime_MAC_JOIN_response_base(uint16_t handler, uint8_t *macAddr, uint8_t answer); +int prime_MAC_JOIN_response_service(uint16_t handler, uint8_t answer); +int prime_MAC_LEAVE_request_base(uint16_t conHandle, uint8_t *macAddr); +int prime_MAC_LEAVE_request_service(uint16_t conHandle); +int prime_MAC_REDIRECT_response(uint16_t conHandle, uint8_t *macAddr, uint8_t *buf, uint16_t dataLength); +int prime_MAC_DATA_request(uint16_t conHandle, uint8_t *buf, uint16_t dataLength, uint8_t priority); +int prime_MAC_callback(MacSapCallBack *info, uint16_t handler, uint8_t type); + +/* @} */ + +/* \name Number of different types */ +/* @{ */ +#define PRIME_TYPE_NUM 255 +/* @} */ + +/* \name Prime reserved Interface */ +/* @{ */ +int8_t mac_sap_reserve_type(uint8_t type); +int8_t mac_sap_free_type(uint8_t type); +int8_t mac_sap_get_reserve_type(uint8_t type); + +int8_t mac_sap_reserve_handler(uint16_t handler, uint16_t iNID, uint8_t type); +int8_t mac_sap_free_handler(uint16_t connHandler); +int8_t mac_sap_get_reserve_handler(uint16_t handler); + +int prime_MAC_callback_reserved(MacSapCallBack *info, uint16_t handler, uint8_t type); + +/* @} */ + +/* \name Types for 432 information access */ +/* @{ */ +/* Extract 432 connections table */ +typedef struct _Node432 { + uint16_t handler; + int8_t serialNumber[SERIAL_NUMBER_432_MAC]; + uint8_t lenSerial; + uint8_t mac[PRIME_MAC_LENGTH]; + uint8_t arq; + uint16_t next; + uint16_t prev; +} Node432; +/* @} */ + +/* \name Macros */ +/* @{ */ +#define GET_INDEX_NODE_432(X) (X - 2) +#define GET_ADDRESS_NODE_432(X) (X + 2) +/* @} */ + +/* \name Embedded Sniffer Interface */ +/* @{ */ +#define MASK_SNIFFER_EMBEDDED 0x80 +/* @} */ + +/* \name Sniffer types */ +/* @{ */ +#define SNIFFER_ATPL210 0x00 +#define SNIFFER_ATPL240 0x01 +/* @} */ + +typedef enum { + SNIFFER_RX = 0, + SNIFFER_TX = 1, + SNIFFER_TX_SERIAL = 2, + SNIFFER_RX_SERIAL = 3 +} SnifferType; + +typedef struct { + SnifferType type; + uint8_t scheme; + uint8_t level; + uint8_t exSnr; + uint32_t time; +} SnifferParam; + +/* @} */ + +/* @cond 0 */ +/**INDENT-OFF**/ +#ifdef __cplusplus +} +#endif +/**INDENT-ON**/ +/* @endcond */ +#endif /* PRIME_H_INCLUDE */ diff --git a/thirdparty/prime/mac/mac_1_3/libs/gcc/libsam4c-mac13-bn-gcc.a b/thirdparty/prime/mac/mac_1_3/libs/gcc/libsam4c-mac13-bn-gcc.a Binary files differnew file mode 100644 index 00000000..b279e4a3 --- /dev/null +++ b/thirdparty/prime/mac/mac_1_3/libs/gcc/libsam4c-mac13-bn-gcc.a diff --git a/thirdparty/prime/mac/mac_1_3/libs/gcc/libsam4c-mac13-sn-gcc.a b/thirdparty/prime/mac/mac_1_3/libs/gcc/libsam4c-mac13-sn-gcc.a Binary files differnew file mode 100644 index 00000000..48529dad --- /dev/null +++ b/thirdparty/prime/mac/mac_1_3/libs/gcc/libsam4c-mac13-sn-gcc.a diff --git a/thirdparty/prime/mac/mac_1_3/libs/iar/libsam4c-mac13-bn-iar.a b/thirdparty/prime/mac/mac_1_3/libs/iar/libsam4c-mac13-bn-iar.a Binary files differnew file mode 100644 index 00000000..2d245088 --- /dev/null +++ b/thirdparty/prime/mac/mac_1_3/libs/iar/libsam4c-mac13-bn-iar.a diff --git a/thirdparty/prime/mac/mac_1_3/libs/iar/libsam4c-mac13-sn-iar.a b/thirdparty/prime/mac/mac_1_3/libs/iar/libsam4c-mac13-sn-iar.a Binary files differnew file mode 100644 index 00000000..7daec23c --- /dev/null +++ b/thirdparty/prime/mac/mac_1_3/libs/iar/libsam4c-mac13-sn-iar.a diff --git a/thirdparty/prime/mac/mac_1_3/module_config/conf_mac.c b/thirdparty/prime/mac/mac_1_3/module_config/conf_mac.c new file mode 100644 index 00000000..47e9e554 --- /dev/null +++ b/thirdparty/prime/mac/mac_1_3/module_config/conf_mac.c @@ -0,0 +1,102 @@ +/** + * \file + * + * \brief MAC Layer Configuration + * + * Copyright (c) 2014-2015 Atmel Corporation. All rights reserved. + * + * \asf_license_start + * + * \page License + * + * 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 microcontroller 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. + * + * \asf_license_stop + * + */ + +#include "asf.h" +#include "conf_mac.h" + +/* Check MAC capabilities */ +#ifdef NODE_CAPABLE_CFP + #pragma message("PRIME_MAC_CFG: NODE_CAPABLE_CFP") +const uint8_t cfgMacCFPCapable = 1; +#else +const uint8_t cfgMacCFPCapable = 0; +#endif + +#ifdef NODE_CAPABLE_PRM + #pragma message("PRIME_MAC_CFG: NODE_CAPABLE_PRM") +const uint8_t cfgMacPRMCapable = 1; +#else +const uint8_t cfgMacPRMCapable = 0; +#endif + +#ifdef NODE_CAPABLE_ARQ + #pragma message("PRIME_MAC_CFG: NODE_CAPABLE_ARQ") +const uint8_t cfgMacARQCapable = 1; +#else +const uint8_t cfgMacARQCapable = 0; +#endif + +#ifdef NODE_CAPABLE_DIR_SW + #pragma message("PRIME_MAC_CFG: NODE_CAPABLE_DIR_SW") +const uint8_t cfgMacDirConSwCapable = 1; +#else +const uint8_t cfgMacDirConSwCapable = 0; +#endif + +/* Minimum SNR valid for a registration */ +#ifdef NOT_USE_MINIMUM_SNR_VALID + #pragma message("PRIME_MAC_CFG: NOT_USE_MINIMUM_SNR_VALID") +const uint8_t cfgMacMinSnrValid = 0; +#else + #pragma message("PRIME_MAC_CFG: USE_MINIMUM_SNR_VALID") +const uint8_t cfgMacMinSnrValid = MAC_MIN_SNR_VALID; +#endif + +/* Send PRIME messages through USI */ +#if defined(PRIME_SERIAL_SERIALIZATION) + #pragma message("PRIME_MAC_CFG: PRIME_SERIAL_SERIALIZATION") +const uint8_t cfgPrimeSerialEnable = 1; +#else +const uint8_t cfgPrimeSerialEnable = 0; +#endif + +/* CFP reservation in OFDM symbols. Only available for Base Node */ +#if defined(MAC_CFP_RESERVE) + #pragma message("PRIME_MAC_CFG: MAC_CFP_SYMBOLS_RESERVED") +const uint8_t cfgMacCfpReserved = MAC_CFP_SYMBOLS_RESERVED; +#else +const uint8_t cfgMacCfpReserved = 0; +#endif + +const uint8_t cfgMacEncryptSp1 = 0; +uint8_t const *cfgMacAesPtr = NULL; diff --git a/thirdparty/prime/mac/mac_1_3/module_config/conf_mac.h b/thirdparty/prime/mac/mac_1_3/module_config/conf_mac.h new file mode 100644 index 00000000..9aee1994 --- /dev/null +++ b/thirdparty/prime/mac/mac_1_3/module_config/conf_mac.h @@ -0,0 +1,58 @@ +/** + * \file + * + * \brief MAC Layer Configuration + * + * Copyright (c) 2014-2015 Atmel Corporation. All rights reserved. + * + * \asf_license_start + * + * \page License + * + * 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 microcontroller 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. + * + * \asf_license_stop + * + */ + +#ifndef CONF_MAC_H_INCLUDE +#define CONF_MAC_H_INCLUDE + +#include "compiler.h" + +/* Not Minimum SNR value */ +/* #define NOT_USE_MINIMUM_SNR_VALID */ +#define MAC_MIN_SNR_VALID 2 + +/* MAC Capabilities */ +#define NODE_CAPABLE_PRM +#define NODE_CAPABLE_ARQ +#define NODE_CAPABLE_DIR_SW + +#endif /* CONF_MAC_H_INCLUDE */ diff --git a/thirdparty/prime/mac/mac_1_3/module_config/conf_prime.h b/thirdparty/prime/mac/mac_1_3/module_config/conf_prime.h new file mode 100644 index 00000000..a447843f --- /dev/null +++ b/thirdparty/prime/mac/mac_1_3/module_config/conf_prime.h @@ -0,0 +1,61 @@ +/** + * \file + * + * \brief PRIME configuration file. + * + * Copyright (c) 2014-2015 Atmel Corporation. All rights reserved. + * + * \asf_license_start + * + * \page License + * + * 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 microcontroller 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. + * + * \asf_license_stop + * + */ + +#ifndef CONF_PRIME_H_INCLUDED +#define CONF_PRIME_H_INCLUDED + +/* PRIME MODE */ +#define PRIME_SERVICE_NODE + +/* Firmware Information */ +#define PRIME_FW_VENDOR "ATMEL" +#define PRIME_FW_MODEL "SAM4CP16BMB/000" +#define PRIME_FW_VERSION "01.03.08.01" + +/* Prime PIB firmware information */ +#define PRIME_PIB_VENDOR 0x0000 +#define PRIME_PIB_MODEL 0x3430 +#define PRIME_PIB_VERSION_LEN 8 +#define PRIME_PIB_VERSION "01030801" + +#endif /* CONF_PRIME_H_INCLUDED */ diff --git a/thirdparty/prime/mac/mac_1_3/source/PrimeVersion.c b/thirdparty/prime/mac/mac_1_3/source/PrimeVersion.c new file mode 100644 index 00000000..a2f4a7fb --- /dev/null +++ b/thirdparty/prime/mac/mac_1_3/source/PrimeVersion.c @@ -0,0 +1,58 @@ +/** +* \file +* +* \brief PRIME Stack Version Configuration. +* + * Copyright (c) 2014-2015 Atmel Corporation. All rights reserved. +* +* \asf_license_start +* +* \page License +* +* 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 microcontroller 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. +* +* \asf_license_stop +* +*/ +#include "conf_prime.h" + +#ifdef __GNUC__ +const char FWVS_VERSION[32] __attribute__((section (".frwvrs"))) = PRIME_FW_VERSION ; +const char FWVS_MODEL[16] __attribute__((section (".frwvrs"))) = PRIME_FW_MODEL ; +const char FWVS_VENDOR[16] __attribute__((section (".frwvrs"))) = PRIME_FW_VENDOR ; +#endif + +#ifdef __ICCARM__ +#pragma location = ".frwvrs" +__root const char FWVS_VENDOR[16] = PRIME_FW_VENDOR ; +#pragma location = ".frwvrs" +__root const char FWVS_MODEL[16] = PRIME_FW_MODEL ; +#pragma location = ".frwvrs" +__root const char FWVS_VERSION[32] = PRIME_FW_VERSION ; +#endif |