瀏覽代碼

Архив по модулям.

dtelenkov 5 月之前
父節點
當前提交
f7d3cb63ae

+ 465 - 603
fw/modules/log/log.c

@@ -1,603 +1,465 @@
-#include "log.h"
-#include "rtc.h"
-#include "ringfs.h"
-#include "spi_flash.h"
-#include "FreeRTOS.h"
-#include "task.h"
-#include "semphr.h"
-#include "event_groups.h"
-#include "rtc.h"
-#include "settings_api.h"
-#include "digital_input.h"
-#include "log_ai.h"
-#include "log_dio.h"
-#include <string.h>
-#include <stdio.h>
-#include <inttypes.h>
-
-#undef DBG
-#define DBG if(1)
-
-static bool archive_state = false;
-static bool log_state = true;
-
-static bool log_init_f = false;
-static bool archive_init_f = false;
-
-struct ringfs fs_log;
-//struct ringfs fs_archive;
-struct ringfs fs_ch_arch[ARCH_CH_NUMBER];
-
-
-SemaphoreHandle_t log_mutex;
-xQueueHandle log_queue;
-EventGroupHandle_t archive_event;
-
-uint16_t log_entries_capacity;
-uint16_t archive_entries_capacity;
-
-uint32_t archive_cnt[ARCH_CH_NUMBER] = {0};
-
-void archive_task(void *params);
-void log_task(void *params);
-
-
-
-//
-static int op_sector_erase(struct ringfs_flash_partition *flash, int address) {
-	(void)flash;
-	int ret;
-	ret = spi_flash_erase_sector(address, 0);
-	return ret;
-}
-
-//
-static ssize_t op_program(struct ringfs_flash_partition *flash, int address, const void *data, size_t size) {
-	(void)flash;
-	int ret;
-	ret = spi_flash_write(address, data, size, 0);
-	return ret;
-}
-
-//
-static ssize_t op_read(struct ringfs_flash_partition *flash, int address, void *data, size_t size) {
-	(void)flash;
-	int ret;
-	ret = spi_flash_read(address, data, size, 0);
-	return ret;
-}
-
-//
-static struct ringfs_flash_partition ringfs_flash_log = 
-{
-	.sector_offset = LOG_FLASH_SECTOR_OFFSET,
-	.sector_erase = op_sector_erase,
-	.program = op_program,
-	.read = op_read,
-};
-
-//
-static struct ringfs_flash_partition ringfs_flash_archive = 
-{
-	.sector_offset = ARCHIVE_FLASH_SECTOR_OFFSET,
-	.sector_erase = op_sector_erase,
-	.program = op_program,
-	.read = op_read,
-};
-
-//
-static struct ringfs_flash_partition fingfs_flash_ch_arch[ARCH_CH_NUMBER] = 
-{
-    {
-        .sector_offset = ARCHIVE_FLASH_SECTOR_OFFSET,
-        .sector_erase = op_sector_erase,
-        .program = op_program,
-        .read = op_read,
-    },
-    {
-        .sector_offset = ARCHIVE_FLASH_SECTOR_OFFSET + ARCHIVE_CHANNEL_OFFSET*1,
-        .sector_erase = op_sector_erase,
-        .program = op_program,
-        .read = op_read,
-    },
-    {
-        .sector_offset = ARCHIVE_FLASH_SECTOR_OFFSET + ARCHIVE_CHANNEL_OFFSET*2,
-        .sector_erase = op_sector_erase,
-        .program = op_program,
-        .read = op_read,
-    },
-    {
-        .sector_offset = ARCHIVE_FLASH_SECTOR_OFFSET + ARCHIVE_CHANNEL_OFFSET*3,
-        .sector_erase = op_sector_erase,
-        .program = op_program,
-        .read = op_read,
-    },
-    {
-        .sector_offset = ARCHIVE_FLASH_SECTOR_OFFSET + ARCHIVE_CHANNEL_OFFSET*4,
-        .sector_erase = op_sector_erase,
-        .program = op_program,
-        .read = op_read,
-    },
-    {
-        .sector_offset = ARCHIVE_FLASH_SECTOR_OFFSET + ARCHIVE_CHANNEL_OFFSET*5,
-        .sector_erase = op_sector_erase,
-        .program = op_program,
-        .read = op_read,
-    },
-    {
-        .sector_offset = ARCHIVE_FLASH_SECTOR_OFFSET + ARCHIVE_CHANNEL_OFFSET*6,
-        .sector_erase = op_sector_erase,
-        .program = op_program,
-        .read = op_read,
-    },
-    {
-        .sector_offset = ARCHIVE_FLASH_SECTOR_OFFSET + ARCHIVE_CHANNEL_OFFSET*7,
-        .sector_erase = op_sector_erase,
-        .program = op_program,
-        .read = op_read,
-    },
-};
-
-
-//
-void log_init(bool format) 
-{
-	DBG printf("[LOG] Init...\r\n");
-
-	if (!spi_flash_desc.present)
-		return;
-    
-    // ---------------------------------------------------------------------- //
-    // Журнал
-        
-	ringfs_flash_log.sector_size = spi_flash_desc.sector_size;
-	ringfs_flash_log.sector_count = LOG_FLASH_SECTOR_COUNT;
-
-	ringfs_init(&fs_log, &ringfs_flash_log, LOG_ENTRY_VERSION, sizeof(log_entry_t));
-    
-	if (format || ringfs_scan(&fs_log) != 0) {
-		DBG printf("FAT1 false\r\n");
-		ringfs_format(&fs_log);
-	}
-	DBG printf("FAT1 true\r\n");
-    
-    
-#if defined (MDIO_88)    
-
-#if 0    
-    for (uint8_t i = 0; i < ARCH_CH_NUMBER; i ++) 
-    {
-        fingfs_flash_ch_arch[i].sector_size = spi_flash_desc.sector_size,
-        
-        fingfs_flash_ch_arch[i].sector_count = ARCHIVE_FLASH_SECTOR_COUNT,
-        
-        ringfs_init(&fs_ch_arch[i], &fingfs_flash_ch_arch[i], 
-                    ARCHIV_ENTRY_VERSION + i, sizeof(archive_entry_t));
-        
-        if (ringfs_scan(&fs_ch_arch[i]) != 0) {
-            DBG printf("FAT for channel %u is false\r\n", i + 1);
-            ringfs_format(&fs_ch_arch[i]);
-        }
-        DBG printf("FAT for channel %u is true\r\n", i + 1);
-    }
-#endif
-    
-    log_dio_archive_init();
-#endif
-    
-#if defined (MAI_12)
-    log_ai_archive_init();
-#endif
-    
-    
-#if 0
-    
-    
-    // ---------------------------------------------------------------------- //
-	log_mutex = xSemaphoreCreateMutex();
-
-    log_entries_capacity = ringfs_capacity(&fs_log);
-    
-    archive_entries_capacity = ringfs_capacity(&fs_ch_arch[0]);
-    
-    // Event
-    archive_event = xEventGroupCreate();
-    
-	xTaskCreate(archive_task, "archive_task", 2*configMINIMAL_STACK_SIZE, NULL, tskIDLE_PRIORITY, NULL);
-        
-    log_queue = xQueueCreate(10, sizeof(log_entry_t));
-    
-    xTaskCreate(log_task, "log_task", 2*configMINIMAL_STACK_SIZE, NULL, tskIDLE_PRIORITY, NULL);
-    
-    log_init_f = true;
-    
-    archive_init_f = true;
-    
-    // Таймер для ведения архива с разным периодом по разным каналам
-    log_init_archive_tim();  
-#endif    
-}
-
-// Настройка таймера на частоту 10 Гц
-void log_init_archive_tim(void)
-{
-    printf("Init log timer...\r\n");
-    
-    crm_clocks_freq_type crm_clocks_freq_struct = {0};
-    
-    crm_periph_clock_enable(CRM_TMR14_PERIPH_CLOCK, TRUE);
-
-    crm_clocks_freq_get(&crm_clocks_freq_struct);
-    tmr_base_init(TMR14, 999, (crm_clocks_freq_struct.ahb_freq / 10000) - 1);
-    tmr_cnt_dir_set(TMR14, TMR_COUNT_UP);
-        
-    tmr_flag_clear(TMR14, TMR_OVF_FLAG);
-
-    nvic_priority_group_config(NVIC_PRIORITY_GROUP_4);
-    nvic_irq_enable(TMR8_TRG_HALL_TMR14_IRQn, 5, 0);
-       
-    tmr_counter_enable(TMR14, TRUE);
-    
-    tmr_interrupt_enable(TMR14, TMR_OVF_INT, TRUE);
-}
-
-//
-void TMR8_TRG_HALL_TMR14_IRQHandler(void)
-{
-    if (tmr_flag_get(TMR14, TMR_OVF_FLAG) != RESET)
-    {
-        tmr_flag_clear(TMR14, TMR_OVF_FLAG);
-        
-        if (archive_state) 
-        {
-            log_check_archive_cnt();
-            printf("TMR_14 irq\r\n");
-        }
-    }
-}
-
-//
-int log_fetch(void *entry, entry_type_t entry_type, uint8_t ch, uint32_t timeout) 
-{
-    int ret;
-    
-    ret = xSemaphoreTake(log_mutex, (TickType_t)timeout);
-    
-    if (ret == pdFALSE)
-        return ret;
-    if (entry_type == LOG_ENTRY)
-        ret = ringfs_fetch(&fs_log, entry);
-    else if (entry_type == ARCHIVE_ENTRY)
-        ret = ringfs_fetch(&fs_ch_arch[ch], entry);
-    else ret = -1;
-
-    xSemaphoreGive(log_mutex);
-    return ret;   
-}
-
-//
-int log_discard(void *entry, entry_type_t entry_type, uint8_t ch, uint32_t timeout)
-{
-    int ret;
-      
-    ret = xSemaphoreTake(log_mutex, (TickType_t)timeout);
-    
-    if (ret == pdFALSE)
-        return ret;
-    if (entry_type == LOG_ENTRY)
-        ret = ringfs_discard(&fs_log);
-    else if (entry_type == ARCHIVE_ENTRY)
-        ret = ringfs_discard(&fs_ch_arch[ch]);
-    else ret = -1;
-    
-    xSemaphoreGive(log_mutex);
-    return ret; 
-}
-
-//
-int log_append(void *entry, entry_type_t entry_type, uint8_t ch)
-{
-    int ret;
-    TM_RTC_t time;
-    common_entry_t *entry_ptr = entry;
-    log_entry_t *log_etnry_ptr;
-    archive_entry_t *archive_etnry_ptr;
-    
-    ret = xSemaphoreTake(log_mutex, portMAX_DELAY);
-    
-    if (ret == pdFALSE)
-        return ret;
-  
-    if (entry_ptr->timestamp == 0)
-        entry_ptr->timestamp = rtc_get_ms();
-    
-    if (entry_type == LOG_ENTRY) 
-    {
-        log_etnry_ptr = (log_entry_t*)entry;
-        log_etnry_ptr->crc = crc_8(entry, sizeof(log_entry_t) - 1);
-        ret = ringfs_append(&fs_log, entry);
-    }
-    else if (entry_type == ARCHIVE_ENTRY) 
-    {
-        archive_etnry_ptr = (archive_entry_t*)entry;
-        archive_etnry_ptr->crc = crc_8(entry, sizeof(archive_entry_t) - 1);
-        ret = ringfs_append(&fs_ch_arch[ch], entry);
-    }
-    else ret = -1;
-    
-    xSemaphoreGive(log_mutex);
-    return ret;
-    
-}
-
-//
-uint16_t log_capacity(void)
-{
-    return ringfs_count_exact(&fs_log);
-}
-
-//
-uint16_t log_arch_capacity(uint8_t ch)
-{
-    return ringfs_count_exact(&fs_ch_arch[ch]);
-}
-
-// -------------------------------------------------------------------------- //
-// misc
-
-uint8_t crc_8(uint8_t *data, int length)
-{
-    uint8_t crc = 0x00;
-    uint8_t extract;
-    uint8_t sum;
-    
-    for (int i = 0; i < length; i++) {
-        extract = *data;
-        for (uint8_t tmp = 8; tmp; tmp--) {
-            sum = (crc ^ extract) & 0x01;
-            crc >>= 1;
-            if (sum)
-                crc ^= 0x8C;
-            extract >>= 1;
-        }
-        data++;
-    }
-    return crc;
-}
-
-// -------------------------------------------------------------------------- //
-// Tests
-
-// val - 0 - журнал
-// val - 1 - архив
-// ch - номер канала архива
-void log_info(uint8_t val, uint8_t ch)
-{
-    if (val > 1)
-        return;
-  
-    struct ringfs *fs = val == 0 ? &fs_log : &fs_ch_arch[ch];
-    
-    int capacity_flash = 0;
-    int count_flash = 0;
-    int count_estimate = 0;
-    
-    capacity_flash = ringfs_capacity(fs);
-    count_flash = ringfs_count_exact(fs);
-    count_estimate = ringfs_count_estimate(fs);
-    
-    if (val == 0)
-    {
-        DBG printf("Log partition capacity: %u\r\n", capacity_flash);
-        DBG printf("Count log entry: %u\r\n", count_flash);
-        DBG printf("Estimate count: %u\r\n", count_estimate);
-    }
-    else 
-    {
-        DBG printf("Archive partition capacity: %u\r\n", capacity_flash);
-        DBG printf("Count archive entry: %u\r\n", count_flash);
-        DBG printf("Estimate count: %u\r\n", count_estimate);
-    }
-}
-
-// val - 0 - журнал
-// val - 1 - архив
-// ch - номер канала архива
-void log_format(uint8_t val, uint8_t ch)
-{
-    if (val == 0) {
-        DBG printf("Formating log partition...\r\n");
-        ringfs_format(&fs_log);
-    } 
-    else if (val == 1) {
-        DBG printf("Formating archive partition...\r\n");
-        ringfs_format(&fs_ch_arch[ch]);
-    }
-}
-
-// Добавить n записей журнала
-int log_add_random_entry(uint8_t val, uint32_t cnt_entry, uint8_t ch)
-{
-    int ret;
-    log_entry_t log_entry = {0};
-    archive_entry_t archive_entry = {0};
-    
-    static uint8_t log_index = 0;
-    static uint32_t archive_index = 0;
-    
-    if (val == 0)
-    {
-        DBG printf("Appending %u archive entries\r\n", cnt_entry);
-        
-        for (uint32_t i = 0; i < cnt_entry; i++)
-        {
-            log_entry.code_type = log_index;
-            log_entry.code_state = log_index;
-            log_entry.channel_number = log_index;
-            log_entry.value = (float)log_index++;
-            
-            ret = log_append((void*)&log_entry, LOG_ENTRY, 0);
-        }
-        DBG printf("Result: %u\r\n", ret);
-    }
-      
-    if (val == 1)
-    {
-        DBG printf("Appending %u archive entries\r\n", cnt_entry);
-
-        for (uint32_t i = 0; i < cnt_entry; i++)
-        {
-            archive_entry.input_value = archive_index++;
-
-            ret = log_append((void*)&archive_entry, ARCHIVE_ENTRY, ch);
-        }
-        DBG printf("Result: %u\r\n", ret);
-    }
-    return ret;
-}
-
-//
-int log_add_entry(log_event_type_t type, log_event_state_t state, 
-                  uint8_t channel_number, float value)
-{
-    log_entry_t entry;
-    
-    if (!log_init_f)
-        return -1;
-    
-    entry.timestamp = rtc_get_ms();
-    entry.code_type = (uint8_t)type;
-    entry.code_state = (uint8_t)state;
-    entry.channel_number = channel_number;
-    entry.value = value;
-    
-    xQueueSend(log_queue, &entry, 0);
-    
-    return 0;
-}
-
-
-//
-void test_fetch(void)
-{
-    archive_entry_t entry = {0};
-    log_fetch(&entry, ARCHIVE_ENTRY, 0, portMAX_DELAY);
-    //printf("\r\n%" PRId64 " [ms]\r\n", rtc_get_ms());
-    printf("[entry] timestamp = % " PRId64 ", value = %u, crc = %u\r\n", entry.timestamp, entry.input_value, entry.crc);
-}
-
-//
-void log_archive_state(bool state)
-{
-    archive_state = state;
-}
-
-//
-void log_log_state(bool state)
-{
-    log_state = state;
-}
-
-
-void archive_task(void *params)
-{
-    int ret = 0;
-    uint32_t event = 0;
-    archive_entry_t entry = {0};
-    EventBits_t bits;
-    
-    for (;;)
-    {
-        bits = xEventGroupWaitBits(archive_event, ARCH_CH_1 | ARCH_CH_2 | 
-                                   ARCH_CH_3 | ARCH_CH_4 | ARCH_CH_5 | 
-                                   ARCH_CH_6 | ARCH_CH_7 | ARCH_CH_8,
-                                   pdTRUE, pdFALSE, portMAX_DELAY);
-      
-        for (uint32_t i = 0; i < ARCH_CH_NUMBER; i++)
-        {
-            if (bits & (1 << i))
-            {
-                DBG printf("Archive event: %u\r\n", (1 << i));
-                
-                entry.timestamp = 0;
-                entry.input_value = di_get(i - 1);
-        
-                DBG printf("Append archive entry...");
-                ret = log_append((void*)&entry, ARCHIVE_ENTRY, i - 1);
-                
-                if (ret != 0) {
-                    DBG printf("FAIL\r\n");
-                }
-                else {  
-                    DBG printf("OK\r\n");
-                }
-            }
-        }
-        
-        
-        
-        
-        
-        
-#if 0      
-        if ((!archive_state) || (!archive_init_f)) {
-            vTaskDelay(1000);
-            continue;
-        }
-        
-        entry.timestamp = 0;
-        entry.input_value = (uint8_t)di_state_bit;
-        
-        DBG printf("Append archive entry...");
-        
-        ret = log_append((void*)&entry, ARCHIVE_ENTRY, 0);
-              
-        if (ret != 0) {
-            DBG printf("FAIL\r\n");
-        }
-        else {
-            DBG printf("OK\r\n");
-        }
-        
-        vTaskDelay(settings.period_archive*1000);
-#endif        
-    }
-}
-
-//
-void log_task(void *params)
-{
-    int ret;
-    log_entry_t entry;
-      
-    for (;;)
-    {
-        if (xQueueReceive(log_queue, &entry, portMAX_DELAY) == pdTRUE)
-        {
-            DBG printf("Try append LOG entry... ");
-            ret = log_append((void*)&entry, LOG_ENTRY, 0);
-            DBG printf("Result: %i\r\n", ret);
-        }
-    }
-}
-
-// Вызывается в прерывании таймера с частотой 10 Гц 
-void log_check_archive_cnt(void)
-{
-    BaseType_t xHigherPriorityTaskWoken = pdFALSE;
-      
-    for (uint8_t i = 0; i < ARCH_CH_NUMBER; i++)
-    {
-        if (archive_cnt[i]++ == 10*settings.period_archive[i])
-        {
-            archive_cnt[i] = 0;
-            
-            // Номер канала с 0..7
-
-            
-            printf("Send event: %u\r\n", 1 << i);
-            xEventGroupSetBitsFromISR(archive_event, 1 << i, &xHigherPriorityTaskWoken);
-        }
-    }
-}
-
+#include "log.h"
+#include "rtc.h"
+#include "ringfs.h"
+#include "spi_flash.h"
+#include "FreeRTOS.h"
+#include "task.h"
+#include "semphr.h"
+#include "event_groups.h"
+#include "rtc.h"
+#include "settings_api.h"
+#include "digital_input.h"
+#include "log_ai.h"
+#include "log_dio.h"
+#include "ringfs_api.h"
+#include <string.h>
+#include <stdio.h>
+#include <inttypes.h>
+
+#undef DBG
+#define DBG if(1)
+
+static bool archive_state = false;
+static bool log_state = true;
+
+static bool log_init_f = false;
+static bool archive_init_f = false;
+
+struct ringfs fs_log;
+
+SemaphoreHandle_t log_mutex;
+xQueueHandle log_queue;
+EventGroupHandle_t archive_event;
+
+uint16_t log_entries_capacity;
+uint16_t archive_entries_capacity;
+
+void archive_task(void *params);
+void log_task(void *params);
+
+
+
+//
+static struct ringfs_flash_partition ringfs_flash_log = 
+{
+	.sector_offset = LOG_FLASH_SECTOR_OFFSET,
+	.sector_erase = op_sector_erase,
+	.program = op_program,
+	.read = op_read,
+};
+
+
+//
+void log_init(bool format) 
+{
+	DBG printf("[LOG] Init...\r\n");
+
+	if (!spi_flash_desc.present)
+		return;
+    
+    // ---------------------------------------------------------------------- //
+    // Журнал
+        
+	ringfs_flash_log.sector_size = spi_flash_desc.sector_size;
+	ringfs_flash_log.sector_count = LOG_FLASH_SECTOR_COUNT;
+
+	ringfs_init(&fs_log, &ringfs_flash_log, LOG_ENTRY_VERSION, sizeof(log_entry_t));
+    
+	if (format || ringfs_scan(&fs_log) != 0) {
+		DBG printf("FAT1 false\r\n");
+		ringfs_format(&fs_log);
+	}
+	DBG printf("FAT1 true\r\n");
+    
+    
+#if defined (MDIO_88)    
+    log_dio_archive_init();
+#endif
+    
+#if defined (MAI_12)
+    log_ai_archive_init();
+#endif
+    
+    // ---------------------------------------------------------------------- //
+	log_mutex = xSemaphoreCreateMutex();
+
+    log_entries_capacity = ringfs_capacity(&fs_log);
+    
+    archive_entries_capacity = ringfs_capacity(&fs_ch_arch[0]);
+    
+    // Event
+    archive_event = xEventGroupCreate();
+
+	xTaskCreate(archive_task, "archive_task", 2*configMINIMAL_STACK_SIZE, NULL, tskIDLE_PRIORITY, NULL);
+
+    log_queue = xQueueCreate(10, sizeof(log_entry_t));
+
+    xTaskCreate(log_task, "log_task", 2*configMINIMAL_STACK_SIZE, NULL, tskIDLE_PRIORITY, NULL);
+    
+    log_init_f = true;
+    
+    archive_init_f = true;
+
+    // Таймер для ведения архива с разным периодом по разным каналам
+    log_init_archive_tim();  
+}
+
+// Настройка таймера на частоту 10 Гц
+void log_init_archive_tim(void)
+{
+    printf("Init log timer...\r\n");
+    
+    crm_clocks_freq_type crm_clocks_freq_struct = {0};
+    
+    crm_periph_clock_enable(CRM_TMR14_PERIPH_CLOCK, TRUE);
+
+    crm_clocks_freq_get(&crm_clocks_freq_struct);
+    tmr_base_init(TMR14, 999, (crm_clocks_freq_struct.ahb_freq / 10000) - 1);
+    tmr_cnt_dir_set(TMR14, TMR_COUNT_UP);
+        
+    tmr_flag_clear(TMR14, TMR_OVF_FLAG);
+
+    nvic_priority_group_config(NVIC_PRIORITY_GROUP_4);
+    nvic_irq_enable(TMR8_TRG_HALL_TMR14_IRQn, 5, 0);
+       
+    tmr_counter_enable(TMR14, TRUE);
+    
+    tmr_interrupt_enable(TMR14, TMR_OVF_INT, TRUE);
+}
+
+//
+void TMR8_TRG_HALL_TMR14_IRQHandler(void)
+{
+    if (tmr_flag_get(TMR14, TMR_OVF_FLAG) != RESET)
+    {
+        tmr_flag_clear(TMR14, TMR_OVF_FLAG);
+        
+        if (archive_state) 
+        {
+            log_check_archive_cnt();
+            printf("TMR_14 irq\r\n");
+        }
+    }
+}
+
+//
+int log_fetch(void *entry, entry_type_t entry_type, uint8_t ch, uint32_t timeout) 
+{
+    int ret;
+    
+    ret = xSemaphoreTake(log_mutex, (TickType_t)timeout);
+    
+    if (ret == pdFALSE)
+        return ret;
+    if (entry_type == LOG_ENTRY)
+        ret = ringfs_fetch(&fs_log, entry);
+    else if (entry_type == ARCHIVE_ENTRY)
+        ret = ringfs_fetch(&fs_ch_arch[ch], entry);
+    else ret = -1;
+
+    xSemaphoreGive(log_mutex);
+    return ret;   
+}
+
+//
+int log_discard(void *entry, entry_type_t entry_type, uint8_t ch, uint32_t timeout)
+{
+    int ret;
+      
+    ret = xSemaphoreTake(log_mutex, (TickType_t)timeout);
+    
+    if (ret == pdFALSE)
+        return ret;
+    if (entry_type == LOG_ENTRY)
+        ret = ringfs_discard(&fs_log);
+    else if (entry_type == ARCHIVE_ENTRY)
+        ret = ringfs_discard(&fs_ch_arch[ch]);
+    else ret = -1;
+    
+    xSemaphoreGive(log_mutex);
+    return ret; 
+}
+
+//
+int log_append(void *entry, entry_type_t entry_type, uint8_t ch)
+{
+    int ret;
+    TM_RTC_t time;
+    common_entry_t *entry_ptr = entry;
+    log_entry_t *log_etnry_ptr;
+    archive_entry_t *archive_etnry_ptr;
+    
+    ret = xSemaphoreTake(log_mutex, portMAX_DELAY);
+    
+    if (ret == pdFALSE)
+        return ret;
+  
+    if (entry_ptr->timestamp == 0)
+        entry_ptr->timestamp = rtc_get_ms();
+    
+    if (entry_type == LOG_ENTRY) 
+    {
+        log_etnry_ptr = (log_entry_t*)entry;
+        log_etnry_ptr->crc = crc_8(entry, sizeof(log_entry_t) - 1);
+        ret = ringfs_append(&fs_log, entry);
+    }
+    else if (entry_type == ARCHIVE_ENTRY) 
+    {
+        archive_etnry_ptr = (archive_entry_t*)entry;
+        archive_etnry_ptr->crc = crc_8(entry, sizeof(archive_entry_t) - 1);
+        ret = ringfs_append(&fs_ch_arch[ch], entry);
+    }
+    else ret = -1;
+    
+    xSemaphoreGive(log_mutex);
+    return ret;
+    
+}
+
+//
+uint16_t log_capacity(void)
+{
+    return ringfs_count_exact(&fs_log);
+}
+
+//
+uint16_t log_arch_capacity(uint8_t ch)
+{
+    return ringfs_count_exact(&fs_ch_arch[ch]);
+}
+
+// -------------------------------------------------------------------------- //
+// misc
+
+uint8_t crc_8(uint8_t *data, int length)
+{
+    uint8_t crc = 0x00;
+    uint8_t extract;
+    uint8_t sum;
+    
+    for (int i = 0; i < length; i++) {
+        extract = *data;
+        for (uint8_t tmp = 8; tmp; tmp--) {
+            sum = (crc ^ extract) & 0x01;
+            crc >>= 1;
+            if (sum)
+                crc ^= 0x8C;
+            extract >>= 1;
+        }
+        data++;
+    }
+    return crc;
+}
+
+// -------------------------------------------------------------------------- //
+// Tests
+
+// val - 0 - журнал
+// val - 1 - архив
+// ch - номер канала архива
+void log_info(uint8_t val, uint8_t ch)
+{
+    if (val > 1)
+        return;
+  
+    struct ringfs *fs = val == 0 ? &fs_log : &fs_ch_arch[ch];
+    
+    int capacity_flash = 0;
+    int count_flash = 0;
+    int count_estimate = 0;
+    
+    capacity_flash = ringfs_capacity(fs);
+    count_flash = ringfs_count_exact(fs);
+    count_estimate = ringfs_count_estimate(fs);
+    
+    if (val == 0)
+    {
+        DBG printf("Log partition capacity: %u\r\n", capacity_flash);
+        DBG printf("Count log entry: %u\r\n", count_flash);
+        DBG printf("Estimate count: %u\r\n", count_estimate);
+    }
+    else 
+    {
+        DBG printf("Archive partition capacity: %u\r\n", capacity_flash);
+        DBG printf("Count archive entry: %u\r\n", count_flash);
+        DBG printf("Estimate count: %u\r\n", count_estimate);
+    }
+}
+
+// val - 0 - журнал
+// val - 1 - архив
+// ch - номер канала архива
+void log_format(uint8_t val, uint8_t ch)
+{
+    if (val == 0) {
+        DBG printf("Formating log partition...\r\n");
+        ringfs_format(&fs_log);
+    } 
+    else if (val == 1) {
+        DBG printf("Formating archive partition...\r\n");
+        ringfs_format(&fs_ch_arch[ch]);
+    }
+}
+
+// Добавить n записей журнала
+int log_add_random_entry(uint8_t val, uint32_t cnt_entry, uint8_t ch)
+{
+    int ret;
+    log_entry_t log_entry = {0};
+    archive_entry_t archive_entry = {0};
+    
+    static uint8_t log_index = 0;
+    static uint32_t archive_index = 0;
+    
+    if (val == 0)
+    {
+        DBG printf("Appending %u archive entries\r\n", cnt_entry);
+        
+        for (uint32_t i = 0; i < cnt_entry; i++)
+        {
+            log_entry.code_type = log_index;
+            log_entry.code_state = log_index;
+            log_entry.channel_number = log_index;
+            log_entry.value = (float)log_index++;
+            
+            ret = log_append((void*)&log_entry, LOG_ENTRY, 0);
+        }
+        DBG printf("Result: %u\r\n", ret);
+    }
+      
+    if (val == 1)
+    {
+        DBG printf("Appending %u archive entries\r\n", cnt_entry);
+
+        for (uint32_t i = 0; i < cnt_entry; i++)
+        {
+            archive_entry.input_value = archive_index++;
+
+            ret = log_append((void*)&archive_entry, ARCHIVE_ENTRY, ch);
+        }
+        DBG printf("Result: %u\r\n", ret);
+    }
+    return ret;
+}
+
+//
+int log_add_entry(log_event_type_t type, log_event_state_t state, 
+                  uint8_t channel_number, float value)
+{
+    log_entry_t entry;
+    
+    if (!log_init_f)
+        return -1;
+    
+    entry.timestamp = rtc_get_ms();
+    entry.code_type = (uint8_t)type;
+    entry.code_state = (uint8_t)state;
+    entry.channel_number = channel_number;
+    entry.value = value;
+    
+    xQueueSend(log_queue, &entry, 0);
+    
+    return 0;
+}
+
+
+//
+void test_fetch(void)
+{
+    archive_entry_t entry = {0};
+    log_fetch(&entry, ARCHIVE_ENTRY, 0, portMAX_DELAY);
+    //printf("\r\n%" PRId64 " [ms]\r\n", rtc_get_ms());
+    printf("[entry] timestamp = % " PRId64 ", value = %u, crc = %u\r\n", entry.timestamp, entry.input_value, entry.crc);
+}
+
+//
+void log_archive_state(bool state)
+{
+    archive_state = state;
+}
+
+//
+void log_log_state(bool state)
+{
+    log_state = state;
+}
+
+
+void archive_task(void *params)
+{
+    int ret = 0;
+    uint32_t event = 0;
+    archive_entry_t entry = {0};
+    EventBits_t bits;
+    uint8_t channel_number = log_get_arch_channel_number();
+        
+    for (;;)
+    {
+#if 0      
+// TODO      
+        bits = xEventGroupWaitBits(archive_event, ARCH_CH_1 | ARCH_CH_2 | 
+                                   ARCH_CH_3 | ARCH_CH_4 | ARCH_CH_5 | 
+                                   ARCH_CH_6 | ARCH_CH_7 | ARCH_CH_8,
+                                   pdTRUE, pdFALSE, portMAX_DELAY);
+     
+        for (uint32_t i = 0; i < channel_number; i++)
+        {
+            if (bits & (1 << i))
+            {
+                DBG printf("Archive event: %u\r\n", (1 << i));
+                
+                entry.timestamp = 0;
+                entry.input_value = di_get(i - 1);
+        
+                DBG printf("Append archive entry...");
+                ret = log_append((void*)&entry, ARCHIVE_ENTRY, i - 1);
+                
+                if (ret != 0) {
+                    DBG printf("FAIL\r\n");
+                }
+                else {  
+                    DBG printf("OK\r\n");
+                }
+            }
+        }
+#endif        
+    }
+}
+
+//
+void log_task(void *params)
+{
+    int ret;
+    log_entry_t entry;
+      
+    for (;;)
+    {
+        if (xQueueReceive(log_queue, &entry, portMAX_DELAY) == pdTRUE)
+        {
+            DBG printf("Try append LOG entry... ");
+            ret = log_append((void*)&entry, LOG_ENTRY, 0);
+            DBG printf("Result: %i\r\n", ret);
+        }
+    }
+}
+
+// Вызывается в прерывании таймера с частотой 10 Гц 
+// TODO
+void log_check_archive_cnt(void)
+{
+    BaseType_t xHigherPriorityTaskWoken = pdFALSE;
+    uint8_t channel_number = log_get_arch_channel_number();
+
+    for (uint8_t i = 0; i < channel_number; i++)
+    {
+        if (archive_cnt[i]++ == 10*settings.period_archive[i])
+        {
+            archive_cnt[i] = 0;
+            
+            // Номер канала с 0..7
+            printf("Send event: %u\r\n", 1 << i);
+            xEventGroupSetBitsFromISR(archive_event, 1 << i, &xHigherPriorityTaskWoken);
+        }
+    }
+}
+

+ 188 - 195
fw/modules/log/log.h

@@ -1,195 +1,188 @@
-#ifndef __LOG_H
-#define __LOG_H
-
-#include "at32f403a_407.h"
-#include <stdbool.h>
-
-#ifdef __cplusplus
-extern "C" {
-#endif
-    
-
-#define LOG_ENTRY_VERSION               1
-
-#define ARCHIV_ENTRY_VERSION            1
-
-#define LOG_FLASH_SECTOR_OFFSET         4
-
-#define LOG_FLASH_SECTOR_COUNT          51
-
-#define ARCHIVE_FLASH_SECTOR_OFFSET     60
-
-#define ARCHIVE_FLASH_SECTOR_COUNT      38
-
-#define ARCHIVE_CHANNEL_OFFSET          (ARCHIVE_FLASH_SECTOR_COUNT + 4)
-  
-#define SECTOR_COUNT (spi_flash_desc.sector_count/2 - LOG_FLASH_SECTOR_OFFSET)  
-
-
-  
-  
-#define MB_ARCHIVE_ENTRY                0x06
-  
-#define MB_LOG_ENTRY                    0x07
-
-  
-// -------------------------------------------------------------------------- //
-// Настройки архивов
-
-//#define ARCH_CH_NUMBER                  8  
-  
-#define ARCH_DIO_CH_NUMBER              8
-  
-#define ARCH_AI_CH_NUMBER               12
-  
-  
-// События архивов
-typedef enum
-{
-    ARCH_CH_1 = 1 << 0,
-    ARCH_CH_2 = 1 << 1,
-    ARCH_CH_3 = 1 << 2,
-    ARCH_CH_4 = 1 << 3,
-    ARCH_CH_5 = 1 << 4,
-    ARCH_CH_6 = 1 << 5,
-    ARCH_CH_7 = 1 << 6,
-    ARCH_CH_8 = 1 << 7,
-    
-} arch_event_t;
-
-  
-//
-typedef enum 
-{
-    LOG_SYSTEM_BOOT = 1,    // включение питания/перезагрузка
-    LOG_CLOCK_CHANGE,       // перевод времени
-    LOG_UPDATE_FW,          // обновление FW
-    LOG_SYSTEM_ERR,         // самодиагностика/системная ошибка
-    LOG_CHANGE_CONFIG,      // изменение конфигурации
-    LOG_OUPUTS,             // диагностика выходов
-    LOG_SETPOINT,           // срабатывание уставок
-    LOG_SAVE_MODE,          // переход в безопасный режим
-    LOG_CLEAR,              // очистка журнала/архива
-    
-    LOG_NONE,
-
-} log_event_type_t;
-
-
-typedef enum
-{
-    LOG_EVENT_STATE_ERR = 0,
-    LOG_EVENT_STATE_OK,
-    
-} log_event_state_t;
-
-
-typedef enum
-{
-    LOG_ENTRY = 0,
-    ARCHIVE_ENTRY,
-    
-} entry_type_t;
-
-
-//
-typedef __packed struct 
-{
-    uint64_t timestamp;
-    
-} common_entry_t;
-
-
-// Структура записи журанала
-typedef __packed struct 
-{
-	uint64_t timestamp;
-    uint8_t code_type;  // код типа события
-    uint8_t code_state; // код состояния
-    uint8_t channel_number; // номер канала
-    float value;        // значение
-    uint8_t crc;
-    
-} log_entry_t;
-
-
-// Структура архивной записи
-typedef __packed struct
-{
-    uint64_t timestamp;
-    uint8_t input_value;
-    uint8_t crc;
-    
-} archive_entry_t;
-
-
-//
-void log_init(bool format);
-
-//
-void log_init_archive_tim(void);
-
-//
-int log_fetch(void *entry, entry_type_t entry_type, uint8_t ch, uint32_t timeout);
-
-//
-int log_discard(void *entry, entry_type_t entry_type, uint8_t ch, uint32_t timeout);
-
-// 
-int log_append(void *entry, entry_type_t entry_type, uint8_t ch);
-
-//
-uint16_t log_capacity(void);
-
-//
-uint16_t log_arch_capacity(uint8_t ch);
-
-// -------------------------------------------------------------------------- //
-// misc
-
-uint8_t crc_8(uint8_t *data, int length);
-
-// -------------------------------------------------------------------------- //
-// Tests
-
-//
-void log_info(uint8_t val, uint8_t ch);
-
-//
-void log_format(uint8_t val, uint8_t ch);
-
-//
-int log_add_random_entry(uint8_t val, uint32_t cnt_entry, uint8_t ch);
-
-//
-int log_add_entry(log_event_type_t type, log_event_state_t state, 
-                  uint8_t channel_number, float value);
-
-//
-void test_fetch(void);
-
-//
-void log_archive_state(bool state);
-
-//
-void log_log_state(bool state);
-
-//
-void test_archive_format(void);
-
-//
-void log_check_archive_cnt(void);
-
-// -------------------------------------------------------------------------- //
-
-extern uint16_t log_entries_capacity;
-extern uint16_t archive_entries_capacity;
-
-
-
-#ifdef __cplusplus
-}
-#endif
-
-
-#endif /* __LOG_H */
+#ifndef __LOG_H
+#define __LOG_H
+
+#include "at32f403a_407.h"
+#include <stdbool.h>
+
+#ifdef __cplusplus
+extern "C" {
+#endif
+    
+
+#define LOG_ENTRY_VERSION               1
+
+#define ARCHIV_ENTRY_VERSION            1
+
+#define LOG_FLASH_SECTOR_OFFSET         4
+
+#define LOG_FLASH_SECTOR_COUNT          51
+
+#define ARCHIVE_FLASH_SECTOR_OFFSET     60
+
+#define ARCHIVE_FLASH_SECTOR_COUNT      38
+
+#define ARCHIVE_CHANNEL_OFFSET          (ARCHIVE_FLASH_SECTOR_COUNT + 4)
+  
+#define SECTOR_COUNT (spi_flash_desc.sector_count/2 - LOG_FLASH_SECTOR_OFFSET)  
+
+
+  
+  
+#define MB_ARCHIVE_ENTRY                0x06
+  
+#define MB_LOG_ENTRY                    0x07
+
+  
+// -------------------------------------------------------------------------- //
+  
+  
+// События архивов
+typedef enum
+{
+    ARCH_CH_1 = 1 << 0,
+    ARCH_CH_2 = 1 << 1,
+    ARCH_CH_3 = 1 << 2,
+    ARCH_CH_4 = 1 << 3,
+    ARCH_CH_5 = 1 << 4,
+    ARCH_CH_6 = 1 << 5,
+    ARCH_CH_7 = 1 << 6,
+    ARCH_CH_8 = 1 << 7,
+    
+} arch_event_t;
+
+  
+//
+typedef enum 
+{
+    LOG_SYSTEM_BOOT = 1,    // включение питания/перезагрузка
+    LOG_CLOCK_CHANGE,       // перевод времени
+    LOG_UPDATE_FW,          // обновление FW
+    LOG_SYSTEM_ERR,         // самодиагностика/системная ошибка
+    LOG_CHANGE_CONFIG,      // изменение конфигурации
+    LOG_OUPUTS,             // диагностика выходов
+    LOG_SETPOINT,           // срабатывание уставок
+    LOG_SAVE_MODE,          // переход в безопасный режим
+    LOG_CLEAR,              // очистка журнала/архива
+    
+    LOG_NONE,
+
+} log_event_type_t;
+
+
+typedef enum
+{
+    LOG_EVENT_STATE_ERR = 0,
+    LOG_EVENT_STATE_OK,
+    
+} log_event_state_t;
+
+
+typedef enum
+{
+    LOG_ENTRY = 0,
+    ARCHIVE_ENTRY,
+    
+} entry_type_t;
+
+
+//
+typedef __packed struct 
+{
+    uint64_t timestamp;
+    
+} common_entry_t;
+
+
+// Структура записи журанала
+typedef __packed struct 
+{
+	uint64_t timestamp;
+    uint8_t code_type;  // код типа события
+    uint8_t code_state; // код состояния
+    uint8_t channel_number; // номер канала
+    float value;        // значение
+    uint8_t crc;
+    
+} log_entry_t;
+
+
+// Структура архивной записи
+typedef __packed struct
+{
+    uint64_t timestamp;
+    uint8_t input_value;
+    uint8_t crc;
+    
+} archive_entry_t;
+
+
+//
+void log_init(bool format);
+
+//
+void log_init_archive_tim(void);
+
+//
+int log_fetch(void *entry, entry_type_t entry_type, uint8_t ch, uint32_t timeout);
+
+//
+int log_discard(void *entry, entry_type_t entry_type, uint8_t ch, uint32_t timeout);
+
+// 
+int log_append(void *entry, entry_type_t entry_type, uint8_t ch);
+
+//
+uint16_t log_capacity(void);
+
+//
+uint16_t log_arch_capacity(uint8_t ch);
+
+// -------------------------------------------------------------------------- //
+// misc
+
+uint8_t crc_8(uint8_t *data, int length);
+
+// -------------------------------------------------------------------------- //
+// Tests
+
+//
+void log_info(uint8_t val, uint8_t ch);
+
+//
+void log_format(uint8_t val, uint8_t ch);
+
+//
+int log_add_random_entry(uint8_t val, uint32_t cnt_entry, uint8_t ch);
+
+//
+int log_add_entry(log_event_type_t type, log_event_state_t state, 
+                  uint8_t channel_number, float value);
+
+//
+void test_fetch(void);
+
+//
+void log_archive_state(bool state);
+
+//
+void log_log_state(bool state);
+
+//
+void test_archive_format(void);
+
+//
+void log_check_archive_cnt(void);
+
+// -------------------------------------------------------------------------- //
+
+extern uint16_t log_entries_capacity;
+extern uint16_t archive_entries_capacity;
+
+
+
+#ifdef __cplusplus
+}
+#endif
+
+
+#endif /* __LOG_H */

+ 126 - 35
fw/modules/log/log_ai.c

@@ -1,36 +1,127 @@
-#include "at32f403a_407.h"
-#include "log_ai.h"
-#include "settings_api.h"
-
-
-#if defined (MAI_12)
-
-
-#undef DBG
-#define DBG if(1)
-
-
-
-// Архив. 12 буферов на каждый канал.
-void log_ai_archive_init(void)
-{
-    for (uint8_t i = 0; i < ARCH_AI_CH_NUMBER; i ++) 
-    {
-        fingfs_flash_ch_arch[i].sector_size = spi_flash_desc.sector_size,
-        
-        fingfs_flash_ch_arch[i].sector_count = ARCHIVE_FLASH_SECTOR_COUNT,
-        
-        ringfs_init(&fs_ch_arch[i], &fingfs_flash_ch_arch[i], 
-                    ARCHIV_ENTRY_VERSION + i, sizeof(archive_entry_t));
-        
-        if (ringfs_scan(&fs_ch_arch[i]) != 0) {
-            DBG printf("FAT for channel %u is false\r\n", i + 1);
-            ringfs_format(&fs_ch_arch[i]);
-        }
-        DBG printf("FAT for channel %u is true\r\n", i + 1);
-    }
-}
-
-
-
+#include "at32f403a_407.h"
+#include "log_ai.h"
+#include "settings_api.h"
+#include "ringfs.h"
+#include "ringfs_api.h"
+
+
+#if defined (MAI_12)
+
+uint32_t archive_cnt[ARCH_AI_CH_NUMBER] = {0};
+
+struct ringfs fs_ch_arch[ARCH_AI_CH_NUMBER];
+
+
+
+static struct ringfs_flash_partition fingfs_flash_ch_arch[ARCH_AI_CH_NUMBER] = 
+{
+    {
+        .sector_offset = ARCHIVE_FLASH_SECTOR_OFFSET,
+        .sector_erase = op_sector_erase,
+        .program = op_program,
+        .read = op_read,
+    },
+    {
+        .sector_offset = ARCHIVE_FLASH_SECTOR_OFFSET + ARCHIVE_CHANNEL_OFFSET*1,
+        .sector_erase = op_sector_erase,
+        .program = op_program,
+        .read = op_read,
+    },
+    {
+        .sector_offset = ARCHIVE_FLASH_SECTOR_OFFSET + ARCHIVE_CHANNEL_OFFSET*2,
+        .sector_erase = op_sector_erase,
+        .program = op_program,
+        .read = op_read,
+    },
+    {
+        .sector_offset = ARCHIVE_FLASH_SECTOR_OFFSET + ARCHIVE_CHANNEL_OFFSET*3,
+        .sector_erase = op_sector_erase,
+        .program = op_program,
+        .read = op_read,
+    },
+    {
+        .sector_offset = ARCHIVE_FLASH_SECTOR_OFFSET + ARCHIVE_CHANNEL_OFFSET*4,
+        .sector_erase = op_sector_erase,
+        .program = op_program,
+        .read = op_read,
+    },
+    {
+        .sector_offset = ARCHIVE_FLASH_SECTOR_OFFSET + ARCHIVE_CHANNEL_OFFSET*5,
+        .sector_erase = op_sector_erase,
+        .program = op_program,
+        .read = op_read,
+    },
+    {
+        .sector_offset = ARCHIVE_FLASH_SECTOR_OFFSET + ARCHIVE_CHANNEL_OFFSET*6,
+        .sector_erase = op_sector_erase,
+        .program = op_program,
+        .read = op_read,
+    },
+    {
+        .sector_offset = ARCHIVE_FLASH_SECTOR_OFFSET + ARCHIVE_CHANNEL_OFFSET*7,
+        .sector_erase = op_sector_erase,
+        .program = op_program,
+        .read = op_read,
+    },
+    {
+        .sector_offset = ARCHIVE_FLASH_SECTOR_OFFSET + ARCHIVE_CHANNEL_OFFSET*8,
+        .sector_erase = op_sector_erase,
+        .program = op_program,
+        .read = op_read,
+    },
+    {
+        .sector_offset = ARCHIVE_FLASH_SECTOR_OFFSET + ARCHIVE_CHANNEL_OFFSET*9,
+        .sector_erase = op_sector_erase,
+        .program = op_program,
+        .read = op_read,
+    },
+    {
+        .sector_offset = ARCHIVE_FLASH_SECTOR_OFFSET + ARCHIVE_CHANNEL_OFFSET*10,
+        .sector_erase = op_sector_erase,
+        .program = op_program,
+        .read = op_read,
+    },
+    {
+        .sector_offset = ARCHIVE_FLASH_SECTOR_OFFSET + ARCHIVE_CHANNEL_OFFSET*11,
+        .sector_erase = op_sector_erase,
+        .program = op_program,
+        .read = op_read,
+    }
+};
+
+
+#undef DBG
+#define DBG if(1)
+
+
+
+// Архив. 12 буферов на каждый канал.
+void log_ai_archive_init(void)
+{
+    for (uint8_t i = 0; i < ARCH_AI_CH_NUMBER; i ++) 
+    {
+        fingfs_flash_ch_arch[i].sector_size = spi_flash_desc.sector_size,
+        
+        fingfs_flash_ch_arch[i].sector_count = ARCHIVE_FLASH_SECTOR_COUNT,
+        
+        ringfs_init(&fs_ch_arch[i], &fingfs_flash_ch_arch[i], 
+                    ARCHIV_ENTRY_VERSION + i, sizeof(archive_entry_t));
+        
+        if (ringfs_scan(&fs_ch_arch[i]) != 0) {
+            DBG printf("FAT for channel %u is false\r\n", i + 1);
+            ringfs_format(&fs_ch_arch[i]);
+        }
+        DBG printf("FAT for channel %u is true\r\n", i + 1);
+    }
+}
+
+
+//
+uint8_t log_get_arch_channel_number(void)
+{
+    return (uint8_t)ARCH_AI_CH_NUMBER;
+}
+
+
+
 #endif

+ 27 - 17
fw/modules/log/log_ai.h

@@ -1,18 +1,28 @@
-#ifndef __LOG_AI_H
-#define __LOG_AI_H
-
-
-#ifdef __cplusplus
-extern "C" {
-#endif
-
-
-void log_ai_archive_init(void);
-
-
-
-#ifdef __cplusplus
-}
-#endif
-
+#ifndef __LOG_AI_H
+#define __LOG_AI_H
+
+
+#ifdef __cplusplus
+extern "C" {
+#endif
+
+
+ 
+  
+void log_ai_archive_init(void);
+
+
+//
+uint8_t log_get_arch_channel_number(void);
+
+
+extern uint32_t archive_cnt[];
+
+extern struct ringfs fs_ch_arch[];
+
+
+#ifdef __cplusplus
+}
+#endif
+
 #endif // __LOG_AI_H

+ 102 - 37
fw/modules/log/log_dio.c

@@ -1,37 +1,102 @@
-#include "at32f403a_407.h"
-#include "log_dio.h"
-#include "settings_api.h"
-
-
-
-#if defined (MDIO_88)
-
-
-#undef DBG
-#define DBG if(1)
-
-
-// Архив. 8 буферов на каждый канал.
-void log_dio_archive_init(void)
-{
-    for (uint8_t i = 0; i < ARCH_DIO_CH_NUMBER; i ++) 
-    {
-        fingfs_flash_ch_arch[i].sector_size = spi_flash_desc.sector_size,
-        
-        fingfs_flash_ch_arch[i].sector_count = ARCHIVE_FLASH_SECTOR_COUNT,
-        
-        ringfs_init(&fs_ch_arch[i], &fingfs_flash_ch_arch[i], 
-                    ARCHIV_ENTRY_VERSION + i, sizeof(archive_entry_t));
-        
-        if (ringfs_scan(&fs_ch_arch[i]) != 0) {
-            DBG printf("FAT for channel %u is false\r\n", i + 1);
-            ringfs_format(&fs_ch_arch[i]);
-        }
-        DBG printf("FAT for channel %u is true\r\n", i + 1);
-    }
-}
-    
-    
-
-#endif
-
+#include "at32f403a_407.h"
+#include "log_dio.h"
+#include "settings_api.h"
+
+
+
+#if defined (MDIO_88)
+
+
+uint32_t archive_cnt[ARCH_DIO_CH_NUMBER] = {0};
+
+struct ringfs fs_ch_arch[ARCH_DIO_CH_NUMBER];
+
+
+
+static struct ringfs_flash_partition fingfs_flash_ch_arch[ARCH_CH_NUMBER] = 
+{
+    {
+        .sector_offset = ARCHIVE_FLASH_SECTOR_OFFSET,
+        .sector_erase = op_sector_erase,
+        .program = op_program,
+        .read = op_read,
+    },
+    {
+        .sector_offset = ARCHIVE_FLASH_SECTOR_OFFSET + ARCHIVE_CHANNEL_OFFSET*1,
+        .sector_erase = op_sector_erase,
+        .program = op_program,
+        .read = op_read,
+    },
+    {
+        .sector_offset = ARCHIVE_FLASH_SECTOR_OFFSET + ARCHIVE_CHANNEL_OFFSET*2,
+        .sector_erase = op_sector_erase,
+        .program = op_program,
+        .read = op_read,
+    },
+    {
+        .sector_offset = ARCHIVE_FLASH_SECTOR_OFFSET + ARCHIVE_CHANNEL_OFFSET*3,
+        .sector_erase = op_sector_erase,
+        .program = op_program,
+        .read = op_read,
+    },
+    {
+        .sector_offset = ARCHIVE_FLASH_SECTOR_OFFSET + ARCHIVE_CHANNEL_OFFSET*4,
+        .sector_erase = op_sector_erase,
+        .program = op_program,
+        .read = op_read,
+    },
+    {
+        .sector_offset = ARCHIVE_FLASH_SECTOR_OFFSET + ARCHIVE_CHANNEL_OFFSET*5,
+        .sector_erase = op_sector_erase,
+        .program = op_program,
+        .read = op_read,
+    },
+    {
+        .sector_offset = ARCHIVE_FLASH_SECTOR_OFFSET + ARCHIVE_CHANNEL_OFFSET*6,
+        .sector_erase = op_sector_erase,
+        .program = op_program,
+        .read = op_read,
+    },
+    {
+        .sector_offset = ARCHIVE_FLASH_SECTOR_OFFSET + ARCHIVE_CHANNEL_OFFSET*7,
+        .sector_erase = op_sector_erase,
+        .program = op_program,
+        .read = op_read,
+    },
+};
+
+
+
+#undef DBG
+#define DBG if(1)
+
+
+// Архив. 8 буферов на каждый канал.
+void log_dio_archive_init(void)
+{
+    for (uint8_t i = 0; i < ARCH_DIO_CH_NUMBER; i ++) 
+    {
+        fingfs_flash_ch_arch[i].sector_size = spi_flash_desc.sector_size,
+        
+        fingfs_flash_ch_arch[i].sector_count = ARCHIVE_FLASH_SECTOR_COUNT,
+        
+        ringfs_init(&fs_ch_arch[i], &fingfs_flash_ch_arch[i], 
+                    ARCHIV_ENTRY_VERSION + i, sizeof(archive_entry_t));
+        
+        if (ringfs_scan(&fs_ch_arch[i]) != 0) {
+            DBG printf("FAT for channel %u is false\r\n", i + 1);
+            ringfs_format(&fs_ch_arch[i]);
+        }
+        DBG printf("FAT for channel %u is true\r\n", i + 1);
+    }
+}
+    
+    
+//
+uint8_t log_get_arch_channel_number(void)
+{
+    return (uint8_t)ARCH_DIO_CH_NUMBER;
+}
+
+#endif
+

+ 26 - 18
fw/modules/log/log_dio.h

@@ -1,19 +1,27 @@
-#ifndef __LOG_DIO_H
-#define __LOG_DIO_H
-
-
-#ifdef __cplusplus
-extern "C" {
-#endif
-
-
-//
-void log_dio_archive_init(void);
-
-
-
-#ifdef __cplusplus
-}
-#endif
-
+#ifndef __LOG_DIO_H
+#define __LOG_DIO_H
+
+
+#ifdef __cplusplus
+extern "C" {
+#endif
+
+  
+
+  
+//
+void log_dio_archive_init(void);
+
+//
+uint8_t log_get_arch_channel_number(void);
+
+
+extern uint32_t archive_cnt[];
+
+extern struct ringfs fs_ch_arch[];
+
+#ifdef __cplusplus
+}
+#endif
+
 #endif // __LOG_DIO_H

+ 67 - 0
fw/modules/log/ringfs_api.c

@@ -0,0 +1,67 @@
+#include "ringfs_api.h"
+#include "rtc.h"
+#include "FreeRTOS.h"
+#include "task.h"
+#include "semphr.h"
+#include "event_groups.h"
+#include "rtc.h"
+#include "settings_api.h"
+#include "digital_input.h"
+#include "log_ai.h"
+#include "log_dio.h"
+#include <string.h>
+#include <stdio.h>
+#include <inttypes.h>
+
+#undef DBG
+#define DBG if(0)
+
+
+
+
+//
+int op_sector_erase(struct ringfs_flash_partition *flash, int address) {
+	(void)flash;
+	int ret;
+	ret = spi_flash_erase_sector(address, 0);
+	return ret;
+}
+
+//
+ssize_t op_program(struct ringfs_flash_partition *flash, int address, const void *data, size_t size) {
+	(void)flash;
+	int ret;
+	ret = spi_flash_write(address, data, size, 0);
+	return ret;
+}
+
+//
+ssize_t op_read(struct ringfs_flash_partition *flash, int address, void *data, size_t size) {
+	(void)flash;
+	int ret;
+	ret = spi_flash_read(address, data, size, 0);
+	return ret;
+}
+
+#if 0
+//
+static struct ringfs_flash_partition ringfs_flash_log = 
+{
+	.sector_offset = LOG_FLASH_SECTOR_OFFSET,
+	.sector_erase = op_sector_erase,
+	.program = op_program,
+	.read = op_read,
+};
+
+
+//
+static struct ringfs_flash_partition ringfs_flash_archive = 
+{
+	.sector_offset = ARCHIVE_FLASH_SECTOR_OFFSET,
+	.sector_erase = op_sector_erase,
+	.program = op_program,
+	.read = op_read,
+};
+
+
+#endif

+ 34 - 0
fw/modules/log/ringfs_api.h

@@ -0,0 +1,34 @@
+#ifndef __RING_FS_H
+#define __RING_FS_H
+
+#include "at32f403a_407.h"
+#include "ringfs.h"
+#include "spi_flash.h"
+#include <stdbool.h>
+
+#ifdef __cplusplus
+extern "C" {
+#endif
+    
+
+//
+int op_sector_erase(struct ringfs_flash_partition *flash, int address);  
+  
+//
+ssize_t op_program(struct ringfs_flash_partition *flash, int address, const void *data, size_t size);
+
+//
+ssize_t op_read(struct ringfs_flash_partition *flash, int address, void *data, size_t size);
+
+
+
+  
+
+
+
+#ifdef __cplusplus
+}
+#endif
+
+
+#endif /* __RING_FS_H */

+ 555 - 547
fw/modules/modbus/modbus_params.c

@@ -1,547 +1,555 @@
-#include "at32f403a_407.h"
-#include "modbus_params.h"
-#include "modbus_dio_params.h"
-#include "modbus_ai_params.h"
-#include "modbus_ao_params.h"
-#include "io.h"
-#include "uptime.h"
-#include "rtc.h"
-#include "digital_input.h"
-#include "digital_output.h"
-#include "log.h"
-#include "settings_api.h"
-#include "common_config.h"
-#include "swap.h"
-#include <string.h>
-
-
-mb_param_t mb_param[MB_PARAM_MAX];
-
-uint32_t rtc_sinhro;
-
-// Пароль для установки системных настроек
-uint16_t psw;   
-bool psw_ok = false;
-uint8_t fw_version[8];
-uint16_t save_sys_cmd = 0;  // Команда сохранения системных настроек
-uint16_t system_cmd = 0;	// Команда управления контроллером
-uint64_t value_64 = 0;
-uint8_t value_8 = 0;
-uint8_t arch_channel = 0;
-
-void get_time(uint8_t* buf, uint8_t size);
-void get_din_mode(uint8_t* buf, uint8_t size);
-
-void get_log_entries_number(uint8_t* buf, uint8_t size);
-
-void get_arch_ch_1(uint8_t* buf, uint8_t size);
-void get_arch_ch_2(uint8_t* buf, uint8_t size);
-void get_arch_ch_3(uint8_t* buf, uint8_t size);
-void get_arch_ch_4(uint8_t* buf, uint8_t size);
-void get_arch_ch_5(uint8_t* buf, uint8_t size);
-void get_arch_ch_6(uint8_t* buf, uint8_t size);
-void get_arch_ch_7(uint8_t* buf, uint8_t size);
-void get_arch_ch_8(uint8_t* buf, uint8_t size);
-
-void (*get_ch_entries_number[8])(uint8_t* buf, uint8_t size) = {
-    get_arch_ch_1, get_arch_ch_2, get_arch_ch_3, get_arch_ch_4,
-    get_arch_ch_5, get_arch_ch_6, get_arch_ch_7, get_arch_ch_8,
-};
-
-
-void get_rtc(uint8_t* buf, uint8_t size);
-
-
-
-//
-void mb_init_params(void)
-{
-    uint16_t index = 0;
-    uint16_t addr = 0;
-
-#if defined (MDIO_88)
-    index = mb_init_dio_params(0);
-#endif 
-    
-#if defined (MAI_12)
-    index = mb_init_ai_params(0);
-#endif    
-    
-#if defined (MAO_4)
-    index = mb_init_ao_params(0);
-#endif    
-    
-    // ---------------------------------------------------------------------- //
-	//	Управление контроллером. Разные параметры.
-	// ---------------------------------------------------------------------- //
-    
-    // Управление контроллером
-    mb_param[index].reg = 0x0800;
-	mb_param[index].size = 1;
-	mb_param[index].param = (uint8_t*)&system_cmd; // 
-	mb_param[index].set = mb_control;
-    mb_param[index].get = NULL;
-    mb_param[index].check_handler = mb_check_dummy;
-    
-    index++;
-    
-    // uptime
-    mb_param[index].reg = 0x0801;
-	mb_param[index].size = 2;
-	mb_param[index].param = (uint8_t*)&uptime; // 
-	mb_param[index].set = NULL;
-    mb_param[index].get = NULL;
-    mb_param[index].check_handler = mb_check_dummy;
-    
-    index++;
-    
-    // RTC
-    mb_param[index].reg = 0x0803;
-	mb_param[index].size = 4;
-	mb_param[index].param = (uint8_t*)&value_64; // 
-	mb_param[index].set = mb_set_rtc;
-    mb_param[index].get = get_rtc;
-    mb_param[index].check_handler = mb_check_dummy;
-    
-    index++;
-    
-    // ---------------------------------------------------------------------- //
-    // Журналы/рахивы
-    // ---------------------------------------------------------------------- //
-    
-    // Емкость журнала (максимальная)
-    mb_param[index].reg = 0x0900;
-	mb_param[index].size = 1;
-	mb_param[index].param = (uint8_t*)&log_entries_capacity; // 
-	mb_param[index].set = NULL;
-    mb_param[index].get = NULL;
-    mb_param[index].check_handler = mb_check_dummy;
-    
-    index++;
-    
-    // Текущее количество записей в журнале
-    mb_param[index].reg = 0x0901;
-	mb_param[index].size = 1;
-	mb_param[index].param = NULL; // 
-	mb_param[index].set = NULL;
-    mb_param[index].get = get_log_entries_number;
-    mb_param[index].check_handler = mb_check_dummy;
-    
-    index++;
-    
-    // Емкость архива (максимальная)
-    mb_param[index].reg = 0x0902;
-	mb_param[index].size = 1;
-	mb_param[index].param = (uint8_t*)&archive_entries_capacity; // 
-	mb_param[index].set = NULL;
-    mb_param[index].get = NULL;
-    mb_param[index].check_handler = mb_check_dummy;
-    
-    index++;
-    
-    // Текущее количество записей в архиве по каждому каналу
-    addr = 0x0903;
-    for (int i = 0; i < ARCH_CH_NUMBER; i++)
-    {
-        mb_param[index].reg = addr;
-        mb_param[index].size = 1;
-        mb_param[index].param = NULL;
-        mb_param[index].set = NULL;
-        mb_param[index].get = get_ch_entries_number[i];
-        mb_param[index].check_handler = mb_check_dummy;
-        
-        addr++;
-        index++;      
-    }  
-    
-    // Период архива. Регистры 0x0904 - 0x090B
-    addr = 0x090B;
-    for (int i = 0; i < ARCH_CH_NUMBER; i++)
-    {
-        mb_param[index].reg = addr;
-        mb_param[index].size = 1;
-        mb_param[index].param = (uint8_t*)&settings.period_archive[i];  // Счетчик ипульсов
-        mb_param[index].set = NULL;
-        mb_param[index].get = NULL;
-        mb_param[index].check_handler = mb_check_archiv_per;
-        
-        addr++;
-        index++;
-    }
-    
-	// ---------------------------------------------------------------------- //
-	//	Системные настройки
-	// ---------------------------------------------------------------------- //
-
-    // Код модели (только чтение). Определяется прошивкой.
-    mb_param[index].reg = 0x0080;
-	mb_param[index].size = 1;
-	mb_param[index].param = (uint8_t*)&model_code; // 
-	mb_param[index].set = NULL;
-    mb_param[index].get = NULL;
-    mb_param[index].check_handler = mb_check_dummy;
-    
-    index++;
-    
-    // Дата производства Unix формат (чтение/запись по паролю)
-    mb_param[index].reg = 0x0081;
-	mb_param[index].size = 2;
-	mb_param[index].param = (uint8_t*)&temp_sys_settings.prod_date; // 
-	mb_param[index].set = NULL;
-    mb_param[index].get = NULL;
-    mb_param[index].check_handler = mb_check_dummy;
-    
-    index++;
-
-    // Серийный номер (чтение/запись по паролю).
-    mb_param[index].reg = 0x0083;
-	mb_param[index].size = 2;
-	mb_param[index].param = (uint8_t*)&temp_sys_settings.sn; // 
-	mb_param[index].set = NULL;
-    mb_param[index].get = NULL;
-    mb_param[index].check_handler = mb_check_dummy;
-    
-    index++;
-    
-    // Версия ПО (только чтение).
-    memcpy(&fw_version, FW_VERSION, 8);
-    mb_param[index].reg = 0x0085;
-	mb_param[index].size = 4;
-	mb_param[index].param = (uint8_t*)&fw_version; // 
-	mb_param[index].set = NULL;
-    mb_param[index].get = NULL;
-    mb_param[index].check_handler = mb_check_dummy;
-    
-    index++;
-    
-    // Статус тестирования (чтение/запись по паролю).
-    mb_param[index].reg = 0x0089;
-	mb_param[index].size = 1;
-	mb_param[index].param = (uint8_t*)&temp_sys_settings.test_state; // 
-	mb_param[index].set = NULL;
-    mb_param[index].get = NULL;
-    mb_param[index].check_handler = mb_check_dummy;
-    
-    index++;
-    
-    // Пароль
-    mb_param[index].reg = 0x008A;
-	mb_param[index].size = 1;
-	mb_param[index].param = (uint8_t*)&psw; // 
-	mb_param[index].set = mb_password;
-    mb_param[index].get = NULL;
-    mb_param[index].check_handler = mb_check_dummy;
-    
-    index++;
-    
-    // Команда на сохранение системных настроек
-    mb_param[index].reg = 0x008B;
-	mb_param[index].size = 1;
-	mb_param[index].param = (uint8_t*)&save_sys_cmd; // 
-	mb_param[index].set = mb_sys_settings_save;
-    mb_param[index].get = NULL;
-    mb_param[index].check_handler = mb_check_dummy;
-    
-    index++;
-}
-
-
-// Возвращает размер параметра в регистрах
-bool mb_find_param(uint16_t reg, uint16_t *index, uint16_t *size)
-{
-	for (uint16_t i = 0; i < MB_PARAM_MAX; i++)
-	{
-		if (mb_param[i].reg == reg)
-		{
-			*index = i;
-			*size = mb_param[i].size;
-			return true;
-		}
-	}
-	return false;
-}
-
-
-//
-mb_delay_action_t mb_set_param(uint8_t *buf, uint16_t index)
-{
-	uint8_t *ptr = mb_param[index].param;
-
-    // Если параметр только для чтения
-    if (mb_param[index].check_handler == NULL)
-        return MB_NO_ACTION;
-    
-	for (uint16_t i = 0; i < 2*mb_param[index].size; i++)
-	{
-		*ptr = buf[2*mb_param[index].size - 1 - i];
-		ptr++;
-	}
-  
-/*    
-    if (mb_param[index].check_handler != NULL)
-        mb_param[index].check_handler();
-*/    
-    
-    mb_param[index].check_handler();
-    
-    if (mb_param[index].set != NULL)
-        return mb_param[index].set();
-    else
-        return MB_NO_ACTION;
-    
-/*    
-    if (mb_param[index].f_activity)
-        return mb_param[index].set_handler();
-    else
-        return MB_NO_ACTION;
-*/    
-}
-
-
-//
-void mb_get_param(uint8_t *buf, uint16_t index)
-{
-    uint8_t *ptr;
-	
-    if (mb_param[index].get != NULL) {
-        mb_param[index].get(buf, mb_param[index].size);
-        return;
-    }
-
-    ptr = mb_param[index].param + 2*mb_param[index].size - 1;
-
-	for (uint16_t i = 0; i < 2*mb_param[index].size; i++)
-	{
-		*buf = *ptr;
-		buf++;
-		ptr--;
-	}
-}
-
-
-
-
-
-// -------------------------------------------------------------------------- //
-//                          Чтение параметров
-// -------------------------------------------------------------------------- //
-
-#if 0
-void get_time(uint8_t* buf, uint8_t size)
-{
-    uint32_t rtc_unix = RTC_GetUnixTime();
-    uint8_t *ptr = (uint8_t*)&rtc_unix + 2*size - 1;
-
-    for (uint16_t i = 0; i < 2*size; i++)
-	{
-		*buf = *ptr;
-		buf++;
-		ptr--;
-	}
-}
-#endif
-
-
-
-//
-void get_din_mode(uint8_t* buf, uint8_t size)
-{
-    
-}
-
-//
-void get_log_entries_number(uint8_t* buf, uint8_t size)
-{
-    static uint16_t capacity;
-    
-    capacity = swap_uint16(log_capacity());
-    memcpy(buf, &capacity, 2);
-    //buf = (uint8_t*)&capacity;
-}
-
-//
-void get_arch_ch_1(uint8_t* buf, uint8_t size)
-{
-    static uint16_t capacity;
-      
-    capacity = swap_uint16(log_arch_capacity(0));
-    memcpy(buf, &capacity, 2);
-}
-
-//
-void get_arch_ch_2(uint8_t* buf, uint8_t size)
-{
-    static uint16_t capacity;
-      
-    capacity = swap_uint16(log_arch_capacity(1));
-    memcpy(buf, &capacity, 2);
-}
-
-//
-void get_arch_ch_3(uint8_t* buf, uint8_t size)
-{
-    static uint16_t capacity;
-      
-    capacity = swap_uint16(log_arch_capacity(2));
-    memcpy(buf, &capacity, 2);
-}
-
-//
-void get_arch_ch_4(uint8_t* buf, uint8_t size)
-{
-    static uint16_t capacity;
-      
-    capacity = swap_uint16(log_arch_capacity(3));
-    memcpy(buf, &capacity, 2);
-}
-
-//
-void get_arch_ch_5(uint8_t* buf, uint8_t size)
-{
-    static uint16_t capacity;
-      
-    capacity = swap_uint16(log_arch_capacity(4));
-    memcpy(buf, &capacity, 2);
-}
-
-//
-void get_arch_ch_6(uint8_t* buf, uint8_t size)
-{
-    static uint16_t capacity;
-      
-    capacity = swap_uint16(log_arch_capacity(5));
-    memcpy(buf, &capacity, 2);
-}
-
-//
-void get_arch_ch_7(uint8_t* buf, uint8_t size)
-{
-    static uint16_t capacity;
-      
-    capacity = swap_uint16(log_arch_capacity(6));
-    memcpy(buf, &capacity, 2);
-}
-
-//
-void get_arch_ch_8(uint8_t* buf, uint8_t size)
-{
-    static uint16_t capacity;
-      
-    capacity = swap_uint16(log_arch_capacity(7));
-    memcpy(buf, &capacity, 2);
-}
-
-//
-void get_rtc(uint8_t* buf, uint8_t size)
-{
-    uint64_t rtc = swap_uint64(rtc_get_ms());
-        
-    memcpy(buf, &rtc, 8);
-}
-
-
-// -------------------------------------------------------------------------- //
-//                          Установка параметров
-// -------------------------------------------------------------------------- //
-
-//
-mb_delay_action_t mb_set_time(void)
-{
-    TM_RTC_SetDataTimeUnix(rtc_sinhro);
-    
-    return MB_NO_ACTION;
-}
-
-//
-mb_delay_action_t mb_password(void)
-{
-    if (psw != MB_PASSWORD)
-        return MB_PAS_ERR;
-    else {
-        if (psw_ok == false) {
-            psw_ok = true;
-            return MB_PAS_OK;
-        }
-        else
-            return MB_NO_ACTION;
-    }
-}
-
-//
-mb_delay_action_t mb_sys_settings_save(void)
-{
-    if (save_sys_cmd == 1)
-        return MB_SAVE_SYS_SETTINGS;
-    else
-        return MB_NO_ACTION;
-}
-
-//
-mb_delay_action_t mb_control(void)
-{
-    if (system_cmd == MB_COM_SETTINGS_SAVE)
-        return MB_SAVE_SETTINGS;
-    else if (system_cmd == MB_COM_LOG_CLEAR)
-        return MB_LOG_CLEAR;
-    else if ((system_cmd >= (uint8_t)MB_COM_ARCH_CLEAR_1) && (system_cmd <= (uint8_t)MB_COM_ARCH_CLEAR_8)) {
-        arch_channel = system_cmd;
-        return MB_ARCHIVE_CLEAR;
-    }
-    return MB_NO_ACTION;
-    
-#if 0
-    if (system_cmd == 1)
-        return MB_SAVE_SETTINGS;
-    else if (system_cmd == 2)
-        return MB_DEF_SETTINGS;
-    else if (system_cmd == 3)
-        return MB_RESET;
-    else if (system_cmd == 4)
-        return MB_PART_DEF_SETTINGS;
-
-    return MB_NO_ACTION;
-#endif    
-}
-
-//
-mb_delay_action_t mb_set_rtc(void)
-{
-    float delta;
-    uint64_t now = rtc_get_ms();
-
-    if (now >= value_64)
-        delta = (float)(now - value_64);
-    else
-        delta = (float)(value_64 - now);
-    
-    
-    rtc_set_in_ms((uint32_t)(value_64/1000));
-    
-    // -------------------------------------------------------------------------- //
-    // EVENT. Перевод времени.
-    log_add_entry(LOG_CLOCK_CHANGE, LOG_EVENT_STATE_OK, 0, delta);
-    
-    
-    return MB_NO_ACTION;
-}
-
-// -------------------------------------------------------------------------- //
-//                      Проверка параметров                                   //
-// -------------------------------------------------------------------------- //
-
-//
-void mb_check_dummy(void)
-{
-}
-
-//
-void mb_check_archiv_per(void)
-{
-    for (uint8_t i = 0; i < ARCH_CH_NUMBER; i++)
-    {
-        if (settings.period_archive[i] > (uint16_t)MAX_ARCHIVE_PERIOD)
-            settings.period_archive[i] = (uint16_t)MAX_ARCHIVE_PERIOD;
-    }
-}
-
-
+#include "at32f403a_407.h"
+#include "modbus_params.h"
+#include "modbus_dio_params.h"
+#include "modbus_ai_params.h"
+#include "modbus_ao_params.h"
+#include "io.h"
+#include "uptime.h"
+#include "rtc.h"
+#include "digital_input.h"
+#include "digital_output.h"
+#include "log.h"
+#include "log_dio.h"
+#include "log_ai.h"
+#include "settings_api.h"
+#include "common_config.h"
+#include "swap.h"
+#include <string.h>
+
+
+mb_param_t mb_param[MB_PARAM_MAX];
+
+uint32_t rtc_sinhro;
+
+// Пароль для установки системных настроек
+uint16_t psw;   
+bool psw_ok = false;
+uint8_t fw_version[8];
+uint16_t save_sys_cmd = 0;  // Команда сохранения системных настроек
+uint16_t system_cmd = 0;	// Команда управления контроллером
+uint64_t value_64 = 0;
+uint8_t value_8 = 0;
+uint8_t arch_channel = 0;
+
+void get_time(uint8_t* buf, uint8_t size);
+void get_din_mode(uint8_t* buf, uint8_t size);
+
+void get_log_entries_number(uint8_t* buf, uint8_t size);
+
+void get_arch_ch_1(uint8_t* buf, uint8_t size);
+void get_arch_ch_2(uint8_t* buf, uint8_t size);
+void get_arch_ch_3(uint8_t* buf, uint8_t size);
+void get_arch_ch_4(uint8_t* buf, uint8_t size);
+void get_arch_ch_5(uint8_t* buf, uint8_t size);
+void get_arch_ch_6(uint8_t* buf, uint8_t size);
+void get_arch_ch_7(uint8_t* buf, uint8_t size);
+void get_arch_ch_8(uint8_t* buf, uint8_t size);
+
+void (*get_ch_entries_number[8])(uint8_t* buf, uint8_t size) = {
+    get_arch_ch_1, get_arch_ch_2, get_arch_ch_3, get_arch_ch_4,
+    get_arch_ch_5, get_arch_ch_6, get_arch_ch_7, get_arch_ch_8,
+};
+
+
+void get_rtc(uint8_t* buf, uint8_t size);
+
+
+
+//
+void mb_init_params(void)
+{
+    uint16_t index = 0;
+    uint16_t addr = 0;
+
+#if defined (MDIO_88)
+    index = mb_init_dio_params(0);
+#endif 
+    
+#if defined (MAI_12)
+    index = mb_init_ai_params(0);
+#endif    
+    
+#if defined (MAO_4)
+    index = mb_init_ao_params(0);
+#endif    
+    
+    // ---------------------------------------------------------------------- //
+	//	Управление контроллером. Разные параметры.
+	// ---------------------------------------------------------------------- //
+    
+    // Управление контроллером
+    mb_param[index].reg = 0x0800;
+	mb_param[index].size = 1;
+	mb_param[index].param = (uint8_t*)&system_cmd; // 
+	mb_param[index].set = mb_control;
+    mb_param[index].get = NULL;
+    mb_param[index].check_handler = mb_check_dummy;
+    
+    index++;
+    
+    // uptime
+    mb_param[index].reg = 0x0801;
+	mb_param[index].size = 2;
+	mb_param[index].param = (uint8_t*)&uptime; // 
+	mb_param[index].set = NULL;
+    mb_param[index].get = NULL;
+    mb_param[index].check_handler = mb_check_dummy;
+    
+    index++;
+    
+    // RTC
+    mb_param[index].reg = 0x0803;
+	mb_param[index].size = 4;
+	mb_param[index].param = (uint8_t*)&value_64; // 
+	mb_param[index].set = mb_set_rtc;
+    mb_param[index].get = get_rtc;
+    mb_param[index].check_handler = mb_check_dummy;
+    
+    index++;
+    
+    // ---------------------------------------------------------------------- //
+    // Журналы/рахивы
+    // ---------------------------------------------------------------------- //
+    
+    // Емкость журнала (максимальная)
+    mb_param[index].reg = 0x0900;
+	mb_param[index].size = 1;
+	mb_param[index].param = (uint8_t*)&log_entries_capacity; // 
+	mb_param[index].set = NULL;
+    mb_param[index].get = NULL;
+    mb_param[index].check_handler = mb_check_dummy;
+    
+    index++;
+    
+    // Текущее количество записей в журнале
+    mb_param[index].reg = 0x0901;
+	mb_param[index].size = 1;
+	mb_param[index].param = NULL; // 
+	mb_param[index].set = NULL;
+    mb_param[index].get = get_log_entries_number;
+    mb_param[index].check_handler = mb_check_dummy;
+    
+    index++;
+    
+    // Емкость архива (максимальная)
+    mb_param[index].reg = 0x0902;
+	mb_param[index].size = 1;
+	mb_param[index].param = (uint8_t*)&archive_entries_capacity; // 
+	mb_param[index].set = NULL;
+    mb_param[index].get = NULL;
+    mb_param[index].check_handler = mb_check_dummy;
+    
+    index++;
+    
+#if 0    
+// TODO    
+    
+    // Текущее количество записей в архиве по каждому каналу
+    addr = 0x0903;
+    for (int i = 0; i < ARCH_CH_NUMBER; i++)
+    {
+        mb_param[index].reg = addr;
+        mb_param[index].size = 1;
+        mb_param[index].param = NULL;
+        mb_param[index].set = NULL;
+        mb_param[index].get = get_ch_entries_number[i];
+        mb_param[index].check_handler = mb_check_dummy;
+        
+        addr++;
+        index++;      
+    }  
+    
+    // Период архива. Регистры 0x0904 - 0x090B
+    addr = 0x090B;
+    for (int i = 0; i < ARCH_CH_NUMBER; i++)
+    {
+        mb_param[index].reg = addr;
+        mb_param[index].size = 1;
+        mb_param[index].param = (uint8_t*)&settings.period_archive[i];  // Счетчик ипульсов
+        mb_param[index].set = NULL;
+        mb_param[index].get = NULL;
+        mb_param[index].check_handler = mb_check_archiv_per;
+        
+        addr++;
+        index++;
+    }
+#endif    
+    
+	// ---------------------------------------------------------------------- //
+	//	Системные настройки
+	// ---------------------------------------------------------------------- //
+
+    // Код модели (только чтение). Определяется прошивкой.
+    mb_param[index].reg = 0x0080;
+	mb_param[index].size = 1;
+	mb_param[index].param = (uint8_t*)&model_code; // 
+	mb_param[index].set = NULL;
+    mb_param[index].get = NULL;
+    mb_param[index].check_handler = mb_check_dummy;
+    
+    index++;
+    
+    // Дата производства Unix формат (чтение/запись по паролю)
+    mb_param[index].reg = 0x0081;
+	mb_param[index].size = 2;
+	mb_param[index].param = (uint8_t*)&temp_sys_settings.prod_date; // 
+	mb_param[index].set = NULL;
+    mb_param[index].get = NULL;
+    mb_param[index].check_handler = mb_check_dummy;
+    
+    index++;
+
+    // Серийный номер (чтение/запись по паролю).
+    mb_param[index].reg = 0x0083;
+	mb_param[index].size = 2;
+	mb_param[index].param = (uint8_t*)&temp_sys_settings.sn; // 
+	mb_param[index].set = NULL;
+    mb_param[index].get = NULL;
+    mb_param[index].check_handler = mb_check_dummy;
+    
+    index++;
+    
+    // Версия ПО (только чтение).
+    memcpy(&fw_version, FW_VERSION, 8);
+    mb_param[index].reg = 0x0085;
+	mb_param[index].size = 4;
+	mb_param[index].param = (uint8_t*)&fw_version; // 
+	mb_param[index].set = NULL;
+    mb_param[index].get = NULL;
+    mb_param[index].check_handler = mb_check_dummy;
+    
+    index++;
+    
+    // Статус тестирования (чтение/запись по паролю).
+    mb_param[index].reg = 0x0089;
+	mb_param[index].size = 1;
+	mb_param[index].param = (uint8_t*)&temp_sys_settings.test_state; // 
+	mb_param[index].set = NULL;
+    mb_param[index].get = NULL;
+    mb_param[index].check_handler = mb_check_dummy;
+    
+    index++;
+    
+    // Пароль
+    mb_param[index].reg = 0x008A;
+	mb_param[index].size = 1;
+	mb_param[index].param = (uint8_t*)&psw; // 
+	mb_param[index].set = mb_password;
+    mb_param[index].get = NULL;
+    mb_param[index].check_handler = mb_check_dummy;
+    
+    index++;
+    
+    // Команда на сохранение системных настроек
+    mb_param[index].reg = 0x008B;
+	mb_param[index].size = 1;
+	mb_param[index].param = (uint8_t*)&save_sys_cmd; // 
+	mb_param[index].set = mb_sys_settings_save;
+    mb_param[index].get = NULL;
+    mb_param[index].check_handler = mb_check_dummy;
+    
+    index++;
+}
+
+
+// Возвращает размер параметра в регистрах
+bool mb_find_param(uint16_t reg, uint16_t *index, uint16_t *size)
+{
+	for (uint16_t i = 0; i < MB_PARAM_MAX; i++)
+	{
+		if (mb_param[i].reg == reg)
+		{
+			*index = i;
+			*size = mb_param[i].size;
+			return true;
+		}
+	}
+	return false;
+}
+
+
+//
+mb_delay_action_t mb_set_param(uint8_t *buf, uint16_t index)
+{
+	uint8_t *ptr = mb_param[index].param;
+
+    // Если параметр только для чтения
+    if (mb_param[index].check_handler == NULL)
+        return MB_NO_ACTION;
+    
+	for (uint16_t i = 0; i < 2*mb_param[index].size; i++)
+	{
+		*ptr = buf[2*mb_param[index].size - 1 - i];
+		ptr++;
+	}
+  
+/*    
+    if (mb_param[index].check_handler != NULL)
+        mb_param[index].check_handler();
+*/    
+    
+    mb_param[index].check_handler();
+    
+    if (mb_param[index].set != NULL)
+        return mb_param[index].set();
+    else
+        return MB_NO_ACTION;
+    
+/*    
+    if (mb_param[index].f_activity)
+        return mb_param[index].set_handler();
+    else
+        return MB_NO_ACTION;
+*/    
+}
+
+
+//
+void mb_get_param(uint8_t *buf, uint16_t index)
+{
+    uint8_t *ptr;
+	
+    if (mb_param[index].get != NULL) {
+        mb_param[index].get(buf, mb_param[index].size);
+        return;
+    }
+
+    ptr = mb_param[index].param + 2*mb_param[index].size - 1;
+
+	for (uint16_t i = 0; i < 2*mb_param[index].size; i++)
+	{
+		*buf = *ptr;
+		buf++;
+		ptr--;
+	}
+}
+
+
+
+
+
+// -------------------------------------------------------------------------- //
+//                          Чтение параметров
+// -------------------------------------------------------------------------- //
+
+#if 0
+void get_time(uint8_t* buf, uint8_t size)
+{
+    uint32_t rtc_unix = RTC_GetUnixTime();
+    uint8_t *ptr = (uint8_t*)&rtc_unix + 2*size - 1;
+
+    for (uint16_t i = 0; i < 2*size; i++)
+	{
+		*buf = *ptr;
+		buf++;
+		ptr--;
+	}
+}
+#endif
+
+
+
+//
+void get_din_mode(uint8_t* buf, uint8_t size)
+{
+    
+}
+
+//
+void get_log_entries_number(uint8_t* buf, uint8_t size)
+{
+    static uint16_t capacity;
+    
+    capacity = swap_uint16(log_capacity());
+    memcpy(buf, &capacity, 2);
+    //buf = (uint8_t*)&capacity;
+}
+
+//
+void get_arch_ch_1(uint8_t* buf, uint8_t size)
+{
+    static uint16_t capacity;
+      
+    capacity = swap_uint16(log_arch_capacity(0));
+    memcpy(buf, &capacity, 2);
+}
+
+//
+void get_arch_ch_2(uint8_t* buf, uint8_t size)
+{
+    static uint16_t capacity;
+      
+    capacity = swap_uint16(log_arch_capacity(1));
+    memcpy(buf, &capacity, 2);
+}
+
+//
+void get_arch_ch_3(uint8_t* buf, uint8_t size)
+{
+    static uint16_t capacity;
+      
+    capacity = swap_uint16(log_arch_capacity(2));
+    memcpy(buf, &capacity, 2);
+}
+
+//
+void get_arch_ch_4(uint8_t* buf, uint8_t size)
+{
+    static uint16_t capacity;
+      
+    capacity = swap_uint16(log_arch_capacity(3));
+    memcpy(buf, &capacity, 2);
+}
+
+//
+void get_arch_ch_5(uint8_t* buf, uint8_t size)
+{
+    static uint16_t capacity;
+      
+    capacity = swap_uint16(log_arch_capacity(4));
+    memcpy(buf, &capacity, 2);
+}
+
+//
+void get_arch_ch_6(uint8_t* buf, uint8_t size)
+{
+    static uint16_t capacity;
+      
+    capacity = swap_uint16(log_arch_capacity(5));
+    memcpy(buf, &capacity, 2);
+}
+
+//
+void get_arch_ch_7(uint8_t* buf, uint8_t size)
+{
+    static uint16_t capacity;
+      
+    capacity = swap_uint16(log_arch_capacity(6));
+    memcpy(buf, &capacity, 2);
+}
+
+//
+void get_arch_ch_8(uint8_t* buf, uint8_t size)
+{
+    static uint16_t capacity;
+      
+    capacity = swap_uint16(log_arch_capacity(7));
+    memcpy(buf, &capacity, 2);
+}
+
+//
+void get_rtc(uint8_t* buf, uint8_t size)
+{
+    uint64_t rtc = swap_uint64(rtc_get_ms());
+        
+    memcpy(buf, &rtc, 8);
+}
+
+
+// -------------------------------------------------------------------------- //
+//                          Установка параметров
+// -------------------------------------------------------------------------- //
+
+//
+mb_delay_action_t mb_set_time(void)
+{
+    TM_RTC_SetDataTimeUnix(rtc_sinhro);
+    
+    return MB_NO_ACTION;
+}
+
+//
+mb_delay_action_t mb_password(void)
+{
+    if (psw != MB_PASSWORD)
+        return MB_PAS_ERR;
+    else {
+        if (psw_ok == false) {
+            psw_ok = true;
+            return MB_PAS_OK;
+        }
+        else
+            return MB_NO_ACTION;
+    }
+}
+
+//
+mb_delay_action_t mb_sys_settings_save(void)
+{
+    if (save_sys_cmd == 1)
+        return MB_SAVE_SYS_SETTINGS;
+    else
+        return MB_NO_ACTION;
+}
+
+//
+mb_delay_action_t mb_control(void)
+{
+    if (system_cmd == MB_COM_SETTINGS_SAVE)
+        return MB_SAVE_SETTINGS;
+    else if (system_cmd == MB_COM_LOG_CLEAR)
+        return MB_LOG_CLEAR;
+    else if ((system_cmd >= (uint8_t)MB_COM_ARCH_CLEAR_1) && (system_cmd <= (uint8_t)MB_COM_ARCH_CLEAR_8)) {
+        arch_channel = system_cmd;
+        return MB_ARCHIVE_CLEAR;
+    }
+    return MB_NO_ACTION;
+    
+#if 0
+    if (system_cmd == 1)
+        return MB_SAVE_SETTINGS;
+    else if (system_cmd == 2)
+        return MB_DEF_SETTINGS;
+    else if (system_cmd == 3)
+        return MB_RESET;
+    else if (system_cmd == 4)
+        return MB_PART_DEF_SETTINGS;
+
+    return MB_NO_ACTION;
+#endif    
+}
+
+//
+mb_delay_action_t mb_set_rtc(void)
+{
+    float delta;
+    uint64_t now = rtc_get_ms();
+
+    if (now >= value_64)
+        delta = (float)(now - value_64);
+    else
+        delta = (float)(value_64 - now);
+    
+    
+    rtc_set_in_ms((uint32_t)(value_64/1000));
+    
+    // -------------------------------------------------------------------------- //
+    // EVENT. Перевод времени.
+    log_add_entry(LOG_CLOCK_CHANGE, LOG_EVENT_STATE_OK, 0, delta);
+    
+    
+    return MB_NO_ACTION;
+}
+
+// -------------------------------------------------------------------------- //
+//                      Проверка параметров                                   //
+// -------------------------------------------------------------------------- //
+
+//
+void mb_check_dummy(void)
+{
+}
+
+//
+void mb_check_archiv_per(void)
+{
+    uint8_t channel_number = log_get_arch_channel_number();
+  
+    for (uint8_t i = 0; i < channel_number; i++)
+    {
+        if (settings.period_archive[i] > (uint16_t)MAX_ARCHIVE_PERIOD)
+            settings.period_archive[i] = (uint16_t)MAX_ARCHIVE_PERIOD;
+    }
+}
+
+

+ 72 - 72
fw/modules/settings/settings_ai.c

@@ -1,73 +1,73 @@
-#include "at32f403a_407.h" 
-#include "settings_api.h"
-#include "settings_ai.h"
-#include "analog_input.h"
-
-#if defined (MAI_12)
-
-//
-void settings_ai_set_all_default(void)
-{
-    // Аналоговые входы
-    settings_ai_def(&settings);
-    
-    // Питание внешних датчиков
-    settings_ext_sens_power_def(&settings);
-}
-
-//
-void settings_ai_def(settings_t *settings)
-{
-    // Все входы выключены
-    settings->ai_state_bits = 0;
-    
-    // Режим измерения напряжения
-    settings->ai_mode_bits = 0;
-    
-    // Основные 12 каналов
-    for (int i = 0; i < AI_COMMON_NUMBER; i++) 
-    {  
-        settings->ai[i].state = 0;  // вход выключен
-        settings->ai[i].mode = 0;   // режим измерения напряжения
-        settings->ai[i].gain_factor = 1;    // коэф-т усиления внешнего ADC
-    }
-    
-    settings->ai[0].name = AN_INP_1;
-    settings->ai[1].name = AN_INP_2;
-    settings->ai[2].name = AN_INP_3;
-    settings->ai[3].name = AN_INP_4;
-    settings->ai[4].name = AN_INP_5;
-    settings->ai[5].name = AN_INP_6;
-    settings->ai[6].name = AN_INP_7;
-    settings->ai[7].name = AN_INP_8;
-    settings->ai[8].name = AN_INP_9;
-    settings->ai[9].name = AN_INP_10;
-    settings->ai[10].name = AN_INP_11;
-    settings->ai[11].name = AN_INP_12;
-
-    // Дополнительные 4 канала. Измерения происходят всегда.
-    for (int i = 0; i < AI_ADD_NUMBER; i++) 
-    {  
-        settings->ai_add[i].state = 1;  // вход включен
-        settings->ai_add[i].mode = 0;   // режим измерения напряжения
-        settings->ai_add[i].gain_factor = 1; // коэф-т усиления внешнего ADC
-    }
-    
-    settings->ai_add[0].name = V_ISO_CL;
-    settings->ai_add[1].name = V_ISO;
-    settings->ai_add[2].name = CRNT_LIM_U_BFR_R;
-    settings->ai_add[3].name = CRNT_LIM_U_ABFR_R;
-    
-    // Время ведения архива по каждому каналу (сек.)
-    for (uint8_t i = 0; i < ARCH_AI_CH_NUMBER; i++) {
-        settings.period_archive[i] = 3600;
-    }
-}
-
-//
-void settings_ext_sens_power_def(settings_t *settings)
-{
-    settings->ext_sens_power = 0;
-}
-
+#include "at32f403a_407.h" 
+#include "settings_api.h"
+#include "settings_ai.h"
+#include "analog_input.h"
+
+#if defined (MAI_12)
+
+//
+void settings_ai_set_all_default(void)
+{
+    // Аналоговые входы
+    settings_ai_def(&settings);
+    
+    // Питание внешних датчиков
+    settings_ext_sens_power_def(&settings);
+}
+
+//
+void settings_ai_def(settings_t *settings)
+{
+    // Все входы выключены
+    settings->ai_state_bits = 0;
+    
+    // Режим измерения напряжения
+    settings->ai_mode_bits = 0;
+    
+    // Основные 12 каналов
+    for (int i = 0; i < AI_COMMON_NUMBER; i++) 
+    {  
+        settings->ai[i].state = 0;  // вход выключен
+        settings->ai[i].mode = 0;   // режим измерения напряжения
+        settings->ai[i].gain_factor = 1;    // коэф-т усиления внешнего ADC
+    }
+    
+    settings->ai[0].name = AN_INP_1;
+    settings->ai[1].name = AN_INP_2;
+    settings->ai[2].name = AN_INP_3;
+    settings->ai[3].name = AN_INP_4;
+    settings->ai[4].name = AN_INP_5;
+    settings->ai[5].name = AN_INP_6;
+    settings->ai[6].name = AN_INP_7;
+    settings->ai[7].name = AN_INP_8;
+    settings->ai[8].name = AN_INP_9;
+    settings->ai[9].name = AN_INP_10;
+    settings->ai[10].name = AN_INP_11;
+    settings->ai[11].name = AN_INP_12;
+
+    // Дополнительные 4 канала. Измерения происходят всегда.
+    for (int i = 0; i < AI_ADD_NUMBER; i++) 
+    {  
+        settings->ai_add[i].state = 1;  // вход включен
+        settings->ai_add[i].mode = 0;   // режим измерения напряжения
+        settings->ai_add[i].gain_factor = 1; // коэф-т усиления внешнего ADC
+    }
+    
+    settings->ai_add[0].name = V_ISO_CL;
+    settings->ai_add[1].name = V_ISO;
+    settings->ai_add[2].name = CRNT_LIM_U_BFR_R;
+    settings->ai_add[3].name = CRNT_LIM_U_ABFR_R;
+    
+    // Время ведения архива по каждому каналу (сек.)
+    for (uint8_t i = 0; i < ARCH_AI_CH_NUMBER; i++) {
+        settings->period_archive[i] = 3600;
+    }
+}
+
+//
+void settings_ext_sens_power_def(settings_t *settings)
+{
+    settings->ext_sens_power = 0;
+}
+
 #endif

+ 237 - 228
fw/modules/settings/settings_api.h

@@ -1,228 +1,237 @@
-#ifndef SETTINGS_API_H
-#define SETTINGS_API_H
-
-#include "at32f403a_407.h"
-#include "model_cfg.h"
-#include "usart.h"
-#include "sys_api.h"
-#include "io.h"
-#include "mb.h"
-#include "mbport.h"
-#include "log.h"
-#include "analog_input.h"
-#include "analog_output.h"
-#include <stdbool.h>
-
-
-// Изменить версию если поменялась структура настроек
-#define SETTINGS_VERSION    0x01
-
-
-// ------------------------------------------------------------------- //
-//					 	Граничные значения
-// ------------------------------------------------------------------- //
-
-#define MAX_ARCHIVE_PERIOD  43200
-
-// ------------------------------------------------------------------- //
-//					 		Draft
-// ------------------------------------------------------------------- //
-
-/*
-1. Uptime (uint32_t)                    // +
-2. Realtime (unix timestamp, uint32_t)  // +
-3. Версия прошивки                      // +
-4. Модель (char 16 байт)                // +
-
-*/
-
-
-
-// ------------------------------------------------------------------- //
-//					 		Modbus
-// ------------------------------------------------------------------- //
-
-#define MB_STOP_BIT_MASK    0x03
-#define MB_STOP_BIT_1       0x00
-#define MB_STOP_BIT_2       0x02
-
-#define MB_PARITY_MASK      (0x03 << 3)
-#define MB_NO_PAR           (0x00 << 3)
-#define MB_EVEN_PAR         (0x02 << 3)
-#define MB_ODD_PAR          (0x03 << 3)
-
-#define MB_BRD_MASK         (0x07 << 5)
-#define MB_BRD_2400         (0x00 << 5)
-#define MB_BRD_4800         (0x01 << 5)
-#define MB_BRD_9600         (0x02 << 5)
-#define MB_BRD_19200        (0x03 << 5)
-#define MB_BRD_38400        (0x04 << 5)
-#define MB_BRD_57600        (0x05 << 5)
-#define MB_BRD_115200       (0x06 << 5)
-
-
-
-// Modbus 
-typedef struct
-{
-	rate_t     baud;		// Скорость порта 
-	parity_t   parity;		// Четность 
-	databits_t databits;	// Число бит данных
-	stopbits_t stopbits;	// Число стоп-бит  
-    
-} modbus_t;
-
-
-// Общая структура настроек для IAP и FW
-typedef struct
-{
-    uint16_t    mb_port;    // Настройки порта для modbus
-    //char model[MODEL_LEN];  // Модель
-} com_settings_t;
-
-
-#if 0
-// Дискретные входы
-typedef struct
-{
-    uint16_t debounce_time; // период антидребезга в мс (0 - 10 сек)
-} dinput_t;
-#endif
-
-
-// Полная структура настроек
-typedef struct
-{
-    com_settings_t  com_settings;
-    uint32_t    critical_section_crc;
-/* WARNING! До поля CritSecCRC включительно структура настроек должна быть
-* идентичной между бутлоадером и основным ПО и не должна изменяться при обновлении ПО.
-* Контроль целостности настроек внутри IAP выполняется только для критической секции,
-* т.к. контроль целостности всей структуры не имеет смысла
-* (структура настроек всегда будет отличаться внутри основного ПО).
-* В случае повреждения критического сектора, загружаются параметры по умолчанию. */    
-    
-    uint16_t    settings_version;   // Версия структуры настроек 
-    uint32_t    control_word;       // Слово для контроля целостности структуры настроек
-    
-#if defined (MDIO_88)          
-    uint16_t    di_mode_bits;          // режим работы, 0 - вход, 1 - счетчик импульсов
-    uint16_t    di_norm_state_bits;    // нормальное состояние (0 - разомкнут, 1 - замкнут)        
-    uint16_t    di_debounce[DI_NUMBER]; // Дискретные входы
-    
-    uint16_t    do_mode_bits;       // режим работы выхода 0 - выход, 1 - ШИМ
-    uint16_t    do_bits;            // последнее сохраненное значение на выходах
-    uint16_t    do_save_bits;       // значение на выходах в бесопасном режиме работы
-    uint16_t    do_pwm[DO_NUMBER];  // значение заполнения ШИМ
-    uint16_t    do_pwm_save[DO_NUMBER]; // значение заполнения ШИМ в безопасном режиме
-    uint16_t    do_pwm_period[DO_NUMBER];  // период ШИМ в [0.1с (10..1000)]
-    uint16_t    do_pwm_period_save[DO_NUMBER]; // период ШИМ в безопасном режиме [0.1с (10..1000)]
-    
-    uint16_t    period_archive[ARCH_DIO_CH_NUMBER]; // период архивирования
-#endif
-
-#if defined (MAI_12)
-    ai_t        ai[AI_COMMON_NUMBER];   // 
-    ai_t        ai_add[AI_ADD_NUMBER];  //
-     
-    uint16_t    ai_state_bits;      // статус входа (для 12 основных), 0 - выкл, 1 - вкл
-    uint16_t    ai_mode_bits;       // режим работы входов (для 12 основных), 0 - измерение напряжения, 1 - тока
-    uint16_t    ext_sens_power;     // питание внешних датчиков, 0 - выкл, 1 - вкл
-    
-    uint16_t    period_archive[ARCH_AI_CH_NUMBER]; // период архивирования
-#endif    
-
-#if defined (MAO_4)    
-    
-    ao_t        ao[AO_NUMBER];      // параметры выходов 
-    ao_t        ao_save[AO_NUMBER]; // параметры выходов в безопасном режиме
-    
-    uint16_t    ao_state_bits;      // статус выхода, 0 - выкл, 1 - вкл
-    uint16_t    ao_state_save_bits; // статус выхода в безопасном режиме, 0 - выкл, 1 - вкл
-    uint16_t    ao_mode_bits;       // режим работы выходов, 0 - напряжения, 1 - ток
-    uint16_t    ao_mode_save_bits;  // режим работы выходов в безопасном режиме, 0 - напряжения, 1 - ток
-    
-#endif    
-    
-    bool        save_mode;          // безопасный режим, 0 - выкл, 1 - вкл
-    uint16_t    save_delay;         // время ожидания опроса (сек.)
-      
-    
-    
-} settings_t;
-
-
-
-// Загрузка структуры настроек из flesh
-void settings_load(settings_t *settings);
-
-//
-void init_settings(void);
-
-//
-void settings_read_from_flash(uint8_t *data, uint32_t size);
-
-//
-uint32_t settings_get_crc(settings_t *settings);
-
-//
-uint32_t settings_get_crit_sec_crc(settings_t *settings);
-
-// Сброс всех настроек в значения по умолчанию
-void settings_set_all_default(void);
-
-
-// -------------------------------------------------------------------------- //
-// Настройки по умолчанию
-
-//
-void settings_set_modbus_def(uint16_t *mb_port);
-
-//
-void settings_conv_modbus_def(modbus_t *mb_settings, uint16_t *mb_port);
-
-// Установка параметров Modbus
-void settings_set_modbus_params(uint16_t mb_port);
-
-//
-uint32_t settings_get_mb_baud(modbus_t *mb_settings);
-
-//
-eMBParity settings_get_mb_par(modbus_t *mb_settings);
-
-//
-void settings_init_mb_port(uint8_t mb_addr);
-
-// -------------------------------------------------------------------------- //
-
-// Запись структуры настроек во flash
-bool settings_save(settings_t *settings);
-
-//
-bool settings_save_with_log(void);
-
-//
-bool settings_write_to_flash(uint8_t *data, uint32_t size);
-
-// Очистка сектора настроек
-void settings_erase_flash_sector(void);
-
-//
-bool settings_is_changed(settings_t *new_settings);
-
-//
-void settings_print(void);
-
-
-// Системные настройки
-extern sys_settings_t sys_settings;
-
-// Копия системных настроек
-extern sys_settings_t temp_sys_settings;
-
-// Общая структура настроек
-extern settings_t settings;
-
-
-#endif /* #ifndef SETTINGS_API_H */
-
+#ifndef SETTINGS_API_H
+#define SETTINGS_API_H
+
+#include "at32f403a_407.h"
+#include "model_cfg.h"
+#include "usart.h"
+#include "sys_api.h"
+#include "io.h"
+#include "mb.h"
+#include "mbport.h"
+#include "log.h"
+#include "analog_input.h"
+#include "analog_output.h"
+#include <stdbool.h>
+
+
+// Изменить версию если поменялась структура настроек
+#define SETTINGS_VERSION    0x01
+
+
+// ------------------------------------------------------------------- //
+//					 	Граничные значения
+// ------------------------------------------------------------------- //
+
+#define MAX_ARCHIVE_PERIOD  43200
+
+// ------------------------------------------------------------------- //
+//					 	Настройки лога и архива
+// ------------------------------------------------------------------- //
+
+#define ARCH_DIO_CH_NUMBER              8
+
+#define ARCH_AI_CH_NUMBER               12  
+
+
+// ------------------------------------------------------------------- //
+//					 		Draft
+// ------------------------------------------------------------------- //
+
+/*
+1. Uptime (uint32_t)                    // +
+2. Realtime (unix timestamp, uint32_t)  // +
+3. Версия прошивки                      // +
+4. Модель (char 16 байт)                // +
+
+*/
+
+
+
+// ------------------------------------------------------------------- //
+//					 		Modbus
+// ------------------------------------------------------------------- //
+
+#define MB_STOP_BIT_MASK    0x03
+#define MB_STOP_BIT_1       0x00
+#define MB_STOP_BIT_2       0x02
+
+#define MB_PARITY_MASK      (0x03 << 3)
+#define MB_NO_PAR           (0x00 << 3)
+#define MB_EVEN_PAR         (0x02 << 3)
+#define MB_ODD_PAR          (0x03 << 3)
+
+#define MB_BRD_MASK         (0x07 << 5)
+#define MB_BRD_2400         (0x00 << 5)
+#define MB_BRD_4800         (0x01 << 5)
+#define MB_BRD_9600         (0x02 << 5)
+#define MB_BRD_19200        (0x03 << 5)
+#define MB_BRD_38400        (0x04 << 5)
+#define MB_BRD_57600        (0x05 << 5)
+#define MB_BRD_115200       (0x06 << 5)
+
+
+
+// Modbus 
+typedef struct
+{
+	rate_t     baud;		// Скорость порта 
+	parity_t   parity;		// Четность 
+	databits_t databits;	// Число бит данных
+	stopbits_t stopbits;	// Число стоп-бит  
+    
+} modbus_t;
+
+
+// Общая структура настроек для IAP и FW
+typedef struct
+{
+    uint16_t    mb_port;    // Настройки порта для modbus
+    //char model[MODEL_LEN];  // Модель
+} com_settings_t;
+
+
+#if 0
+// Дискретные входы
+typedef struct
+{
+    uint16_t debounce_time; // период антидребезга в мс (0 - 10 сек)
+} dinput_t;
+#endif
+
+
+// Полная структура настроек
+typedef struct
+{
+    com_settings_t  com_settings;
+    uint32_t    critical_section_crc;
+/* WARNING! До поля CritSecCRC включительно структура настроек должна быть
+* идентичной между бутлоадером и основным ПО и не должна изменяться при обновлении ПО.
+* Контроль целостности настроек внутри IAP выполняется только для критической секции,
+* т.к. контроль целостности всей структуры не имеет смысла
+* (структура настроек всегда будет отличаться внутри основного ПО).
+* В случае повреждения критического сектора, загружаются параметры по умолчанию. */    
+    
+    uint16_t    settings_version;   // Версия структуры настроек 
+    uint32_t    control_word;       // Слово для контроля целостности структуры настроек
+    
+#if defined (MDIO_88)          
+    uint16_t    di_mode_bits;          // режим работы, 0 - вход, 1 - счетчик импульсов
+    uint16_t    di_norm_state_bits;    // нормальное состояние (0 - разомкнут, 1 - замкнут)        
+    uint16_t    di_debounce[DI_NUMBER]; // Дискретные входы
+    
+    uint16_t    do_mode_bits;       // режим работы выхода 0 - выход, 1 - ШИМ
+    uint16_t    do_bits;            // последнее сохраненное значение на выходах
+    uint16_t    do_save_bits;       // значение на выходах в бесопасном режиме работы
+    uint16_t    do_pwm[DO_NUMBER];  // значение заполнения ШИМ
+    uint16_t    do_pwm_save[DO_NUMBER]; // значение заполнения ШИМ в безопасном режиме
+    uint16_t    do_pwm_period[DO_NUMBER];  // период ШИМ в [0.1с (10..1000)]
+    uint16_t    do_pwm_period_save[DO_NUMBER]; // период ШИМ в безопасном режиме [0.1с (10..1000)]
+    
+    uint16_t    period_archive[ARCH_DIO_CH_NUMBER]; // период архивирования
+#endif
+
+#if defined (MAI_12)
+    ai_t        ai[AI_COMMON_NUMBER];   // 
+    ai_t        ai_add[AI_ADD_NUMBER];  //
+     
+    uint16_t    ai_state_bits;      // статус входа (для 12 основных), 0 - выкл, 1 - вкл
+    uint16_t    ai_mode_bits;       // режим работы входов (для 12 основных), 0 - измерение напряжения, 1 - тока
+    uint16_t    ext_sens_power;     // питание внешних датчиков, 0 - выкл, 1 - вкл
+    
+    uint16_t    period_archive[ARCH_AI_CH_NUMBER]; // период архивирования
+#endif    
+
+#if defined (MAO_4)    
+    
+    ao_t        ao[AO_NUMBER];      // параметры выходов 
+    ao_t        ao_save[AO_NUMBER]; // параметры выходов в безопасном режиме
+    
+    uint16_t    ao_state_bits;      // статус выхода, 0 - выкл, 1 - вкл
+    uint16_t    ao_state_save_bits; // статус выхода в безопасном режиме, 0 - выкл, 1 - вкл
+    uint16_t    ao_mode_bits;       // режим работы выходов, 0 - напряжения, 1 - ток
+    uint16_t    ao_mode_save_bits;  // режим работы выходов в безопасном режиме, 0 - напряжения, 1 - ток
+    
+#endif    
+    
+    bool        save_mode;          // безопасный режим, 0 - выкл, 1 - вкл
+    uint16_t    save_delay;         // время ожидания опроса (сек.)
+      
+    
+    
+} settings_t;
+
+
+
+// Загрузка структуры настроек из flesh
+void settings_load(settings_t *settings);
+
+//
+void init_settings(void);
+
+//
+void settings_read_from_flash(uint8_t *data, uint32_t size);
+
+//
+uint32_t settings_get_crc(settings_t *settings);
+
+//
+uint32_t settings_get_crit_sec_crc(settings_t *settings);
+
+// Сброс всех настроек в значения по умолчанию
+void settings_set_all_default(void);
+
+
+// -------------------------------------------------------------------------- //
+// Настройки по умолчанию
+
+//
+void settings_set_modbus_def(uint16_t *mb_port);
+
+//
+void settings_conv_modbus_def(modbus_t *mb_settings, uint16_t *mb_port);
+
+// Установка параметров Modbus
+void settings_set_modbus_params(uint16_t mb_port);
+
+//
+uint32_t settings_get_mb_baud(modbus_t *mb_settings);
+
+//
+eMBParity settings_get_mb_par(modbus_t *mb_settings);
+
+//
+void settings_init_mb_port(uint8_t mb_addr);
+
+// -------------------------------------------------------------------------- //
+
+// Запись структуры настроек во flash
+bool settings_save(settings_t *settings);
+
+//
+bool settings_save_with_log(void);
+
+//
+bool settings_write_to_flash(uint8_t *data, uint32_t size);
+
+// Очистка сектора настроек
+void settings_erase_flash_sector(void);
+
+//
+bool settings_is_changed(settings_t *new_settings);
+
+//
+void settings_print(void);
+
+
+// Системные настройки
+extern sys_settings_t sys_settings;
+
+// Копия системных настроек
+extern sys_settings_t temp_sys_settings;
+
+// Общая структура настроек
+extern settings_t settings;
+
+
+#endif /* #ifndef SETTINGS_API_H */
+

二進制
fw/user/main.cpp


+ 543 - 543
project/ewarm/fw/AT32F403AxG.icf

@@ -5,1652 +5,1652 @@
     <configuration>
         <name>Debug</name>
         <outputs>
-            <file>$PROJ_DIR$\..\..\..\iap\modules\settings\settings_api.c</file>
-            <file>$PROJ_DIR$\..\..\..\libs\artery\drivers\src\at32f403a_407_exint.c</file>
-            <file>$PROJ_DIR$\..\..\..\libs\artery\cmsis\cm4\device_support\startup\iar\startup_at32f403a_407.s</file>
-            <file>$PROJ_DIR$\..\..\..\libs\artery\drivers\src\at32f403a_407_crm.c</file>
+            <file>$PROJ_DIR$\..\..\..\libs\artery\drivers\src\at32f403a_407_acc.c</file>
+            <file>$PROJ_DIR$\..\..\..\libs\artery\drivers\src\at32f403a_407_debug.c</file>
+            <file>$PROJ_DIR$\..\..\..\libs\artery\drivers\src\at32f403a_407_dma.c</file>
+            <file>$PROJ_DIR$\..\..\..\libs\artery\drivers\src\at32f403a_407_dac.c</file>
             <file>$PROJ_DIR$\..\..\..\libs\artery\drivers\src\at32f403a_407_emac.c</file>
             <file>$PROJ_DIR$\..\..\..\libs\artery\cmsis\cm4\device_support\at32f403a_407.h</file>
-            <file>$PROJ_DIR$\..\..\..\libs\artery\drivers\src\at32f403a_407_gpio.c</file>
+            <file>$PROJ_DIR$\..\..\..\iap\user\system_at32f403a_407.c</file>
+            <file>$PROJ_DIR$\..\..\..\iap\modules\iap\iap.c</file>
+            <file>$PROJ_DIR$\..\..\..\iap\modules\io\mux.c</file>
+            <file>$PROJ_DIR$\..\..\..\iap\modules\modbus\modbus.c</file>
+            <file>$PROJ_DIR$\..\..\..\iap\user\main.c</file>
+            <file>$PROJ_DIR$\..\..\..\libs\artery\cmsis\cm4\device_support\startup\iar\startup_at32f403a_407.s</file>
+            <file>$PROJ_DIR$\..\..\..\iap\user\at32f403a_407_int.c</file>
+            <file>$PROJ_DIR$\..\..\..\libs\artery\drivers\src\at32f403a_407_adc.c</file>
+            <file>$PROJ_DIR$\..\..\..\iap\modules\settings\settings_api.c</file>
+            <file>$PROJ_DIR$\..\..\..\libs\artery\drivers\src\at32f403a_407_crc.c</file>
             <file>$PROJ_DIR$\..\..\..\iap\user\FreeRTOSConfig.h</file>
             <file>$PROJ_DIR$\..\..\..\libs\artery\drivers\src\at32f403a_407_bpr.c</file>
-            <file>$PROJ_DIR$\..\..\..\libs\artery\drivers\src\at32f403a_407_misc.c</file>
-            <file>$PROJ_DIR$\..\..\..\libs\artery\drivers\src\at32f403a_407_pwc.c</file>
-            <file>$PROJ_DIR$\..\..\..\libs\artery\drivers\src\at32f403a_407_crc.c</file>
-            <file>$PROJ_DIR$\..\..\..\libs\artery\drivers\src\at32f403a_407_adc.c</file>
-            <file>$PROJ_DIR$\..\..\..\libs\artery\drivers\src\at32f403a_407_dac.c</file>
-            <file>$PROJ_DIR$\..\..\..\libs\artery\drivers\src\at32f403a_407_rtc.c</file>
-            <file>$PROJ_DIR$\..\..\..\libs\artery\drivers\src\at32f403a_407_sdio.c</file>
-            <file>$PROJ_DIR$\..\..\..\libs\artery\drivers\src\at32f403a_407_spi.c</file>
-            <file>$PROJ_DIR$\..\..\..\libs\artery\drivers\src\at32f403a_407_dma.c</file>
-            <file>$PROJ_DIR$\..\..\..\iap\user\main.c</file>
-            <file>$PROJ_DIR$\..\..\..\libs\artery\drivers\src\at32f403a_407_i2c.c</file>
-            <file>$PROJ_DIR$\..\..\..\iap\modules\modbus\modbus.c</file>
+            <file>$PROJ_DIR$\..\..\..\libs\artery\drivers\src\at32f403a_407_crm.c</file>
             <file>$PROJ_DIR$\..\..\..\iap\modules\modbus\modbus_params.c</file>
             <file>$PROJ_DIR$\..\..\..\libs\artery\drivers\src\at32f403a_407_can.c</file>
+            <file>$PROJ_DIR$\..\..\..\shared\board\common.h</file>
+            <file>$PROJ_DIR$\..\..\..\libs\artery\drivers\src\at32f403a_407_gpio.c</file>
+            <file>$PROJ_DIR$\..\..\..\libs\thirdparty\freertos\list.c</file>
+            <file>$PROJ_DIR$\..\..\..\shared\freemodbus\ascii\mbascii.c</file>
+            <file>$PROJ_DIR$\..\..\..\shared\freemodbus\functions\mbfunccoils.c</file>
+            <file>$PROJ_DIR$\..\..\..\libs\artery\drivers\src\at32f403a_407_exint.c</file>
+            <file>$PROJ_DIR$\..\..\..\libs\artery\drivers\src\at32f403a_407_sdio.c</file>
+            <file>$PROJ_DIR$\..\..\..\libs\thirdparty\freertos\FreeRTOS-openocd.c</file>
+            <file>$PROJ_DIR$\..\..\..\shared\board\common_config.h</file>
+            <file>$PROJ_DIR$\..\..\..\libs\artery\drivers\src\at32f403a_407_tmr.c</file>
+            <file>$PROJ_DIR$\..\..\..\libs\artery\drivers\src\at32f403a_407_misc.c</file>
+            <file>$PROJ_DIR$\..\..\..\libs\artery\drivers\src\at32f403a_407_usart.c</file>
+            <file>$PROJ_DIR$\..\..\..\libs\artery\drivers\src\at32f403a_407_rtc.c</file>
+            <file>$PROJ_DIR$\..\..\..\libs\artery\system\at32f403a_407_clock.c</file>
+            <file>$PROJ_DIR$\..\..\..\libs\artery\drivers\src\at32f403a_407_wdt.c</file>
+            <file>$PROJ_DIR$\..\..\..\libs\artery\drivers\src\at32f403a_407_wwdt.c</file>
+            <file>$PROJ_DIR$\..\..\..\libs\artery\system\at32f403a_407_conf.h</file>
+            <file>$PROJ_DIR$\..\..\..\libs\thirdparty\freertos\portable\IAR\ARM_CM4F\port.c</file>
+            <file>$PROJ_DIR$\..\..\..\libs\thirdparty\freertos\croutine.c</file>
+            <file>$PROJ_DIR$\..\..\..\libs\thirdparty\freertos\event_groups.c</file>
+            <file>$PROJ_DIR$\..\..\..\libs\thirdparty\freertos\fr_timers.c</file>
             <file>$PROJ_DIR$\..\..\..\libs\artery\drivers\src\at32f403a_407_flash.c</file>
-            <file>$PROJ_DIR$\..\..\..\iap\modules\iap\iap.c</file>
-            <file>$PROJ_DIR$\..\..\..\libs\artery\drivers\src\at32f403a_407_debug.c</file>
-            <file>$PROJ_DIR$\..\..\..\iap\user\system_at32f403a_407.c</file>
-            <file>$PROJ_DIR$\..\..\..\iap\user\at32f403a_407_int.c</file>
-            <file>$PROJ_DIR$\..\..\..\libs\artery\drivers\src\at32f403a_407_acc.c</file>
-            <file>$PROJ_DIR$\..\..\..\iap\modules\io\mux.c</file>
-            <file>$PROJ_DIR$\AT32F403AxG.icf</file>
-            <file>$PROJ_DIR$\Debug\Obj\at32f403a_407_rtc.o</file>
+            <file>$PROJ_DIR$\..\..\..\libs\artery\drivers\src\at32f403a_407_i2c.c</file>
+            <file>$PROJ_DIR$\..\..\..\libs\artery\drivers\src\at32f403a_407_usb.c</file>
+            <file>$PROJ_DIR$\..\..\..\libs\thirdparty\freertos\portable\memmang\heap_4.c</file>
+            <file>$PROJ_DIR$\..\..\..\libs\thirdparty\freertos\portable\IAR\ARM_CM4F\portasm.s</file>
+            <file>$PROJ_DIR$\..\..\..\libs\thirdparty\freertos\queue.c</file>
+            <file>$PROJ_DIR$\..\..\..\libs\thirdparty\freertos\tasks.c</file>
+            <file>$PROJ_DIR$\..\..\..\libs\artery\drivers\src\at32f403a_407_pwc.c</file>
+            <file>$PROJ_DIR$\..\..\..\libs\thirdparty\freertos\portable\IAR\ARM_CM4F\portmacro.h</file>
+            <file>$PROJ_DIR$\..\..\..\libs\artery\drivers\src\at32f403a_407_spi.c</file>
+            <file>$PROJ_DIR$\..\..\..\libs\artery\drivers\src\at32f403a_407_xmc.c</file>
+            <file>$PROJ_DIR$\..\..\..\shared\freemodbus\port\port.h</file>
+            <file>$PROJ_DIR$\..\..\..\shared\freemodbus\port\portother.c</file>
+            <file>$PROJ_DIR$\..\..\..\shared\freemodbus\port\portserial.c</file>
+            <file>$PROJ_DIR$\..\..\..\shared\freemodbus\port\tim_delay.c</file>
+            <file>$PROJ_DIR$\..\..\..\shared\freemodbus\functions\mbutils.c</file>
+            <file>$PROJ_DIR$\..\..\..\shared\freemodbus\functions\mbfuncinput.c</file>
+            <file>$PROJ_DIR$\..\..\..\shared\freemodbus\functions\mbfuncdiag.c</file>
+            <file>$PROJ_DIR$\..\..\..\shared\freemodbus\functions\mbfuncother.c</file>
+            <file>$PROJ_DIR$\..\..\..\shared\freemodbus\functions\mbfuncdisc.c</file>
+            <file>$PROJ_DIR$\..\..\..\shared\freemodbus\include\mbfunc.h</file>
+            <file>$PROJ_DIR$\..\..\..\shared\freemodbus\port\porttimer.c</file>
+            <file>$PROJ_DIR$\..\..\..\shared\freemodbus\rtu\mbcrc.c</file>
+            <file>$PROJ_DIR$\..\..\..\shared\freemodbus\include\mbframe.h</file>
+            <file>$PROJ_DIR$\..\..\..\shared\freemodbus\include\mb.h</file>
+            <file>$PROJ_DIR$\..\..\..\shared\freemodbus\mb.c</file>
+            <file>$PROJ_DIR$\..\..\..\shared\freemodbus\rtu\mbrtu.c</file>
+            <file>$PROJ_DIR$\..\..\..\shared\model\model_cfg.h</file>
+            <file>$PROJ_DIR$\..\..\..\shared\peripherals\src\common_gpio.c</file>
+            <file>$PROJ_DIR$\..\..\..\shared\freemodbus\functions\mbfuncfile.c</file>
+            <file>$PROJ_DIR$\..\..\..\shared\rtc\rtc.c</file>
+            <file>$PROJ_DIR$\..\..\..\shared\sys\sys_api.c</file>
+            <file>$PROJ_DIR$\..\..\..\shared\sys\sys_hal.c</file>
+            <file>$PROJ_DIR$\..\..\..\shared\utils\extended_sram.c</file>
+            <file>$PROJ_DIR$\..\..\..\shared\utils\at32f403a_407_board.c</file>
+            <file>$PROJ_DIR$\..\..\..\shared\freemodbus\port\portevent.c</file>
+            <file>$PROJ_DIR$\..\..\..\shared\freemodbus\include\mbport.h</file>
+            <file>$PROJ_DIR$\..\..\..\shared\utils\utility.c</file>
+            <file>$PROJ_DIR$\..\..\..\shared\freemodbus\include\mbutils.h</file>
+            <file>$PROJ_DIR$\..\..\..\shared\freemodbus\include\mbproto.h</file>
+            <file>$PROJ_DIR$\..\..\..\shared\freemodbus\functions\mbfuncholding.c</file>
+            <file>$PROJ_DIR$\..\..\..\shared\freemodbus\port\tim_delay.h</file>
+            <file>$PROJ_DIR$\..\..\..\shared\freemodbus\include\mbconfig.h</file>
             <file>$PROJ_DIR$\Debug\Obj\mbutils.o</file>
-            <file>$PROJ_DIR$\Debug\Obj\at32f403a_407_pwc.xcl</file>
-            <file>$PROJ_DIR$\Debug\Obj\mbfuncdisc.xcl</file>
-            <file>$PROJ_DIR$\Debug\Obj\modbus.xcl</file>
-            <file>$PROJ_DIR$\Debug\Obj\at32f403a_407_clock.o</file>
-            <file>$PROJ_DIR$\Debug\Obj\list.o</file>
-            <file>$TOOLKIT_DIR$\inc\c\yvals.h</file>
-            <file>$PROJ_DIR$\..\..\..\iap\modules\modbus\modbus.h</file>
-            <file>$PROJ_DIR$\Debug\Obj\croutine.xcl</file>
-            <file>$PROJ_DIR$\Debug\Obj\at32f403a_407_acc.o</file>
-            <file>$PROJ_DIR$\..\..\..\shared\sys\sys_api.h</file>
-            <file>$PROJ_DIR$\..\..\..\shared\freemodbus\rtu\mbcrc.h</file>
-            <file>$PROJ_DIR$\Debug\Obj\at32f403a_407_acc.xcl</file>
             <file>$PROJ_DIR$\Debug\Obj\at32f403a_407_sdio.xcl</file>
-            <file>$PROJ_DIR$\Debug\Obj\port.o</file>
-            <file>$PROJ_DIR$\Debug\Obj\at32f403a_407_dac.xcl</file>
+            <file>$PROJ_DIR$\Debug\Obj\list.o</file>
             <file>$TOOLKIT_DIR$\inc\c\string.h</file>
-            <file>$TOOLKIT_DIR$\inc\c\stdlib.h</file>
+            <file>$PROJ_DIR$\Debug\Obj\mbfuncdisc.xcl</file>
             <file>$PROJ_DIR$\Debug\Obj\portother.o</file>
-            <file>$PROJ_DIR$\..\..\..\libs\thirdparty\freertos\include\task.h</file>
-            <file>$PROJ_DIR$\..\..\..\libs\artery\drivers\inc\at32f403a_407_dma.h</file>
             <file>$PROJ_DIR$\Debug\Obj\at32f403a_407_tmr.o</file>
             <file>$PROJ_DIR$\..\..\..\shared\utils\utility.h</file>
             <file>$PROJ_DIR$\Debug\Obj\FreeRTOS-openocd.xcl</file>
             <file>$PROJ_DIR$\..\..\..\libs\artery\drivers\inc\at32f403a_407_tmr.h</file>
             <file>$PROJ_DIR$\Debug\Obj\at32f403a_407_spi.o</file>
-            <file>$PROJ_DIR$\Debug\Obj\at32f403a_407_dma.xcl</file>
-            <file>$PROJ_DIR$\Debug\Obj\at32f403a_407_dma.o</file>
             <file>$PROJ_DIR$\..\..\..\iap\user\system_at32f403a_407.h</file>
-            <file>$PROJ_DIR$\Debug\Obj\rtc.o</file>
-            <file>$PROJ_DIR$\Debug\Obj\mbfuncfile.o</file>
+            <file>$PROJ_DIR$\Debug\Obj\modbus.xcl</file>
+            <file>$PROJ_DIR$\Debug\Obj\at32f403a_407_pwc.xcl</file>
+            <file>$PROJ_DIR$\Debug\Obj\at32f403a_407_acc.xcl</file>
+            <file>$PROJ_DIR$\Debug\Obj\at32f403a_407_dma.o</file>
+            <file>$PROJ_DIR$\Debug\Obj\port.o</file>
+            <file>$TOOLKIT_DIR$\inc\c\stdlib.h</file>
+            <file>$PROJ_DIR$\Debug\Obj\at32f403a_407_dac.xcl</file>
+            <file>$PROJ_DIR$\..\..\..\libs\thirdparty\freertos\include\task.h</file>
+            <file>$PROJ_DIR$\Debug\Obj\at32f403a_407_clock.o</file>
+            <file>$PROJ_DIR$\Debug\Obj\croutine.xcl</file>
+            <file>$PROJ_DIR$\..\..\..\libs\artery\drivers\inc\at32f403a_407_dma.h</file>
+            <file>$PROJ_DIR$\Debug\Obj\at32f403a_407_dma.xcl</file>
+            <file>$PROJ_DIR$\AT32F403AxG.icf</file>
+            <file>$PROJ_DIR$\..\..\..\shared\freemodbus\rtu\mbcrc.h</file>
+            <file>$PROJ_DIR$\Debug\Obj\at32f403a_407_acc.o</file>
+            <file>$PROJ_DIR$\Debug\Obj\at32f403a_407_rtc.o</file>
+            <file>$PROJ_DIR$\..\..\..\shared\wdt\wdt.c</file>
+            <file>$TOOLKIT_DIR$\inc\c\yvals.h</file>
+            <file>$PROJ_DIR$\..\..\..\iap\modules\modbus\modbus.h</file>
+            <file>$PROJ_DIR$\..\..\..\shared\sys\sys_api.h</file>
+            <file>$PROJ_DIR$\Debug\Obj\at32f403a_407_board.o</file>
+            <file>$PROJ_DIR$\Debug\Obj\at32f403a_407_bpr.o</file>
+            <file>$PROJ_DIR$\Debug\Obj\mbfuncdiag.xcl</file>
+            <file>$PROJ_DIR$\Debug\Obj\mbfunccoils.o</file>
+            <file>$PROJ_DIR$\Debug\Obj\portevent.xcl</file>
+            <file>$PROJ_DIR$\Debug\Obj\at32f403a_407_crc.o</file>
+            <file>$PROJ_DIR$\..\..\..\iap\modules\modbus\modbus_params.h</file>
+            <file>$PROJ_DIR$\Debug\Obj\wdt.o</file>
+            <file>$TOOLKIT_DIR$\lib\rt7M_tl.a</file>
             <file>$PROJ_DIR$\Debug\Exe\iap.out</file>
-            <file>$PROJ_DIR$\Debug\Obj\at32f403a_407_crm.xcl</file>
             <file>$PROJ_DIR$\..\..\..\libs\artery\cmsis\cm4\core_support\core_cm4.h</file>
-            <file>$TOOLKIT_DIR$\inc\c\DLib_Product_string.h</file>
-            <file>$TOOLKIT_DIR$\lib\rt7M_tl.a</file>
-            <file>$PROJ_DIR$\Debug\Obj\modbus_params.xcl</file>
+            <file>$PROJ_DIR$\Debug\Obj\rtc.o</file>
             <file>$PROJ_DIR$\..\..\..\libs\artery\drivers\inc\at32f403a_407_usb.h</file>
-            <file>$PROJ_DIR$\Debug\Obj\fr_timers.o</file>
-            <file>$PROJ_DIR$\..\..\..\libs\artery\drivers\inc\at32f403a_407_dac.h</file>
-            <file>$PROJ_DIR$\Debug\Obj\wdt.o</file>
             <file>$PROJ_DIR$\..\..\..\libs\thirdparty\freertos\include\fr_timers.h</file>
-            <file>$PROJ_DIR$\Debug\Obj\portevent.xcl</file>
-            <file>$PROJ_DIR$\Debug\Obj\at32f403a_407_crc.o</file>
-            <file>$PROJ_DIR$\..\..\..\iap\modules\io\mux.h</file>
-            <file>$PROJ_DIR$\Debug\Obj\mbfuncdiag.xcl</file>
+            <file>$PROJ_DIR$\Debug\Obj\fr_timers.o</file>
             <file>$PROJ_DIR$\Debug\Obj\mbutils.xcl</file>
             <file>$PROJ_DIR$\..\..\..\iap\user\main.h</file>
-            <file>$PROJ_DIR$\Debug\Obj\at32f403a_407_board.o</file>
             <file>$PROJ_DIR$\Debug\Obj\croutine.o</file>
+            <file>$PROJ_DIR$\Debug\Obj\modbus_params.xcl</file>
             <file>$PROJ_DIR$\..\..\..\libs\thirdparty\freertos\include\portable.h</file>
-            <file>$PROJ_DIR$\Debug\Obj\at32f403a_407_bpr.o</file>
-            <file>$PROJ_DIR$\Debug\Obj\mux.o</file>
-            <file>$PROJ_DIR$\Debug\Obj\mbfunccoils.o</file>
-            <file>$PROJ_DIR$\..\..\..\iap\modules\modbus\modbus_params.h</file>
+            <file>$PROJ_DIR$\Debug\Obj\mbfuncfile.o</file>
             <file>$PROJ_DIR$\Debug\Obj\mb.xcl</file>
             <file>$PROJ_DIR$\..\..\..\libs\artery\drivers\inc\at32f403a_407_debug.h</file>
+            <file>$PROJ_DIR$\Debug\Obj\at32f403a_407_crm.xcl</file>
             <file>$PROJ_DIR$\Debug\Obj\at32f403a_407_adc.xcl</file>
+            <file>$TOOLKIT_DIR$\inc\c\DLib_Product_string.h</file>
+            <file>$PROJ_DIR$\..\..\..\iap\modules\io\mux.h</file>
+            <file>$PROJ_DIR$\Debug\Obj\mux.o</file>
+            <file>$PROJ_DIR$\..\..\..\libs\artery\drivers\inc\at32f403a_407_dac.h</file>
             <file>$PROJ_DIR$\Debug\Obj\at32f403a_407_can.xcl</file>
-            <file>$PROJ_DIR$\Debug\Obj\at32f403a_407_xmc.o</file>
-            <file>$PROJ_DIR$\..\..\..\libs\thirdparty\freertos\include\event_groups.h</file>
-            <file>$PROJ_DIR$\Debug\Obj\at32f403a_407_emac.xcl</file>
-            <file>$PROJ_DIR$\Debug\Obj\at32f403a_407_usb.o</file>
-            <file>$PROJ_DIR$\..\..\..\libs\artery\drivers\inc\at32f403a_407_adc.h</file>
-            <file>$PROJ_DIR$\Debug\Obj\port.xcl</file>
-            <file>$PROJ_DIR$\..\..\..\shared\utils\extended_sram.h</file>
-            <file>$PROJ_DIR$\Debug\Obj\at32f403a_407_wdt.o</file>
-            <file>$PROJ_DIR$\Debug\Obj\portserial.xcl</file>
-            <file>$PROJ_DIR$\..\..\..\shared\utils\at32f403a_407_board.h</file>
             <file>$PROJ_DIR$\..\..\..\libs\artery\drivers\inc\at32f403a_407_acc.h</file>
-            <file>$PROJ_DIR$\Debug\Obj\extended_sram.o</file>
-            <file>$PROJ_DIR$\Debug\Obj\at32f403a_407_tmr.xcl</file>
-            <file>$PROJ_DIR$\Debug\Obj\mbfuncfile.xcl</file>
-            <file>$PROJ_DIR$\..\..\..\libs\artery\drivers\inc\at32f403a_407_misc.h</file>
-            <file>$PROJ_DIR$\Debug\Obj\modbus_params.o</file>
             <file>$PROJ_DIR$\Debug\Obj\utility.o</file>
             <file>$PROJ_DIR$\..\..\..\shared\peripherals\inc\usart.h</file>
-            <file>$PROJ_DIR$\Debug\Obj\fr_timers.xcl</file>
-            <file>$PROJ_DIR$\Debug\Obj\at32f403a_407_int.o</file>
+            <file>$PROJ_DIR$\..\..\..\libs\thirdparty\freertos\include\queue.h</file>
+            <file>$PROJ_DIR$\Debug\Obj\port.xcl</file>
             <file>$PROJ_DIR$\Debug\Obj\mbcrc.xcl</file>
-            <file>$PROJ_DIR$\..\..\..\libs\thirdparty\freertos\include\mpu_wrappers.h</file>
-            <file>$PROJ_DIR$\..\..\..\iap\modules\io\io.h</file>
-            <file>$PROJ_DIR$\Debug\Obj\mb.o</file>
+            <file>$PROJ_DIR$\Debug\Obj\at32f403a_407_tmr.xcl</file>
+            <file>$PROJ_DIR$\..\..\..\libs\artery\drivers\inc\at32f403a_407_adc.h</file>
+            <file>$PROJ_DIR$\Debug\Obj\modbus_params.o</file>
             <file>$PROJ_DIR$\Debug\Obj\mbfuncother.o</file>
-            <file>$PROJ_DIR$\..\..\..\libs\thirdparty\freertos\include\queue.h</file>
+            <file>$PROJ_DIR$\..\..\..\libs\thirdparty\freertos\include\mpu_wrappers.h</file>
+            <file>$PROJ_DIR$\..\..\..\shared\utils\extended_sram.h</file>
+            <file>$PROJ_DIR$\Debug\Obj\portserial.xcl</file>
             <file>$PROJ_DIR$\Debug\Obj\event_groups.o</file>
             <file>$PROJ_DIR$\Debug\Obj\at32f403a_407_exint.xcl</file>
             <file>$PROJ_DIR$\Debug\Obj\mbfuncdisc.o</file>
-            <file>$TOOLKIT_DIR$\inc\c\stdint.h</file>
             <file>$PROJ_DIR$\..\..\..\libs\artery\system\at32f403a_407_clock.h</file>
-            <file>$PROJ_DIR$\Debug\Obj\at32f403a_407_gpio.o</file>
-            <file>$PROJ_DIR$\..\..\..\libs\artery\drivers\inc\at32f403a_407_rtc.h</file>
-            <file>$PROJ_DIR$\..\..\..\iap\modules\iap\iap.h</file>
-            <file>$PROJ_DIR$\Debug\Obj\at32f403a_407_misc.xcl</file>
-            <file>$PROJ_DIR$\Debug\Obj\system_at32f403a_407.xcl</file>
+            <file>$TOOLKIT_DIR$\inc\c\stdint.h</file>
+            <file>$PROJ_DIR$\..\..\..\libs\thirdparty\freertos\include\event_groups.h</file>
+            <file>$PROJ_DIR$\Debug\Obj\mbfuncfile.xcl</file>
+            <file>$PROJ_DIR$\..\..\..\libs\artery\drivers\inc\at32f403a_407_misc.h</file>
+            <file>$PROJ_DIR$\Debug\Obj\at32f403a_407_usb.o</file>
+            <file>$PROJ_DIR$\..\..\..\shared\utils\at32f403a_407_board.h</file>
+            <file>$PROJ_DIR$\..\..\..\iap\modules\io\io.h</file>
+            <file>$PROJ_DIR$\Debug\Obj\at32f403a_407_wdt.o</file>
+            <file>$PROJ_DIR$\Debug\Obj\at32f403a_407_int.o</file>
+            <file>$PROJ_DIR$\Debug\Obj\mb.o</file>
+            <file>$PROJ_DIR$\Debug\Obj\at32f403a_407_xmc.o</file>
+            <file>$PROJ_DIR$\Debug\Obj\at32f403a_407_emac.xcl</file>
+            <file>$PROJ_DIR$\Debug\Obj\extended_sram.o</file>
+            <file>$PROJ_DIR$\Debug\Obj\fr_timers.xcl</file>
             <file>$PROJ_DIR$\Debug\Obj\sys_hal.o</file>
-            <file>$TOOLKIT_DIR$\inc\c\DLib_Defaults.h</file>
-            <file>$PROJ_DIR$\Debug\Obj\at32f403a_407_crm.o</file>
-            <file>$PROJ_DIR$\Debug\Obj\utility.xcl</file>
-            <file>$TOOLKIT_DIR$\lib\m7M_tls.a</file>
-            <file>$PROJ_DIR$\Debug\Obj\mbascii.o</file>
+            <file>$PROJ_DIR$\Debug\Obj\at32f403a_407_adc.o</file>
+            <file>$PROJ_DIR$\..\..\..\libs\artery\drivers\inc\at32f403a_407_crm.h</file>
             <file>$PROJ_DIR$\Debug\Obj\at32f403a_407_debug.o</file>
-            <file>$TOOLKIT_DIR$\inc\c\ycheck.h</file>
-            <file>$TOOLKIT_DIR$\inc\c\ysizet.h</file>
-            <file>$PROJ_DIR$\..\..\..\libs\artery\cmsis\cm4\core_support\mpu_armv7.h</file>
-            <file>$PROJ_DIR$\Debug\List\iap.map</file>
-            <file>$PROJ_DIR$\Debug\Obj\mbrtu.xcl</file>
             <file>$PROJ_DIR$\Debug\Obj\tasks.xcl</file>
+            <file>$PROJ_DIR$\..\..\..\libs\artery\drivers\inc\at32f403a_407_spi.h</file>
+            <file>$PROJ_DIR$\..\..\..\iap\modules\settings\settings_api.h</file>
+            <file>$PROJ_DIR$\Debug\Obj\at32f403a_407_misc.o</file>
+            <file>$PROJ_DIR$\Debug\Obj\at32f403a_407_crm.o</file>
+            <file>$TOOLKIT_DIR$\inc\c\ycheck.h</file>
             <file>$PROJ_DIR$\Debug\Obj\queue.xcl</file>
-            <file>$PROJ_DIR$\Debug\Obj\modbus.o</file>
-            <file>$PROJ_DIR$\Debug\Obj\extended_sram.xcl</file>
             <file>$PROJ_DIR$\Debug\Obj\main.xcl</file>
-            <file>$PROJ_DIR$\Debug\Obj\iap.o</file>
-            <file>$PROJ_DIR$\..\..\..\libs\artery\drivers\inc\at32f403a_407_spi.h</file>
             <file>$PROJ_DIR$\Debug\Obj\at32f403a_407_wwdt.o</file>
+            <file>$TOOLKIT_DIR$\inc\c\ysizet.h</file>
+            <file>$PROJ_DIR$\Debug\Obj\at32f403a_407_misc.xcl</file>
+            <file>$PROJ_DIR$\Debug\Obj\utility.xcl</file>
             <file>$PROJ_DIR$\Debug\Obj\tasks.o</file>
-            <file>$PROJ_DIR$\..\..\..\iap\modules\settings\settings_api.h</file>
             <file>$PROJ_DIR$\Debug\Obj\at32f403a_407_usb.xcl</file>
-            <file>$PROJ_DIR$\..\..\..\libs\thirdparty\freertos\include\projdefs.h</file>
-            <file>$PROJ_DIR$\Debug\Obj\at32f403a_407_misc.o</file>
-            <file>$PROJ_DIR$\Debug\Obj\at32f403a_407_adc.o</file>
-            <file>$PROJ_DIR$\..\..\..\libs\artery\drivers\inc\at32f403a_407_crm.h</file>
-            <file>$PROJ_DIR$\Debug\Obj\at32f403a_407_xmc.xcl</file>
-            <file>$PROJ_DIR$\Debug\Obj\queue.o</file>
-            <file>$PROJ_DIR$\Debug\Obj\mbfuncholding.xcl</file>
-            <file>$TOOLKIT_DIR$\inc\c\iccarm_builtin.h</file>
-            <file>$PROJ_DIR$\..\..\..\libs\thirdparty\freertos\include\croutine.h</file>
-            <file>$PROJ_DIR$\Debug\Obj\at32f403a_407_can.o</file>
-            <file>$PROJ_DIR$\Debug\Obj\FreeRTOS-openocd.o</file>
-            <file>$PROJ_DIR$\..\..\..\libs\thirdparty\freertos\include\deprecated_definitions.h</file>
-            <file>$PROJ_DIR$\Debug\Obj\at32f403a_407_emac.o</file>
-            <file>$PROJ_DIR$\..\..\..\libs\artery\drivers\inc\at32f403a_407_gpio.h</file>
-            <file>$PROJ_DIR$\..\..\..\libs\artery\drivers\inc\at32f403a_407_wdt.h</file>
-            <file>$PROJ_DIR$\Debug\Obj\at32f403a_407_board.xcl</file>
-            <file>$PROJ_DIR$\Debug\Obj\system_at32f403a_407.o</file>
-            <file>$PROJ_DIR$\Debug\Obj\sys_hal.xcl</file>
-            <file>$PROJ_DIR$\Debug\Obj\at32f403a_407_clock.xcl</file>
-            <file>$PROJ_DIR$\Debug\Obj\sys_api.o</file>
-            <file>$PROJ_DIR$\..\..\..\libs\artery\drivers\inc\at32f403a_407_sdio.h</file>
-            <file>$PROJ_DIR$\Debug\Obj\main.o</file>
-            <file>$PROJ_DIR$\..\..\..\libs\artery\drivers\inc\at32f403a_407_wwdt.h</file>
+            <file>$PROJ_DIR$\Debug\Obj\at32f403a_407_gpio.o</file>
+            <file>$PROJ_DIR$\Debug\Obj\extended_sram.xcl</file>
+            <file>$PROJ_DIR$\Debug\Obj\system_at32f403a_407.xcl</file>
+            <file>$PROJ_DIR$\..\..\..\iap\modules\iap\iap.h</file>
+            <file>$TOOLKIT_DIR$\lib\m7M_tls.a</file>
+            <file>$PROJ_DIR$\..\..\..\libs\artery\drivers\inc\at32f403a_407_rtc.h</file>
+            <file>$PROJ_DIR$\Debug\Obj\mbascii.o</file>
+            <file>$PROJ_DIR$\Debug\Obj\mbrtu.xcl</file>
+            <file>$PROJ_DIR$\Debug\Obj\modbus.o</file>
+            <file>$PROJ_DIR$\Debug\Obj\iap.o</file>
+            <file>$PROJ_DIR$\..\..\..\libs\thirdparty\freertos\include\projdefs.h</file>
+            <file>$PROJ_DIR$\..\..\..\libs\artery\cmsis\cm4\core_support\mpu_armv7.h</file>
+            <file>$TOOLKIT_DIR$\inc\c\DLib_Defaults.h</file>
+            <file>$PROJ_DIR$\Debug\List\iap.map</file>
             <file>$PROJ_DIR$\..\..\..\libs\artery\drivers\inc\at32f403a_407_def.h</file>
-            <file>$PROJ_DIR$\..\..\..\shared\rtc\rtc.h</file>
+            <file>$PROJ_DIR$\..\..\..\libs\thirdparty\freertos\include\deprecated_definitions.h</file>
             <file>$PROJ_DIR$\Debug\Obj\at32f403a_407_i2c.o</file>
+            <file>$TOOLKIT_DIR$\inc\c\DLib_Product_stdlib.h</file>
+            <file>$TOOLKIT_DIR$\inc\c\DLib_Product.h</file>
+            <file>$PROJ_DIR$\Debug\Obj\mbfuncholding.xcl</file>
+            <file>$PROJ_DIR$\Debug\Obj\sys_api.o</file>
+            <file>$PROJ_DIR$\Debug\Obj\at32f403a_407_xmc.xcl</file>
+            <file>$PROJ_DIR$\Debug\Obj\FreeRTOS-openocd.o</file>
+            <file>$PROJ_DIR$\Debug\Obj\at32f403a_407_sdio.o</file>
+            <file>$PROJ_DIR$\Debug\Obj\at32f403a_407_board.xcl</file>
             <file>$PROJ_DIR$\Debug\Obj\at32f403a_407_crc.xcl</file>
-            <file>$PROJ_DIR$\Debug\Obj\tim_delay.xcl</file>
             <file>$PROJ_DIR$\Debug\Obj\at32f403a_407_usart.o</file>
-            <file>$PROJ_DIR$\Debug\Obj\at32f403a_407_int.xcl</file>
+            <file>$PROJ_DIR$\..\..\..\libs\thirdparty\freertos\include\croutine.h</file>
+            <file>$PROJ_DIR$\Debug\Obj\at32f403a_407_can.o</file>
+            <file>$PROJ_DIR$\Debug\Obj\at32f403a_407_clock.xcl</file>
             <file>$PROJ_DIR$\Debug\Obj\heap_4.o</file>
-            <file>$TOOLKIT_DIR$\inc\c\DLib_Product_stdlib.h</file>
             <file>$PROJ_DIR$\..\..\..\libs\artery\drivers\inc\at32f403a_407_i2c.h</file>
-            <file>$PROJ_DIR$\Debug\Obj\at32f403a_407_sdio.o</file>
-            <file>$TOOLKIT_DIR$\inc\c\DLib_Product.h</file>
             <file>$PROJ_DIR$\..\..\..\libs\artery\drivers\inc\at32f403a_407_emac.h</file>
+            <file>$PROJ_DIR$\..\..\..\libs\artery\drivers\inc\at32f403a_407_wdt.h</file>
+            <file>$PROJ_DIR$\Debug\Obj\system_at32f403a_407.o</file>
+            <file>$PROJ_DIR$\..\..\..\libs\artery\drivers\inc\at32f403a_407_wwdt.h</file>
+            <file>$TOOLKIT_DIR$\inc\c\iccarm_builtin.h</file>
+            <file>$PROJ_DIR$\Debug\Obj\main.o</file>
+            <file>$PROJ_DIR$\..\..\..\shared\rtc\rtc.h</file>
+            <file>$PROJ_DIR$\..\..\..\libs\artery\drivers\inc\at32f403a_407_gpio.h</file>
+            <file>$PROJ_DIR$\Debug\Obj\at32f403a_407_int.xcl</file>
+            <file>$PROJ_DIR$\Debug\Obj\at32f403a_407_emac.o</file>
+            <file>$PROJ_DIR$\Debug\Obj\tim_delay.xcl</file>
+            <file>$PROJ_DIR$\Debug\Obj\queue.o</file>
+            <file>$PROJ_DIR$\Debug\Obj\sys_hal.xcl</file>
+            <file>$PROJ_DIR$\..\..\..\libs\artery\drivers\inc\at32f403a_407_sdio.h</file>
+            <file>$PROJ_DIR$\..\..\..\libs\artery\drivers\inc\at32f403a_407_exint.h</file>
+            <file>$TOOLKIT_DIR$\lib\dl7M_tlf.a</file>
+            <file>$PROJ_DIR$\Debug\Obj\portother.xcl</file>
+            <file>$PROJ_DIR$\..\..\..\shared\wdt\wdt.h</file>
+            <file>$PROJ_DIR$\Debug\Obj\at32f403a_407_rtc.xcl</file>
+            <file>$PROJ_DIR$\Debug\Obj\porttimer.xcl</file>
+            <file>$TOOLKIT_DIR$\inc\c\stddef.h</file>
+            <file>$PROJ_DIR$\..\..\..\libs\artery\drivers\inc\at32f403a_407_xmc.h</file>
+            <file>$PROJ_DIR$\..\..\..\libs\artery\cmsis\cm4\core_support\cmsis_version.h</file>
             <file>$PROJ_DIR$\Debug\Obj\mbfuncholding.o</file>
             <file>$PROJ_DIR$\..\..\..\libs\artery\drivers\inc\at32f403a_407_crc.h</file>
-            <file>$PROJ_DIR$\..\..\..\shared\rtc\rtc.c</file>
-            <file>$PROJ_DIR$\..\..\..\shared\sys\sys_hal.c</file>
-            <file>$PROJ_DIR$\..\..\..\shared\freemodbus\port\port.h</file>
-            <file>$PROJ_DIR$\..\..\..\shared\freemodbus\include\mbfunc.h</file>
-            <file>$PROJ_DIR$\..\..\..\shared\freemodbus\include\mbproto.h</file>
-            <file>$PROJ_DIR$\..\..\..\shared\freemodbus\include\mbport.h</file>
-            <file>$PROJ_DIR$\..\..\..\shared\freemodbus\include\mbconfig.h</file>
-            <file>$PROJ_DIR$\..\..\..\shared\freemodbus\port\portserial.c</file>
-            <file>$PROJ_DIR$\..\..\..\shared\freemodbus\port\tim_delay.h</file>
-            <file>$PROJ_DIR$\..\..\..\shared\freemodbus\port\portother.c</file>
-            <file>$PROJ_DIR$\..\..\..\shared\freemodbus\mb.c</file>
-            <file>$PROJ_DIR$\..\..\..\shared\utils\at32f403a_407_board.c</file>
-            <file>$PROJ_DIR$\..\..\..\shared\freemodbus\port\portevent.c</file>
-            <file>$PROJ_DIR$\..\..\..\shared\utils\extended_sram.c</file>
-            <file>$PROJ_DIR$\..\..\..\shared\freemodbus\rtu\mbcrc.c</file>
-            <file>$PROJ_DIR$\..\..\..\shared\utils\utility.c</file>
-            <file>$PROJ_DIR$\..\..\..\shared\freemodbus\port\porttimer.c</file>
-            <file>$PROJ_DIR$\..\..\..\shared\freemodbus\include\mbutils.h</file>
-            <file>$PROJ_DIR$\..\..\..\shared\peripherals\src\common_gpio.c</file>
-            <file>$PROJ_DIR$\..\..\..\shared\model\model_cfg.h</file>
-            <file>$PROJ_DIR$\..\..\..\shared\wdt\wdt.c</file>
-            <file>$PROJ_DIR$\Debug\Obj\at32f403a_407_spi.xcl</file>
-            <file>$PROJ_DIR$\Debug\Obj\porttimer.xcl</file>
-            <file>$PROJ_DIR$\..\..\..\shared\sys\sys_api.c</file>
-            <file>$PROJ_DIR$\Debug\Obj\at32f403a_407_debug.xcl</file>
-            <file>$PROJ_DIR$\..\..\..\libs\thirdparty\freertos\include\semphr.h</file>
-            <file>$PROJ_DIR$\..\..\..\shared\freemodbus\include\mbframe.h</file>
-            <file>$PROJ_DIR$\Debug\Obj\settings_api.o</file>
-            <file>$PROJ_DIR$\Debug\Obj\at32f403a_407_wwdt.xcl</file>
-            <file>$PROJ_DIR$\Debug\Obj\portasm.o</file>
-            <file>$PROJ_DIR$\..\..\..\shared\freemodbus\port\tim_delay.c</file>
-            <file>$PROJ_DIR$\..\..\..\shared\freemodbus\rtu\mbrtu.c</file>
-            <file>$PROJ_DIR$\..\..\..\shared\freemodbus\ascii\mbascii.c</file>
-            <file>$PROJ_DIR$\..\..\..\shared\freemodbus\functions\mbfuncholding.c</file>
-            <file>$PROJ_DIR$\..\..\..\libs\thirdparty\freertos\croutine.c</file>
-            <file>$PROJ_DIR$\..\..\..\shared\freemodbus\functions\mbfuncinput.c</file>
-            <file>$PROJ_DIR$\..\..\..\shared\freemodbus\functions\mbfuncother.c</file>
-            <file>$PROJ_DIR$\..\..\..\libs\artery\drivers\src\at32f403a_407_wdt.c</file>
-            <file>$PROJ_DIR$\..\..\..\shared\freemodbus\functions\mbutils.c</file>
-            <file>$PROJ_DIR$\..\..\..\libs\thirdparty\freertos\portable\IAR\ARM_CM4F\port.c</file>
-            <file>$PROJ_DIR$\..\..\..\libs\thirdparty\freertos\queue.c</file>
-            <file>$PROJ_DIR$\..\..\..\libs\artery\system\at32f403a_407_conf.h</file>
-            <file>$PROJ_DIR$\..\..\..\shared\board\common.h</file>
-            <file>$PROJ_DIR$\..\..\..\shared\freemodbus\include\mb.h</file>
-            <file>$PROJ_DIR$\..\..\..\libs\artery\system\at32f403a_407_clock.c</file>
-            <file>$PROJ_DIR$\..\..\..\libs\artery\drivers\src\at32f403a_407_usart.c</file>
-            <file>$PROJ_DIR$\..\..\..\libs\thirdparty\freertos\tasks.c</file>
-            <file>$PROJ_DIR$\..\..\..\shared\freemodbus\functions\mbfuncdiag.c</file>
-            <file>$PROJ_DIR$\..\..\..\libs\thirdparty\freertos\fr_timers.c</file>
-            <file>$PROJ_DIR$\..\..\..\libs\thirdparty\freertos\portable\memmang\heap_4.c</file>
-            <file>$PROJ_DIR$\..\..\..\libs\thirdparty\freertos\list.c</file>
-            <file>$PROJ_DIR$\..\..\..\shared\freemodbus\functions\mbfuncdisc.c</file>
-            <file>$PROJ_DIR$\..\..\..\libs\thirdparty\freertos\portable\IAR\ARM_CM4F\portasm.s</file>
-            <file>$PROJ_DIR$\..\..\..\shared\freemodbus\functions\mbfuncfile.c</file>
-            <file>$PROJ_DIR$\..\..\..\libs\thirdparty\freertos\FreeRTOS-openocd.c</file>
-            <file>$PROJ_DIR$\..\..\..\libs\artery\drivers\src\at32f403a_407_xmc.c</file>
-            <file>$PROJ_DIR$\..\..\..\shared\freemodbus\functions\mbfunccoils.c</file>
-            <file>$PROJ_DIR$\..\..\..\libs\artery\drivers\src\at32f403a_407_tmr.c</file>
-            <file>$PROJ_DIR$\..\..\..\libs\artery\drivers\src\at32f403a_407_usb.c</file>
-            <file>$PROJ_DIR$\..\..\..\libs\artery\drivers\src\at32f403a_407_wwdt.c</file>
-            <file>$PROJ_DIR$\..\..\..\libs\thirdparty\freertos\portable\IAR\ARM_CM4F\portmacro.h</file>
-            <file>$PROJ_DIR$\..\..\..\libs\thirdparty\freertos\event_groups.c</file>
-            <file>$PROJ_DIR$\..\..\..\shared\board\common_config.h</file>
-            <file>$TOOLKIT_DIR$\inc\c\intrinsics.h</file>
-            <file>$PROJ_DIR$\Debug\Obj\event_groups.xcl</file>
             <file>$PROJ_DIR$\..\..\..\shared\peripherals\inc\common_gpio.h</file>
-            <file>$PROJ_DIR$\Debug\Obj\settings_api.xcl</file>
+            <file>$PROJ_DIR$\Debug\Obj\portasm.o</file>
             <file>$PROJ_DIR$\..\..\..\libs\artery\drivers\inc\at32f403a_407_pwc.h</file>
-            <file>$PROJ_DIR$\Debug\Obj\at32f403a_407_rtc.xcl</file>
-            <file>$PROJ_DIR$\Debug\Obj\at32f403a_407_flash.o</file>
-            <file>$PROJ_DIR$\Debug\Obj\portother.xcl</file>
-            <file>$PROJ_DIR$\..\..\..\libs\artery\drivers\inc\at32f403a_407_exint.h</file>
             <file>$TOOLKIT_DIR$\lib\shb_l.a</file>
-            <file>$PROJ_DIR$\Debug\Obj\common_gpio.o</file>
-            <file>$TOOLKIT_DIR$\inc\c\stddef.h</file>
-            <file>$PROJ_DIR$\..\..\..\shared\wdt\wdt.h</file>
-            <file>$PROJ_DIR$\..\..\..\libs\artery\drivers\inc\at32f403a_407_xmc.h</file>
-            <file>$PROJ_DIR$\..\..\..\libs\artery\cmsis\cm4\core_support\cmsis_version.h</file>
+            <file>$PROJ_DIR$\Debug\Obj\at32f403a_407_flash.o</file>
             <file>$PROJ_DIR$\Debug\Obj\mux.xcl</file>
-            <file>$PROJ_DIR$\Debug\Obj\at32f403a_407_exint.o</file>
             <file>$PROJ_DIR$\Debug\Obj\mbfuncinput.o</file>
+            <file>$PROJ_DIR$\Debug\Obj\at32f403a_407_exint.o</file>
             <file>$PROJ_DIR$\Debug\Obj\at32f403a_407_wdt.xcl</file>
+            <file>$PROJ_DIR$\Debug\Obj\at32f403a_407_wwdt.xcl</file>
+            <file>$PROJ_DIR$\Debug\Obj\at32f403a_407_debug.xcl</file>
+            <file>$PROJ_DIR$\Debug\Obj\settings_api.xcl</file>
+            <file>$PROJ_DIR$\Debug\Obj\settings_api.o</file>
+            <file>$PROJ_DIR$\Debug\Obj\common_gpio.o</file>
             <file>$TOOLKIT_DIR$\inc\c\iar_intrinsics_common.h</file>
             <file>$PROJ_DIR$\Debug\Obj\at32f403a_407_bpr.xcl</file>
+            <file>$TOOLKIT_DIR$\inc\c\intrinsics.h</file>
+            <file>$PROJ_DIR$\Debug\Obj\at32f403a_407_spi.xcl</file>
             <file>$PROJ_DIR$\..\..\..\libs\artery\cmsis\cm4\core_support\cmsis_iccarm.h</file>
-            <file>$TOOLKIT_DIR$\lib\dl7M_tlf.a</file>
-            <file>$PROJ_DIR$\Debug\Obj\mbrtu.o</file>
-            <file>$PROJ_DIR$\Debug\Obj\sys_api.xcl</file>
-            <file>$PROJ_DIR$\Debug\Obj\mbfuncdiag.o</file>
-            <file>$PROJ_DIR$\..\..\..\iap\user\at32f403a_407_int.h</file>
-            <file>$PROJ_DIR$\Debug\Obj\mbfuncother.xcl</file>
-            <file>$PROJ_DIR$\Debug\Obj\portserial.o</file>
-            <file>$PROJ_DIR$\Debug\Obj\porttimer.o</file>
+            <file>$PROJ_DIR$\..\..\..\libs\thirdparty\freertos\include\semphr.h</file>
+            <file>$PROJ_DIR$\Debug\Obj\event_groups.xcl</file>
             <file>$PROJ_DIR$\..\..\..\shared\sys\sys_hal.h</file>
-            <file>$PROJ_DIR$\Debug\Obj\at32f403a_407_pwc.o</file>
             <file>$PROJ_DIR$\Debug\Obj\wdt.xcl</file>
-            <file>$PROJ_DIR$\Debug\Obj\at32f403a_407_usart.xcl</file>
-            <file>$PROJ_DIR$\Debug\Obj\at32f403a_407_dac.o</file>
-            <file>$TOOLKIT_DIR$\inc\c\stdbool.h</file>
-            <file>$PROJ_DIR$\..\..\..\shared\freemodbus\rtu\mbrtu.h</file>
-            <file>$PROJ_DIR$\Debug\Obj\iap.xcl</file>
-            <file>$TOOLKIT_DIR$\inc\c\DLib_Config_Full.h</file>
-            <file>$PROJ_DIR$\..\..\..\shared\freemodbus\ascii\mbascii.h</file>
-            <file>$PROJ_DIR$\Debug\Obj\common_gpio.xcl</file>
-            <file>$PROJ_DIR$\Debug\Obj\heap_4.xcl</file>
-            <file>$PROJ_DIR$\Debug\Obj\mbfunccoils.xcl</file>
-            <file>$PROJ_DIR$\..\..\..\libs\thirdparty\freertos\include\list.h</file>
-            <file>$PROJ_DIR$\Debug\Obj\rtc.xcl</file>
             <file>$PROJ_DIR$\Debug\Obj\portevent.o</file>
+            <file>$PROJ_DIR$\Debug\Obj\mbfuncdiag.o</file>
+            <file>$PROJ_DIR$\Debug\Obj\at32f403a_407_pwc.o</file>
+            <file>$PROJ_DIR$\..\..\..\iap\user\at32f403a_407_int.h</file>
+            <file>$PROJ_DIR$\Debug\Obj\mbfunccoils.xcl</file>
             <file>$PROJ_DIR$\Debug\Obj\at32f403a_407_i2c.xcl</file>
-            <file>$PROJ_DIR$\..\..\..\libs\artery\drivers\inc\at32f403a_407_can.h</file>
-            <file>$PROJ_DIR$\..\..\..\libs\thirdparty\freertos\include\FreeRTOS.h</file>
             <file>$PROJ_DIR$\Debug\Obj\at32f403a_407_flash.xcl</file>
             <file>$PROJ_DIR$\Debug\Obj\mbascii.xcl</file>
+            <file>$PROJ_DIR$\Debug\Obj\rtc.xcl</file>
             <file>$PROJ_DIR$\..\..\..\libs\artery\drivers\inc\at32f403a_407_bpr.h</file>
-            <file>$PROJ_DIR$\Debug\Obj\tim_delay.o</file>
+            <file>$PROJ_DIR$\..\..\..\shared\freemodbus\ascii\mbascii.h</file>
+            <file>$PROJ_DIR$\..\..\..\libs\thirdparty\freertos\include\FreeRTOS.h</file>
+            <file>$PROJ_DIR$\Debug\Obj\sys_api.xcl</file>
+            <file>$PROJ_DIR$\Debug\Obj\portserial.o</file>
+            <file>$PROJ_DIR$\Debug\Obj\heap_4.xcl</file>
             <file>$PROJ_DIR$\Debug\Obj\at32f403a_407_gpio.xcl</file>
             <file>$PROJ_DIR$\..\..\..\libs\artery\drivers\inc\at32f403a_407_flash.h</file>
-            <file>$PROJ_DIR$\Debug\Obj\mbfuncinput.xcl</file>
+            <file>$PROJ_DIR$\Debug\Obj\at32f403a_407_dac.o</file>
+            <file>$TOOLKIT_DIR$\inc\c\DLib_Config_Full.h</file>
+            <file>$PROJ_DIR$\..\..\..\libs\thirdparty\freertos\include\list.h</file>
+            <file>$PROJ_DIR$\Debug\Obj\iap.xcl</file>
+            <file>$PROJ_DIR$\..\..\..\libs\artery\drivers\inc\at32f403a_407_can.h</file>
+            <file>$PROJ_DIR$\Debug\Obj\tim_delay.o</file>
+            <file>$PROJ_DIR$\Debug\Obj\mbfuncother.xcl</file>
+            <file>$PROJ_DIR$\Debug\Obj\porttimer.o</file>
+            <file>$PROJ_DIR$\..\..\..\shared\freemodbus\rtu\mbrtu.h</file>
+            <file>$PROJ_DIR$\Debug\Obj\mbrtu.o</file>
+            <file>$TOOLKIT_DIR$\inc\c\stdbool.h</file>
+            <file>$PROJ_DIR$\Debug\Obj\at32f403a_407_usart.xcl</file>
+            <file>$PROJ_DIR$\Debug\Obj\common_gpio.xcl</file>
+            <file>$PROJ_DIR$\..\..\..\libs\artery\cmsis\cm4\core_support\cmsis_compiler.h</file>
             <file>$PROJ_DIR$\..\..\..\libs\artery\drivers\inc\at32f403a_407_usart.h</file>
+            <file>$PROJ_DIR$\..\..\..\libs\thirdparty\freertos\include\StackMacros.h</file>
+            <file>$PROJ_DIR$\Debug\Obj\list.xcl</file>
+            <file>$PROJ_DIR$\Debug\Obj\mbfuncinput.xcl</file>
             <file>$PROJ_DIR$\Debug\Obj\mbcrc.o</file>
             <file>$TOOLKIT_DIR$\inc\c\stdio.h</file>
-            <file>$PROJ_DIR$\..\..\..\libs\thirdparty\freertos\include\StackMacros.h</file>
             <file>$PROJ_DIR$\Debug\Obj\startup_at32f403a_407.o</file>
-            <file>$PROJ_DIR$\Debug\Obj\list.xcl</file>
-            <file>$PROJ_DIR$\..\..\..\libs\artery\cmsis\cm4\core_support\cmsis_compiler.h</file>
         </outputs>
         <file>
             <name>[ROOT_NODE]</name>
             <outputs>
                 <tool>
                     <name>ILINK</name>
-                    <file> 137 63</file>
+                    <file> 209 126</file>
                 </tool>
             </outputs>
         </file>
         <file>
-            <name>$PROJ_DIR$\..\..\..\iap\modules\settings\settings_api.c</name>
+            <name>$PROJ_DIR$\..\..\..\libs\artery\drivers\src\at32f403a_407_acc.c</name>
             <outputs>
                 <tool>
                     <name>ICCARM</name>
-                    <file> 215</file>
+                    <file> 111</file>
                 </tool>
                 <tool>
                     <name>BICOMP</name>
-                    <file> 254</file>
+                    <file> 99</file>
                 </tool>
             </outputs>
             <inputs>
                 <tool>
                     <name>ICCARM</name>
-                    <file> 5 65 120 134 38 128 289 184 265 313 272 157 136 60 173 229 153 56 123 302 163 182 307 255 298 95 71 145 52 88 305 187 172 164 259 170 264 101 105 69 185 148 286 108 299 262 135 7 150 82 161 248 251 270 112 213 116 42 231 190 51 294 193 192 250 230 48 66 49 181 309</file>
+                    <file> 37 180 5 127 164 187 114 208 294 214 250 306 271 232 207 96 210 94 201 285 235 227 307 255 297 154 145 183 107 139 292 252 231 229 242 241 249 147 167 129 228</file>
                 </tool>
             </inputs>
         </file>
         <file>
-            <name>$PROJ_DIR$\..\..\..\libs\artery\drivers\src\at32f403a_407_exint.c</name>
+            <name>$PROJ_DIR$\..\..\..\libs\artery\drivers\src\at32f403a_407_debug.c</name>
             <outputs>
                 <tool>
                     <name>ICCARM</name>
-                    <file> 267</file>
+                    <file> 181</file>
                 </tool>
                 <tool>
                     <name>BICOMP</name>
-                    <file> 118</file>
+                    <file> 263</file>
                 </tool>
             </outputs>
             <inputs>
                 <tool>
                     <name>ICCARM</name>
-                    <file> 229 153 5 65 120 134 38 128 289 184 265 313 272 157 136 60 173 56 123 302 163 182 307 255 298 95 71 145 52 88 305 187 172 164 259 170 264 101 105 69 185</file>
+                    <file> 37 180 5 127 164 187 114 208 294 214 250 306 271 232 207 96 210 94 201 285 235 227 307 255 297 154 145 183 107 139 292 252 231 229 242 241 249 147 167 129 228</file>
                 </tool>
             </inputs>
         </file>
         <file>
-            <name>$PROJ_DIR$\..\..\..\libs\artery\cmsis\cm4\device_support\startup\iar\startup_at32f403a_407.s</name>
-            <outputs>
-                <tool>
-                    <name>AARM</name>
-                    <file> 311</file>
-                </tool>
-            </outputs>
-        </file>
-        <file>
-            <name>$PROJ_DIR$\..\..\..\libs\artery\drivers\src\at32f403a_407_crm.c</name>
+            <name>$PROJ_DIR$\..\..\..\libs\artery\drivers\src\at32f403a_407_dma.c</name>
             <outputs>
                 <tool>
                     <name>ICCARM</name>
-                    <file> 129</file>
+                    <file> 100</file>
                 </tool>
                 <tool>
                     <name>BICOMP</name>
-                    <file> 64</file>
+                    <file> 108</file>
                 </tool>
             </outputs>
             <inputs>
                 <tool>
                     <name>ICCARM</name>
-                    <file> 229 153 5 65 120 134 38 128 289 184 265 313 272 157 136 60 173 56 123 302 163 182 307 255 298 95 71 145 52 88 305 187 172 164 259 170 264 101 105 69 185</file>
+                    <file> 37 180 5 127 164 187 114 208 294 214 250 306 271 232 207 96 210 94 201 285 235 227 307 255 297 154 145 183 107 139 292 252 231 229 242 241 249 147 167 129 228</file>
                 </tool>
             </inputs>
         </file>
         <file>
-            <name>$PROJ_DIR$\..\..\..\libs\artery\drivers\src\at32f403a_407_emac.c</name>
+            <name>$PROJ_DIR$\..\..\..\libs\artery\drivers\src\at32f403a_407_dac.c</name>
             <outputs>
                 <tool>
                     <name>ICCARM</name>
-                    <file> 162</file>
+                    <file> 293</file>
                 </tool>
                 <tool>
                     <name>BICOMP</name>
-                    <file> 93</file>
+                    <file> 103</file>
                 </tool>
             </outputs>
             <inputs>
                 <tool>
                     <name>ICCARM</name>
-                    <file> 229 153 5 65 120 134 38 128 289 184 265 313 272 157 136 60 173 56 123 302 163 182 307 255 298 95 71 145 52 88 305 187 172 164 259 170 264 101 105 69 185</file>
+                    <file> 37 180 5 127 164 187 114 208 294 214 250 306 271 232 207 96 210 94 201 285 235 227 307 255 297 154 145 183 107 139 292 252 231 229 242 241 249 147 167 129 228</file>
                 </tool>
             </inputs>
         </file>
         <file>
-            <name>$PROJ_DIR$\..\..\..\libs\artery\drivers\src\at32f403a_407_gpio.c</name>
+            <name>$PROJ_DIR$\..\..\..\libs\artery\drivers\src\at32f403a_407_emac.c</name>
             <outputs>
                 <tool>
                     <name>ICCARM</name>
-                    <file> 122</file>
+                    <file> 237</file>
                 </tool>
                 <tool>
                     <name>BICOMP</name>
-                    <file> 304</file>
+                    <file> 175</file>
                 </tool>
             </outputs>
             <inputs>
                 <tool>
                     <name>ICCARM</name>
-                    <file> 229 153 5 65 120 134 38 128 289 184 265 313 272 157 136 60 173 56 123 302 163 182 307 255 298 95 71 145 52 88 305 187 172 164 259 170 264 101 105 69 185</file>
+                    <file> 37 180 5 127 164 187 114 208 294 214 250 306 271 232 207 96 210 94 201 285 235 227 307 255 297 154 145 183 107 139 292 252 231 229 242 241 249 147 167 129 228</file>
                 </tool>
             </inputs>
         </file>
         <file>
-            <name>$PROJ_DIR$\..\..\..\libs\artery\drivers\src\at32f403a_407_bpr.c</name>
+            <name>$PROJ_DIR$\..\..\..\iap\user\system_at32f403a_407.c</name>
             <outputs>
                 <tool>
                     <name>ICCARM</name>
-                    <file> 83</file>
+                    <file> 230</file>
                 </tool>
                 <tool>
                     <name>BICOMP</name>
-                    <file> 271</file>
+                    <file> 198</file>
                 </tool>
             </outputs>
             <inputs>
                 <tool>
                     <name>ICCARM</name>
-                    <file> 229 153 5 65 120 134 38 128 289 184 265 313 272 157 136 60 173 56 123 302 163 182 307 255 298 95 71 145 52 88 305 187 172 164 259 170 264 101 105 69 185</file>
+                    <file> 5 127 164 187 114 208 294 214 250 306 271 232 207 96 210 37 180 94 201 285 235 227 307 255 297 154 145 183 107 139 292 252 231 229 242 241 249 147 167 129 228</file>
                 </tool>
             </inputs>
         </file>
         <file>
-            <name>$PROJ_DIR$\..\..\..\libs\artery\drivers\src\at32f403a_407_misc.c</name>
+            <name>$PROJ_DIR$\..\..\..\iap\modules\iap\iap.c</name>
             <outputs>
                 <tool>
                     <name>ICCARM</name>
-                    <file> 151</file>
+                    <file> 205</file>
                 </tool>
                 <tool>
                     <name>BICOMP</name>
-                    <file> 125</file>
+                    <file> 296</file>
                 </tool>
             </outputs>
             <inputs>
                 <tool>
                     <name>ICCARM</name>
-                    <file> 229 153 5 65 120 134 38 128 289 184 265 313 272 157 136 60 173 56 123 302 163 182 307 255 298 95 71 145 52 88 305 187 172 164 259 170 264 101 105 69 185</file>
+                    <file> 5 127 164 187 114 208 294 214 250 306 271 232 207 96 210 37 180 94 201 285 235 227 307 255 297 154 145 183 107 139 292 252 231 229 242 241 249 147 167 129 228 199 184 303 149 287 248 191 16 206 136 211 50 269 267 157 272 150 116 66 53 104 295 78 81 29 130 165 301 69 312 88 142</file>
                 </tool>
             </inputs>
         </file>
         <file>
-            <name>$PROJ_DIR$\..\..\..\libs\artery\drivers\src\at32f403a_407_pwc.c</name>
+            <name>$PROJ_DIR$\..\..\..\iap\modules\io\mux.c</name>
             <outputs>
                 <tool>
                     <name>ICCARM</name>
-                    <file> 282</file>
+                    <file> 144</file>
                 </tool>
                 <tool>
                     <name>BICOMP</name>
-                    <file> 33</file>
+                    <file> 258</file>
                 </tool>
             </outputs>
             <inputs>
                 <tool>
                     <name>ICCARM</name>
-                    <file> 229 153 5 65 120 134 38 128 289 184 265 313 272 157 136 60 173 56 123 302 163 182 307 255 298 95 71 145 52 88 305 187 172 164 259 170 264 101 105 69 185</file>
+                    <file> 5 127 164 187 114 208 294 214 250 306 271 232 207 96 210 37 180 94 201 285 235 227 307 255 297 154 145 183 107 139 292 252 231 229 242 241 249 147 167 129 228 143 303 287 248 191 16 206 136 211 50 269 267 157 104 295</file>
                 </tool>
             </inputs>
         </file>
         <file>
-            <name>$PROJ_DIR$\..\..\..\libs\artery\drivers\src\at32f403a_407_crc.c</name>
+            <name>$PROJ_DIR$\..\..\..\iap\modules\modbus\modbus.c</name>
             <outputs>
                 <tool>
                     <name>ICCARM</name>
-                    <file> 75</file>
+                    <file> 204</file>
                 </tool>
                 <tool>
                     <name>BICOMP</name>
-                    <file> 176</file>
+                    <file> 97</file>
                 </tool>
             </outputs>
             <inputs>
                 <tool>
                     <name>ICCARM</name>
-                    <file> 229 153 5 65 120 134 38 128 289 184 265 313 272 157 136 60 173 56 123 302 163 182 307 255 298 95 71 145 52 88 305 187 172 164 259 170 264 101 105 69 185</file>
+                    <file> 5 127 164 187 114 208 294 214 250 306 271 232 207 96 210 37 180 94 201 285 235 227 307 255 297 154 145 183 107 139 292 252 231 229 242 241 249 147 167 129 228 29 115 123 66 53 287 248 191 16 206 136 211 50 269 267 157 104 295 78 81 303 301 83 184 149 272 150 116 199 253 130 312 88 142</file>
                 </tool>
             </inputs>
         </file>
         <file>
-            <name>$PROJ_DIR$\..\..\..\libs\artery\drivers\src\at32f403a_407_adc.c</name>
+            <name>$PROJ_DIR$\..\..\..\iap\user\main.c</name>
             <outputs>
                 <tool>
                     <name>ICCARM</name>
-                    <file> 152</file>
+                    <file> 233</file>
                 </tool>
                 <tool>
                     <name>BICOMP</name>
-                    <file> 89</file>
+                    <file> 189</file>
                 </tool>
             </outputs>
             <inputs>
                 <tool>
                     <name>ICCARM</name>
-                    <file> 229 153 5 65 120 134 38 128 289 184 265 313 272 157 136 60 173 56 123 302 163 182 307 255 298 95 71 145 52 88 305 187 172 164 259 170 264 101 105 69 185</file>
+                    <file> 133 5 127 164 187 114 208 294 214 250 306 271 232 207 96 210 37 180 94 201 285 235 227 307 255 297 154 145 183 107 139 292 252 231 229 242 241 249 147 167 129 228 169 312 191 163 29 287 248 16 206 136 211 50 269 267 157 104 295 150 272 115 253 303 184 149 116 66 53 78 81 143 88 142</file>
                 </tool>
             </inputs>
         </file>
         <file>
-            <name>$PROJ_DIR$\..\..\..\libs\artery\drivers\src\at32f403a_407_dac.c</name>
+            <name>$PROJ_DIR$\..\..\..\libs\artery\cmsis\cm4\device_support\startup\iar\startup_at32f403a_407.s</name>
+            <outputs>
+                <tool>
+                    <name>AARM</name>
+                    <file> 313</file>
+                </tool>
+            </outputs>
+        </file>
+        <file>
+            <name>$PROJ_DIR$\..\..\..\iap\user\at32f403a_407_int.c</name>
             <outputs>
                 <tool>
                     <name>ICCARM</name>
-                    <file> 285</file>
+                    <file> 172</file>
                 </tool>
                 <tool>
                     <name>BICOMP</name>
-                    <file> 47</file>
+                    <file> 236</file>
                 </tool>
             </outputs>
             <inputs>
                 <tool>
                     <name>ICCARM</name>
-                    <file> 229 153 5 65 120 134 38 128 289 184 265 313 272 157 136 60 173 56 123 302 163 182 307 255 298 95 71 145 52 88 305 187 172 164 259 170 264 101 105 69 185</file>
+                    <file> 279 5 127 164 187 114 208 294 214 250 306 271 232 207 96 210 37 180 94 201 285 235 227 307 255 297 154 145 183 107 139 292 252 231 229 242 241 249 147 167 129 228</file>
                 </tool>
             </inputs>
         </file>
         <file>
-            <name>$PROJ_DIR$\..\..\..\libs\artery\drivers\src\at32f403a_407_rtc.c</name>
+            <name>$PROJ_DIR$\..\..\..\libs\artery\drivers\src\at32f403a_407_adc.c</name>
             <outputs>
                 <tool>
                     <name>ICCARM</name>
-                    <file> 31</file>
+                    <file> 179</file>
                 </tool>
                 <tool>
                     <name>BICOMP</name>
-                    <file> 256</file>
+                    <file> 141</file>
                 </tool>
             </outputs>
             <inputs>
                 <tool>
                     <name>ICCARM</name>
-                    <file> 229 153 5 65 120 134 38 128 289 184 265 313 272 157 136 60 173 56 123 302 163 182 307 255 298 95 71 145 52 88 305 187 172 164 259 170 264 101 105 69 185</file>
+                    <file> 37 180 5 127 164 187 114 208 294 214 250 306 271 232 207 96 210 94 201 285 235 227 307 255 297 154 145 183 107 139 292 252 231 229 242 241 249 147 167 129 228</file>
                 </tool>
             </inputs>
         </file>
         <file>
-            <name>$PROJ_DIR$\..\..\..\libs\artery\drivers\src\at32f403a_407_sdio.c</name>
+            <name>$PROJ_DIR$\..\..\..\iap\modules\settings\settings_api.c</name>
             <outputs>
                 <tool>
                     <name>ICCARM</name>
-                    <file> 183</file>
+                    <file> 265</file>
                 </tool>
                 <tool>
                     <name>BICOMP</name>
-                    <file> 45</file>
+                    <file> 264</file>
                 </tool>
             </outputs>
             <inputs>
                 <tool>
                     <name>ICCARM</name>
-                    <file> 229 153 5 65 120 134 38 128 289 184 265 313 272 157 136 60 173 56 123 302 163 182 307 255 298 95 71 145 52 88 305 187 172 164 259 170 264 101 105 69 185</file>
+                    <file> 5 127 164 187 114 208 294 214 250 306 271 232 207 96 210 37 180 94 201 285 235 227 307 255 297 154 145 183 107 139 292 252 231 229 242 241 249 147 167 129 228 184 303 149 287 248 191 16 206 136 211 50 269 267 157 272 150 116 66 53 104 295 78 81 29 21 88 142 102 213 312</file>
                 </tool>
             </inputs>
         </file>
         <file>
-            <name>$PROJ_DIR$\..\..\..\libs\artery\drivers\src\at32f403a_407_spi.c</name>
+            <name>$PROJ_DIR$\..\..\..\libs\artery\drivers\src\at32f403a_407_crc.c</name>
             <outputs>
                 <tool>
                     <name>ICCARM</name>
-                    <file> 57</file>
+                    <file> 122</file>
                 </tool>
                 <tool>
                     <name>BICOMP</name>
-                    <file> 209</file>
+                    <file> 221</file>
                 </tool>
             </outputs>
             <inputs>
                 <tool>
                     <name>ICCARM</name>
-                    <file> 229 153 5 65 120 134 38 128 289 184 265 313 272 157 136 60 173 56 123 302 163 182 307 255 298 95 71 145 52 88 305 187 172 164 259 170 264 101 105 69 185</file>
+                    <file> 37 180 5 127 164 187 114 208 294 214 250 306 271 232 207 96 210 94 201 285 235 227 307 255 297 154 145 183 107 139 292 252 231 229 242 241 249 147 167 129 228</file>
                 </tool>
             </inputs>
         </file>
         <file>
-            <name>$PROJ_DIR$\..\..\..\libs\artery\drivers\src\at32f403a_407_dma.c</name>
+            <name>$PROJ_DIR$\..\..\..\libs\artery\drivers\src\at32f403a_407_bpr.c</name>
             <outputs>
                 <tool>
                     <name>ICCARM</name>
-                    <file> 59</file>
+                    <file> 118</file>
                 </tool>
                 <tool>
                     <name>BICOMP</name>
-                    <file> 58</file>
+                    <file> 268</file>
                 </tool>
             </outputs>
             <inputs>
                 <tool>
                     <name>ICCARM</name>
-                    <file> 229 153 5 65 120 134 38 128 289 184 265 313 272 157 136 60 173 56 123 302 163 182 307 255 298 95 71 145 52 88 305 187 172 164 259 170 264 101 105 69 185</file>
+                    <file> 37 180 5 127 164 187 114 208 294 214 250 306 271 232 207 96 210 94 201 285 235 227 307 255 297 154 145 183 107 139 292 252 231 229 242 241 249 147 167 129 228</file>
                 </tool>
             </inputs>
         </file>
         <file>
-            <name>$PROJ_DIR$\..\..\..\iap\user\main.c</name>
+            <name>$PROJ_DIR$\..\..\..\libs\artery\drivers\src\at32f403a_407_crm.c</name>
             <outputs>
                 <tool>
                     <name>ICCARM</name>
-                    <file> 171</file>
+                    <file> 186</file>
                 </tool>
                 <tool>
                     <name>BICOMP</name>
-                    <file> 143</file>
+                    <file> 140</file>
                 </tool>
             </outputs>
             <inputs>
                 <tool>
                     <name>ICCARM</name>
-                    <file> 79 5 65 120 134 38 128 289 184 265 313 272 157 136 60 173 229 153 56 123 302 163 182 307 255 298 95 71 145 52 88 305 187 172 164 259 170 264 101 105 69 185 100 309 135 121 250 299 262 7 150 82 161 248 251 270 112 51 294 116 213 39 253 286 148 108 42 231 190 193 192 76 48 66</file>
+                    <file> 37 180 5 127 164 187 114 208 294 214 250 306 271 232 207 96 210 94 201 285 235 227 307 255 297 154 145 183 107 139 292 252 231 229 242 241 249 147 167 129 228</file>
                 </tool>
             </inputs>
         </file>
         <file>
-            <name>$PROJ_DIR$\..\..\..\libs\artery\drivers\src\at32f403a_407_i2c.c</name>
+            <name>$PROJ_DIR$\..\..\..\iap\modules\modbus\modbus_params.c</name>
             <outputs>
                 <tool>
                     <name>ICCARM</name>
-                    <file> 175</file>
+                    <file> 155</file>
                 </tool>
                 <tool>
                     <name>BICOMP</name>
-                    <file> 297</file>
+                    <file> 135</file>
                 </tool>
             </outputs>
             <inputs>
                 <tool>
                     <name>ICCARM</name>
-                    <file> 229 153 5 65 120 134 38 128 289 184 265 313 272 157 136 60 173 56 123 302 163 182 307 255 298 95 71 145 52 88 305 187 172 164 259 170 264 101 105 69 185</file>
+                    <file> 5 127 164 187 114 208 294 214 250 306 271 232 207 96 210 37 180 94 201 285 235 227 307 255 297 154 145 183 107 139 292 252 231 229 242 241 249 147 167 129 228 123 66 53 287 248 191 16 206 136 211 50 269 267 157 104 295 78 81 115 303 88 142</file>
                 </tool>
             </inputs>
         </file>
         <file>
-            <name>$PROJ_DIR$\..\..\..\iap\modules\modbus\modbus.c</name>
+            <name>$PROJ_DIR$\..\..\..\libs\artery\drivers\src\at32f403a_407_can.c</name>
             <outputs>
                 <tool>
                     <name>ICCARM</name>
-                    <file> 141</file>
+                    <file> 224</file>
                 </tool>
                 <tool>
                     <name>BICOMP</name>
-                    <file> 35</file>
+                    <file> 146</file>
                 </tool>
             </outputs>
             <inputs>
                 <tool>
                     <name>ICCARM</name>
-                    <file> 5 65 120 134 38 128 289 184 265 313 272 157 136 60 173 229 153 56 123 302 163 182 307 255 298 95 71 145 52 88 305 187 172 164 259 170 264 101 105 69 185 250 39 86 231 190 299 262 135 7 150 82 161 248 251 270 112 51 294 193 192 286 287 196 148 108 213 116 42 124 253 73 309 48 66</file>
+                    <file> 37 180 5 127 164 187 114 208 294 214 250 306 271 232 207 96 210 94 201 285 235 227 307 255 297 154 145 183 107 139 292 252 231 229 242 241 249 147 167 129 228</file>
                 </tool>
             </inputs>
         </file>
         <file>
-            <name>$PROJ_DIR$\..\..\..\iap\modules\modbus\modbus_params.c</name>
+            <name>$PROJ_DIR$\..\..\..\libs\artery\drivers\src\at32f403a_407_gpio.c</name>
             <outputs>
                 <tool>
                     <name>ICCARM</name>
-                    <file> 106</file>
+                    <file> 196</file>
                 </tool>
                 <tool>
                     <name>BICOMP</name>
-                    <file> 68</file>
+                    <file> 291</file>
                 </tool>
             </outputs>
             <inputs>
                 <tool>
                     <name>ICCARM</name>
-                    <file> 5 65 120 134 38 128 289 184 265 313 272 157 136 60 173 229 153 56 123 302 163 182 307 255 298 95 71 145 52 88 305 187 172 164 259 170 264 101 105 69 185 86 231 190 299 262 135 7 150 82 161 248 251 270 112 51 294 193 192 39 286 48 66</file>
+                    <file> 37 180 5 127 164 187 114 208 294 214 250 306 271 232 207 96 210 94 201 285 235 227 307 255 297 154 145 183 107 139 292 252 231 229 242 241 249 147 167 129 228</file>
                 </tool>
             </inputs>
         </file>
         <file>
-            <name>$PROJ_DIR$\..\..\..\libs\artery\drivers\src\at32f403a_407_can.c</name>
+            <name>$PROJ_DIR$\..\..\..\libs\thirdparty\freertos\list.c</name>
             <outputs>
                 <tool>
                     <name>ICCARM</name>
-                    <file> 159</file>
+                    <file> 87</file>
                 </tool>
                 <tool>
                     <name>BICOMP</name>
-                    <file> 90</file>
+                    <file> 309</file>
                 </tool>
             </outputs>
             <inputs>
                 <tool>
                     <name>ICCARM</name>
-                    <file> 229 153 5 65 120 134 38 128 289 184 265 313 272 157 136 60 173 56 123 302 163 182 307 255 298 95 71 145 52 88 305 187 172 164 259 170 264 101 105 69 185</file>
+                    <file> 102 187 114 208 294 214 191 213 287 248 164 16 206 136 211 50 269 232 267 157 295</file>
                 </tool>
             </inputs>
         </file>
         <file>
-            <name>$PROJ_DIR$\..\..\..\libs\artery\drivers\src\at32f403a_407_flash.c</name>
+            <name>$PROJ_DIR$\..\..\..\shared\freemodbus\ascii\mbascii.c</name>
             <outputs>
                 <tool>
                     <name>ICCARM</name>
-                    <file> 257</file>
+                    <file> 202</file>
                 </tool>
                 <tool>
                     <name>BICOMP</name>
-                    <file> 300</file>
+                    <file> 283</file>
                 </tool>
             </outputs>
             <inputs>
                 <tool>
                     <name>ICCARM</name>
-                    <file> 229 153 5 65 120 134 38 128 289 184 265 313 272 157 136 60 173 56 123 302 163 182 307 255 298 95 71 145 52 88 305 187 172 164 259 170 264 101 105 69 185</file>
+                    <file> 102 187 114 208 294 214 191 213 88 142 53 5 127 164 250 306 271 232 207 96 210 37 180 94 201 285 235 227 307 255 297 154 145 183 107 139 292 252 231 229 242 241 249 147 167 129 228 287 248 16 206 136 211 50 269 267 157 104 295 66 78 81 84 286 65 110</file>
                 </tool>
             </inputs>
         </file>
         <file>
-            <name>$PROJ_DIR$\..\..\..\iap\modules\iap\iap.c</name>
+            <name>$PROJ_DIR$\..\..\..\shared\freemodbus\functions\mbfunccoils.c</name>
             <outputs>
                 <tool>
                     <name>ICCARM</name>
-                    <file> 144</file>
+                    <file> 120</file>
                 </tool>
                 <tool>
                     <name>BICOMP</name>
-                    <file> 288</file>
+                    <file> 280</file>
                 </tool>
             </outputs>
             <inputs>
                 <tool>
                     <name>ICCARM</name>
-                    <file> 5 65 120 134 38 128 289 184 265 313 272 157 136 60 173 229 153 56 123 302 163 182 307 255 298 95 71 145 52 88 305 187 172 164 259 170 264 101 105 69 185 124 148 286 108 299 262 135 7 150 82 161 248 251 270 112 213 116 42 231 190 51 294 193 192 250 73 92 287 207 309 48 66</file>
+                    <file> 102 187 114 208 294 214 191 213 88 142 53 5 127 164 250 306 271 232 207 96 210 37 180 94 201 285 235 227 307 255 297 154 145 183 107 139 292 252 231 229 242 241 249 147 167 129 228 287 248 16 206 136 211 50 269 267 157 104 295 66 78 81 65 84</file>
                 </tool>
             </inputs>
         </file>
         <file>
-            <name>$PROJ_DIR$\..\..\..\libs\artery\drivers\src\at32f403a_407_debug.c</name>
+            <name>$PROJ_DIR$\..\..\..\libs\artery\drivers\src\at32f403a_407_exint.c</name>
             <outputs>
                 <tool>
                     <name>ICCARM</name>
-                    <file> 133</file>
+                    <file> 260</file>
                 </tool>
                 <tool>
                     <name>BICOMP</name>
-                    <file> 212</file>
+                    <file> 161</file>
                 </tool>
             </outputs>
             <inputs>
                 <tool>
                     <name>ICCARM</name>
-                    <file> 229 153 5 65 120 134 38 128 289 184 265 313 272 157 136 60 173 56 123 302 163 182 307 255 298 95 71 145 52 88 305 187 172 164 259 170 264 101 105 69 185</file>
+                    <file> 37 180 5 127 164 187 114 208 294 214 250 306 271 232 207 96 210 94 201 285 235 227 307 255 297 154 145 183 107 139 292 252 231 229 242 241 249 147 167 129 228</file>
                 </tool>
             </inputs>
         </file>
         <file>
-            <name>$PROJ_DIR$\..\..\..\iap\user\system_at32f403a_407.c</name>
+            <name>$PROJ_DIR$\..\..\..\libs\artery\drivers\src\at32f403a_407_sdio.c</name>
             <outputs>
                 <tool>
                     <name>ICCARM</name>
-                    <file> 166</file>
+                    <file> 219</file>
                 </tool>
                 <tool>
                     <name>BICOMP</name>
-                    <file> 126</file>
+                    <file> 86</file>
                 </tool>
             </outputs>
             <inputs>
                 <tool>
                     <name>ICCARM</name>
-                    <file> 5 65 120 134 38 128 289 184 265 313 272 157 136 60 173 229 153 56 123 302 163 182 307 255 298 95 71 145 52 88 305 187 172 164 259 170 264 101 105 69 185</file>
+                    <file> 37 180 5 127 164 187 114 208 294 214 250 306 271 232 207 96 210 94 201 285 235 227 307 255 297 154 145 183 107 139 292 252 231 229 242 241 249 147 167 129 228</file>
                 </tool>
             </inputs>
         </file>
         <file>
-            <name>$PROJ_DIR$\..\..\..\iap\user\at32f403a_407_int.c</name>
+            <name>$PROJ_DIR$\..\..\..\libs\thirdparty\freertos\FreeRTOS-openocd.c</name>
             <outputs>
                 <tool>
                     <name>ICCARM</name>
-                    <file> 110</file>
+                    <file> 218</file>
                 </tool>
                 <tool>
                     <name>BICOMP</name>
-                    <file> 179</file>
+                    <file> 93</file>
                 </tool>
             </outputs>
             <inputs>
                 <tool>
                     <name>ICCARM</name>
-                    <file> 277 5 65 120 134 38 128 289 184 265 313 272 157 136 60 173 229 153 56 123 302 163 182 307 255 298 95 71 145 52 88 305 187 172 164 259 170 264 101 105 69 185</file>
+                    <file> 287 248 187 114 208 294 214 191 164 16 206 136 211 50 269 232 267 157</file>
                 </tool>
             </inputs>
         </file>
         <file>
-            <name>$PROJ_DIR$\..\..\..\libs\artery\drivers\src\at32f403a_407_acc.c</name>
+            <name>$PROJ_DIR$\..\..\..\libs\artery\drivers\src\at32f403a_407_tmr.c</name>
             <outputs>
                 <tool>
                     <name>ICCARM</name>
-                    <file> 41</file>
+                    <file> 91</file>
                 </tool>
                 <tool>
                     <name>BICOMP</name>
-                    <file> 44</file>
+                    <file> 153</file>
                 </tool>
             </outputs>
             <inputs>
                 <tool>
                     <name>ICCARM</name>
-                    <file> 229 153 5 65 120 134 38 128 289 184 265 313 272 157 136 60 173 56 123 302 163 182 307 255 298 95 71 145 52 88 305 187 172 164 259 170 264 101 105 69 185</file>
+                    <file> 37 180 5 127 164 187 114 208 294 214 250 306 271 232 207 96 210 94 201 285 235 227 307 255 297 154 145 183 107 139 292 252 231 229 242 241 249 147 167 129 228</file>
                 </tool>
             </inputs>
         </file>
         <file>
-            <name>$PROJ_DIR$\..\..\..\iap\modules\io\mux.c</name>
+            <name>$PROJ_DIR$\..\..\..\libs\artery\drivers\src\at32f403a_407_misc.c</name>
             <outputs>
                 <tool>
                     <name>ICCARM</name>
-                    <file> 84</file>
+                    <file> 185</file>
                 </tool>
                 <tool>
                     <name>BICOMP</name>
-                    <file> 266</file>
+                    <file> 192</file>
                 </tool>
             </outputs>
             <inputs>
                 <tool>
                     <name>ICCARM</name>
-                    <file> 5 65 120 134 38 128 289 184 265 313 272 157 136 60 173 229 153 56 123 302 163 182 307 255 298 95 71 145 52 88 305 187 172 164 259 170 264 101 105 69 185 76 286 299 262 135 7 150 82 161 248 251 270 112 51 294</file>
+                    <file> 37 180 5 127 164 187 114 208 294 214 250 306 271 232 207 96 210 94 201 285 235 227 307 255 297 154 145 183 107 139 292 252 231 229 242 241 249 147 167 129 228</file>
                 </tool>
             </inputs>
         </file>
         <file>
-            <name>$PROJ_DIR$\Debug\Exe\iap.out</name>
+            <name>$PROJ_DIR$\..\..\..\libs\artery\drivers\src\at32f403a_407_usart.c</name>
             <outputs>
                 <tool>
-                    <name>ILINK</name>
-                    <file> 137</file>
+                    <name>ICCARM</name>
+                    <file> 222</file>
+                </tool>
+                <tool>
+                    <name>BICOMP</name>
+                    <file> 304</file>
                 </tool>
             </outputs>
             <inputs>
                 <tool>
-                    <name>ILINK</name>
-                    <file> 30 41 152 80 83 159 36 75 129 285 133 59 162 267 257 122 175 110 151 282 31 183 57 53 178 94 98 146 91 261 81 117 102 70 160 180 144 37 171 114 132 308 85 276 119 62 186 268 115 274 32 141 106 84 46 217 296 50 279 280 155 61 215 311 169 127 166 147 303 107 72 260 67 131 273</file>
+                    <name>ICCARM</name>
+                    <file> 37 180 5 127 164 187 114 208 294 214 250 306 271 232 207 96 210 94 201 285 235 227 307 255 297 154 145 183 107 139 292 252 231 229 242 241 249 147 167 129 228</file>
                 </tool>
             </inputs>
         </file>
         <file>
-            <name>$PROJ_DIR$\..\..\..\shared\rtc\rtc.c</name>
+            <name>$PROJ_DIR$\..\..\..\libs\artery\drivers\src\at32f403a_407_rtc.c</name>
             <outputs>
                 <tool>
                     <name>ICCARM</name>
-                    <file> 61</file>
+                    <file> 112</file>
                 </tool>
                 <tool>
                     <name>BICOMP</name>
-                    <file> 295</file>
+                    <file> 246</file>
                 </tool>
             </outputs>
             <inputs>
                 <tool>
                     <name>ICCARM</name>
-                    <file> 174 5 65 120 134 38 128 289 184 265 313 272 157 136 60 173 229 153 56 123 302 163 182 307 255 298 95 71 145 52 88 305 187 172 164 259 170 264 101 105 69 185 148 286 108 299 262 135 7 150 82 161 248 251 270 112 213 116 42 231 190 51 294 193 192 250 48 66 309</file>
+                    <file> 37 180 5 127 164 187 114 208 294 214 250 306 271 232 207 96 210 94 201 285 235 227 307 255 297 154 145 183 107 139 292 252 231 229 242 241 249 147 167 129 228</file>
                 </tool>
             </inputs>
         </file>
         <file>
-            <name>$PROJ_DIR$\..\..\..\shared\sys\sys_hal.c</name>
+            <name>$PROJ_DIR$\..\..\..\libs\artery\system\at32f403a_407_clock.c</name>
             <outputs>
                 <tool>
                     <name>ICCARM</name>
-                    <file> 127</file>
+                    <file> 105</file>
                 </tool>
                 <tool>
                     <name>BICOMP</name>
-                    <file> 167</file>
+                    <file> 225</file>
                 </tool>
             </outputs>
             <inputs>
                 <tool>
                     <name>ICCARM</name>
-                    <file> 120 134 38 128 289 184 281 42 286 250 5 65 265 313 272 157 136 60 173 229 153 56 123 302 163 182 307 255 298 95 71 145 52 88 305 187 172 164 259 170 264 101 105 69 185 230 309 135</file>
+                    <file> 163 5 127 164 187 114 208 294 214 250 306 271 232 207 96 210 37 180 94 201 285 235 227 307 255 297 154 145 183 107 139 292 252 231 229 242 241 249 147 167 129 228</file>
                 </tool>
             </inputs>
         </file>
         <file>
-            <name>$PROJ_DIR$\..\..\..\shared\freemodbus\port\portserial.c</name>
+            <name>$PROJ_DIR$\..\..\..\libs\artery\drivers\src\at32f403a_407_wdt.c</name>
             <outputs>
                 <tool>
                     <name>ICCARM</name>
-                    <file> 279</file>
+                    <file> 171</file>
                 </tool>
                 <tool>
                     <name>BICOMP</name>
-                    <file> 99</file>
+                    <file> 261</file>
                 </tool>
             </outputs>
             <inputs>
                 <tool>
                     <name>ICCARM</name>
-                    <file> 5 65 120 134 38 128 289 184 265 313 272 157 136 60 173 229 153 56 123 302 163 182 307 255 298 95 71 145 52 88 305 187 172 164 259 170 264 101 105 69 185 100 309 135 299 262 7 150 82 161 248 251 270 112 51 294 231 190 193 192 196 286 76 49 181</file>
+                    <file> 37 180 5 127 164 187 114 208 294 214 250 306 271 232 207 96 210 94 201 285 235 227 307 255 297 154 145 183 107 139 292 252 231 229 242 241 249 147 167 129 228</file>
                 </tool>
             </inputs>
         </file>
         <file>
-            <name>$PROJ_DIR$\..\..\..\shared\freemodbus\port\portother.c</name>
+            <name>$PROJ_DIR$\..\..\..\libs\artery\drivers\src\at32f403a_407_wwdt.c</name>
             <outputs>
                 <tool>
                     <name>ICCARM</name>
-                    <file> 50</file>
+                    <file> 190</file>
                 </tool>
                 <tool>
                     <name>BICOMP</name>
-                    <file> 258</file>
+                    <file> 262</file>
                 </tool>
             </outputs>
             <inputs>
                 <tool>
                     <name>ICCARM</name>
-                    <file> 49 134 38 128 289 184 135 181 299 262 120 7 150 82 161 248 251 157 270 112 51 294 213 116 231 190 5 65 265 313 272 136 60 173 229 153 56 123 302 163 182 307 255 298 95 71 145 52 88 305 187 172 164 259 170 264 101 105 69 185 193 192</file>
+                    <file> 37 180 5 127 164 187 114 208 294 214 250 306 271 232 207 96 210 94 201 285 235 227 307 255 297 154 145 183 107 139 292 252 231 229 242 241 249 147 167 129 228</file>
                 </tool>
             </inputs>
         </file>
         <file>
-            <name>$PROJ_DIR$\..\..\..\shared\freemodbus\mb.c</name>
+            <name>$PROJ_DIR$\..\..\..\libs\thirdparty\freertos\portable\IAR\ARM_CM4F\port.c</name>
             <outputs>
                 <tool>
                     <name>ICCARM</name>
-                    <file> 114</file>
+                    <file> 101</file>
                 </tool>
                 <tool>
                     <name>BICOMP</name>
-                    <file> 87</file>
+                    <file> 151</file>
                 </tool>
             </outputs>
             <inputs>
                 <tool>
                     <name>ICCARM</name>
-                    <file> 49 134 38 128 289 184 135 181 48 66 190 5 65 120 265 313 272 157 136 60 173 229 153 56 123 302 163 182 307 255 298 95 71 145 52 88 305 187 172 164 259 170 264 101 105 69 185 299 262 7 150 82 161 248 251 270 112 51 294 231 193 192 194 214 191 287</file>
+                    <file> 269 232 114 208 294 214 267 287 248 187 191 164 16 206 136 211 50 157 104 295</file>
                 </tool>
             </inputs>
         </file>
         <file>
-            <name>$PROJ_DIR$\..\..\..\shared\utils\at32f403a_407_board.c</name>
+            <name>$PROJ_DIR$\..\..\..\libs\thirdparty\freertos\croutine.c</name>
             <outputs>
                 <tool>
                     <name>ICCARM</name>
-                    <file> 80</file>
+                    <file> 134</file>
                 </tool>
                 <tool>
                     <name>BICOMP</name>
-                    <file> 165</file>
+                    <file> 106</file>
                 </tool>
             </outputs>
             <inputs>
                 <tool>
                     <name>ICCARM</name>
-                    <file> 100 309 134 38 128 289 184 135 5 65 120 265 313 272 157 136 60 173 229 153 56 123 302 163 182 307 255 298 95 71 145 52 88 305 187 172 164 259 170 264 101 105 69 185</file>
+                    <file> 287 248 187 114 208 294 214 191 164 16 206 136 211 50 269 232 267 157 104 295 223</file>
                 </tool>
             </inputs>
         </file>
         <file>
-            <name>$PROJ_DIR$\..\..\..\shared\freemodbus\port\portevent.c</name>
+            <name>$PROJ_DIR$\..\..\..\libs\thirdparty\freertos\event_groups.c</name>
             <outputs>
                 <tool>
                     <name>ICCARM</name>
-                    <file> 296</file>
+                    <file> 160</file>
                 </tool>
                 <tool>
                     <name>BICOMP</name>
-                    <file> 74</file>
+                    <file> 273</file>
                 </tool>
             </outputs>
             <inputs>
                 <tool>
                     <name>ICCARM</name>
-                    <file> 299 262 134 38 128 289 184 135 120 7 150 82 161 248 251 157 270 112 51 294 116 231 190 5 65 265 313 272 136 60 173 229 153 56 123 302 163 182 307 255 298 95 71 145 52 88 305 187 172 164 259 170 264 101 105 69 185 193 192</file>
+                    <file> 102 187 114 208 294 214 191 213 287 248 164 16 206 136 211 50 269 232 267 157 104 295 130 165</file>
                 </tool>
             </inputs>
         </file>
         <file>
-            <name>$PROJ_DIR$\..\..\..\shared\utils\extended_sram.c</name>
+            <name>$PROJ_DIR$\..\..\..\libs\thirdparty\freertos\fr_timers.c</name>
             <outputs>
                 <tool>
                     <name>ICCARM</name>
-                    <file> 102</file>
+                    <file> 131</file>
                 </tool>
                 <tool>
                     <name>BICOMP</name>
-                    <file> 142</file>
+                    <file> 177</file>
                 </tool>
             </outputs>
             <inputs>
                 <tool>
                     <name>ICCARM</name>
-                    <file> 5 65 120 134 38 128 289 184 265 313 272 157 136 60 173 229 153 56 123 302 163 182 307 255 298 95 71 145 52 88 305 187 172 164 259 170 264 101 105 69 185 97 207 286</file>
+                    <file> 102 187 114 208 294 214 191 213 287 248 164 16 206 136 211 50 269 232 267 157 104 295 150 130</file>
                 </tool>
             </inputs>
         </file>
         <file>
-            <name>$PROJ_DIR$\..\..\..\shared\freemodbus\rtu\mbcrc.c</name>
+            <name>$PROJ_DIR$\..\..\..\libs\artery\drivers\src\at32f403a_407_flash.c</name>
             <outputs>
                 <tool>
                     <name>ICCARM</name>
-                    <file> 308</file>
+                    <file> 257</file>
                 </tool>
                 <tool>
                     <name>BICOMP</name>
-                    <file> 111</file>
+                    <file> 282</file>
                 </tool>
             </outputs>
             <inputs>
                 <tool>
                     <name>ICCARM</name>
-                    <file> 190 5 65 120 134 38 128 289 184 265 313 272 157 136 60 173 229 153 56 123 302 163 182 307 255 298 95 71 145 52 88 305 187 172 164 259 170 264 101 105 69 185 299 262 135 7 150 82 161 248 251 270 112 51 294</file>
+                    <file> 37 180 5 127 164 187 114 208 294 214 250 306 271 232 207 96 210 94 201 285 235 227 307 255 297 154 145 183 107 139 292 252 231 229 242 241 249 147 167 129 228</file>
                 </tool>
             </inputs>
         </file>
         <file>
-            <name>$PROJ_DIR$\..\..\..\shared\utils\utility.c</name>
+            <name>$PROJ_DIR$\..\..\..\libs\artery\drivers\src\at32f403a_407_i2c.c</name>
             <outputs>
                 <tool>
                     <name>ICCARM</name>
-                    <file> 107</file>
+                    <file> 212</file>
                 </tool>
                 <tool>
                     <name>BICOMP</name>
-                    <file> 130</file>
+                    <file> 281</file>
                 </tool>
             </outputs>
             <inputs>
                 <tool>
                     <name>ICCARM</name>
-                    <file> 299 262 134 38 128 289 184 135 120 7 150 82 161 248 251 157 270 112 51 294 116 213 54 277 5 65 265 313 272 136 60 173 229 153 56 123 302 163 182 307 255 298 95 71 145 52 88 305 187 172 164 259 170 264 101 105 69 185 309 48 66</file>
+                    <file> 37 180 5 127 164 187 114 208 294 214 250 306 271 232 207 96 210 94 201 285 235 227 307 255 297 154 145 183 107 139 292 252 231 229 242 241 249 147 167 129 228</file>
                 </tool>
             </inputs>
         </file>
         <file>
-            <name>$PROJ_DIR$\..\..\..\shared\freemodbus\port\porttimer.c</name>
+            <name>$PROJ_DIR$\..\..\..\libs\artery\drivers\src\at32f403a_407_usb.c</name>
             <outputs>
                 <tool>
                     <name>ICCARM</name>
-                    <file> 280</file>
+                    <file> 168</file>
                 </tool>
                 <tool>
                     <name>BICOMP</name>
-                    <file> 210</file>
+                    <file> 195</file>
                 </tool>
             </outputs>
             <inputs>
                 <tool>
                     <name>ICCARM</name>
-                    <file> 5 65 120 134 38 128 289 184 265 313 272 157 136 60 173 229 153 56 123 302 163 182 307 255 298 95 71 145 52 88 305 187 172 164 259 170 264 101 105 69 185 299 262 135 7 150 82 161 248 251 270 112 51 294 190 231 193 192 76 286</file>
+                    <file> 37 180 5 127 164 187 114 208 294 214 250 306 271 232 207 96 210 94 201 285 235 227 307 255 297 154 145 183 107 139 292 252 231 229 242 241 249 147 167 129 228</file>
                 </tool>
             </inputs>
         </file>
         <file>
-            <name>$PROJ_DIR$\..\..\..\shared\peripherals\src\common_gpio.c</name>
+            <name>$PROJ_DIR$\..\..\..\libs\thirdparty\freertos\portable\memmang\heap_4.c</name>
             <outputs>
                 <tool>
                     <name>ICCARM</name>
-                    <file> 261</file>
+                    <file> 226</file>
                 </tool>
                 <tool>
                     <name>BICOMP</name>
-                    <file> 291</file>
+                    <file> 290</file>
                 </tool>
             </outputs>
             <inputs>
                 <tool>
                     <name>ICCARM</name>
-                    <file> 5 65 120 134 38 128 289 184 265 313 272 157 136 60 173 229 153 56 123 302 163 182 307 255 298 95 71 145 52 88 305 187 172 164 259 170 264 101 105 69 185 253 286 299 262 135 7 150 82 161 248 251 270 112 51 294 113</file>
+                    <file> 102 187 114 208 294 214 191 213 287 248 164 16 206 136 211 50 269 232 267 157 104 295</file>
                 </tool>
             </inputs>
         </file>
         <file>
-            <name>$PROJ_DIR$\..\..\..\shared\wdt\wdt.c</name>
+            <name>$PROJ_DIR$\..\..\..\libs\thirdparty\freertos\portable\IAR\ARM_CM4F\portasm.s</name>
             <outputs>
                 <tool>
-                    <name>ICCARM</name>
-                    <file> 72</file>
-                </tool>
-                <tool>
-                    <name>BICOMP</name>
-                    <file> 283</file>
+                    <name>AARM</name>
+                    <file> 254</file>
                 </tool>
             </outputs>
             <inputs>
                 <tool>
-                    <name>ICCARM</name>
-                    <file> 5 65 120 134 38 128 289 184 265 313 272 157 136 60 173 229 153 56 123 302 163 182 307 255 298 95 71 145 52 88 305 187 172 164 259 170 264 101 105 69 185 263</file>
+                    <name>AARM</name>
+                    <file> 16</file>
                 </tool>
             </inputs>
         </file>
         <file>
-            <name>$PROJ_DIR$\..\..\..\shared\sys\sys_api.c</name>
+            <name>$PROJ_DIR$\..\..\..\libs\thirdparty\freertos\queue.c</name>
             <outputs>
                 <tool>
                     <name>ICCARM</name>
-                    <file> 169</file>
+                    <file> 239</file>
                 </tool>
                 <tool>
                     <name>BICOMP</name>
-                    <file> 275</file>
+                    <file> 188</file>
                 </tool>
             </outputs>
             <inputs>
                 <tool>
                     <name>ICCARM</name>
-                    <file> 120 134 38 128 289 184 42 286 281 148 5 65 265 313 272 157 136 60 173 229 153 56 123 302 163 182 307 255 298 95 71 145 52 88 305 187 172 164 259 170 264 101 105 69 185 108 299 262 135 7 150 82 161 248 251 270 112 213 116 231 190 51 294 193 192 250 230 174 48 66 309</file>
+                    <file> 102 187 114 208 294 214 191 213 88 142 287 248 164 16 206 136 211 50 269 232 267 157 104 295 150</file>
                 </tool>
             </inputs>
         </file>
         <file>
-            <name>$PROJ_DIR$\..\..\..\shared\freemodbus\port\tim_delay.c</name>
+            <name>$PROJ_DIR$\..\..\..\libs\thirdparty\freertos\tasks.c</name>
             <outputs>
                 <tool>
                     <name>ICCARM</name>
-                    <file> 303</file>
+                    <file> 194</file>
                 </tool>
                 <tool>
                     <name>BICOMP</name>
-                    <file> 177</file>
+                    <file> 182</file>
                 </tool>
             </outputs>
             <inputs>
                 <tool>
                     <name>ICCARM</name>
-                    <file> 5 65 120 134 38 128 289 184 265 313 272 157 136 60 173 229 153 56 123 302 163 182 307 255 298 95 71 145 52 88 305 187 172 164 259 170 264 101 105 69 185 196 286 76</file>
+                    <file> 102 187 114 208 294 214 191 213 88 142 287 248 164 16 206 136 211 50 269 232 267 157 104 295 130 308 312</file>
                 </tool>
             </inputs>
         </file>
         <file>
-            <name>$PROJ_DIR$\..\..\..\shared\freemodbus\rtu\mbrtu.c</name>
+            <name>$PROJ_DIR$\..\..\..\libs\artery\drivers\src\at32f403a_407_pwc.c</name>
             <outputs>
                 <tool>
                     <name>ICCARM</name>
-                    <file> 274</file>
+                    <file> 278</file>
                 </tool>
                 <tool>
                     <name>BICOMP</name>
-                    <file> 138</file>
+                    <file> 98</file>
                 </tool>
             </outputs>
             <inputs>
                 <tool>
                     <name>ICCARM</name>
-                    <file> 49 134 38 128 289 184 135 181 48 66 190 5 65 120 265 313 272 157 136 60 173 229 153 56 123 302 163 182 307 255 298 95 71 145 52 88 305 187 172 164 259 170 264 101 105 69 185 299 262 7 150 82 161 248 251 270 112 51 294 231 193 192 287 214 43</file>
+                    <file> 37 180 5 127 164 187 114 208 294 214 250 306 271 232 207 96 210 94 201 285 235 227 307 255 297 154 145 183 107 139 292 252 231 229 242 241 249 147 167 129 228</file>
                 </tool>
             </inputs>
         </file>
         <file>
-            <name>$PROJ_DIR$\..\..\..\shared\freemodbus\ascii\mbascii.c</name>
+            <name>$PROJ_DIR$\..\..\..\libs\artery\drivers\src\at32f403a_407_spi.c</name>
             <outputs>
                 <tool>
                     <name>ICCARM</name>
-                    <file> 132</file>
+                    <file> 95</file>
                 </tool>
                 <tool>
                     <name>BICOMP</name>
-                    <file> 301</file>
+                    <file> 270</file>
                 </tool>
             </outputs>
             <inputs>
                 <tool>
                     <name>ICCARM</name>
-                    <file> 49 134 38 128 289 184 135 181 48 66 190 5 65 120 265 313 272 157 136 60 173 229 153 56 123 302 163 182 307 255 298 95 71 145 52 88 305 187 172 164 259 170 264 101 105 69 185 299 262 7 150 82 161 248 251 270 112 51 294 231 193 192 194 290 214 43</file>
+                    <file> 37 180 5 127 164 187 114 208 294 214 250 306 271 232 207 96 210 94 201 285 235 227 307 255 297 154 145 183 107 139 292 252 231 229 242 241 249 147 167 129 228</file>
                 </tool>
             </inputs>
         </file>
         <file>
-            <name>$PROJ_DIR$\..\..\..\shared\freemodbus\functions\mbfuncholding.c</name>
+            <name>$PROJ_DIR$\..\..\..\libs\artery\drivers\src\at32f403a_407_xmc.c</name>
             <outputs>
                 <tool>
                     <name>ICCARM</name>
-                    <file> 186</file>
+                    <file> 174</file>
                 </tool>
                 <tool>
                     <name>BICOMP</name>
-                    <file> 156</file>
+                    <file> 217</file>
                 </tool>
             </outputs>
             <inputs>
                 <tool>
                     <name>ICCARM</name>
-                    <file> 49 134 38 128 289 184 135 181 48 66 190 5 65 120 265 313 272 157 136 60 173 229 153 56 123 302 163 182 307 255 298 95 71 145 52 88 305 187 172 164 259 170 264 101 105 69 185 299 262 7 150 82 161 248 251 270 112 51 294 231 193 192 214 194</file>
+                    <file> 37 180 5 127 164 187 114 208 294 214 250 306 271 232 207 96 210 94 201 285 235 227 307 255 297 154 145 183 107 139 292 252 231 229 242 241 249 147 167 129 228</file>
                 </tool>
             </inputs>
         </file>
         <file>
-            <name>$PROJ_DIR$\..\..\..\libs\thirdparty\freertos\croutine.c</name>
+            <name>$PROJ_DIR$\..\..\..\shared\freemodbus\port\portother.c</name>
             <outputs>
                 <tool>
                     <name>ICCARM</name>
-                    <file> 81</file>
+                    <file> 90</file>
                 </tool>
                 <tool>
                     <name>BICOMP</name>
-                    <file> 40</file>
+                    <file> 244</file>
                 </tool>
             </outputs>
             <inputs>
                 <tool>
                     <name>ICCARM</name>
-                    <file> 299 262 134 38 128 289 184 135 120 7 150 82 161 248 251 157 270 112 51 294 158</file>
+                    <file> 102 187 114 208 294 214 191 213 287 248 164 16 206 136 211 50 269 232 267 157 104 295 272 150 66 53 5 127 250 306 271 207 96 210 37 180 94 201 285 235 227 307 255 297 154 145 183 107 139 292 252 231 229 242 241 249 147 167 129 228 78 81</file>
                 </tool>
             </inputs>
         </file>
         <file>
-            <name>$PROJ_DIR$\..\..\..\shared\freemodbus\functions\mbfuncinput.c</name>
+            <name>$PROJ_DIR$\..\..\..\shared\freemodbus\port\portserial.c</name>
             <outputs>
                 <tool>
                     <name>ICCARM</name>
-                    <file> 268</file>
+                    <file> 289</file>
                 </tool>
                 <tool>
                     <name>BICOMP</name>
-                    <file> 306</file>
+                    <file> 159</file>
                 </tool>
             </outputs>
             <inputs>
                 <tool>
                     <name>ICCARM</name>
-                    <file> 49 134 38 128 289 184 135 181 48 66 190 5 65 120 265 313 272 157 136 60 173 229 153 56 123 302 163 182 307 255 298 95 71 145 52 88 305 187 172 164 259 170 264 101 105 69 185 299 262 7 150 82 161 248 251 270 112 51 294 231 193 192 214 194</file>
+                    <file> 5 127 164 187 114 208 294 214 250 306 271 232 207 96 210 37 180 94 201 285 235 227 307 255 297 154 145 183 107 139 292 252 231 229 242 241 249 147 167 129 228 169 312 191 287 248 16 206 136 211 50 269 267 157 104 295 66 53 78 81 83 303 143 102 213</file>
                 </tool>
             </inputs>
         </file>
         <file>
-            <name>$PROJ_DIR$\..\..\..\shared\freemodbus\functions\mbfuncother.c</name>
+            <name>$PROJ_DIR$\..\..\..\shared\freemodbus\port\tim_delay.c</name>
             <outputs>
                 <tool>
                     <name>ICCARM</name>
-                    <file> 115</file>
+                    <file> 298</file>
                 </tool>
                 <tool>
                     <name>BICOMP</name>
-                    <file> 278</file>
+                    <file> 238</file>
                 </tool>
             </outputs>
             <inputs>
                 <tool>
                     <name>ICCARM</name>
-                    <file> 49 134 38 128 289 184 135 181 48 66 190 5 65 120 265 313 272 157 136 60 173 229 153 56 123 302 163 182 307 255 298 95 71 145 52 88 305 187 172 164 259 170 264 101 105 69 185 299 262 7 150 82 161 248 251 270 112 51 294 231 193 192 214 194</file>
+                    <file> 5 127 164 187 114 208 294 214 250 306 271 232 207 96 210 37 180 94 201 285 235 227 307 255 297 154 145 183 107 139 292 252 231 229 242 241 249 147 167 129 228 83 303 143</file>
                 </tool>
             </inputs>
         </file>
         <file>
-            <name>$PROJ_DIR$\..\..\..\libs\artery\drivers\src\at32f403a_407_wdt.c</name>
+            <name>$PROJ_DIR$\..\..\..\shared\freemodbus\functions\mbutils.c</name>
             <outputs>
                 <tool>
                     <name>ICCARM</name>
-                    <file> 98</file>
+                    <file> 85</file>
                 </tool>
                 <tool>
                     <name>BICOMP</name>
-                    <file> 269</file>
+                    <file> 132</file>
                 </tool>
             </outputs>
             <inputs>
                 <tool>
                     <name>ICCARM</name>
-                    <file> 229 153 5 65 120 134 38 128 289 184 265 313 272 157 136 60 173 56 123 302 163 182 307 255 298 95 71 145 52 88 305 187 172 164 259 170 264 101 105 69 185</file>
+                    <file> 102 187 114 208 294 214 191 213 88 142 53 5 127 164 250 306 271 232 207 96 210 37 180 94 201 285 235 227 307 255 297 154 145 183 107 139 292 252 231 229 242 241 249 147 167 129 228 287 248 16 206 136 211 50 269 267 157 104 295 66 78 81</file>
                 </tool>
             </inputs>
         </file>
         <file>
-            <name>$PROJ_DIR$\..\..\..\shared\freemodbus\functions\mbutils.c</name>
+            <name>$PROJ_DIR$\..\..\..\shared\freemodbus\functions\mbfuncinput.c</name>
             <outputs>
                 <tool>
                     <name>ICCARM</name>
-                    <file> 32</file>
+                    <file> 259</file>
                 </tool>
                 <tool>
                     <name>BICOMP</name>
-                    <file> 78</file>
+                    <file> 310</file>
                 </tool>
             </outputs>
             <inputs>
                 <tool>
                     <name>ICCARM</name>
-                    <file> 49 134 38 128 289 184 135 181 48 66 190 5 65 120 265 313 272 157 136 60 173 229 153 56 123 302 163 182 307 255 298 95 71 145 52 88 305 187 172 164 259 170 264 101 105 69 185 299 262 7 150 82 161 248 251 270 112 51 294 231 193 192</file>
+                    <file> 102 187 114 208 294 214 191 213 88 142 53 5 127 164 250 306 271 232 207 96 210 37 180 94 201 285 235 227 307 255 297 154 145 183 107 139 292 252 231 229 242 241 249 147 167 129 228 287 248 16 206 136 211 50 269 267 157 104 295 66 78 81 65 84</file>
                 </tool>
             </inputs>
         </file>
         <file>
-            <name>$PROJ_DIR$\..\..\..\libs\thirdparty\freertos\portable\IAR\ARM_CM4F\port.c</name>
+            <name>$PROJ_DIR$\..\..\..\shared\freemodbus\functions\mbfuncdiag.c</name>
             <outputs>
                 <tool>
                     <name>ICCARM</name>
-                    <file> 46</file>
+                    <file> 277</file>
                 </tool>
                 <tool>
                     <name>BICOMP</name>
-                    <file> 96</file>
+                    <file> 119</file>
                 </tool>
             </outputs>
-            <inputs>
-                <tool>
-                    <name>ICCARM</name>
-                    <file> 251 157 38 128 289 184 270 299 262 134 135 120 7 150 82 161 248 112 51 294</file>
-                </tool>
-            </inputs>
         </file>
         <file>
-            <name>$PROJ_DIR$\..\..\..\libs\thirdparty\freertos\queue.c</name>
+            <name>$PROJ_DIR$\..\..\..\shared\freemodbus\functions\mbfuncother.c</name>
             <outputs>
                 <tool>
                     <name>ICCARM</name>
-                    <file> 155</file>
+                    <file> 156</file>
                 </tool>
                 <tool>
                     <name>BICOMP</name>
-                    <file> 140</file>
+                    <file> 299</file>
                 </tool>
             </outputs>
             <inputs>
                 <tool>
                     <name>ICCARM</name>
-                    <file> 49 134 38 128 289 184 135 181 48 66 299 262 120 7 150 82 161 248 251 157 270 112 51 294 116</file>
+                    <file> 102 187 114 208 294 214 191 213 88 142 53 5 127 164 250 306 271 232 207 96 210 37 180 94 201 285 235 227 307 255 297 154 145 183 107 139 292 252 231 229 242 241 249 147 167 129 228 287 248 16 206 136 211 50 269 267 157 104 295 66 78 81 65 84</file>
                 </tool>
             </inputs>
         </file>
         <file>
-            <name>$PROJ_DIR$\..\..\..\libs\artery\system\at32f403a_407_clock.c</name>
+            <name>$PROJ_DIR$\..\..\..\shared\freemodbus\functions\mbfuncdisc.c</name>
             <outputs>
                 <tool>
                     <name>ICCARM</name>
-                    <file> 36</file>
+                    <file> 162</file>
                 </tool>
                 <tool>
                     <name>BICOMP</name>
-                    <file> 168</file>
+                    <file> 89</file>
                 </tool>
             </outputs>
             <inputs>
                 <tool>
                     <name>ICCARM</name>
-                    <file> 121 5 65 120 134 38 128 289 184 265 313 272 157 136 60 173 229 153 56 123 302 163 182 307 255 298 95 71 145 52 88 305 187 172 164 259 170 264 101 105 69 185</file>
+                    <file> 102 187 114 208 294 214 191 213 88 142 53 5 127 164 250 306 271 232 207 96 210 37 180 94 201 285 235 227 307 255 297 154 145 183 107 139 292 252 231 229 242 241 249 147 167 129 228 287 248 16 206 136 211 50 269 267 157 104 295 66 78 81 65 84</file>
                 </tool>
             </inputs>
         </file>
         <file>
-            <name>$PROJ_DIR$\..\..\..\libs\artery\drivers\src\at32f403a_407_usart.c</name>
+            <name>$PROJ_DIR$\..\..\..\shared\freemodbus\port\porttimer.c</name>
             <outputs>
                 <tool>
                     <name>ICCARM</name>
-                    <file> 178</file>
+                    <file> 300</file>
                 </tool>
                 <tool>
                     <name>BICOMP</name>
-                    <file> 284</file>
+                    <file> 247</file>
                 </tool>
             </outputs>
             <inputs>
                 <tool>
                     <name>ICCARM</name>
-                    <file> 229 153 5 65 120 134 38 128 289 184 265 313 272 157 136 60 173 56 123 302 163 182 307 255 298 95 71 145 52 88 305 187 172 164 259 170 264 101 105 69 185</file>
+                    <file> 5 127 164 187 114 208 294 214 250 306 271 232 207 96 210 37 180 94 201 285 235 227 307 255 297 154 145 183 107 139 292 252 231 229 242 241 249 147 167 129 228 287 248 191 16 206 136 211 50 269 267 157 104 295 53 66 78 81 143 303</file>
                 </tool>
             </inputs>
         </file>
         <file>
-            <name>$PROJ_DIR$\..\..\..\libs\thirdparty\freertos\tasks.c</name>
+            <name>$PROJ_DIR$\..\..\..\shared\freemodbus\rtu\mbcrc.c</name>
             <outputs>
                 <tool>
                     <name>ICCARM</name>
-                    <file> 147</file>
+                    <file> 311</file>
                 </tool>
                 <tool>
                     <name>BICOMP</name>
-                    <file> 139</file>
+                    <file> 152</file>
                 </tool>
             </outputs>
             <inputs>
                 <tool>
                     <name>ICCARM</name>
-                    <file> 49 134 38 128 289 184 135 181 48 66 299 262 120 7 150 82 161 248 251 157 270 112 51 294 73 310 309</file>
+                    <file> 53 5 127 164 187 114 208 294 214 250 306 271 232 207 96 210 37 180 94 201 285 235 227 307 255 297 154 145 183 107 139 292 252 231 229 242 241 249 147 167 129 228 287 248 191 16 206 136 211 50 269 267 157 104 295</file>
                 </tool>
             </inputs>
         </file>
         <file>
-            <name>$PROJ_DIR$\..\..\..\shared\freemodbus\functions\mbfuncdiag.c</name>
+            <name>$PROJ_DIR$\..\..\..\shared\freemodbus\mb.c</name>
             <outputs>
                 <tool>
                     <name>ICCARM</name>
-                    <file> 276</file>
+                    <file> 173</file>
                 </tool>
                 <tool>
                     <name>BICOMP</name>
-                    <file> 77</file>
+                    <file> 138</file>
                 </tool>
             </outputs>
+            <inputs>
+                <tool>
+                    <name>ICCARM</name>
+                    <file> 102 187 114 208 294 214 191 213 88 142 53 5 127 164 250 306 271 232 207 96 210 37 180 94 201 285 235 227 307 255 297 154 145 183 107 139 292 252 231 229 242 241 249 147 167 129 228 287 248 16 206 136 211 50 269 267 157 104 295 66 78 81 84 65 62 301</file>
+                </tool>
+            </inputs>
         </file>
         <file>
-            <name>$PROJ_DIR$\..\..\..\libs\thirdparty\freertos\fr_timers.c</name>
+            <name>$PROJ_DIR$\..\..\..\shared\freemodbus\rtu\mbrtu.c</name>
             <outputs>
                 <tool>
                     <name>ICCARM</name>
-                    <file> 70</file>
+                    <file> 302</file>
                 </tool>
                 <tool>
                     <name>BICOMP</name>
-                    <file> 109</file>
+                    <file> 203</file>
                 </tool>
             </outputs>
             <inputs>
                 <tool>
                     <name>ICCARM</name>
-                    <file> 49 134 38 128 289 184 135 181 299 262 120 7 150 82 161 248 251 157 270 112 51 294 116 73</file>
+                    <file> 102 187 114 208 294 214 191 213 88 142 53 5 127 164 250 306 271 232 207 96 210 37 180 94 201 285 235 227 307 255 297 154 145 183 107 139 292 252 231 229 242 241 249 147 167 129 228 287 248 16 206 136 211 50 269 267 157 104 295 66 78 81 301 65 110</file>
                 </tool>
             </inputs>
         </file>
         <file>
-            <name>$PROJ_DIR$\..\..\..\libs\thirdparty\freertos\portable\memmang\heap_4.c</name>
+            <name>$PROJ_DIR$\..\..\..\shared\peripherals\src\common_gpio.c</name>
             <outputs>
                 <tool>
                     <name>ICCARM</name>
-                    <file> 180</file>
+                    <file> 266</file>
                 </tool>
                 <tool>
                     <name>BICOMP</name>
-                    <file> 292</file>
+                    <file> 305</file>
                 </tool>
             </outputs>
             <inputs>
                 <tool>
                     <name>ICCARM</name>
-                    <file> 49 134 38 128 289 184 135 181 299 262 120 7 150 82 161 248 251 157 270 112 51 294</file>
+                    <file> 5 127 164 187 114 208 294 214 250 306 271 232 207 96 210 37 180 94 201 285 235 227 307 255 297 154 145 183 107 139 292 252 231 229 242 241 249 147 167 129 228 253 303 287 248 191 16 206 136 211 50 269 267 157 104 295 170</file>
                 </tool>
             </inputs>
         </file>
         <file>
-            <name>$PROJ_DIR$\..\..\..\libs\thirdparty\freertos\list.c</name>
+            <name>$PROJ_DIR$\..\..\..\shared\freemodbus\functions\mbfuncfile.c</name>
             <outputs>
                 <tool>
                     <name>ICCARM</name>
-                    <file> 37</file>
+                    <file> 137</file>
                 </tool>
                 <tool>
                     <name>BICOMP</name>
-                    <file> 312</file>
+                    <file> 166</file>
                 </tool>
             </outputs>
             <inputs>
                 <tool>
                     <name>ICCARM</name>
-                    <file> 49 134 38 128 289 184 135 181 299 262 120 7 150 82 161 248 251 157 270 112 294</file>
+                    <file> 102 187 114 208 294 214 191 213 88 142 53 5 127 164 250 306 271 232 207 96 210 37 180 94 201 285 235 227 307 255 297 154 145 183 107 139 292 252 231 229 242 241 249 147 167 129 228 287 248 16 206 136 211 50 269 267 157 104 295 66 78 81 65 84 312</file>
                 </tool>
             </inputs>
         </file>
         <file>
-            <name>$PROJ_DIR$\..\..\..\shared\freemodbus\functions\mbfuncdisc.c</name>
+            <name>$PROJ_DIR$\..\..\..\shared\rtc\rtc.c</name>
             <outputs>
                 <tool>
                     <name>ICCARM</name>
-                    <file> 119</file>
+                    <file> 128</file>
                 </tool>
                 <tool>
                     <name>BICOMP</name>
-                    <file> 34</file>
+                    <file> 284</file>
                 </tool>
             </outputs>
             <inputs>
                 <tool>
                     <name>ICCARM</name>
-                    <file> 49 134 38 128 289 184 135 181 48 66 190 5 65 120 265 313 272 157 136 60 173 229 153 56 123 302 163 182 307 255 298 95 71 145 52 88 305 187 172 164 259 170 264 101 105 69 185 299 262 7 150 82 161 248 251 270 112 51 294 231 193 192 214 194</file>
+                    <file> 234 5 127 164 187 114 208 294 214 250 306 271 232 207 96 210 37 180 94 201 285 235 227 307 255 297 154 145 183 107 139 292 252 231 229 242 241 249 147 167 129 228 184 303 149 287 248 191 16 206 136 211 50 269 267 157 272 150 116 66 53 104 295 78 81 29 88 142 312</file>
                 </tool>
             </inputs>
         </file>
         <file>
-            <name>$PROJ_DIR$\..\..\..\libs\thirdparty\freertos\portable\IAR\ARM_CM4F\portasm.s</name>
+            <name>$PROJ_DIR$\..\..\..\shared\sys\sys_api.c</name>
             <outputs>
                 <tool>
-                    <name>AARM</name>
-                    <file> 217</file>
+                    <name>ICCARM</name>
+                    <file> 216</file>
+                </tool>
+                <tool>
+                    <name>BICOMP</name>
+                    <file> 288</file>
                 </tool>
             </outputs>
             <inputs>
                 <tool>
-                    <name>AARM</name>
-                    <file> 7</file>
+                    <name>ICCARM</name>
+                    <file> 164 187 114 208 294 214 116 303 274 184 5 127 250 306 271 232 207 96 210 37 180 94 201 285 235 227 307 255 297 154 145 183 107 139 292 252 231 229 242 241 249 147 167 129 228 149 287 248 191 16 206 136 211 50 269 267 157 272 150 66 53 104 295 78 81 29 21 234 88 142 312</file>
                 </tool>
             </inputs>
         </file>
         <file>
-            <name>$PROJ_DIR$\..\..\..\shared\freemodbus\functions\mbfuncfile.c</name>
+            <name>$PROJ_DIR$\..\..\..\shared\sys\sys_hal.c</name>
             <outputs>
                 <tool>
                     <name>ICCARM</name>
-                    <file> 62</file>
+                    <file> 178</file>
                 </tool>
                 <tool>
                     <name>BICOMP</name>
-                    <file> 104</file>
+                    <file> 240</file>
                 </tool>
             </outputs>
             <inputs>
                 <tool>
                     <name>ICCARM</name>
-                    <file> 49 134 38 128 289 184 135 181 48 66 190 5 65 120 265 313 272 157 136 60 173 229 153 56 123 302 163 182 307 255 298 95 71 145 52 88 305 187 172 164 259 170 264 101 105 69 185 299 262 7 150 82 161 248 251 270 112 51 294 231 193 192 214 194 309</file>
+                    <file> 164 187 114 208 294 214 274 116 303 29 5 127 250 306 271 232 207 96 210 37 180 94 201 285 235 227 307 255 297 154 145 183 107 139 292 252 231 229 242 241 249 147 167 129 228 21 312 191</file>
                 </tool>
             </inputs>
         </file>
         <file>
-            <name>$PROJ_DIR$\..\..\..\libs\thirdparty\freertos\FreeRTOS-openocd.c</name>
+            <name>$PROJ_DIR$\..\..\..\shared\utils\extended_sram.c</name>
             <outputs>
                 <tool>
                     <name>ICCARM</name>
-                    <file> 160</file>
+                    <file> 176</file>
                 </tool>
                 <tool>
                     <name>BICOMP</name>
-                    <file> 55</file>
+                    <file> 197</file>
                 </tool>
             </outputs>
             <inputs>
                 <tool>
                     <name>ICCARM</name>
-                    <file> 299 262 134 38 128 289 184 135 120 7 150 82 161 248 251 157 270 112</file>
+                    <file> 5 127 164 187 114 208 294 214 250 306 271 232 207 96 210 37 180 94 201 285 235 227 307 255 297 154 145 183 107 139 292 252 231 229 242 241 249 147 167 129 228 158 69 303</file>
                 </tool>
             </inputs>
         </file>
         <file>
-            <name>$PROJ_DIR$\..\..\..\libs\artery\drivers\src\at32f403a_407_xmc.c</name>
+            <name>$PROJ_DIR$\..\..\..\shared\utils\at32f403a_407_board.c</name>
             <outputs>
                 <tool>
                     <name>ICCARM</name>
-                    <file> 91</file>
+                    <file> 117</file>
                 </tool>
                 <tool>
                     <name>BICOMP</name>
-                    <file> 154</file>
+                    <file> 220</file>
                 </tool>
             </outputs>
             <inputs>
                 <tool>
                     <name>ICCARM</name>
-                    <file> 229 153 5 65 120 134 38 128 289 184 265 313 272 157 136 60 173 56 123 302 163 182 307 255 298 95 71 145 52 88 305 187 172 164 259 170 264 101 105 69 185</file>
+                    <file> 169 312 187 114 208 294 214 191 5 127 164 250 306 271 232 207 96 210 37 180 94 201 285 235 227 307 255 297 154 145 183 107 139 292 252 231 229 242 241 249 147 167 129 228</file>
                 </tool>
             </inputs>
         </file>
         <file>
-            <name>$PROJ_DIR$\..\..\..\shared\freemodbus\functions\mbfunccoils.c</name>
+            <name>$PROJ_DIR$\..\..\..\shared\freemodbus\port\portevent.c</name>
             <outputs>
                 <tool>
                     <name>ICCARM</name>
-                    <file> 85</file>
+                    <file> 276</file>
                 </tool>
                 <tool>
                     <name>BICOMP</name>
-                    <file> 293</file>
+                    <file> 121</file>
                 </tool>
             </outputs>
             <inputs>
                 <tool>
                     <name>ICCARM</name>
-                    <file> 49 134 38 128 289 184 135 181 48 66 190 5 65 120 265 313 272 157 136 60 173 229 153 56 123 302 163 182 307 255 298 95 71 145 52 88 305 187 172 164 259 170 264 101 105 69 185 299 262 7 150 82 161 248 251 270 112 51 294 231 193 192 214 194</file>
+                    <file> 287 248 187 114 208 294 214 191 164 16 206 136 211 50 269 232 267 157 104 295 150 66 53 5 127 250 306 271 207 96 210 37 180 94 201 285 235 227 307 255 297 154 145 183 107 139 292 252 231 229 242 241 249 147 167 129 228 78 81</file>
                 </tool>
             </inputs>
         </file>
         <file>
-            <name>$PROJ_DIR$\..\..\..\libs\artery\drivers\src\at32f403a_407_tmr.c</name>
+            <name>$PROJ_DIR$\..\..\..\shared\utils\utility.c</name>
             <outputs>
                 <tool>
                     <name>ICCARM</name>
-                    <file> 53</file>
+                    <file> 148</file>
                 </tool>
                 <tool>
                     <name>BICOMP</name>
-                    <file> 103</file>
+                    <file> 193</file>
                 </tool>
             </outputs>
             <inputs>
                 <tool>
                     <name>ICCARM</name>
-                    <file> 229 153 5 65 120 134 38 128 289 184 265 313 272 157 136 60 173 56 123 302 163 182 307 255 298 95 71 145 52 88 305 187 172 164 259 170 264 101 105 69 185</file>
+                    <file> 287 248 187 114 208 294 214 191 164 16 206 136 211 50 269 232 267 157 104 295 150 272 92 279 5 127 250 306 271 207 96 210 37 180 94 201 285 235 227 307 255 297 154 145 183 107 139 292 252 231 229 242 241 249 147 167 129 228 312 88 142</file>
                 </tool>
             </inputs>
         </file>
         <file>
-            <name>$PROJ_DIR$\..\..\..\libs\artery\drivers\src\at32f403a_407_usb.c</name>
+            <name>$PROJ_DIR$\..\..\..\shared\freemodbus\functions\mbfuncholding.c</name>
             <outputs>
                 <tool>
                     <name>ICCARM</name>
-                    <file> 94</file>
+                    <file> 251</file>
                 </tool>
                 <tool>
                     <name>BICOMP</name>
-                    <file> 149</file>
+                    <file> 215</file>
                 </tool>
             </outputs>
             <inputs>
                 <tool>
                     <name>ICCARM</name>
-                    <file> 229 153 5 65 120 134 38 128 289 184 265 313 272 157 136 60 173 56 123 302 163 182 307 255 298 95 71 145 52 88 305 187 172 164 259 170 264 101 105 69 185</file>
+                    <file> 102 187 114 208 294 214 191 213 88 142 53 5 127 164 250 306 271 232 207 96 210 37 180 94 201 285 235 227 307 255 297 154 145 183 107 139 292 252 231 229 242 241 249 147 167 129 228 287 248 16 206 136 211 50 269 267 157 104 295 66 78 81 65 84</file>
                 </tool>
             </inputs>
         </file>
         <file>
-            <name>$PROJ_DIR$\..\..\..\libs\artery\drivers\src\at32f403a_407_wwdt.c</name>
+            <name>$PROJ_DIR$\..\..\..\shared\wdt\wdt.c</name>
             <outputs>
                 <tool>
                     <name>ICCARM</name>
-                    <file> 146</file>
+                    <file> 124</file>
                 </tool>
                 <tool>
                     <name>BICOMP</name>
-                    <file> 216</file>
+                    <file> 275</file>
                 </tool>
             </outputs>
             <inputs>
                 <tool>
                     <name>ICCARM</name>
-                    <file> 229 153 5 65 120 134 38 128 289 184 265 313 272 157 136 60 173 56 123 302 163 182 307 255 298 95 71 145 52 88 305 187 172 164 259 170 264 101 105 69 185</file>
+                    <file> 5 127 164 187 114 208 294 214 250 306 271 232 207 96 210 37 180 94 201 285 235 227 307 255 297 154 145 183 107 139 292 252 231 229 242 241 249 147 167 129 228 245</file>
                 </tool>
             </inputs>
         </file>
         <file>
-            <name>$PROJ_DIR$\..\..\..\libs\thirdparty\freertos\event_groups.c</name>
+            <name>$PROJ_DIR$\Debug\Exe\iap.out</name>
             <outputs>
                 <tool>
-                    <name>ICCARM</name>
-                    <file> 117</file>
-                </tool>
-                <tool>
-                    <name>BICOMP</name>
-                    <file> 252</file>
+                    <name>ILINK</name>
+                    <file> 209</file>
                 </tool>
             </outputs>
             <inputs>
                 <tool>
-                    <name>ICCARM</name>
-                    <file> 49 134 38 128 289 184 135 181 299 262 120 7 150 82 161 248 251 157 270 112 51 294 73 92</file>
+                    <name>ILINK</name>
+                    <file> 109 111 179 117 118 224 105 122 186 293 181 100 237 260 257 196 212 172 185 278 112 219 95 91 222 168 171 190 174 266 134 160 176 131 218 226 205 87 233 173 202 311 120 277 162 137 251 259 156 302 85 204 155 144 101 254 276 90 289 300 239 128 265 313 216 178 230 194 298 148 124 256 125 200 243</file>
                 </tool>
             </inputs>
         </file>

+ 1296 - 1257
project/ewarm/module_universal_io.dep

@@ -1,3653 +1,3692 @@
 <?xml version="1.0" encoding="UTF-8"?>
 <project>
     <fileVersion>4</fileVersion>
-    <fileChecksum>1872518004</fileChecksum>
+    <fileChecksum>3762148898</fileChecksum>
     <configuration>
         <name>Debug</name>
         <outputs>
-            <file>$PROJ_DIR$\..\..\fw\modules\settings\settings_ao.c</file>
-            <file>$PROJ_DIR$\..\..\fw\modules\adc\ms5192t.c</file>
-            <file>$PROJ_DIR$\..\..\fw\modules\io\analog_output.c</file>
-            <file>$PROJ_DIR$\..\..\fw\modules\io\io.c</file>
-            <file>$PROJ_DIR$\..\..\fw\modules\io\io_utils.c</file>
-            <file>$PROJ_DIR$\..\..\fw\modules\misc\usb_clock.c</file>
-            <file>$PROJ_DIR$\..\..\fw\modules\modbus\modbus_dio_params.c</file>
-            <file>$PROJ_DIR$\..\..\fw\modules\io\filter.c</file>
-            <file>$PROJ_DIR$\..\..\fw\modules\adc\adc_transport.c</file>
-            <file>$PROJ_DIR$\..\..\fw\modules\io\digital_input.c</file>
-            <file>$PROJ_DIR$\..\..\fw\modules\io\mux.c</file>
-            <file>$PROJ_DIR$\..\..\fw\modules\io\analog_input.c</file>
-            <file>$PROJ_DIR$\..\..\fw\modules\misc\misc.c</file>
-            <file>$PROJ_DIR$\..\..\fw\modules\misc\uptime.c</file>
-            <file>$PROJ_DIR$\..\..\fw\modules\dac\dac_transport.c</file>
-            <file>$PROJ_DIR$\..\..\fw\modules\log\log.c</file>
-            <file>$PROJ_DIR$\..\..\fw\modules\misc\hash.c</file>
-            <file>$PROJ_DIR$\..\..\fw\modules\misc\soft_wdt.c</file>
-            <file>$PROJ_DIR$\..\..\fw\modules\modbus\modbus.c</file>
-            <file>$PROJ_DIR$\..\..\fw\modules\misc\swap.c</file>
-            <file>$PROJ_DIR$\..\..\fw\modules\modbus\modbus_ai_params.c</file>
-            <file>$PROJ_DIR$\..\..\fw\modules\modbus\modbus_ao_params.c</file>
-            <file>$PROJ_DIR$\..\..\fw\modules\modbus\modbus_params.c</file>
-            <file>$PROJ_DIR$\..\..\fw\modules\monitor\monitoring.c</file>
-            <file>$PROJ_DIR$\..\..\fw\modules\settings\settings_ai.c</file>
-            <file>$PROJ_DIR$\..\..\fw\modules\io\digital_output.c</file>
-            <file>$PROJ_DIR$\..\..\fw\modules\log\log_api.c</file>
-            <file>$PROJ_DIR$\..\..\fw\modules\misc\at32_uid.c</file>
-            <file>$PROJ_DIR$\..\..\fw\modules\modbus\update.c</file>
-            <file>$PROJ_DIR$\Debug\Obj\misc.xcl</file>
-            <file>$PROJ_DIR$\..\..\libs\artery\usb\inc\usbd_core.h</file>
-            <file>$PROJ_DIR$\..\..\fw\modules\terminal\terminal_sbs.h</file>
-            <file>$PROJ_DIR$\Debug\Obj\port.o</file>
-            <file>$TOOLKIT_DIR$\inc\c\limits.h</file>
-            <file>$PROJ_DIR$\Debug\Obj\raw.xcl</file>
-            <file>$PROJ_DIR$\Debug\Obj\at32f403a_407_int.xcl</file>
-            <file>$PROJ_DIR$\..\..\fw\modules\modbus\modbus_params.h</file>
-            <file>$PROJ_DIR$\..\..\libs\artery\cmsis\cm4\core_support\cmsis_version.h</file>
-            <file>$PROJ_DIR$\..\..\libs\thirdparty\LwIP\port\FreeRTOS\ethernetif.h</file>
-            <file>$PROJ_DIR$\Debug\Obj\buttons.xcl</file>
-            <file>$PROJ_DIR$\..\..\fw\modules\settings\settings_ai.h</file>
-            <file>$PROJ_DIR$\..\..\libs\thirdparty\LwIP\system\arch\cpu.h</file>
-            <file>$PROJ_DIR$\..\..\fw\modules\io\digital_input.h</file>
-            <file>$TOOLKIT_DIR$\lib\dlpp7M_tl_fc.a</file>
-            <file>$PROJ_DIR$\Debug\Obj\at32f403a_407_usb.o</file>
-            <file>$PROJ_DIR$\Debug\Obj\mem.xcl</file>
-            <file>$PROJ_DIR$\..\..\libs\thirdparty\fat_fs\src\ffconf.h</file>
-            <file>$PROJ_DIR$\Debug\Obj\queue.xcl</file>
-            <file>$PROJ_DIR$\Debug\Obj\io_utils.o</file>
-            <file>$TOOLKIT_DIR$\inc\c\math.h</file>
-            <file>$PROJ_DIR$\Debug\Obj\raw.o</file>
-            <file>$PROJ_DIR$\Debug\Obj\etharp.xcl</file>
-            <file>$PROJ_DIR$\..\..\fw\modules\terminal\terminal_usartbridge.h</file>
-            <file>$TOOLKIT_DIR$\inc\c\ctype.h</file>
-            <file>$PROJ_DIR$\..\..\libs\thirdparty\LwIP\src\include\netif\ppp\ppp_impl.h</file>
-            <file>$PROJ_DIR$\Debug\Obj\icmp.xcl</file>
-            <file>$PROJ_DIR$\Debug\Obj\list.xcl</file>
-            <file>$PROJ_DIR$\..\..\fw\modules\usb\usb_eth.h</file>
-            <file>$PROJ_DIR$\Debug\Obj\porttimer.o</file>
-            <file>$PROJ_DIR$\Debug\Obj\event_groups.xcl</file>
-            <file>$PROJ_DIR$\..\..\libs\artery\drivers\inc\at32f403a_407_usart.h</file>
-            <file>$PROJ_DIR$\..\..\libs\thirdparty\freertos\include\StackMacros.h</file>
-            <file>$PROJ_DIR$\Debug\Obj\swap.o</file>
-            <file>$PROJ_DIR$\..\..\fw\user\system_at32f403a_407.h</file>
-            <file>$PROJ_DIR$\Debug\Obj\portother.xcl</file>
-            <file>$PROJ_DIR$\..\..\shared\peripherals\inc\spi_common.h</file>
-            <file>$PROJ_DIR$\..\..\shared\peripherals\inc\buttons.h</file>
-            <file>$PROJ_DIR$\..\..\fw\modules\user_fatfs\user_fatfs.h</file>
-            <file>$PROJ_DIR$\Debug\Obj\adc_transport.o</file>
-            <file>$PROJ_DIR$\Debug\Obj\modbus_ao_params.xcl</file>
-            <file>$PROJ_DIR$\Debug\Obj\mbfuncdisc.o</file>
-            <file>$PROJ_DIR$\Debug\Obj\ip4_addr.xcl</file>
-            <file>$PROJ_DIR$\Debug\Obj\mbfuncholding.o</file>
-            <file>$PROJ_DIR$\Debug\Obj\ip4_frag.xcl</file>
-            <file>$PROJ_DIR$\..\..\libs\thirdparty\LwIP\src\include\lwip\pbuf.h</file>
-            <file>$PROJ_DIR$\Debug\Obj\dhcp.xcl</file>
-            <file>$PROJ_DIR$\Debug\Obj\usb_eth.xcl</file>
-            <file>$PROJ_DIR$\..\..\libs\thirdparty\LwIP\src\include\lwip\api.h</file>
-            <file>$PROJ_DIR$\Debug\Obj\soft_wdt.xcl</file>
-            <file>$PROJ_DIR$\..\..\libs\artery\cmsis\cm4\core_support\mpu_armv7.h</file>
-            <file>$TOOLKIT_DIR$\inc\c\yvals.h</file>
-            <file>$PROJ_DIR$\..\..\libs\thirdparty\LwIP\src\include\lwip\netdb.h</file>
-            <file>$PROJ_DIR$\..\..\libs\thirdparty\LwIP\src\include\netif\ppp\polarssl\md5.h</file>
-            <file>$PROJ_DIR$\Debug\Obj\ip.xcl</file>
-            <file>$TOOLKIT_DIR$\inc\c\string.h</file>
-            <file>$PROJ_DIR$\Debug\Obj\microrl.xcl</file>
-            <file>$PROJ_DIR$\Debug\Obj\digital_input.o</file>
-            <file>$PROJ_DIR$\..\..\shared\freemodbus\port\tim_delay.h</file>
-            <file>$PROJ_DIR$\Debug\Obj\at32f403a_407_board.xcl</file>
-            <file>$PROJ_DIR$\..\..\libs\artery\drivers\inc\at32f403a_407_def.h</file>
-            <file>$PROJ_DIR$\Debug\Obj\common_gpio.o</file>
-            <file>$PROJ_DIR$\..\..\libs\thirdparty\LwIP\src\include\lwip\netifapi.h</file>
-            <file>$PROJ_DIR$\..\..\libs\artery\drivers\inc\at32f403a_407_debug.h</file>
-            <file>$PROJ_DIR$\..\..\fw\modules\adc\ms5192t.h</file>
+            <file>$PROJ_DIR$\..\..\fw\modules\misc\usb_clock.h</file>
             <file>$PROJ_DIR$\..\..\fw\modules\modbus\modbus.h</file>
-            <file>$PROJ_DIR$\Debug\Obj\modbus_ai_params.xcl</file>
-            <file>$PROJ_DIR$\Debug\Obj\tasks.xcl</file>
-            <file>$PROJ_DIR$\Debug\Obj\at32f403a_407_usb.xcl</file>
-            <file>$PROJ_DIR$\..\..\libs\thirdparty\LwIP\src\include\lwip\igmp.h</file>
-            <file>$PROJ_DIR$\..\..\libs\thirdparty\LwIP\src\include\lwip\icmp.h</file>
-            <file>$PROJ_DIR$\..\..\shared\rtc\rtc.h</file>
             <file>$PROJ_DIR$\..\..\libs\thirdparty\freertos\include\projdefs.h</file>
-            <file>$PROJ_DIR$\Debug\Obj\FreeRTOS-openocd.o</file>
-            <file>$PROJ_DIR$\Debug\Obj\sys_hal.xcl</file>
-            <file>$PROJ_DIR$\..\..\fw\modules\misc\usb_clock.h</file>
-            <file>$PROJ_DIR$\..\..\fw\modules\dac\dac_transport.h</file>
-            <file>$TOOLKIT_DIR$\inc\c\inttypes.h</file>
+            <file>$PROJ_DIR$\..\..\libs\thirdparty\LwIP\src\include\lwip\netifapi.h</file>
             <file>$PROJ_DIR$\..\..\libs\thirdparty\LwIP\src\include\lwip\err.h</file>
-            <file>$PROJ_DIR$\Debug\Obj\at32f403a_407_emac.o</file>
-            <file>$PROJ_DIR$\..\..\libs\thirdparty\LwIP\src\include\lwip\prot\udp.h</file>
-            <file>$PROJ_DIR$\..\..\libs\thirdparty\LwIP\src\include\lwip\inet.h</file>
-            <file>$PROJ_DIR$\..\..\libs\thirdparty\LwIP\src\include\lwip\ip6_frag.h</file>
             <file>$PROJ_DIR$\..\..\libs\thirdparty\LwIP\src\include\lwip\prot\icmp.h</file>
+            <file>$PROJ_DIR$\..\..\libs\artery\drivers\inc\at32f403a_407_def.h</file>
             <file>$PROJ_DIR$\..\..\libs\thirdparty\LwIP\src\include\lwip\priv\tcpip_priv.h</file>
+            <file>$PROJ_DIR$\Debug\Obj\at32f403a_407_board.xcl</file>
+            <file>$PROJ_DIR$\..\..\shared\rtc\rtc.h</file>
+            <file>$PROJ_DIR$\..\..\fw\modules\adc\ms5192t.h</file>
             <file>$PROJ_DIR$\..\..\libs\thirdparty\LwIP\src\include\lwip\prot\etharp.h</file>
+            <file>$PROJ_DIR$\..\..\shared\freemodbus\port\tim_delay.h</file>
+            <file>$PROJ_DIR$\Debug\Obj\digital_input.o</file>
+            <file>$PROJ_DIR$\Debug\Obj\tasks.xcl</file>
+            <file>$PROJ_DIR$\Debug\Obj\at32f403a_407_emac.o</file>
+            <file>$TOOLKIT_DIR$\inc\c\inttypes.h</file>
+            <file>$PROJ_DIR$\..\..\libs\thirdparty\LwIP\src\include\lwip\prot\udp.h</file>
+            <file>$PROJ_DIR$\..\..\libs\thirdparty\LwIP\src\include\lwip\ip6_frag.h</file>
+            <file>$PROJ_DIR$\..\..\libs\thirdparty\LwIP\src\include\lwip\icmp.h</file>
+            <file>$PROJ_DIR$\..\..\fw\modules\dac\dac_transport.h</file>
+            <file>$PROJ_DIR$\Debug\Obj\modbus_ai_params.xcl</file>
+            <file>$PROJ_DIR$\..\..\libs\thirdparty\LwIP\src\include\lwip\inet.h</file>
             <file>$PROJ_DIR$\Debug\Obj\uptime.o</file>
             <file>$TOOLKIT_DIR$\lib\dl7M_tlf.a</file>
-            <file>$PROJ_DIR$\..\..\fw\modules\log\log.h</file>
-            <file>$PROJ_DIR$\..\..\libs\thirdparty\LwIP\src\include\lwip\udp.h</file>
-            <file>$PROJ_DIR$\..\..\libs\thirdparty\rndis\dns-server\dnserver.h</file>
-            <file>$PROJ_DIR$\..\..\libs\thirdparty\LwIP\src\include\lwip\sockets.h</file>
-            <file>$TOOLKIT_DIR$\inc\c\DLib_float_setup.h</file>
-            <file>$PROJ_DIR$\Debug\Obj\spi_common.o</file>
-            <file>$PROJ_DIR$\Debug\Obj\modbus.o</file>
-            <file>$PROJ_DIR$\..\..\fw\modules\io\io_utils.h</file>
-            <file>$PROJ_DIR$\Debug\Obj\at32f403a_407_rtc.o</file>
-            <file>$PROJ_DIR$\Debug\Obj\extended_sram.o</file>
-            <file>$PROJ_DIR$\Debug\Obj\FreeRTOS-openocd.xcl</file>
-            <file>$PROJ_DIR$\Debug\Obj\at32f403a_407_can.o</file>
-            <file>$PROJ_DIR$\..\..\fw\modules\modbus\modbus_ai_params.h</file>
-            <file>$PROJ_DIR$\Debug\Obj\event_groups.o</file>
-            <file>$PROJ_DIR$\..\..\libs\thirdparty\LwIP\src\include\netif\etharp.h</file>
-            <file>$PROJ_DIR$\..\..\libs\thirdparty\LwIP\src\include\lwip\priv\nd6_priv.h</file>
-            <file>$PROJ_DIR$\Debug\Obj\rng.o</file>
-            <file>$PROJ_DIR$\Debug\Obj\mbutils.o</file>
-            <file>$PROJ_DIR$\..\..\libs\thirdparty\freertos\include\deprecated_definitions.h</file>
-            <file>$PROJ_DIR$\..\..\libs\artery\drivers\inc\at32f403a_407_xmc.h</file>
-            <file>$PROJ_DIR$\Debug\Obj\at32f403a_407_dma.o</file>
-            <file>$PROJ_DIR$\..\..\libs\thirdparty\microrl\microrl.h</file>
-            <file>$PROJ_DIR$\..\..\libs\thirdparty\LwIP\src\include\lwip\netif.h</file>
-            <file>$PROJ_DIR$\Debug\Obj\heap_4.xcl</file>
-            <file>$PROJ_DIR$\Debug\Obj\settings_api.o</file>
-            <file>$PROJ_DIR$\Debug\Obj\sys_arch.o</file>
-            <file>$PROJ_DIR$\Debug\Obj\at32f403a_407_wwdt.o</file>
-            <file>$PROJ_DIR$\Debug\Obj\main.xcl</file>
-            <file>$PROJ_DIR$\Debug\Obj\portevent.xcl</file>
-            <file>$PROJ_DIR$\Debug\Obj\dns.o</file>
-            <file>$PROJ_DIR$\..\..\libs\artery\drivers\inc\at32f403a_407_usb.h</file>
-            <file>$PROJ_DIR$\..\..\libs\thirdparty\LwIP\src\include\lwip\priv\memp_priv.h</file>
-            <file>$PROJ_DIR$\Debug\Obj\digital_output.o</file>
-            <file>$PROJ_DIR$\Debug\Obj\api_msg.o</file>
-            <file>$PROJ_DIR$\Debug\Obj\at32f403a_407_crc.xcl</file>
-            <file>$PROJ_DIR$\..\..\libs\thirdparty\LwIP\src\include\lwip\netbuf.h</file>
-            <file>$PROJ_DIR$\Debug\Obj\soft_test.xcl</file>
-            <file>$PROJ_DIR$\Debug\Obj\ip.o</file>
-            <file>$PROJ_DIR$\..\..\fw\modules\testing\soft_test.h</file>
-            <file>$PROJ_DIR$\..\..\libs\artery\drivers\inc\at32f403a_407_dma.h</file>
-            <file>$PROJ_DIR$\Debug\Obj\modbus_ai_params.o</file>
-            <file>$PROJ_DIR$\Debug\Obj\mbcrc.o</file>
-            <file>$PROJ_DIR$\Debug\Obj\dhcp.o</file>
-            <file>$PROJ_DIR$\..\..\libs\artery\drivers\inc\at32f403a_407_emac.h</file>
-            <file>$PROJ_DIR$\Debug\Obj\uptime.xcl</file>
-            <file>$PROJ_DIR$\..\..\fw\modules\io\filter.h</file>
-            <file>$PROJ_DIR$\Debug\Obj\at32f403a_407_i2c.xcl</file>
-            <file>$PROJ_DIR$\..\..\libs\thirdparty\LwIP\src\include\lwip\errno.h</file>
-            <file>$PROJ_DIR$\Debug\Obj\microrl.o</file>
-            <file>$PROJ_DIR$\Debug\Obj\usbd_int.o</file>
-            <file>$PROJ_DIR$\Debug\Obj\mbfuncdiag.xcl</file>
-            <file>$PROJ_DIR$\Debug\Obj\igmp.xcl</file>
-            <file>$PROJ_DIR$\Debug\Obj\ms5192t.o</file>
-            <file>$PROJ_DIR$\Debug\Obj\usbd_int.xcl</file>
-            <file>$PROJ_DIR$\Debug\Obj\at32f403a_407_dac.o</file>
-            <file>$PROJ_DIR$\..\..\libs\thirdparty\freertos\include\croutine.h</file>
-            <file>$PROJ_DIR$\..\..\libs\thirdparty\ringfs\ringfs.h</file>
-            <file>$PROJ_DIR$\Debug\Obj\spi_flash.xcl</file>
-            <file>$PROJ_DIR$\..\..\libs\thirdparty\LwIP\src\include\lwip\priv\api_msg.h</file>
-            <file>$PROJ_DIR$\..\..\libs\thirdparty\freertos\include\mpu_wrappers.h</file>
-            <file>$PROJ_DIR$\Debug\Obj\autoip.xcl</file>
-            <file>$PROJ_DIR$\Debug\Obj\utility.xcl</file>
-            <file>$PROJ_DIR$\..\..\libs\thirdparty\freertos\include\task.h</file>
-            <file>$PROJ_DIR$\Debug\Obj\analog_input.o</file>
-            <file>$PROJ_DIR$\Debug\Obj\terminal.xcl</file>
-            <file>$PROJ_DIR$\..\..\fw\modules\adc\adc_transport.h</file>
-            <file>$PROJ_DIR$\..\..\libs\thirdparty\LwIP\src\include\lwip\autoip.h</file>
-            <file>$PROJ_DIR$\Debug\Obj\rtc.o</file>
-            <file>$PROJ_DIR$\Debug\Obj\startup_at32f403a_407.o</file>
-            <file>$PROJ_DIR$\Debug\Obj\netdb.o</file>
-            <file>$PROJ_DIR$\..\..\fw\modules\io\io.h</file>
-            <file>$PROJ_DIR$\Debug\Obj\fr_timers.xcl</file>
-            <file>$PROJ_DIR$\Debug\Obj\dnserver.xcl</file>
-            <file>$PROJ_DIR$\..\..\fw\modules\spi_flash\spi_flash.h</file>
-            <file>$PROJ_DIR$\Debug\Obj\filter.o</file>
-            <file>$PROJ_DIR$\Debug\Obj\api_msg.xcl</file>
-            <file>$PROJ_DIR$\..\..\libs\thirdparty\LwIP\src\include\lwip\icmp6.h</file>
-            <file>$PROJ_DIR$\..\..\libs\thirdparty\LwIP\src\include\lwip\init.h</file>
-            <file>$TOOLKIT_DIR$\inc\c\iar_intrinsics_common.h</file>
-            <file>$PROJ_DIR$\Debug\Obj\at32f403a_407_i2c.o</file>
-            <file>$PROJ_DIR$\Debug\Obj\mb.o</file>
-            <file>$PROJ_DIR$\..\..\fw\modules\modbus\modbus_dio_params.h</file>
-            <file>$PROJ_DIR$\Debug\Obj\usbd_sdr.xcl</file>
-            <file>$PROJ_DIR$\..\..\libs\artery\drivers\inc\at32f403a_407_adc.h</file>
-            <file>$PROJ_DIR$\..\..\fw\modules\shift_reg\shift_reg.h</file>
-            <file>$TOOLKIT_DIR$\inc\c\stdint.h</file>
-            <file>$PROJ_DIR$\Debug\Obj\netbuf.xcl</file>
-            <file>$PROJ_DIR$\Debug\Obj\analog_output.o</file>
-            <file>$PROJ_DIR$\Debug\Obj\at32f403a_407_pwc.o</file>
-            <file>$PROJ_DIR$\Debug\Obj\soft_test.o</file>
-            <file>$PROJ_DIR$\Debug\Obj\modbus_params.o</file>
-            <file>$PROJ_DIR$\Debug\Obj\porttimer.xcl</file>
-            <file>$PROJ_DIR$\Debug\Obj\ip4.xcl</file>
-            <file>$PROJ_DIR$\Debug\Obj\list.o</file>
-            <file>$PROJ_DIR$\Debug\Obj\pbuf.xcl</file>
-            <file>$PROJ_DIR$\Debug\Obj\at32f403a_407_acc.xcl</file>
-            <file>$PROJ_DIR$\Debug\Obj\at32f403a_407_wdt.xcl</file>
-            <file>$PROJ_DIR$\Debug\Obj\usb_eth.o</file>
-            <file>$PROJ_DIR$\Debug\Obj\croutine.o</file>
-            <file>$PROJ_DIR$\Debug\Obj\ethernet.xcl</file>
-            <file>$PROJ_DIR$\..\..\libs\artery\cmsis\cm4\core_support\core_cm4.h</file>
-            <file>$PROJ_DIR$\Debug\Obj\tcp_out.xcl</file>
-            <file>$TOOLKIT_DIR$\inc\c\intrinsics.h</file>
-            <file>$PROJ_DIR$\Debug\Obj\at32f403a_407_debug.o</file>
-            <file>$PROJ_DIR$\..\..\libs\artery\usb\inc\usbd_sdr.h</file>
-            <file>$PROJ_DIR$\Debug\Obj\main.o</file>
-            <file>$PROJ_DIR$\..\..\libs\artery\drivers\inc\at32f403a_407_crm.h</file>
-            <file>$PROJ_DIR$\..\..\libs\thirdparty\LwIP\src\include\lwip\ip.h</file>
-            <file>$PROJ_DIR$\Debug\Obj\at32f403a_407_spi.xcl</file>
-            <file>$PROJ_DIR$\Debug\Obj\digital_input.xcl</file>
-            <file>$PROJ_DIR$\Debug\Obj\terminal_sbs.xcl</file>
-            <file>$PROJ_DIR$\..\..\libs\thirdparty\freertos\include\queue.h</file>
-            <file>$PROJ_DIR$\Debug\Obj\at32f403a_407_flash.o</file>
-            <file>$PROJ_DIR$\Debug\Obj\init.o</file>
-            <file>$PROJ_DIR$\Debug\Obj\pbuf.o</file>
-            <file>$PROJ_DIR$\Debug\Obj\ringfs.xcl</file>
-            <file>$PROJ_DIR$\Debug\Obj\portevent.o</file>
-            <file>$PROJ_DIR$\..\..\libs\thirdparty\rndis\rndis_driver\rndis_protocol.h</file>
-            <file>$PROJ_DIR$\Debug\Obj\analog_output.xcl</file>
-            <file>$PROJ_DIR$\..\..\fw\modules\misc\soft_wdt.h</file>
-            <file>$PROJ_DIR$\Debug\Obj\sockets.xcl</file>
-            <file>$PROJ_DIR$\Debug\Obj\usb_clock.xcl</file>
-            <file>$PROJ_DIR$\Debug\Obj\usbd_core.xcl</file>
-            <file>$PROJ_DIR$\Debug\Obj\portasm.o</file>
-            <file>$PROJ_DIR$\Debug\Obj\at32f403a_407_pwc.xcl</file>
-            <file>$PROJ_DIR$\Debug\Obj\tcp_in.o</file>
-            <file>$PROJ_DIR$\..\..\fw\modules\terminal\terminal.h</file>
-            <file>$PROJ_DIR$\Debug\Obj\at32f403a_407_tmr.xcl</file>
-            <file>$PROJ_DIR$\Debug\Obj\fr_timers.o</file>
-            <file>$PROJ_DIR$\Debug\Obj\mbfuncfile.xcl</file>
-            <file>$PROJ_DIR$\Debug\Obj\terminal_sbs.o</file>
-            <file>$PROJ_DIR$\Debug\Obj\croutine.xcl</file>
-            <file>$PROJ_DIR$\Debug\Obj\settings_ai.xcl</file>
-            <file>$PROJ_DIR$\..\..\libs\thirdparty\LwIP\src\include\lwip\prot\dhcp.h</file>
-            <file>$PROJ_DIR$\..\..\libs\artery\drivers\inc\at32f403a_407_dac.h</file>
-            <file>$PROJ_DIR$\Debug\Obj\stats.o</file>
-            <file>$PROJ_DIR$\Debug\Obj\dnserver.o</file>
-            <file>$PROJ_DIR$\Debug\Obj\settings_api.xcl</file>
-            <file>$PROJ_DIR$\..\..\libs\artery\drivers\inc\at32f403a_407_wdt.h</file>
-            <file>$PROJ_DIR$\..\..\fw\modules\settings\settings_api.h</file>
-            <file>$TOOLKIT_DIR$\inc\c\ycheck.h</file>
-            <file>$PROJ_DIR$\Debug\Obj\usbd_sdr.o</file>
-            <file>$PROJ_DIR$\Debug\Obj\settings_ao.xcl</file>
-            <file>$PROJ_DIR$\Debug\Obj\ip4.o</file>
-            <file>$PROJ_DIR$\Debug\Obj\at32f403a_407_xmc.o</file>
-            <file>$PROJ_DIR$\Debug\Obj\misc.o</file>
-            <file>$PROJ_DIR$\Debug\Obj\at32f403a_407_misc.xcl</file>
-            <file>$PROJ_DIR$\..\..\libs\artery\drivers\inc\at32f403a_407_pwc.h</file>
-            <file>$PROJ_DIR$\Debug\Obj\udp.xcl</file>
-            <file>$PROJ_DIR$\..\..\fw\modules\misc\swap.h</file>
-            <file>$PROJ_DIR$\Debug\Obj\swap.xcl</file>
-            <file>$PROJ_DIR$\Debug\Obj\log_api.o</file>
-            <file>$PROJ_DIR$\..\..\shared\freemodbus\rtu\mbcrc.h</file>
-            <file>$PROJ_DIR$\..\..\libs\thirdparty\LwIP\src\include\lwip\ip4_frag.h</file>
-            <file>$PROJ_DIR$\Debug\Obj\netifapi.o</file>
-            <file>$PROJ_DIR$\Debug\Obj\mb.xcl</file>
-            <file>$PROJ_DIR$\Debug\Obj\dac_transport.xcl</file>
-            <file>$PROJ_DIR$\Debug\Obj\sys.xcl</file>
-            <file>$PROJ_DIR$\Debug\Obj\ethernetif.o</file>
-            <file>$PROJ_DIR$\Debug\Obj\ethernet.o</file>
-            <file>$PROJ_DIR$\..\..\libs\thirdparty\LwIP\src\include\lwip\tcpip.h</file>
-            <file>$PROJ_DIR$\..\..\libs\thirdparty\LwIP\src\include\lwip\debug.h</file>
-            <file>$PROJ_DIR$\Debug\Obj\at32f403a_407_crc.o</file>
-            <file>$PROJ_DIR$\..\..\libs\thirdparty\LwIP\src\include\lwip\inet_chksum.h</file>
-            <file>$PROJ_DIR$\..\..\libs\artery\drivers\inc\at32f403a_407_wwdt.h</file>
-            <file>$PROJ_DIR$\..\..\libs\artery\drivers\inc\at32f403a_407_crc.h</file>
-            <file>$PROJ_DIR$\Debug\Obj\tim_delay.o</file>
+            <file>$PROJ_DIR$\Debug\Obj\at32f403a_407_usb.xcl</file>
+            <file>$PROJ_DIR$\Debug\Obj\sys_hal.xcl</file>
+            <file>$PROJ_DIR$\..\..\libs\thirdparty\LwIP\src\include\lwip\igmp.h</file>
+            <file>$PROJ_DIR$\..\..\libs\artery\drivers\inc\at32f403a_407_debug.h</file>
+            <file>$PROJ_DIR$\Debug\Obj\common_gpio.o</file>
+            <file>$PROJ_DIR$\Debug\Obj\FreeRTOS-openocd.o</file>
+            <file>$PROJ_DIR$\..\..\libs\artery\drivers\src\at32f403a_407_flash.c</file>
+            <file>$PROJ_DIR$\..\..\libs\artery\drivers\src\at32f403a_407_acc.c</file>
+            <file>$PROJ_DIR$\..\..\libs\artery\drivers\src\at32f403a_407_misc.c</file>
+            <file>$PROJ_DIR$\..\..\libs\artery\drivers\src\at32f403a_407_spi.c</file>
+            <file>$PROJ_DIR$\..\..\libs\artery\drivers\src\at32f403a_407_xmc.c</file>
+            <file>$PROJ_DIR$\..\..\libs\artery\drivers\src\at32f403a_407_crm.c</file>
+            <file>$PROJ_DIR$\..\..\libs\artery\drivers\src\at32f403a_407_gpio.c</file>
+            <file>$PROJ_DIR$\..\..\libs\artery\drivers\src\at32f403a_407_crc.c</file>
+            <file>$PROJ_DIR$\..\..\libs\artery\drivers\src\at32f403a_407_i2c.c</file>
+            <file>$PROJ_DIR$\..\..\libs\artery\drivers\src\at32f403a_407_pwc.c</file>
+            <file>$PROJ_DIR$\..\..\libs\artery\drivers\src\at32f403a_407_debug.c</file>
+            <file>$PROJ_DIR$\..\..\libs\artery\drivers\src\at32f403a_407_rtc.c</file>
+            <file>$PROJ_DIR$\..\..\libs\artery\drivers\src\at32f403a_407_sdio.c</file>
+            <file>$PROJ_DIR$\..\..\libs\artery\drivers\src\at32f403a_407_tmr.c</file>
+            <file>$PROJ_DIR$\..\..\libs\artery\drivers\src\at32f403a_407_usb.c</file>
+            <file>$PROJ_DIR$\..\..\libs\artery\drivers\src\at32f403a_407_wdt.c</file>
+            <file>$PROJ_DIR$\..\..\libs\artery\drivers\src\at32f403a_407_emac.c</file>
+            <file>$PROJ_DIR$\..\..\libs\artery\drivers\src\at32f403a_407_bpr.c</file>
+            <file>$PROJ_DIR$\..\..\fw\user\usb_conf.h</file>
+            <file>$PROJ_DIR$\..\..\libs\artery\drivers\src\at32f403a_407_dac.c</file>
+            <file>$PROJ_DIR$\..\..\libs\artery\drivers\src\at32f403a_407_usart.c</file>
+            <file>$PROJ_DIR$\..\..\libs\artery\drivers\src\at32f403a_407_wwdt.c</file>
+            <file>$PROJ_DIR$\..\..\libs\artery\drivers\src\at32f403a_407_adc.c</file>
+            <file>$PROJ_DIR$\..\..\fw\user\main.h</file>
+            <file>$PROJ_DIR$\..\..\libs\artery\cmsis\cm4\device_support\at32f403a_407.h</file>
+            <file>$PROJ_DIR$\..\..\libs\artery\drivers\src\at32f403a_407_can.c</file>
+            <file>$PROJ_DIR$\..\..\libs\artery\drivers\src\at32f403a_407_dma.c</file>
+            <file>$PROJ_DIR$\..\..\libs\artery\cmsis\cm4\device_support\startup\iar\startup_at32f403a_407.s</file>
+            <file>$PROJ_DIR$\..\..\fw\user\system_at32f403a_407.c</file>
+            <file>$PROJ_DIR$\..\..\fw\user\MicroRLConfig.h</file>
+            <file>$PROJ_DIR$\..\..\libs\artery\drivers\src\at32f403a_407_exint.c</file>
             <file>$PROJ_DIR$\Debug\Obj\system_at32f403a_407.xcl</file>
-            <file>$PROJ_DIR$\Debug\Obj\timeouts.xcl</file>
+            <file>$PROJ_DIR$\..\..\libs\artery\drivers\inc\at32f403a_407_wwdt.h</file>
+            <file>$PROJ_DIR$\Debug\Obj\sys_api.xcl</file>
+            <file>$PROJ_DIR$\..\..\libs\thirdparty\LwIP\src\include\lwip\inet_chksum.h</file>
+            <file>$PROJ_DIR$\..\..\libs\thirdparty\LwIP\src\include\lwip\debug.h</file>
             <file>$PROJ_DIR$\Debug\Obj\at32f403a_407_spi.o</file>
-            <file>$PROJ_DIR$\Debug\Obj\mbfunccoils.o</file>
-            <file>$PROJ_DIR$\Debug\Obj\shift_reg.xcl</file>
+            <file>$PROJ_DIR$\..\..\fw\modules\misc\misc.h</file>
+            <file>$PROJ_DIR$\Debug\Obj\ethernet.o</file>
+            <file>$PROJ_DIR$\Debug\Obj\timeouts.xcl</file>
             <file>$PROJ_DIR$\Debug\Obj\at32f403a_407_can.xcl</file>
-            <file>$PROJ_DIR$\Debug\Obj\sys_api.o</file>
-            <file>$PROJ_DIR$\Debug\Obj\netdb.xcl</file>
             <file>$PROJ_DIR$\..\..\output\fw.bin</file>
-            <file>$PROJ_DIR$\..\..\fw\modules\misc\misc.h</file>
-            <file>$PROJ_DIR$\Debug\Obj\sys_api.xcl</file>
             <file>$PROJ_DIR$\Debug\Obj\usbd_rndis_core.o</file>
             <file>$PROJ_DIR$\..\..\libs\artery\drivers\inc\at32f403a_407_sdio.h</file>
+            <file>$PROJ_DIR$\Debug\Obj\sys_api.o</file>
             <file>$PROJ_DIR$\..\..\shared\sys\sys_api.h</file>
             <file>$PROJ_DIR$\..\..\fw\modules\io\mux.h</file>
+            <file>$PROJ_DIR$\Debug\Obj\sys.xcl</file>
+            <file>$PROJ_DIR$\Debug\Obj\at32f403a_407_crc.o</file>
             <file>$TOOLKIT_DIR$\inc\c\DLib_Product_string.h</file>
+            <file>$PROJ_DIR$\..\..\libs\thirdparty\LwIP\src\include\lwip\tcpip.h</file>
+            <file>$PROJ_DIR$\..\..\libs\artery\drivers\inc\at32f403a_407_crc.h</file>
+            <file>$PROJ_DIR$\Debug\Obj\tim_delay.o</file>
+            <file>$PROJ_DIR$\Debug\Obj\shift_reg.xcl</file>
             <file>$PROJ_DIR$\Debug\Obj\mbrtu.xcl</file>
             <file>$PROJ_DIR$\Debug\Obj\ms5192t.xcl</file>
             <file>$PROJ_DIR$\Debug\Obj\adc_transport.xcl</file>
             <file>$PROJ_DIR$\Debug\Obj\dhserver.xcl</file>
             <file>$PROJ_DIR$\..\..\libs\artery\drivers\inc\at32f403a_407_gpio.h</file>
             <file>$PROJ_DIR$\Debug\Obj\mbfuncholding.xcl</file>
-            <file>$PROJ_DIR$\Debug\Obj\at32f403a_407_dma.xcl</file>
-            <file>$PROJ_DIR$\Debug\Obj\at32f403a_407_crm.o</file>
-            <file>$PROJ_DIR$\..\..\shared\sys\sys_hal.h</file>
+            <file>$PROJ_DIR$\Debug\Obj\mbfunccoils.o</file>
+            <file>$PROJ_DIR$\Debug\Obj\netdb.xcl</file>
+            <file>$PROJ_DIR$\Debug\Obj\ethernetif.o</file>
             <file>$PROJ_DIR$\..\..\libs\artery\cmsis\cm4\core_support\cmsis_iccarm.h</file>
-            <file>$PROJ_DIR$\Debug\Obj\portserial.o</file>
             <file>$PROJ_DIR$\Debug\Obj\soft_wdt.o</file>
+            <file>$TOOLKIT_DIR$\inc\c\stdbool.h</file>
+            <file>$PROJ_DIR$\Debug\Obj\usb.o</file>
+            <file>$PROJ_DIR$\Debug\Obj\log.o</file>
+            <file>$PROJ_DIR$\Debug\Obj\tcp.o</file>
+            <file>$PROJ_DIR$\Debug\Obj\portserial.o</file>
             <file>$PROJ_DIR$\Debug\Obj\at32f403a_407_tmr.o</file>
+            <file>$PROJ_DIR$\Debug\List\module_universal_io.map</file>
+            <file>$PROJ_DIR$\..\..\libs\artery\drivers\inc\at32f403a_407_spi.h</file>
+            <file>$PROJ_DIR$\Debug\Obj\terminal_usartbridge.o</file>
+            <file>$PROJ_DIR$\..\..\libs\thirdparty\LwIP\src\include\netif\ethernet.h</file>
             <file>$PROJ_DIR$\Debug\Obj\shift_reg.o</file>
-            <file>$TOOLKIT_DIR$\inc\c\stdbool.h</file>
+            <file>$PROJ_DIR$\..\..\libs\thirdparty\LwIP\system\arch\sys_arch.h</file>
+            <file>$PROJ_DIR$\Debug\Obj\at32f403a_407_dma.xcl</file>
             <file>$PROJ_DIR$\Debug\Obj\inet_chksum.xcl</file>
-            <file>$PROJ_DIR$\..\..\fw\modules\io\analog_output.h</file>
             <file>$PROJ_DIR$\Debug\Obj\tcp.xcl</file>
-            <file>$PROJ_DIR$\Debug\Obj\io_utils.xcl</file>
-            <file>$PROJ_DIR$\..\..\libs\thirdparty\LwIP\src\include\lwip\ip4_addr.h</file>
-            <file>$PROJ_DIR$\Debug\Obj\at32f403a_407_adc.o</file>
-            <file>$PROJ_DIR$\..\..\libs\thirdparty\LwIP\src\include\netif\ethernet.h</file>
-            <file>$PROJ_DIR$\..\..\libs\thirdparty\LwIP\system\arch\sys_arch.h</file>
             <file>$PROJ_DIR$\..\..\shared\utils\utility.h</file>
+            <file>$PROJ_DIR$\..\..\libs\thirdparty\LwIP\src\include\lwip\ip4_addr.h</file>
             <file>$PROJ_DIR$\..\..\libs\thirdparty\LwIP\src\include\lwip\sys.h</file>
-            <file>$PROJ_DIR$\Debug\Obj\usb.o</file>
+            <file>$PROJ_DIR$\Debug\Obj\at32f403a_407_crm.o</file>
+            <file>$PROJ_DIR$\Debug\Obj\io_utils.xcl</file>
             <file>$PROJ_DIR$\Debug\Obj\init.xcl</file>
-            <file>$PROJ_DIR$\Debug\Obj\log.o</file>
-            <file>$PROJ_DIR$\Debug\Obj\tcp.o</file>
-            <file>$PROJ_DIR$\Debug\List\module_universal_io.map</file>
             <file>$PROJ_DIR$\Debug\Obj\at32f403a_407_clock.o</file>
             <file>$PROJ_DIR$\Debug\Obj\at32f403a_407_usart.xcl</file>
-            <file>$PROJ_DIR$\..\..\libs\artery\drivers\inc\at32f403a_407_spi.h</file>
             <file>$PROJ_DIR$\Debug\Obj\terminal_usartbridge.xcl</file>
             <file>$PROJ_DIR$\..\..\libs\thirdparty\LwIP\src\include\lwip\priv\memp_std.h</file>
+            <file>$PROJ_DIR$\Debug\Obj\at32f403a_407_adc.o</file>
             <file>$PROJ_DIR$\Debug\Obj\ip4_frag.o</file>
-            <file>$PROJ_DIR$\Debug\Obj\terminal_usartbridge.o</file>
-            <file>$PROJ_DIR$\Debug\Obj\module_universal_io.pbd</file>
-            <file>$PROJ_DIR$\..\..\fw\modules\log\log_api.h</file>
-            <file>$PROJ_DIR$\..\..\libs\thirdparty\LwIP\src\include\lwip\tcp.h</file>
-            <file>$PROJ_DIR$\Debug\Obj\sys_arch.xcl</file>
-            <file>$PROJ_DIR$\Debug\Obj\at32f403a_407_debug.xcl</file>
-            <file>$PROJ_DIR$\Debug\Obj\tim_delay.xcl</file>
-            <file>$PROJ_DIR$\Debug\Obj\at32f403a_407_bpr.xcl</file>
-            <file>$PROJ_DIR$\Debug\Obj\at32f403a_407_xmc.xcl</file>
-            <file>$TOOLKIT_DIR$\inc\c\stdarg.h</file>
-            <file>$PROJ_DIR$\..\..\libs\thirdparty\LwIP\src\include\lwip\raw.h</file>
-            <file>$PROJ_DIR$\Debug\Obj\mbfunccoils.xcl</file>
-            <file>$PROJ_DIR$\..\..\libs\thirdparty\LwIP\src\include\lwip\ip6.h</file>
-            <file>$PROJ_DIR$\Debug\Obj\terminal.o</file>
-            <file>$PROJ_DIR$\Debug\Obj\ethernetif.xcl</file>
-            <file>$PROJ_DIR$\..\..\libs\artery\drivers\inc\at32f403a_407_acc.h</file>
-            <file>$PROJ_DIR$\Debug\Obj\mbfuncinput.o</file>
-            <file>$PROJ_DIR$\Debug\Obj\udp.o</file>
-            <file>$PROJ_DIR$\..\..\shared\peripherals\inc\usb.h</file>
-            <file>$PROJ_DIR$\Debug\Obj\mbfuncdiag.o</file>
-            <file>$PROJ_DIR$\..\..\fw\modules\misc\hash.h</file>
-            <file>$PROJ_DIR$\Debug\Obj\at32f403a_407_usart.o</file>
-            <file>$PROJ_DIR$\Debug\Obj\tasks.o</file>
-            <file>$PROJ_DIR$\..\..\shared\peripherals\inc\common_gpio.h</file>
-            <file>$PROJ_DIR$\Debug\Obj\at32f403a_407_wwdt.xcl</file>
-            <file>$PROJ_DIR$\..\..\fw\modules\io\digital_output.h</file>
-            <file>$PROJ_DIR$\..\..\libs\thirdparty\rndis\rndis_driver\usbd_desc.h</file>
-            <file>$PROJ_DIR$\Debug\Obj\usbd_rndis_core.xcl</file>
-            <file>$PROJ_DIR$\Debug\Obj\netif.xcl</file>
-            <file>$PROJ_DIR$\..\..\libs\thirdparty\fat_fs\src\ff.h</file>
-            <file>$PROJ_DIR$\..\..\libs\thirdparty\freertos\include\event_groups.h</file>
-            <file>$PROJ_DIR$\Debug\Obj\memp.xcl</file>
-            <file>$PROJ_DIR$\Debug\Obj\at32f403a_407_rtc.xcl</file>
-            <file>$PROJ_DIR$\Debug\Obj\netif.o</file>
-            <file>$PROJ_DIR$\Debug\Obj\monitoring.xcl</file>
-            <file>$PROJ_DIR$\..\..\libs\artery\drivers\inc\at32f403a_407_rtc.h</file>
-            <file>$PROJ_DIR$\Debug\Obj\at32f403a_407_int.o</file>
-            <file>$PROJ_DIR$\..\..\shared\freemodbus\rtu\mbrtu.h</file>
-            <file>$PROJ_DIR$\..\..\libs\thirdparty\fat_fs\src\integer.h</file>
-            <file>$PROJ_DIR$\Debug\Obj\mbcrc.xcl</file>
-            <file>$PROJ_DIR$\..\..\fw\modules\modbus\update.h</file>
-            <file>$PROJ_DIR$\..\..\libs\thirdparty\LwIP\src\include\lwip\ip_addr.h</file>
-            <file>$PROJ_DIR$\Debug\Obj\digital_output.xcl</file>
-            <file>$PROJ_DIR$\Debug\Obj\spi_flash.o</file>
-            <file>$PROJ_DIR$\Debug\Obj\at32f403a_407_adc.xcl</file>
-            <file>$PROJ_DIR$\Debug\Obj\monitoring.o</file>
-            <file>$PROJ_DIR$\..\..\libs\thirdparty\freertos\include\fr_timers.h</file>
-            <file>$PROJ_DIR$\..\..\libs\thirdparty\LwIP\src\include\lwip\mld6.h</file>
-            <file>$PROJ_DIR$\..\..\libs\artery\system\at32f403a_407_clock.h</file>
-            <file>$PROJ_DIR$\Debug\Obj\at32f403a_407_clock.xcl</file>
-            <file>$TOOLKIT_DIR$\inc\c\stdio.h</file>
-            <file>$PROJ_DIR$\Debug\Obj\usb_clock.o</file>
-            <file>$PROJ_DIR$\Debug\Obj\hash.xcl</file>
-            <file>$PROJ_DIR$\..\..\libs\artery\drivers\inc\at32f403a_407_can.h</file>
-            <file>$PROJ_DIR$\..\..\shared\wdt\wdt.h</file>
-            <file>$PROJ_DIR$\Debug\Obj\log.xcl</file>
-            <file>$PROJ_DIR$\..\..\fw\modules\misc\at32_uid.h</file>
-            <file>$PROJ_DIR$\Debug\Obj\sys.o</file>
-            <file>$PROJ_DIR$\Debug\Obj\flash_ram_const.o</file>
-            <file>$PROJ_DIR$\..\..\libs\thirdparty\rndis\dhcp-server\dhserver.h</file>
-            <file>$PROJ_DIR$\Debug\Obj\modbus.xcl</file>
-            <file>$PROJ_DIR$\Debug\Obj\timeouts.o</file>
-            <file>$PROJ_DIR$\Debug\Obj\dhserver.o</file>
-            <file>$PROJ_DIR$\..\..\libs\thirdparty\LwIP\system\arch\cc.h</file>
-            <file>$PROJ_DIR$\..\..\libs\thirdparty\LwIP\src\include\lwip\prot\icmp6.h</file>
-            <file>$PROJ_DIR$\Debug\Obj\io.xcl</file>
-            <file>$PROJ_DIR$\Debug\Obj\at32f403a_407_bpr.o</file>
-            <file>$PROJ_DIR$\..\..\libs\artery\usb\inc\usb_std.h</file>
-            <file>$PROJ_DIR$\..\..\fw\modules\io\analog_input.h</file>
-            <file>$PROJ_DIR$\Debug\Obj\api_lib.xcl</file>
-            <file>$PROJ_DIR$\Debug\Obj\mbascii.o</file>
+            <file>$PROJ_DIR$\..\..\fw\modules\io\analog_output.h</file>
+            <file>$PROJ_DIR$\..\..\shared\sys\sys_hal.h</file>
+            <file>$PROJ_DIR$\..\..\libs\thirdparty\LwIP\src\include\lwip\prot\ip4.h</file>
+            <file>$PROJ_DIR$\..\..\libs\thirdparty\freertos\include\semphr.h</file>
+            <file>$PROJ_DIR$\Debug\Obj\at32f403a_407_gpio.xcl</file>
+            <file>$PROJ_DIR$\..\..\libs\thirdparty\LwIP\src\include\lwip\ip6_addr.h</file>
+            <file>$PROJ_DIR$\..\..\libs\artery\drivers\inc\at32f403a_407_exint.h</file>
+            <file>$PROJ_DIR$\AT32F403AxG.icf</file>
+            <file>$PROJ_DIR$\Debug\Obj\at32f403a_407_wdt.o</file>
+            <file>$PROJ_DIR$\Debug\Obj\modbus_ao_params.o</file>
+            <file>$PROJ_DIR$\..\..\libs\thirdparty\LwIP\src\include\lwip\dns.h</file>
+            <file>$PROJ_DIR$\..\..\libs\artery\drivers\inc\at32f403a_407_misc.h</file>
+            <file>$PROJ_DIR$\Debug\Obj\log_api.xcl</file>
+            <file>$PROJ_DIR$\Debug\Obj\mux.o</file>
+            <file>$PROJ_DIR$\Debug\Obj\usbd_core.o</file>
+            <file>$PROJ_DIR$\Debug\Obj\mux.xcl</file>
+            <file>$PROJ_DIR$\..\..\libs\thirdparty\LwIP\src\include\lwip\nd6.h</file>
+            <file>$PROJ_DIR$\Debug\Obj\buttons.o</file>
+            <file>$PROJ_DIR$\..\..\libs\thirdparty\LwIP\src\include\netif\ppp\pppoe.h</file>
+            <file>$PROJ_DIR$\Debug\Obj\mbascii.xcl</file>
+            <file>$PROJ_DIR$\Debug\Obj\heap_4.o</file>
+            <file>$PROJ_DIR$\Debug\Obj\portserial.xcl</file>
+            <file>$PROJ_DIR$\Debug\Obj\at32f403a_407_sdio.xcl</file>
+            <file>$PROJ_DIR$\Debug\Obj\netifapi.xcl</file>
+            <file>$PROJ_DIR$\Debug\Obj\at32f403a_407_dac.xcl</file>
+            <file>$PROJ_DIR$\Debug\Obj\sys_hal.o</file>
+            <file>$PROJ_DIR$\..\..\shared\utils\at32f403a_407_board.h</file>
+            <file>$PROJ_DIR$\..\..\libs\thirdparty\LwIP\src\include\lwip\prot\tcp.h</file>
+            <file>$PROJ_DIR$\Debug\Obj\sockets.o</file>
+            <file>$PROJ_DIR$\Debug\Obj\analog_input.xcl</file>
+            <file>$PROJ_DIR$\..\..\libs\thirdparty\LwIP\src\include\lwip\memp.h</file>
+            <file>$TOOLKIT_DIR$\lib\rt7M_tl.a</file>
+            <file>$PROJ_DIR$\Debug\Obj\err.o</file>
+            <file>$PROJ_DIR$\Debug\Obj\mbfuncfile.o</file>
             <file>$TOOLKIT_DIR$\inc\c\iccarm_builtin.h</file>
-            <file>$PROJ_DIR$\..\..\libs\thirdparty\LwIP\src\include\lwip\etharp.h</file>
-            <file>$PROJ_DIR$\Debug\Obj\queue.o</file>
+            <file>$PROJ_DIR$\Debug\Obj\api_lib.xcl</file>
             <file>$TOOLKIT_DIR$\lib\shb_l.a</file>
             <file>$PROJ_DIR$\Debug\Obj\at32f403a_407_flash.xcl</file>
-            <file>$PROJ_DIR$\Debug\Obj\etharp.o</file>
-            <file>$TOOLKIT_DIR$\inc\c\stddef.h</file>
-            <file>$PROJ_DIR$\Debug\Obj\def.xcl</file>
-            <file>$PROJ_DIR$\..\..\fw\modules\modbus\modbus_ao_params.h</file>
-            <file>$PROJ_DIR$\..\..\libs\thirdparty\freertos\include\portable.h</file>
             <file>$PROJ_DIR$\Debug\Obj\settings_ai.o</file>
-            <file>$PROJ_DIR$\Debug\Obj\mbfuncother.o</file>
-            <file>$PROJ_DIR$\..\..\shared\peripherals\inc\usart.h</file>
-            <file>$PROJ_DIR$\Debug\Obj\ip4_addr.o</file>
-            <file>$PROJ_DIR$\Debug\Obj\portother.o</file>
             <file>$PROJ_DIR$\Debug\Obj\at32f403a_407_board.o</file>
-            <file>$PROJ_DIR$\Debug\Obj\at32f403a_407_acc.o</file>
             <file>$PROJ_DIR$\..\..\libs\thirdparty\LwIP\src\include\lwip\prot\dns.h</file>
             <file>$PROJ_DIR$\..\..\libs\artery\cmsis\cm4\core_support\cmsis_compiler.h</file>
+            <file>$PROJ_DIR$\Debug\Obj\mbascii.o</file>
+            <file>$PROJ_DIR$\..\..\libs\thirdparty\LwIP\src\include\lwip\etharp.h</file>
             <file>$PROJ_DIR$\Debug\Obj\rng.xcl</file>
+            <file>$PROJ_DIR$\Debug\Obj\queue.o</file>
+            <file>$PROJ_DIR$\Debug\Obj\io.xcl</file>
+            <file>$PROJ_DIR$\..\..\fw\modules\modbus\modbus_ao_params.h</file>
             <file>$PROJ_DIR$\Debug\Obj\at32f403a_407_emac.xcl</file>
             <file>$PROJ_DIR$\..\..\libs\artery\drivers\inc\at32f403a_407_i2c.h</file>
             <file>$PROJ_DIR$\..\..\fw\user\at32f403a_407_int.h</file>
+            <file>$PROJ_DIR$\..\..\libs\thirdparty\LwIP\src\include\lwip\prot\icmp6.h</file>
+            <file>$PROJ_DIR$\..\..\libs\artery\usb\inc\usb_std.h</file>
+            <file>$PROJ_DIR$\..\..\shared\peripherals\inc\usart.h</file>
+            <file>$PROJ_DIR$\Debug\Obj\at32f403a_407_acc.o</file>
+            <file>$PROJ_DIR$\Debug\Obj\ip4_addr.o</file>
+            <file>$PROJ_DIR$\Debug\Obj\mbfuncother.o</file>
             <file>$TOOLKIT_DIR$\inc\c\DLib_Config_Full.h</file>
             <file>$PROJ_DIR$\Debug\Obj\wdt.o</file>
-            <file>$PROJ_DIR$\Debug\Obj\port.xcl</file>
-            <file>$PROJ_DIR$\Debug\Obj\inet_chksum.o</file>
-            <file>$PROJ_DIR$\..\..\libs\thirdparty\LwIP\src\include\lwip\prot\ethernet.h</file>
-            <file>$PROJ_DIR$\Debug\Obj\netbuf.o</file>
+            <file>$PROJ_DIR$\..\..\libs\thirdparty\freertos\include\portable.h</file>
+            <file>$PROJ_DIR$\Debug\Obj\def.xcl</file>
+            <file>$PROJ_DIR$\Debug\Obj\at32f403a_407_bpr.o</file>
+            <file>$TOOLKIT_DIR$\inc\c\stddef.h</file>
+            <file>$PROJ_DIR$\Debug\Obj\etharp.o</file>
+            <file>$PROJ_DIR$\Debug\Obj\portother.o</file>
+            <file>$PROJ_DIR$\..\..\fw\modules\io\analog_input.h</file>
+            <file>$PROJ_DIR$\..\..\libs\thirdparty\LwIP\src\include\lwip\priv\tcp_priv.h</file>
             <file>$PROJ_DIR$\..\..\libs\thirdparty\freertos\include\FreeRTOS.h</file>
-            <file>$PROJ_DIR$\..\..\libs\thirdparty\rndis\rndis_driver\ndis.h</file>
             <file>$TOOLKIT_DIR$\inc\c\DLib_Product_stdlib.h</file>
-            <file>$PROJ_DIR$\Debug\Obj\tcp_out.o</file>
-            <file>$PROJ_DIR$\..\..\libs\thirdparty\LwIP\system\arch\epstruct.h</file>
-            <file>$PROJ_DIR$\Debug\Obj\err.xcl</file>
-            <file>$PROJ_DIR$\..\..\libs\artery\drivers\inc\at32f403a_407_bpr.h</file>
-            <file>$PROJ_DIR$\Debug\Obj\system_at32f403a_407.o</file>
-            <file>$PROJ_DIR$\Debug\Obj\tcpip.xcl</file>
-            <file>$PROJ_DIR$\..\..\libs\thirdparty\LwIP\src\include\lwip\priv\tcp_priv.h</file>
-            <file>$PROJ_DIR$\..\..\libs\thirdparty\LwIP\src\include\lwip\arch.h</file>
-            <file>$PROJ_DIR$\Debug\Obj\ringfs.o</file>
-            <file>$PROJ_DIR$\Debug\Obj\tcpip.o</file>
-            <file>$PROJ_DIR$\Debug\Obj\usbd_desc.o</file>
-            <file>$PROJ_DIR$\..\..\libs\thirdparty\LwIP\src\include\lwip\timeouts.h</file>
-            <file>$PROJ_DIR$\..\..\libs\artery\usb\inc\usbd_int.h</file>
-            <file>$PROJ_DIR$\Debug\Obj\rtc.xcl</file>
-            <file>$PROJ_DIR$\Debug\Obj\autoip.o</file>
+            <file>$PROJ_DIR$\Debug\Obj\port.xcl</file>
+            <file>$PROJ_DIR$\..\..\libs\thirdparty\rndis\rndis_driver\ndis.h</file>
             <file>$PROJ_DIR$\Debug\Obj\utility.o</file>
-            <file>$PROJ_DIR$\Debug\Obj\memp.o</file>
+            <file>$PROJ_DIR$\Debug\Obj\autoip.o</file>
             <file>$PROJ_DIR$\..\..\libs\thirdparty\LwIP\src\include\lwip\dhcp.h</file>
+            <file>$PROJ_DIR$\Debug\Obj\usbd_desc.o</file>
+            <file>$PROJ_DIR$\..\..\libs\thirdparty\LwIP\src\include\lwip\prot\ethernet.h</file>
             <file>$PROJ_DIR$\Debug\Obj\mbfuncdisc.xcl</file>
             <file>$PROJ_DIR$\Debug\Obj\update.o</file>
             <file>$PROJ_DIR$\Debug\Obj\at32f403a_407_exint.xcl</file>
+            <file>$PROJ_DIR$\Debug\Obj\tcp_out.o</file>
             <file>$PROJ_DIR$\Debug\Obj\settings_ao.o</file>
-            <file>$PROJ_DIR$\Debug\Obj\extended_sram.xcl</file>
+            <file>$PROJ_DIR$\..\..\libs\artery\usb\inc\usbd_int.h</file>
             <file>$PROJ_DIR$\Debug\Obj\dns.xcl</file>
+            <file>$PROJ_DIR$\Debug\Obj\rtc.xcl</file>
+            <file>$PROJ_DIR$\Debug\Obj\err.xcl</file>
+            <file>$PROJ_DIR$\Debug\Obj\netbuf.o</file>
+            <file>$PROJ_DIR$\Debug\Obj\extended_sram.xcl</file>
+            <file>$PROJ_DIR$\Debug\Obj\memp.o</file>
+            <file>$PROJ_DIR$\..\..\libs\thirdparty\LwIP\system\arch\epstruct.h</file>
             <file>$PROJ_DIR$\..\..\libs\artery\drivers\inc\at32f403a_407_flash.h</file>
-            <file>$PROJ_DIR$\Debug\Obj\mbrtu.o</file>
-            <file>$PROJ_DIR$\..\..\libs\artery\drivers\inc\at32f403a_407_tmr.h</file>
-            <file>$PROJ_DIR$\Debug\Obj\icmp.o</file>
-            <file>$PROJ_DIR$\..\..\fw\modules\monitor\monitoring.h</file>
-            <file>$PROJ_DIR$\..\..\shared\freemodbus\ascii\mbascii.h</file>
-            <file>$PROJ_DIR$\..\..\libs\thirdparty\LwIP\src\include\lwip\prot\ip.h</file>
-            <file>$PROJ_DIR$\Debug\Obj\io.o</file>
-            <file>$TOOLKIT_DIR$\inc\c\DLib_Defaults.h</file>
-            <file>$PROJ_DIR$\..\..\libs\thirdparty\LwIP\src\include\lwip\ip4.h</file>
-            <file>$PROJ_DIR$\..\..\libs\thirdparty\LwIP\system\arch\bpstruct.h</file>
-            <file>$TOOLKIT_DIR$\lib\m7M_tls.a</file>
-            <file>$PROJ_DIR$\Debug\Obj\spi_common.xcl</file>
-            <file>$PROJ_DIR$\..\..\libs\thirdparty\LwIP\src\include\lwip\stats.h</file>
-            <file>$PROJ_DIR$\..\..\fw\modules\misc\uptime.h</file>
+            <file>$PROJ_DIR$\Debug\Obj\ringfs.o</file>
+            <file>$PROJ_DIR$\Debug\Obj\inet_chksum.o</file>
+            <file>$PROJ_DIR$\..\..\libs\thirdparty\LwIP\src\include\lwip\arch.h</file>
+            <file>$PROJ_DIR$\Debug\Obj\tcpip.xcl</file>
+            <file>$PROJ_DIR$\..\..\libs\artery\drivers\inc\at32f403a_407_bpr.h</file>
+            <file>$PROJ_DIR$\Debug\Obj\tcpip.o</file>
+            <file>$PROJ_DIR$\..\..\libs\thirdparty\LwIP\src\include\lwip\timeouts.h</file>
+            <file>$PROJ_DIR$\Debug\Obj\system_at32f403a_407.o</file>
             <file>$PROJ_DIR$\Debug\Obj\mem.o</file>
-            <file>$PROJ_DIR$\Debug\Exe\module_universal_io.out</file>
-            <file>$PROJ_DIR$\Debug\Obj\at32_uid.xcl</file>
+            <file>$PROJ_DIR$\Debug\Obj\io.o</file>
             <file>$PROJ_DIR$\Debug\Obj\flash_ram_const.xcl</file>
-            <file>$PROJ_DIR$\Debug\Obj\wdt.xcl</file>
             <file>$PROJ_DIR$\Debug\Obj\at32_uid.o</file>
             <file>$PROJ_DIR$\Debug\Obj\settings_dio.xcl</file>
-            <file>$PROJ_DIR$\..\..\libs\thirdparty\rndis\rndis_driver\usbd_rndis_core.h</file>
             <file>$PROJ_DIR$\Debug\Obj\modbus_params.xcl</file>
             <file>$PROJ_DIR$\..\..\fw\modules\settings\settings_ao.h</file>
+            <file>$PROJ_DIR$\..\..\libs\thirdparty\LwIP\system\arch\bpstruct.h</file>
             <file>$PROJ_DIR$\..\..\libs\thirdparty\rndis\rndis_driver\usbd_conf.h</file>
+            <file>$PROJ_DIR$\..\..\libs\thirdparty\rndis\rndis_driver\usbd_rndis_core.h</file>
             <file>$PROJ_DIR$\Debug\Obj\def.o</file>
             <file>$PROJ_DIR$\Debug\Obj\usbd_desc.xcl</file>
             <file>$PROJ_DIR$\Debug\Obj\mbfuncother.xcl</file>
             <file>$PROJ_DIR$\Debug\Obj\mbutils.xcl</file>
             <file>$PROJ_DIR$\..\..\shared\peripherals\inc\rng.h</file>
+            <file>$PROJ_DIR$\..\..\fw\modules\monitor\monitoring.h</file>
+            <file>$TOOLKIT_DIR$\inc\c\DLib_Defaults.h</file>
             <file>$TOOLKIT_DIR$\inc\c\stdlib.h</file>
-            <file>$PROJ_DIR$\Debug\Obj\sockets.o</file>
-            <file>$PROJ_DIR$\..\..\libs\thirdparty\LwIP\src\include\lwip\prot\ip4.h</file>
-            <file>$PROJ_DIR$\..\..\libs\thirdparty\LwIP\src\include\lwip\dns.h</file>
-            <file>$PROJ_DIR$\Debug\Obj\portserial.xcl</file>
-            <file>$PROJ_DIR$\Debug\Obj\analog_input.xcl</file>
-            <file>$PROJ_DIR$\..\..\libs\artery\drivers\inc\at32f403a_407_misc.h</file>
-            <file>$PROJ_DIR$\Debug\Obj\mux.xcl</file>
-            <file>$PROJ_DIR$\..\..\libs\thirdparty\LwIP\src\include\lwip\memp.h</file>
-            <file>$PROJ_DIR$\Debug\Obj\log_api.xcl</file>
-            <file>$PROJ_DIR$\..\..\libs\artery\drivers\inc\at32f403a_407_exint.h</file>
-            <file>$PROJ_DIR$\Debug\Obj\netifapi.xcl</file>
-            <file>$PROJ_DIR$\Debug\Obj\sys_hal.o</file>
-            <file>$PROJ_DIR$\..\..\libs\thirdparty\LwIP\src\include\lwip\nd6.h</file>
-            <file>$PROJ_DIR$\..\..\libs\thirdparty\LwIP\src\include\lwip\ip6_addr.h</file>
-            <file>$PROJ_DIR$\Debug\Obj\mux.o</file>
-            <file>$PROJ_DIR$\..\..\shared\utils\at32f403a_407_board.h</file>
-            <file>$PROJ_DIR$\Debug\Obj\mbfuncfile.o</file>
-            <file>$PROJ_DIR$\..\..\libs\thirdparty\LwIP\src\include\lwip\prot\tcp.h</file>
-            <file>$PROJ_DIR$\Debug\Obj\usbd_core.o</file>
-            <file>$TOOLKIT_DIR$\lib\rt7M_tl.a</file>
-            <file>$PROJ_DIR$\Debug\Obj\err.o</file>
-            <file>$PROJ_DIR$\Debug\Obj\at32f403a_407_dac.xcl</file>
-            <file>$PROJ_DIR$\..\..\libs\thirdparty\freertos\include\semphr.h</file>
-            <file>$PROJ_DIR$\Debug\Obj\at32f403a_407_wdt.o</file>
-            <file>$PROJ_DIR$\Debug\Obj\at32f403a_407_gpio.xcl</file>
-            <file>$PROJ_DIR$\Debug\Obj\modbus_ao_params.o</file>
-            <file>$PROJ_DIR$\Debug\Obj\buttons.o</file>
-            <file>$PROJ_DIR$\AT32F403AxG.icf</file>
-            <file>$PROJ_DIR$\..\..\libs\thirdparty\LwIP\src\include\netif\ppp\pppoe.h</file>
-            <file>$PROJ_DIR$\Debug\Obj\mbascii.xcl</file>
-            <file>$PROJ_DIR$\Debug\Obj\heap_4.o</file>
-            <file>$PROJ_DIR$\Debug\Obj\at32f403a_407_sdio.xcl</file>
-            <file>$PROJ_DIR$\Debug\Obj\at32f403a_407_exint.o</file>
-            <file>$PROJ_DIR$\Debug\Obj\settings_dio.o</file>
-            <file>$PROJ_DIR$\..\..\libs\thirdparty\LwIP\src\include\lwip\mem.h</file>
-            <file>$PROJ_DIR$\Debug\Obj\filter.xcl</file>
-            <file>$PROJ_DIR$\Debug\Obj\stats.xcl</file>
-            <file>$PROJ_DIR$\Debug\Obj\mbfuncinput.xcl</file>
-            <file>$PROJ_DIR$\Debug\Obj\dac_transport.o</file>
-            <file>$PROJ_DIR$\..\..\libs\thirdparty\LwIP\src\include\netif\ppp\ppp_opts.h</file>
-            <file>$PROJ_DIR$\..\..\shared\utils\extended_sram.h</file>
-            <file>$TOOLKIT_DIR$\inc\c\DLib_Product.h</file>
-            <file>$PROJ_DIR$\Debug\Obj\modbus_dio_params.xcl</file>
-            <file>$TOOLKIT_DIR$\inc\c\ysizet.h</file>
-            <file>$PROJ_DIR$\Debug\Obj\api_lib.o</file>
-            <file>$PROJ_DIR$\Debug\Obj\at32f403a_407_misc.o</file>
-            <file>$PROJ_DIR$\..\..\libs\thirdparty\LwIP\src\include\lwip\snmp.h</file>
-            <file>$PROJ_DIR$\Debug\Obj\at32f403a_407_gpio.o</file>
-            <file>$PROJ_DIR$\..\..\libs\artery\drivers\src\at32f403a_407_crc.c</file>
-            <file>$PROJ_DIR$\..\..\libs\artery\cmsis\cm4\device_support\at32f403a_407.h</file>
-            <file>$PROJ_DIR$\..\..\libs\artery\drivers\src\at32f403a_407_adc.c</file>
-            <file>$PROJ_DIR$\..\..\libs\artery\drivers\src\at32f403a_407_crm.c</file>
-            <file>$PROJ_DIR$\..\..\libs\artery\drivers\src\at32f403a_407_debug.c</file>
-            <file>$PROJ_DIR$\..\..\libs\artery\cmsis\cm4\device_support\startup\iar\startup_at32f403a_407.s</file>
-            <file>$PROJ_DIR$\..\..\libs\artery\drivers\src\at32f403a_407_dma.c</file>
-            <file>$PROJ_DIR$\..\..\libs\artery\drivers\src\at32f403a_407_dac.c</file>
-            <file>$PROJ_DIR$\..\..\fw\modules\shift_reg\shift_reg.c</file>
-            <file>$PROJ_DIR$\..\..\fw\modules\terminal\terminal.cpp</file>
-            <file>$PROJ_DIR$\..\..\fw\modules\usb\usb_eth.c</file>
-            <file>$PROJ_DIR$\..\..\fw\modules\settings\settings_dio.c</file>
-            <file>$PROJ_DIR$\..\..\fw\user\MicroRLConfig.h</file>
-            <file>$PROJ_DIR$\..\..\libs\artery\drivers\src\at32f403a_407_acc.c</file>
-            <file>$PROJ_DIR$\..\..\libs\artery\drivers\src\at32f403a_407_bpr.c</file>
-            <file>$PROJ_DIR$\..\..\libs\artery\drivers\src\at32f403a_407_emac.c</file>
-            <file>$PROJ_DIR$\..\..\fw\user\main.cpp</file>
-            <file>$PROJ_DIR$\..\..\libs\artery\drivers\src\at32f403a_407_exint.c</file>
+            <file>$PROJ_DIR$\..\..\libs\artery\drivers\inc\at32f403a_407_tmr.h</file>
+            <file>$PROJ_DIR$\..\..\shared\freemodbus\ascii\mbascii.h</file>
+            <file>$PROJ_DIR$\..\..\libs\thirdparty\LwIP\src\include\lwip\prot\ip.h</file>
+            <file>$PROJ_DIR$\Debug\Obj\spi_common.xcl</file>
+            <file>$PROJ_DIR$\Debug\Obj\at32_uid.xcl</file>
+            <file>$PROJ_DIR$\Debug\Obj\icmp.o</file>
+            <file>$PROJ_DIR$\Debug\Exe\module_universal_io.out</file>
+            <file>$PROJ_DIR$\Debug\Obj\wdt.xcl</file>
+            <file>$PROJ_DIR$\..\..\libs\thirdparty\LwIP\src\include\lwip\ip4.h</file>
+            <file>$TOOLKIT_DIR$\lib\m7M_tls.a</file>
+            <file>$PROJ_DIR$\..\..\libs\thirdparty\LwIP\src\include\lwip\stats.h</file>
+            <file>$PROJ_DIR$\..\..\fw\modules\misc\uptime.h</file>
+            <file>$PROJ_DIR$\Debug\Obj\mbrtu.o</file>
+            <file>$TOOLKIT_DIR$\lib\dlpp7M_tl_fc.a</file>
+            <file>$PROJ_DIR$\Debug\Obj\at32f403a_407_usb.o</file>
+            <file>$PROJ_DIR$\Debug\Obj\queue.xcl</file>
+            <file>$PROJ_DIR$\Debug\Obj\io_utils.o</file>
+            <file>$PROJ_DIR$\Debug\Obj\at32f403a_407_int.xcl</file>
+            <file>$TOOLKIT_DIR$\inc\c\math.h</file>
+            <file>$PROJ_DIR$\Debug\Obj\raw.xcl</file>
+            <file>$PROJ_DIR$\..\..\shared\utils\utility.c</file>
+            <file>$PROJ_DIR$\..\..\fw\modules\terminal\terminal_sbs.h</file>
+            <file>$PROJ_DIR$\..\..\libs\thirdparty\LwIP\port\FreeRTOS\ethernetif.h</file>
+            <file>$PROJ_DIR$\Debug\Obj\raw.o</file>
+            <file>$PROJ_DIR$\Debug\Obj\etharp.xcl</file>
+            <file>$PROJ_DIR$\..\..\fw\modules\terminal\terminal_usartbridge.h</file>
+            <file>$PROJ_DIR$\Debug\Obj\misc.xcl</file>
+            <file>$TOOLKIT_DIR$\inc\c\ctype.h</file>
+            <file>$PROJ_DIR$\..\..\libs\thirdparty\LwIP\src\include\netif\ppp\ppp_impl.h</file>
+            <file>$PROJ_DIR$\..\..\shared\wdt\wdt.c</file>
+            <file>$PROJ_DIR$\Debug\Obj\buttons.xcl</file>
+            <file>$PROJ_DIR$\..\..\shared\utils\at32f403a_407_board.c</file>
+            <file>$PROJ_DIR$\..\..\shared\utils\extended_sram.c</file>
+            <file>$TOOLKIT_DIR$\inc\c\limits.h</file>
+            <file>$PROJ_DIR$\..\..\libs\artery\cmsis\cm4\core_support\cmsis_version.h</file>
+            <file>$PROJ_DIR$\Debug\Obj\mem.xcl</file>
+            <file>$PROJ_DIR$\..\..\libs\artery\usb\inc\usbd_core.h</file>
+            <file>$PROJ_DIR$\..\..\libs\thirdparty\LwIP\system\arch\cpu.h</file>
+            <file>$PROJ_DIR$\Debug\Obj\port.o</file>
+            <file>$PROJ_DIR$\..\..\fw\modules\modbus\modbus_params.h</file>
+            <file>$PROJ_DIR$\..\..\libs\thirdparty\fat_fs\src\ffconf.h</file>
+            <file>$PROJ_DIR$\..\..\shared\sys\sys_hal.c</file>
+            <file>$PROJ_DIR$\..\..\fw\modules\settings\settings_ai.h</file>
+            <file>$PROJ_DIR$\..\..\fw\modules\io\digital_input.h</file>
+            <file>$PROJ_DIR$\..\..\shared\freemodbus\functions\mbfunccoils.c</file>
+            <file>$PROJ_DIR$\..\..\libs\thirdparty\LwIP\src\core\mem.c</file>
+            <file>$PROJ_DIR$\..\..\libs\thirdparty\LwIP\src\core\netif.c</file>
+            <file>$PROJ_DIR$\..\..\libs\thirdparty\LwIP\src\core\sys.c</file>
+            <file>$PROJ_DIR$\..\..\libs\thirdparty\LwIP\src\core\def.c</file>
+            <file>$PROJ_DIR$\..\..\libs\thirdparty\LwIP\src\core\tcp.c</file>
+            <file>$PROJ_DIR$\..\..\libs\thirdparty\LwIP\src\core\tcp_out.c</file>
+            <file>$PROJ_DIR$\..\..\libs\thirdparty\LwIP\src\netif\ethernet.c</file>
+            <file>$PROJ_DIR$\..\..\libs\thirdparty\LwIP\src\core\udp.c</file>
+            <file>$PROJ_DIR$\..\..\libs\thirdparty\LwIP\src\core\raw.c</file>
+            <file>$PROJ_DIR$\..\..\libs\thirdparty\LwIP\src\core\inet_chksum.c</file>
+            <file>$PROJ_DIR$\..\..\libs\thirdparty\LwIP\src\core\ip.c</file>
+            <file>$PROJ_DIR$\..\..\libs\thirdparty\LwIP\src\core\stats.c</file>
+            <file>$PROJ_DIR$\..\..\libs\thirdparty\LwIP\src\core\tcp_in.c</file>
+            <file>$PROJ_DIR$\..\..\libs\thirdparty\LwIP\port\FreeRTOS\sys_arch.c</file>
+            <file>$PROJ_DIR$\..\..\libs\thirdparty\LwIP\src\core\init.c</file>
+            <file>$PROJ_DIR$\..\..\libs\thirdparty\ringfs\ringfs.c</file>
+            <file>$PROJ_DIR$\..\..\libs\thirdparty\rndis\dhcp-server\dhserver.c</file>
+            <file>$PROJ_DIR$\..\..\libs\thirdparty\LwIP\src\core\memp.c</file>
+            <file>$PROJ_DIR$\..\..\libs\thirdparty\LwIP\src\core\timeouts.c</file>
+            <file>$PROJ_DIR$\..\..\libs\thirdparty\LwIP\src\core\ipv4\ip4_addr.c</file>
+            <file>$PROJ_DIR$\..\..\libs\thirdparty\LwIP\src\core\pbuf.c</file>
+            <file>$PROJ_DIR$\..\..\libs\thirdparty\LwIP\src\core\dns.c</file>
+            <file>$PROJ_DIR$\..\..\libs\thirdparty\LwIP\port\FreeRTOS\ethernetif.c</file>
+            <file>$PROJ_DIR$\..\..\libs\thirdparty\rndis\dns-server\dnserver.c</file>
+            <file>$PROJ_DIR$\..\..\libs\thirdparty\rndis\rndis_driver\usbd_desc.c</file>
+            <file>$PROJ_DIR$\..\..\libs\thirdparty\rndis\rndis_driver\usbd_rndis_core.c</file>
+            <file>$PROJ_DIR$\..\..\shared\board\common.h</file>
+            <file>$PROJ_DIR$\..\..\shared\board\common_config.h</file>
+            <file>$PROJ_DIR$\..\..\libs\thirdparty\LwIP\src\core\ipv4\ip4_frag.c</file>
+            <file>$PROJ_DIR$\..\..\shared\freemodbus\ascii\mbascii.c</file>
+            <file>$PROJ_DIR$\Debug\Obj\ringfs_api.xcl</file>
+            <file>$PROJ_DIR$\Debug\Obj\ringfs_api.o</file>
+            <file>$PROJ_DIR$\..\..\fw\modules\io\analog_output.c</file>
+            <file>$PROJ_DIR$\..\..\fw\modules\io\digital_output.c</file>
+            <file>$PROJ_DIR$\..\..\fw\modules\io\io.c</file>
+            <file>$PROJ_DIR$\..\..\fw\modules\io\analog_input.c</file>
+            <file>$PROJ_DIR$\..\..\fw\modules\log\log_api.c</file>
+            <file>$PROJ_DIR$\..\..\fw\modules\log\log_ai.c</file>
+            <file>$PROJ_DIR$\..\..\fw\modules\dac\dac_transport.c</file>
+            <file>$PROJ_DIR$\..\..\fw\modules\io\filter.c</file>
+            <file>$PROJ_DIR$\..\..\fw\modules\io\mux.c</file>
+            <file>$PROJ_DIR$\..\..\fw\modules\adc\adc_transport.c</file>
+            <file>$PROJ_DIR$\..\..\fw\modules\io\digital_input.c</file>
+            <file>$PROJ_DIR$\..\..\fw\modules\adc\ms5192t.c</file>
+            <file>$PROJ_DIR$\..\..\fw\modules\io\io_utils.c</file>
+            <file>$PROJ_DIR$\..\..\fw\modules\log\log.c</file>
+            <file>$PROJ_DIR$\..\..\shared\peripherals\src\rng.c</file>
+            <file>$PROJ_DIR$\..\..\shared\peripherals\src\spi_common.c</file>
+            <file>$PROJ_DIR$\..\..\shared\freemodbus\functions\mbfuncholding.c</file>
+            <file>$PROJ_DIR$\..\..\shared\freemodbus\include\mbproto.h</file>
+            <file>$PROJ_DIR$\..\..\shared\freemodbus\port\portother.c</file>
+            <file>$PROJ_DIR$\..\..\shared\freemodbus\include\mbutils.h</file>
+            <file>$PROJ_DIR$\..\..\shared\freemodbus\include\mbframe.h</file>
+            <file>$PROJ_DIR$\..\..\shared\freemodbus\rtu\mbcrc.c</file>
+            <file>$PROJ_DIR$\..\..\shared\rtc\rtc.c</file>
+            <file>$PROJ_DIR$\..\..\shared\sys\sys_api.c</file>
+            <file>$PROJ_DIR$\..\..\shared\peripherals\src\buttons.c</file>
+            <file>$PROJ_DIR$\..\..\shared\peripherals\src\usb.c</file>
+            <file>$PROJ_DIR$\..\..\shared\freemodbus\functions\mbfuncdiag.c</file>
+            <file>$PROJ_DIR$\..\..\shared\freemodbus\functions\mbfuncdisc.c</file>
+            <file>$PROJ_DIR$\..\..\shared\freemodbus\mb.c</file>
+            <file>$PROJ_DIR$\..\..\shared\freemodbus\include\mbconfig.h</file>
+            <file>$PROJ_DIR$\..\..\shared\freemodbus\include\mbport.h</file>
+            <file>$PROJ_DIR$\..\..\shared\freemodbus\port\porttimer.c</file>
+            <file>$PROJ_DIR$\..\..\shared\model\model_cfg.h</file>
+            <file>$PROJ_DIR$\..\..\shared\freemodbus\functions\mbfuncother.c</file>
+            <file>$PROJ_DIR$\..\..\shared\freemodbus\functions\mbutils.c</file>
+            <file>$PROJ_DIR$\..\..\shared\freemodbus\port\portevent.c</file>
+            <file>$PROJ_DIR$\..\..\shared\freemodbus\port\portserial.c</file>
+            <file>$PROJ_DIR$\..\..\shared\freemodbus\port\tim_delay.c</file>
+            <file>$PROJ_DIR$\..\..\shared\freemodbus\functions\mbfuncinput.c</file>
+            <file>$PROJ_DIR$\..\..\shared\freemodbus\include\mb.h</file>
+            <file>$PROJ_DIR$\..\..\shared\freemodbus\include\mbfunc.h</file>
+            <file>$PROJ_DIR$\..\..\shared\freemodbus\port\port.h</file>
+            <file>$PROJ_DIR$\..\..\shared\freemodbus\rtu\mbrtu.c</file>
+            <file>$PROJ_DIR$\..\..\shared\freemodbus\functions\mbfuncfile.c</file>
+            <file>$PROJ_DIR$\..\..\shared\peripherals\src\common_gpio.c</file>
+            <file>$PROJ_DIR$\Debug\Obj\icmp.xcl</file>
+            <file>$PROJ_DIR$\..\..\shared\peripherals\inc\buttons.h</file>
+            <file>$PROJ_DIR$\Debug\Obj\modbus_ao_params.xcl</file>
+            <file>$TOOLKIT_DIR$\inc\c\yvals.h</file>
+            <file>$PROJ_DIR$\..\..\libs\thirdparty\freertos\include\StackMacros.h</file>
+            <file>$PROJ_DIR$\..\..\libs\thirdparty\LwIP\src\include\lwip\netdb.h</file>
+            <file>$PROJ_DIR$\..\..\libs\thirdparty\LwIP\src\include\netif\ppp\polarssl\md5.h</file>
+            <file>$PROJ_DIR$\Debug\Obj\ip.xcl</file>
+            <file>$TOOLKIT_DIR$\inc\c\string.h</file>
+            <file>$PROJ_DIR$\..\..\libs\thirdparty\LwIP\src\include\lwip\api.h</file>
+            <file>$PROJ_DIR$\Debug\Obj\soft_wdt.xcl</file>
+            <file>$PROJ_DIR$\..\..\fw\user\system_at32f403a_407.h</file>
+            <file>$PROJ_DIR$\Debug\Obj\microrl.xcl</file>
+            <file>$PROJ_DIR$\Debug\Obj\ip4_addr.xcl</file>
+            <file>$PROJ_DIR$\Debug\Obj\usb_eth.xcl</file>
+            <file>$PROJ_DIR$\Debug\Obj\portother.xcl</file>
+            <file>$PROJ_DIR$\..\..\libs\thirdparty\LwIP\src\include\lwip\pbuf.h</file>
+            <file>$PROJ_DIR$\..\..\libs\artery\drivers\inc\at32f403a_407_usart.h</file>
+            <file>$PROJ_DIR$\..\..\fw\modules\user_fatfs\user_fatfs.h</file>
+            <file>$PROJ_DIR$\Debug\Obj\list.xcl</file>
+            <file>$PROJ_DIR$\Debug\Obj\adc_transport.o</file>
+            <file>$PROJ_DIR$\Debug\Obj\event_groups.xcl</file>
+            <file>$PROJ_DIR$\Debug\Obj\porttimer.o</file>
+            <file>$PROJ_DIR$\..\..\fw\modules\usb\usb_eth.h</file>
+            <file>$PROJ_DIR$\Debug\Obj\swap.o</file>
+            <file>$PROJ_DIR$\..\..\shared\peripherals\inc\spi_common.h</file>
+            <file>$PROJ_DIR$\Debug\Obj\mbfuncdisc.o</file>
+            <file>$PROJ_DIR$\Debug\Obj\mbfuncholding.o</file>
+            <file>$PROJ_DIR$\Debug\Obj\ip4_frag.xcl</file>
+            <file>$PROJ_DIR$\..\..\libs\artery\cmsis\cm4\core_support\mpu_armv7.h</file>
+            <file>$PROJ_DIR$\Debug\Obj\dhcp.xcl</file>
+            <file>$PROJ_DIR$\..\..\libs\artery\drivers\inc\at32f403a_407_pwc.h</file>
+            <file>$PROJ_DIR$\Debug\Obj\swap.xcl</file>
+            <file>$PROJ_DIR$\..\..\fw\modules\settings\settings_api.h</file>
+            <file>$PROJ_DIR$\Debug\Obj\dac_transport.xcl</file>
+            <file>$PROJ_DIR$\Debug\Obj\settings_api.xcl</file>
+            <file>$PROJ_DIR$\..\..\libs\artery\drivers\inc\at32f403a_407_wdt.h</file>
+            <file>$PROJ_DIR$\Debug\Obj\udp.xcl</file>
+            <file>$PROJ_DIR$\Debug\Obj\log_api.o</file>
+            <file>$PROJ_DIR$\Debug\Obj\at32f403a_407_tmr.xcl</file>
+            <file>$PROJ_DIR$\..\..\fw\modules\misc\swap.h</file>
+            <file>$PROJ_DIR$\Debug\Obj\tcp_in.o</file>
+            <file>$PROJ_DIR$\Debug\Obj\fr_timers.o</file>
+            <file>$TOOLKIT_DIR$\inc\c\ycheck.h</file>
+            <file>$PROJ_DIR$\..\..\libs\thirdparty\LwIP\src\include\lwip\ip4_frag.h</file>
+            <file>$PROJ_DIR$\Debug\Obj\dnserver.o</file>
+            <file>$PROJ_DIR$\..\..\libs\artery\drivers\inc\at32f403a_407_dac.h</file>
+            <file>$PROJ_DIR$\Debug\Obj\ip4.o</file>
+            <file>$PROJ_DIR$\Debug\Obj\netifapi.o</file>
+            <file>$PROJ_DIR$\Debug\Obj\mb.xcl</file>
+            <file>$PROJ_DIR$\..\..\shared\freemodbus\rtu\mbcrc.h</file>
+            <file>$PROJ_DIR$\Debug\Obj\settings_ao.xcl</file>
+            <file>$PROJ_DIR$\Debug\Obj\mbfuncfile.xcl</file>
+            <file>$PROJ_DIR$\Debug\Obj\settings_ai.xcl</file>
+            <file>$PROJ_DIR$\Debug\Obj\at32f403a_407_xmc.o</file>
+            <file>$PROJ_DIR$\..\..\fw\modules\terminal\terminal.h</file>
+            <file>$PROJ_DIR$\Debug\Obj\terminal_sbs.o</file>
+            <file>$PROJ_DIR$\Debug\Obj\stats.o</file>
+            <file>$PROJ_DIR$\Debug\Obj\croutine.xcl</file>
+            <file>$PROJ_DIR$\..\..\libs\thirdparty\LwIP\src\include\lwip\prot\dhcp.h</file>
+            <file>$PROJ_DIR$\Debug\Obj\usbd_sdr.o</file>
+            <file>$PROJ_DIR$\Debug\Obj\misc.o</file>
+            <file>$PROJ_DIR$\Debug\Obj\at32f403a_407_misc.xcl</file>
+            <file>$PROJ_DIR$\Debug\Obj\tcp_out.xcl</file>
+            <file>$PROJ_DIR$\Debug\Obj\usbd_core.xcl</file>
+            <file>$PROJ_DIR$\Debug\Obj\init.o</file>
+            <file>$PROJ_DIR$\Debug\Obj\portasm.o</file>
+            <file>$PROJ_DIR$\Debug\Obj\at32f403a_407_pwc.xcl</file>
+            <file>$PROJ_DIR$\..\..\libs\thirdparty\LwIP\src\include\lwip\ip.h</file>
+            <file>$PROJ_DIR$\Debug\Obj\main.o</file>
+            <file>$PROJ_DIR$\Debug\Obj\croutine.o</file>
+            <file>$PROJ_DIR$\..\..\libs\thirdparty\freertos\include\queue.h</file>
+            <file>$PROJ_DIR$\Debug\Obj\at32f403a_407_flash.o</file>
+            <file>$PROJ_DIR$\Debug\Obj\ethernet.xcl</file>
+            <file>$PROJ_DIR$\Debug\Obj\at32f403a_407_wdt.xcl</file>
+            <file>$PROJ_DIR$\..\..\libs\artery\cmsis\cm4\core_support\core_cm4.h</file>
+            <file>$PROJ_DIR$\Debug\Obj\at32f403a_407_acc.xcl</file>
+            <file>$PROJ_DIR$\Debug\Obj\pbuf.o</file>
+            <file>$PROJ_DIR$\Debug\Obj\digital_input.xcl</file>
+            <file>$PROJ_DIR$\..\..\libs\thirdparty\rndis\rndis_driver\rndis_protocol.h</file>
+            <file>$PROJ_DIR$\Debug\Obj\analog_output.xcl</file>
+            <file>$PROJ_DIR$\..\..\fw\modules\misc\soft_wdt.h</file>
+            <file>$PROJ_DIR$\Debug\Obj\usb_clock.xcl</file>
+            <file>$PROJ_DIR$\Debug\Obj\pbuf.xcl</file>
+            <file>$PROJ_DIR$\..\..\libs\artery\usb\inc\usbd_sdr.h</file>
+            <file>$TOOLKIT_DIR$\inc\c\intrinsics.h</file>
+            <file>$PROJ_DIR$\..\..\libs\artery\drivers\inc\at32f403a_407_crm.h</file>
+            <file>$PROJ_DIR$\Debug\Obj\at32f403a_407_spi.xcl</file>
+            <file>$PROJ_DIR$\Debug\Obj\terminal_sbs.xcl</file>
+            <file>$PROJ_DIR$\Debug\Obj\at32f403a_407_debug.o</file>
+            <file>$PROJ_DIR$\Debug\Obj\ringfs.xcl</file>
+            <file>$PROJ_DIR$\Debug\Obj\portevent.o</file>
+            <file>$PROJ_DIR$\Debug\Obj\sockets.xcl</file>
+            <file>$PROJ_DIR$\Debug\Obj\usb_eth.o</file>
+            <file>$PROJ_DIR$\..\..\fw\modules\settings\settings_api.c</file>
+            <file>$PROJ_DIR$\..\..\fw\modules\terminal\terminal_usartbridge.cpp</file>
+            <file>$PROJ_DIR$\..\..\fw\modules\misc\at32_uid.c</file>
             <file>$PROJ_DIR$\..\..\fw\modules\terminal\terminal_sbs.cpp</file>
-            <file>$PROJ_DIR$\..\..\fw\modules\spi_flash\spi_flash.c</file>
             <file>$PROJ_DIR$\..\..\fw\user\at32f403a_407_int.c</file>
-            <file>$PROJ_DIR$\..\..\fw\user\lwipopts.h</file>
-            <file>$PROJ_DIR$\..\..\fw\user\main.h</file>
-            <file>$PROJ_DIR$\..\..\fw\modules\testing\soft_test.c</file>
-            <file>$PROJ_DIR$\..\..\fw\user\usb_conf.h</file>
-            <file>$PROJ_DIR$\..\..\fw\modules\settings\settings_api.c</file>
             <file>$PROJ_DIR$\..\..\fw\user\flash_ram_const.c</file>
-            <file>$PROJ_DIR$\..\..\fw\modules\terminal\terminal_usartbridge.cpp</file>
+            <file>$PROJ_DIR$\..\..\fw\modules\misc\swap.c</file>
+            <file>$PROJ_DIR$\..\..\fw\modules\misc\uptime.c</file>
+            <file>$PROJ_DIR$\..\..\fw\modules\modbus\modbus_ai_params.c</file>
+            <file>$PROJ_DIR$\..\..\fw\modules\monitor\monitoring.c</file>
+            <file>$PROJ_DIR$\..\..\fw\modules\settings\settings_dio.c</file>
+            <file>$PROJ_DIR$\..\..\fw\modules\modbus\update.c</file>
+            <file>$PROJ_DIR$\..\..\fw\modules\terminal\terminal.cpp</file>
+            <file>$PROJ_DIR$\..\..\fw\modules\testing\soft_test.c</file>
             <file>$PROJ_DIR$\..\..\fw\user\FreeRTOSConfig.h</file>
-            <file>$PROJ_DIR$\..\..\fw\user\system_at32f403a_407.c</file>
-            <file>$PROJ_DIR$\..\..\libs\artery\drivers\src\at32f403a_407_can.c</file>
-            <file>$PROJ_DIR$\..\..\libs\thirdparty\LwIP\src\core\tcp_out.c</file>
-            <file>$PROJ_DIR$\..\..\libs\thirdparty\LwIP\src\core\ipv4\ip4_addr.c</file>
-            <file>$PROJ_DIR$\..\..\libs\thirdparty\LwIP\src\api\api_lib.c</file>
+            <file>$PROJ_DIR$\..\..\fw\modules\spi_flash\spi_flash.c</file>
+            <file>$PROJ_DIR$\..\..\fw\modules\log\log_dio.c</file>
+            <file>$PROJ_DIR$\..\..\fw\modules\settings\settings_ai.c</file>
+            <file>$PROJ_DIR$\..\..\fw\modules\misc\usb_clock.c</file>
+            <file>$PROJ_DIR$\..\..\fw\modules\usb\usb_eth.c</file>
+            <file>$PROJ_DIR$\..\..\fw\user\lwipopts.h</file>
+            <file>$PROJ_DIR$\..\..\fw\modules\shift_reg\shift_reg.c</file>
+            <file>$PROJ_DIR$\..\..\fw\user\main.cpp</file>
+            <file>$PROJ_DIR$\..\..\fw\modules\misc\hash.c</file>
+            <file>$PROJ_DIR$\..\..\fw\modules\misc\misc.c</file>
+            <file>$PROJ_DIR$\..\..\fw\modules\modbus\modbus.c</file>
+            <file>$PROJ_DIR$\..\..\fw\modules\modbus\modbus_ao_params.c</file>
+            <file>$PROJ_DIR$\..\..\fw\modules\misc\soft_wdt.c</file>
+            <file>$PROJ_DIR$\..\..\fw\modules\modbus\modbus_dio_params.c</file>
+            <file>$PROJ_DIR$\..\..\fw\modules\modbus\modbus_params.c</file>
+            <file>$PROJ_DIR$\..\..\fw\modules\settings\settings_ao.c</file>
+            <file>$PROJ_DIR$\..\..\fw\modules\log\ringfs_api.c</file>
+            <file>$PROJ_DIR$\..\..\fw\modules\spi_flash\spi_flash.h</file>
+            <file>$PROJ_DIR$\Debug\Obj\netdb.o</file>
+            <file>$PROJ_DIR$\Debug\Obj\api_msg.xcl</file>
+            <file>$PROJ_DIR$\Debug\Obj\netbuf.xcl</file>
+            <file>$PROJ_DIR$\..\..\fw\modules\adc\adc_transport.h</file>
+            <file>$PROJ_DIR$\..\..\fw\modules\io\io.h</file>
+            <file>$PROJ_DIR$\Debug\Obj\modbus_params.o</file>
+            <file>$TOOLKIT_DIR$\inc\c\iar_intrinsics_common.h</file>
+            <file>$PROJ_DIR$\..\..\fw\modules\shift_reg\shift_reg.h</file>
+            <file>$PROJ_DIR$\Debug\Obj\porttimer.xcl</file>
+            <file>$PROJ_DIR$\Debug\Obj\startup_at32f403a_407.o</file>
+            <file>$PROJ_DIR$\Debug\Obj\analog_input.o</file>
+            <file>$PROJ_DIR$\Debug\Obj\rtc.o</file>
+            <file>$PROJ_DIR$\Debug\Obj\ip4.xcl</file>
+            <file>$PROJ_DIR$\..\..\fw\modules\modbus\modbus_dio_params.h</file>
+            <file>$PROJ_DIR$\Debug\Obj\dnserver.xcl</file>
+            <file>$PROJ_DIR$\Debug\Obj\filter.o</file>
+            <file>$PROJ_DIR$\..\..\libs\thirdparty\LwIP\src\include\lwip\icmp6.h</file>
+            <file>$PROJ_DIR$\Debug\Obj\fr_timers.xcl</file>
+            <file>$PROJ_DIR$\Debug\Obj\terminal.xcl</file>
+            <file>$PROJ_DIR$\Debug\Obj\usbd_sdr.xcl</file>
+            <file>$PROJ_DIR$\..\..\libs\artery\drivers\inc\at32f403a_407_adc.h</file>
+            <file>$TOOLKIT_DIR$\inc\c\stdint.h</file>
+            <file>$PROJ_DIR$\Debug\Obj\analog_output.o</file>
+            <file>$PROJ_DIR$\..\..\libs\thirdparty\LwIP\src\include\lwip\init.h</file>
+            <file>$PROJ_DIR$\Debug\Obj\at32f403a_407_pwc.o</file>
+            <file>$PROJ_DIR$\Debug\Obj\soft_test.o</file>
+            <file>$PROJ_DIR$\Debug\Obj\list.o</file>
+            <file>$PROJ_DIR$\Debug\Obj\at32f403a_407_i2c.o</file>
+            <file>$PROJ_DIR$\..\..\libs\thirdparty\LwIP\src\include\lwip\autoip.h</file>
+            <file>$PROJ_DIR$\Debug\Obj\mb.o</file>
+            <file>$PROJ_DIR$\..\..\libs\thirdparty\LwIP\src\core\ipv4\ip4.c</file>
+            <file>$PROJ_DIR$\..\..\libs\thirdparty\freertos\list.c</file>
+            <file>$PROJ_DIR$\..\..\libs\thirdparty\LwIP\src\api\api_msg.c</file>
+            <file>$PROJ_DIR$\..\..\libs\thirdparty\LwIP\src\core\ipv4\autoip.c</file>
+            <file>$PROJ_DIR$\..\..\libs\thirdparty\microrl\microrl.c</file>
+            <file>$PROJ_DIR$\..\..\libs\thirdparty\freertos\portable\IAR\ARM_CM4F\portasm.s</file>
+            <file>$PROJ_DIR$\..\..\libs\thirdparty\freertos\portable\IAR\ARM_CM4F\port.c</file>
+            <file>$PROJ_DIR$\..\..\libs\thirdparty\freertos\portable\IAR\ARM_CM4F\portmacro.h</file>
+            <file>$PROJ_DIR$\..\..\libs\thirdparty\freertos\event_groups.c</file>
+            <file>$PROJ_DIR$\..\..\libs\thirdparty\freertos\queue.c</file>
             <file>$PROJ_DIR$\..\..\libs\thirdparty\LwIP\src\api\netdb.c</file>
-            <file>$PROJ_DIR$\..\..\libs\thirdparty\LwIP\src\core\def.c</file>
-            <file>$PROJ_DIR$\..\..\libs\thirdparty\LwIP\src\core\dns.c</file>
-            <file>$PROJ_DIR$\..\..\libs\thirdparty\LwIP\src\core\timeouts.c</file>
-            <file>$PROJ_DIR$\..\..\libs\thirdparty\LwIP\src\core\ipv4\ip4_frag.c</file>
-            <file>$PROJ_DIR$\..\..\libs\thirdparty\LwIP\src\core\mem.c</file>
-            <file>$PROJ_DIR$\..\..\libs\thirdparty\LwIP\src\api\err.c</file>
-            <file>$PROJ_DIR$\..\..\libs\thirdparty\LwIP\src\core\pbuf.c</file>
-            <file>$PROJ_DIR$\..\..\libs\thirdparty\LwIP\src\api\tcpip.c</file>
-            <file>$PROJ_DIR$\..\..\libs\thirdparty\LwIP\src\core\init.c</file>
-            <file>$PROJ_DIR$\..\..\libs\thirdparty\LwIP\src\core\memp.c</file>
+            <file>$PROJ_DIR$\..\..\libs\artery\usb\src\usbd_int.c</file>
             <file>$PROJ_DIR$\..\..\libs\thirdparty\LwIP\src\api\netifapi.c</file>
-            <file>$PROJ_DIR$\..\..\libs\thirdparty\LwIP\src\core\ipv4\autoip.c</file>
             <file>$PROJ_DIR$\..\..\libs\thirdparty\LwIP\src\api\sockets.c</file>
+            <file>$PROJ_DIR$\..\..\libs\artery\usb\src\usbd_core.c</file>
             <file>$PROJ_DIR$\..\..\libs\thirdparty\LwIP\src\core\ipv4\etharp.c</file>
-            <file>$PROJ_DIR$\..\..\libs\thirdparty\LwIP\src\core\ipv4\icmp.c</file>
-            <file>$PROJ_DIR$\..\..\libs\thirdparty\LwIP\src\core\ip.c</file>
-            <file>$PROJ_DIR$\..\..\libs\thirdparty\LwIP\src\core\netif.c</file>
-            <file>$PROJ_DIR$\..\..\libs\thirdparty\LwIP\src\core\ipv4\dhcp.c</file>
-            <file>$PROJ_DIR$\..\..\libs\thirdparty\LwIP\src\core\ipv4\igmp.c</file>
-            <file>$PROJ_DIR$\..\..\libs\thirdparty\LwIP\src\core\ipv4\ip4.c</file>
-            <file>$PROJ_DIR$\..\..\libs\thirdparty\LwIP\src\core\raw.c</file>
-            <file>$PROJ_DIR$\..\..\libs\thirdparty\LwIP\src\core\stats.c</file>
-            <file>$PROJ_DIR$\..\..\libs\thirdparty\LwIP\src\core\sys.c</file>
-            <file>$PROJ_DIR$\..\..\libs\thirdparty\LwIP\src\core\tcp.c</file>
-            <file>$PROJ_DIR$\..\..\libs\thirdparty\LwIP\src\api\netbuf.c</file>
-            <file>$PROJ_DIR$\..\..\libs\thirdparty\LwIP\src\api\api_msg.c</file>
-            <file>$PROJ_DIR$\..\..\libs\thirdparty\LwIP\src\core\tcp_in.c</file>
-            <file>$PROJ_DIR$\..\..\libs\thirdparty\LwIP\src\core\inet_chksum.c</file>
-            <file>$PROJ_DIR$\..\..\libs\thirdparty\freertos\fr_timers.c</file>
-            <file>$PROJ_DIR$\..\..\libs\thirdparty\freertos\FreeRTOS-openocd.c</file>
             <file>$PROJ_DIR$\..\..\libs\thirdparty\freertos\portable\memmang\heap_4.c</file>
-            <file>$PROJ_DIR$\..\..\libs\artery\drivers\src\at32f403a_407_rtc.c</file>
+            <file>$PROJ_DIR$\..\..\libs\thirdparty\freertos\FreeRTOS-openocd.c</file>
+            <file>$PROJ_DIR$\..\..\libs\thirdparty\LwIP\src\api\api_lib.c</file>
+            <file>$PROJ_DIR$\..\..\libs\thirdparty\LwIP\src\api\err.c</file>
+            <file>$PROJ_DIR$\..\..\libs\thirdparty\LwIP\src\api\netbuf.c</file>
+            <file>$PROJ_DIR$\..\..\libs\artery\usb\src\usbd_sdr.c</file>
             <file>$PROJ_DIR$\..\..\libs\thirdparty\freertos\croutine.c</file>
-            <file>$PROJ_DIR$\..\..\libs\artery\drivers\src\at32f403a_407_spi.c</file>
-            <file>$PROJ_DIR$\..\..\libs\thirdparty\freertos\queue.c</file>
-            <file>$PROJ_DIR$\..\..\libs\artery\drivers\src\at32f403a_407_usb.c</file>
-            <file>$PROJ_DIR$\..\..\libs\thirdparty\microrl\microrl.c</file>
             <file>$PROJ_DIR$\..\..\libs\thirdparty\freertos\tasks.c</file>
-            <file>$PROJ_DIR$\..\..\libs\artery\system\at32f403a_407_conf.h</file>
-            <file>$PROJ_DIR$\..\..\libs\thirdparty\freertos\list.c</file>
-            <file>$PROJ_DIR$\..\..\libs\artery\drivers\src\at32f403a_407_gpio.c</file>
-            <file>$PROJ_DIR$\..\..\libs\artery\drivers\src\at32f403a_407_pwc.c</file>
             <file>$PROJ_DIR$\..\..\libs\artery\system\at32f403a_407_clock.c</file>
-            <file>$PROJ_DIR$\..\..\libs\artery\drivers\src\at32f403a_407_i2c.c</file>
-            <file>$PROJ_DIR$\..\..\libs\artery\drivers\src\at32f403a_407_tmr.c</file>
-            <file>$PROJ_DIR$\..\..\libs\artery\drivers\src\at32f403a_407_wwdt.c</file>
-            <file>$PROJ_DIR$\..\..\libs\artery\usb\src\usbd_core.c</file>
-            <file>$PROJ_DIR$\..\..\libs\artery\usb\src\usbd_int.c</file>
-            <file>$PROJ_DIR$\..\..\libs\artery\usb\src\usbd_sdr.c</file>
-            <file>$PROJ_DIR$\..\..\libs\artery\drivers\src\at32f403a_407_sdio.c</file>
-            <file>$PROJ_DIR$\..\..\libs\thirdparty\freertos\portable\IAR\ARM_CM4F\port.c</file>
-            <file>$PROJ_DIR$\..\..\libs\thirdparty\freertos\event_groups.c</file>
-            <file>$PROJ_DIR$\..\..\libs\artery\drivers\src\at32f403a_407_usart.c</file>
-            <file>$PROJ_DIR$\..\..\libs\artery\drivers\src\at32f403a_407_xmc.c</file>
-            <file>$PROJ_DIR$\..\..\libs\artery\drivers\src\at32f403a_407_misc.c</file>
-            <file>$PROJ_DIR$\..\..\libs\artery\drivers\src\at32f403a_407_wdt.c</file>
-            <file>$PROJ_DIR$\..\..\libs\artery\drivers\src\at32f403a_407_flash.c</file>
-            <file>$PROJ_DIR$\..\..\libs\thirdparty\freertos\portable\IAR\ARM_CM4F\portasm.s</file>
-            <file>$PROJ_DIR$\..\..\libs\thirdparty\freertos\portable\IAR\ARM_CM4F\portmacro.h</file>
-            <file>$PROJ_DIR$\..\..\shared\freemodbus\functions\mbfuncholding.c</file>
-            <file>$PROJ_DIR$\..\..\shared\freemodbus\include\mb.h</file>
-            <file>$PROJ_DIR$\..\..\shared\freemodbus\include\mbutils.h</file>
-            <file>$PROJ_DIR$\..\..\shared\board\common.h</file>
-            <file>$PROJ_DIR$\..\..\shared\freemodbus\port\portserial.c</file>
-            <file>$PROJ_DIR$\..\..\shared\freemodbus\port\porttimer.c</file>
-            <file>$PROJ_DIR$\..\..\shared\freemodbus\ascii\mbascii.c</file>
-            <file>$PROJ_DIR$\..\..\shared\freemodbus\functions\mbfuncfile.c</file>
-            <file>$PROJ_DIR$\..\..\shared\freemodbus\functions\mbfuncother.c</file>
-            <file>$PROJ_DIR$\..\..\shared\freemodbus\port\port.h</file>
-            <file>$PROJ_DIR$\..\..\libs\thirdparty\rndis\rndis_driver\usbd_rndis_core.c</file>
-            <file>$PROJ_DIR$\..\..\libs\thirdparty\LwIP\src\core\udp.c</file>
-            <file>$PROJ_DIR$\..\..\shared\freemodbus\functions\mbfunccoils.c</file>
-            <file>$PROJ_DIR$\..\..\shared\freemodbus\functions\mbfuncdisc.c</file>
-            <file>$PROJ_DIR$\..\..\shared\freemodbus\functions\mbfuncdiag.c</file>
-            <file>$PROJ_DIR$\..\..\shared\freemodbus\include\mbconfig.h</file>
-            <file>$PROJ_DIR$\..\..\libs\thirdparty\ringfs\ringfs.c</file>
-            <file>$PROJ_DIR$\..\..\shared\freemodbus\include\mbframe.h</file>
-            <file>$PROJ_DIR$\..\..\shared\freemodbus\functions\mbfuncinput.c</file>
-            <file>$PROJ_DIR$\..\..\libs\thirdparty\LwIP\port\FreeRTOS\sys_arch.c</file>
-            <file>$PROJ_DIR$\..\..\libs\thirdparty\LwIP\src\netif\ethernet.c</file>
-            <file>$PROJ_DIR$\..\..\libs\thirdparty\rndis\dhcp-server\dhserver.c</file>
-            <file>$PROJ_DIR$\..\..\libs\thirdparty\rndis\rndis_driver\usbd_desc.c</file>
-            <file>$PROJ_DIR$\..\..\shared\board\common_config.h</file>
-            <file>$PROJ_DIR$\..\..\shared\freemodbus\include\mbfunc.h</file>
-            <file>$PROJ_DIR$\..\..\shared\freemodbus\include\mbport.h</file>
-            <file>$PROJ_DIR$\..\..\shared\freemodbus\include\mbproto.h</file>
-            <file>$PROJ_DIR$\..\..\libs\thirdparty\LwIP\port\FreeRTOS\ethernetif.c</file>
-            <file>$PROJ_DIR$\..\..\shared\freemodbus\functions\mbutils.c</file>
-            <file>$PROJ_DIR$\..\..\shared\freemodbus\port\portevent.c</file>
-            <file>$PROJ_DIR$\..\..\shared\freemodbus\port\portother.c</file>
-            <file>$PROJ_DIR$\..\..\libs\thirdparty\rndis\dns-server\dnserver.c</file>
-            <file>$PROJ_DIR$\..\..\shared\peripherals\src\rng.c</file>
-            <file>$PROJ_DIR$\..\..\shared\freemodbus\rtu\mbcrc.c</file>
+            <file>$PROJ_DIR$\..\..\libs\thirdparty\LwIP\src\api\tcpip.c</file>
+            <file>$PROJ_DIR$\..\..\libs\thirdparty\LwIP\src\core\ipv4\icmp.c</file>
+            <file>$PROJ_DIR$\..\..\libs\artery\system\at32f403a_407_conf.h</file>
+            <file>$PROJ_DIR$\..\..\libs\thirdparty\LwIP\src\core\ipv4\dhcp.c</file>
+            <file>$PROJ_DIR$\..\..\libs\thirdparty\freertos\fr_timers.c</file>
+            <file>$PROJ_DIR$\..\..\libs\thirdparty\LwIP\src\core\ipv4\igmp.c</file>
+            <file>$PROJ_DIR$\Debug\Obj\tasks.o</file>
+            <file>$PROJ_DIR$\..\..\fw\modules\io\digital_output.h</file>
+            <file>$PROJ_DIR$\..\..\libs\thirdparty\freertos\include\event_groups.h</file>
+            <file>$PROJ_DIR$\Debug\Obj\mbfuncinput.o</file>
+            <file>$PROJ_DIR$\Debug\Obj\terminal.o</file>
+            <file>$TOOLKIT_DIR$\inc\c\stdarg.h</file>
+            <file>$PROJ_DIR$\Debug\Obj\memp.xcl</file>
+            <file>$PROJ_DIR$\Debug\Obj\at32f403a_407_rtc.xcl</file>
+            <file>$PROJ_DIR$\..\..\libs\thirdparty\LwIP\src\include\lwip\ip6.h</file>
+            <file>$PROJ_DIR$\Debug\Obj\ethernetif.xcl</file>
+            <file>$PROJ_DIR$\..\..\fw\modules\log\log_api.h</file>
+            <file>$PROJ_DIR$\Debug\Obj\tim_delay.xcl</file>
+            <file>$PROJ_DIR$\..\..\libs\thirdparty\LwIP\src\include\lwip\tcp.h</file>
+            <file>$PROJ_DIR$\Debug\Obj\sys_arch.xcl</file>
+            <file>$PROJ_DIR$\Debug\Obj\at32f403a_407_bpr.xcl</file>
+            <file>$PROJ_DIR$\Debug\Obj\udp.o</file>
+            <file>$PROJ_DIR$\Debug\Obj\mbfuncdiag.o</file>
+            <file>$PROJ_DIR$\..\..\shared\peripherals\inc\common_gpio.h</file>
+            <file>$PROJ_DIR$\Debug\Obj\at32f403a_407_xmc.xcl</file>
+            <file>$PROJ_DIR$\Debug\Obj\mbfunccoils.xcl</file>
+            <file>$PROJ_DIR$\..\..\shared\peripherals\inc\usb.h</file>
+            <file>$PROJ_DIR$\..\..\libs\thirdparty\LwIP\src\include\lwip\raw.h</file>
+            <file>$PROJ_DIR$\Debug\Obj\module_universal_io.pbd</file>
+            <file>$PROJ_DIR$\..\..\fw\modules\misc\hash.h</file>
+            <file>$PROJ_DIR$\Debug\Obj\at32f403a_407_wwdt.xcl</file>
+            <file>$PROJ_DIR$\..\..\libs\thirdparty\rndis\rndis_driver\usbd_desc.h</file>
+            <file>$PROJ_DIR$\Debug\Obj\at32f403a_407_debug.xcl</file>
+            <file>$PROJ_DIR$\Debug\Obj\usbd_rndis_core.xcl</file>
+            <file>$PROJ_DIR$\..\..\libs\thirdparty\fat_fs\src\ff.h</file>
+            <file>$PROJ_DIR$\..\..\libs\artery\drivers\inc\at32f403a_407_acc.h</file>
+            <file>$PROJ_DIR$\Debug\Obj\netif.xcl</file>
+            <file>$PROJ_DIR$\Debug\Obj\at32f403a_407_usart.o</file>
+            <file>$PROJ_DIR$\..\..\libs\artery\drivers\inc\at32f403a_407_can.h</file>
+            <file>$PROJ_DIR$\..\..\libs\thirdparty\rndis\dhcp-server\dhserver.h</file>
+            <file>$PROJ_DIR$\Debug\Obj\timeouts.o</file>
+            <file>$PROJ_DIR$\..\..\shared\freemodbus\rtu\mbrtu.h</file>
+            <file>$PROJ_DIR$\Debug\Obj\dhserver.o</file>
+            <file>$PROJ_DIR$\Debug\Obj\at32f403a_407_clock.xcl</file>
+            <file>$PROJ_DIR$\..\..\libs\thirdparty\freertos\include\fr_timers.h</file>
+            <file>$PROJ_DIR$\Debug\Obj\hash.xcl</file>
+            <file>$PROJ_DIR$\Debug\Obj\digital_output.xcl</file>
+            <file>$PROJ_DIR$\Debug\Obj\at32f403a_407_int.o</file>
+            <file>$PROJ_DIR$\..\..\libs\thirdparty\fat_fs\src\integer.h</file>
+            <file>$PROJ_DIR$\..\..\libs\thirdparty\LwIP\src\include\lwip\mld6.h</file>
+            <file>$PROJ_DIR$\Debug\Obj\log.xcl</file>
+            <file>$PROJ_DIR$\..\..\fw\modules\misc\at32_uid.h</file>
+            <file>$PROJ_DIR$\Debug\Obj\sys.o</file>
+            <file>$PROJ_DIR$\Debug\Obj\flash_ram_const.o</file>
+            <file>$PROJ_DIR$\Debug\Obj\modbus.xcl</file>
+            <file>$PROJ_DIR$\..\..\libs\thirdparty\LwIP\system\arch\cc.h</file>
+            <file>$PROJ_DIR$\..\..\libs\artery\drivers\inc\at32f403a_407_rtc.h</file>
+            <file>$PROJ_DIR$\..\..\libs\artery\system\at32f403a_407_clock.h</file>
+            <file>$PROJ_DIR$\Debug\Obj\mbcrc.xcl</file>
+            <file>$PROJ_DIR$\..\..\libs\thirdparty\LwIP\src\include\lwip\ip_addr.h</file>
+            <file>$PROJ_DIR$\Debug\Obj\netif.o</file>
+            <file>$PROJ_DIR$\Debug\Obj\spi_flash.o</file>
+            <file>$PROJ_DIR$\Debug\Obj\monitoring.xcl</file>
+            <file>$PROJ_DIR$\Debug\Obj\at32f403a_407_adc.xcl</file>
+            <file>$PROJ_DIR$\Debug\Obj\monitoring.o</file>
+            <file>$TOOLKIT_DIR$\inc\c\stdio.h</file>
+            <file>$PROJ_DIR$\Debug\Obj\usb_clock.o</file>
+            <file>$PROJ_DIR$\..\..\shared\wdt\wdt.h</file>
+            <file>$PROJ_DIR$\..\..\fw\modules\modbus\update.h</file>
+            <file>$PROJ_DIR$\Debug\Obj\at32f403a_407_dma.o</file>
+            <file>$PROJ_DIR$\Debug\Obj\settings_api.o</file>
+            <file>$PROJ_DIR$\Debug\Obj\modbus.o</file>
+            <file>$PROJ_DIR$\..\..\libs\thirdparty\microrl\microrl.h</file>
+            <file>$PROJ_DIR$\..\..\libs\thirdparty\rndis\dns-server\dnserver.h</file>
+            <file>$PROJ_DIR$\..\..\fw\modules\log\log.h</file>
+            <file>$PROJ_DIR$\Debug\Obj\mbutils.o</file>
+            <file>$PROJ_DIR$\Debug\Obj\sys_arch.o</file>
+            <file>$TOOLKIT_DIR$\inc\c\DLib_float_setup.h</file>
+            <file>$PROJ_DIR$\Debug\Obj\at32f403a_407_wwdt.o</file>
+            <file>$PROJ_DIR$\..\..\fw\modules\io\io_utils.h</file>
+            <file>$PROJ_DIR$\Debug\Obj\main.xcl</file>
+            <file>$PROJ_DIR$\Debug\Obj\dns.o</file>
+            <file>$PROJ_DIR$\Debug\Obj\extended_sram.o</file>
+            <file>$PROJ_DIR$\Debug\Obj\at32f403a_407_can.o</file>
+            <file>$PROJ_DIR$\..\..\libs\thirdparty\LwIP\src\include\lwip\netif.h</file>
+            <file>$PROJ_DIR$\Debug\Obj\heap_4.xcl</file>
+            <file>$PROJ_DIR$\Debug\Obj\portevent.xcl</file>
+            <file>$PROJ_DIR$\..\..\libs\artery\drivers\inc\at32f403a_407_usb.h</file>
+            <file>$PROJ_DIR$\Debug\Obj\at32f403a_407_rtc.o</file>
+            <file>$PROJ_DIR$\..\..\libs\thirdparty\LwIP\src\include\lwip\priv\memp_priv.h</file>
+            <file>$PROJ_DIR$\Debug\Obj\spi_common.o</file>
+            <file>$PROJ_DIR$\Debug\Obj\FreeRTOS-openocd.xcl</file>
+            <file>$PROJ_DIR$\..\..\libs\thirdparty\LwIP\src\include\lwip\udp.h</file>
+            <file>$PROJ_DIR$\..\..\fw\modules\modbus\modbus_ai_params.h</file>
+            <file>$PROJ_DIR$\Debug\Obj\event_groups.o</file>
+            <file>$PROJ_DIR$\Debug\Obj\rng.o</file>
+            <file>$PROJ_DIR$\..\..\libs\thirdparty\LwIP\src\include\lwip\sockets.h</file>
+            <file>$PROJ_DIR$\..\..\libs\thirdparty\LwIP\src\include\lwip\priv\nd6_priv.h</file>
+            <file>$PROJ_DIR$\..\..\libs\artery\drivers\inc\at32f403a_407_xmc.h</file>
+            <file>$PROJ_DIR$\..\..\libs\thirdparty\LwIP\src\include\netif\etharp.h</file>
+            <file>$PROJ_DIR$\..\..\libs\thirdparty\freertos\include\deprecated_definitions.h</file>
+            <file>$PROJ_DIR$\Debug\Obj\uptime.xcl</file>
+            <file>$PROJ_DIR$\Debug\Obj\dhcp.o</file>
+            <file>$PROJ_DIR$\..\..\libs\thirdparty\LwIP\src\include\lwip\netbuf.h</file>
+            <file>$PROJ_DIR$\Debug\Obj\ip.o</file>
+            <file>$PROJ_DIR$\..\..\libs\thirdparty\LwIP\src\include\lwip\priv\api_msg.h</file>
+            <file>$PROJ_DIR$\Debug\Obj\api_msg.o</file>
+            <file>$PROJ_DIR$\..\..\fw\modules\testing\soft_test.h</file>
+            <file>$PROJ_DIR$\..\..\libs\thirdparty\ringfs\ringfs.h</file>
+            <file>$PROJ_DIR$\..\..\libs\artery\drivers\inc\at32f403a_407_emac.h</file>
+            <file>$PROJ_DIR$\..\..\libs\thirdparty\LwIP\src\include\lwip\errno.h</file>
+            <file>$PROJ_DIR$\Debug\Obj\modbus_ai_params.o</file>
+            <file>$PROJ_DIR$\Debug\Obj\at32f403a_407_i2c.xcl</file>
+            <file>$PROJ_DIR$\Debug\Obj\igmp.xcl</file>
+            <file>$PROJ_DIR$\..\..\libs\thirdparty\freertos\include\croutine.h</file>
+            <file>$PROJ_DIR$\Debug\Obj\soft_test.xcl</file>
+            <file>$PROJ_DIR$\Debug\Obj\at32f403a_407_crc.xcl</file>
+            <file>$PROJ_DIR$\Debug\Obj\microrl.o</file>
+            <file>$PROJ_DIR$\Debug\Obj\at32f403a_407_dac.o</file>
+            <file>$PROJ_DIR$\Debug\Obj\mbcrc.o</file>
+            <file>$PROJ_DIR$\Debug\Obj\mbfuncdiag.xcl</file>
+            <file>$PROJ_DIR$\Debug\Obj\usbd_int.xcl</file>
+            <file>$PROJ_DIR$\Debug\Obj\ms5192t.o</file>
+            <file>$PROJ_DIR$\..\..\libs\thirdparty\freertos\include\mpu_wrappers.h</file>
+            <file>$PROJ_DIR$\Debug\Obj\digital_output.o</file>
+            <file>$PROJ_DIR$\Debug\Obj\autoip.xcl</file>
+            <file>$PROJ_DIR$\Debug\Obj\utility.xcl</file>
+            <file>$PROJ_DIR$\..\..\libs\thirdparty\freertos\include\task.h</file>
+            <file>$PROJ_DIR$\Debug\Obj\usbd_int.o</file>
+            <file>$PROJ_DIR$\..\..\fw\modules\io\filter.h</file>
+            <file>$PROJ_DIR$\Debug\Obj\spi_flash.xcl</file>
+            <file>$PROJ_DIR$\..\..\libs\artery\drivers\inc\at32f403a_407_dma.h</file>
+            <file>$PROJ_DIR$\..\..\fw\modules\log\ringfs_api.h</file>
+            <file>$PROJ_DIR$\..\..\libs\thirdparty\LwIP\src\include\netif\ppp\ppp_opts.h</file>
+            <file>$PROJ_DIR$\Debug\Obj\filter.xcl</file>
+            <file>$PROJ_DIR$\..\..\shared\utils\extended_sram.h</file>
+            <file>$PROJ_DIR$\Debug\Obj\mbfuncinput.xcl</file>
+            <file>$PROJ_DIR$\Debug\Obj\modbus_dio_params.xcl</file>
+            <file>$PROJ_DIR$\Debug\Obj\usb.xcl</file>
             <file>$PROJ_DIR$\Debug\Obj\tcp_in.xcl</file>
             <file>$PROJ_DIR$\Debug\Obj\hash.o</file>
-            <file>$PROJ_DIR$\..\..\shared\utils\extended_sram.c</file>
-            <file>$PROJ_DIR$\..\..\libs\thirdparty\LwIP\src\include\lwip\def.h</file>
-            <file>$PROJ_DIR$\Debug\Obj\usb.xcl</file>
             <file>$PROJ_DIR$\Debug\Obj\common_gpio.xcl</file>
-            <file>$PROJ_DIR$\..\..\shared\peripherals\src\spi_common.c</file>
             <file>$PROJ_DIR$\Debug\Obj\at32f403a_407_crm.xcl</file>
-            <file>$PROJ_DIR$\..\..\shared\peripherals\src\usb.c</file>
-            <file>$PROJ_DIR$\..\..\shared\freemodbus\rtu\mbrtu.c</file>
-            <file>$PROJ_DIR$\..\..\shared\model\model_cfg.h</file>
-            <file>$PROJ_DIR$\..\..\shared\peripherals\src\buttons.c</file>
-            <file>$PROJ_DIR$\..\..\shared\rtc\rtc.c</file>
+            <file>$PROJ_DIR$\Debug\Obj\at32f403a_407_misc.o</file>
             <file>$PROJ_DIR$\Debug\Obj\modbus_dio_params.o</file>
-            <file>$PROJ_DIR$\..\..\shared\utils\utility.c</file>
+            <file>$PROJ_DIR$\Debug\Obj\settings_dio.o</file>
+            <file>$PROJ_DIR$\Debug\Obj\dac_transport.o</file>
             <file>$PROJ_DIR$\Debug\Obj\update.xcl</file>
-            <file>$PROJ_DIR$\..\..\shared\utils\at32f403a_407_board.c</file>
-            <file>$PROJ_DIR$\..\..\shared\freemodbus\port\tim_delay.c</file>
-            <file>$PROJ_DIR$\..\..\shared\wdt\wdt.c</file>
-            <file>$PROJ_DIR$\..\..\shared\sys\sys_hal.c</file>
-            <file>$PROJ_DIR$\Debug\Obj\at32f403a_407_sdio.o</file>
+            <file>$PROJ_DIR$\Debug\Obj\at32f403a_407_exint.o</file>
+            <file>$PROJ_DIR$\Debug\Obj\stats.xcl</file>
+            <file>$PROJ_DIR$\Debug\Obj\at32f403a_407_gpio.o</file>
             <file>$PROJ_DIR$\Debug\Obj\igmp.o</file>
             <file>$PROJ_DIR$\..\..\libs\thirdparty\LwIP\src\include\lwip\opt.h</file>
-            <file>$PROJ_DIR$\..\..\shared\freemodbus\mb.c</file>
-            <file>$PROJ_DIR$\..\..\shared\peripherals\src\common_gpio.c</file>
-            <file>$PROJ_DIR$\..\..\shared\sys\sys_api.c</file>
             <file>$PROJ_DIR$\..\..\libs\thirdparty\freertos\include\list.h</file>
+            <file>$PROJ_DIR$\..\..\fw\modules\log\log_ai.h</file>
+            <file>$PROJ_DIR$\..\..\libs\thirdparty\LwIP\src\include\lwip\mem.h</file>
+            <file>$TOOLKIT_DIR$\inc\c\ysizet.h</file>
+            <file>$PROJ_DIR$\Debug\Obj\api_lib.o</file>
+            <file>$PROJ_DIR$\Debug\Obj\at32f403a_407_sdio.o</file>
+            <file>$PROJ_DIR$\..\..\libs\thirdparty\LwIP\src\include\lwip\snmp.h</file>
             <file>$PROJ_DIR$\..\..\libs\thirdparty\fat_fs\src\diskio.h</file>
+            <file>$PROJ_DIR$\..\..\libs\thirdparty\LwIP\src\include\lwip\def.h</file>
             <file>$PROJ_DIR$\..\..\fw\modules\settings\settings_dio.h</file>
-            <file>$PROJ_DIR$\..\..\fw\modules\log\log_ai.h</file>
             <file>$PROJ_DIR$\..\..\fw\modules\log\log_dio.h</file>
-            <file>$PROJ_DIR$\Debug\Obj\log_ai.o</file>
+            <file>$TOOLKIT_DIR$\inc\c\DLib_Product.h</file>
+            <file>$PROJ_DIR$\Debug\Obj\log_dio.xcl</file>
             <file>$PROJ_DIR$\Debug\Obj\log_dio.o</file>
+            <file>$PROJ_DIR$\Debug\Obj\log_ai.o</file>
             <file>$PROJ_DIR$\Debug\Obj\log_ai.xcl</file>
-            <file>$PROJ_DIR$\Debug\Obj\log_dio.xcl</file>
-            <file>$PROJ_DIR$\..\..\fw\modules\log\log_ai.c</file>
-            <file>$PROJ_DIR$\..\..\fw\modules\log\log_dio.c</file>
         </outputs>
         <file>
-            <name>[ROOT_NODE]</name>
+            <name>$PROJ_DIR$\..\..\libs\artery\drivers\src\at32f403a_407_flash.c</name>
             <outputs>
                 <tool>
-                    <name>ILINK</name>
-                    <file> 479 329</file>
+                    <name>ICCARM</name>
+                    <file> 433</file>
+                </tool>
+                <tool>
+                    <name>BICOMP</name>
+                    <file> 160</file>
                 </tool>
             </outputs>
+            <inputs>
+                <tool>
+                    <name>ICCARM</name>
+                    <file> 545 447 55 436 509 404 364 237 180 707 273 164 94 157 390 372 6 239 599 217 89 172 378 392 581 508 407 103 674 28 212 82 63 397 129 74 641 578 134 630 652</file>
+                </tool>
+            </inputs>
         </file>
         <file>
-            <name>$PROJ_DIR$\..\..\fw\modules\settings\settings_ao.c</name>
+            <name>$PROJ_DIR$\..\..\libs\artery\drivers\src\at32f403a_407_acc.c</name>
             <outputs>
                 <tool>
                     <name>ICCARM</name>
-                    <file> 460</file>
+                    <file> 177</file>
                 </tool>
                 <tool>
                     <name>BICOMP</name>
-                    <file> 259</file>
+                    <file> 437</file>
                 </tool>
             </outputs>
             <inputs>
                 <tool>
                     <name>ICCARM</name>
-                    <file> 544 217 202 257 80 471 430 536 37 425 309 407 79 63 89 616 223 465 371 442 304 428 60 264 389 200 251 332 156 92 463 282 281 255 504 296 136 351 500 147 160 256 681 314 419 436 413 538 571 101 416 135 636 219 195 176 517 228 297 187 638 646 179 697 662 663 117 404 316 487</file>
+                    <file> 545 447 55 436 509 404 364 237 180 707 273 164 94 157 390 372 6 239 599 217 89 172 378 392 581 508 407 103 674 28 212 82 63 397 129 74 641 578 134 630 652</file>
                 </tool>
             </inputs>
         </file>
         <file>
-            <name>$PROJ_DIR$\..\..\fw\modules\adc\ms5192t.c</name>
+            <name>$PROJ_DIR$\..\..\libs\artery\drivers\src\at32f403a_407_misc.c</name>
             <outputs>
                 <tool>
                     <name>ICCARM</name>
-                    <file> 169</file>
+                    <file> 686</file>
                 </tool>
                 <tool>
                     <name>BICOMP</name>
-                    <file> 301</file>
+                    <file> 423</file>
                 </tool>
             </outputs>
             <inputs>
                 <tool>
                     <name>ICCARM</name>
-                    <file> 93 544 217 202 257 80 471 430 536 37 425 309 407 79 63 89 616 223 465 371 442 304 428 60 264 389 200 251 332 156 92 463 282 281 255 504 296 136 351 500 147 160 182</file>
+                    <file> 545 447 55 436 509 404 364 237 180 707 273 164 94 157 390 372 6 239 599 217 89 172 378 392 581 508 407 103 674 28 212 82 63 397 129 74 641 578 134 630 652</file>
                 </tool>
             </inputs>
         </file>
         <file>
-            <name>$PROJ_DIR$\..\..\fw\modules\io\analog_output.c</name>
+            <name>$PROJ_DIR$\..\..\libs\artery\drivers\src\at32f403a_407_spi.c</name>
             <outputs>
                 <tool>
                     <name>ICCARM</name>
-                    <file> 204</file>
+                    <file> 67</file>
                 </tool>
                 <tool>
                     <name>BICOMP</name>
-                    <file> 235</file>
+                    <file> 448</file>
                 </tool>
             </outputs>
             <inputs>
                 <tool>
                     <name>ICCARM</name>
-                    <file> 544 217 202 257 80 471 430 536 37 425 309 407 79 63 89 616 223 465 371 442 304 428 60 264 389 200 251 332 156 92 463 282 281 255 504 296 136 351 500 147 160 316 314 201 323 436 413 538 571 101 416 135 636 219 195 176 179 697 256 681 419 517 228 297 187 638 646 662 663 117 404 105 467 298 124 386</file>
+                    <file> 545 447 55 436 509 404 364 237 180 707 273 164 94 157 390 372 6 239 599 217 89 172 378 392 581 508 407 103 674 28 212 82 63 397 129 74 641 578 134 630 652</file>
                 </tool>
             </inputs>
         </file>
         <file>
-            <name>$PROJ_DIR$\..\..\fw\modules\io\io.c</name>
+            <name>$PROJ_DIR$\..\..\libs\artery\drivers\src\at32f403a_407_xmc.c</name>
             <outputs>
                 <tool>
                     <name>ICCARM</name>
-                    <file> 470</file>
+                    <file> 415</file>
                 </tool>
                 <tool>
                     <name>BICOMP</name>
-                    <file> 401</file>
+                    <file> 567</file>
                 </tool>
             </outputs>
             <inputs>
                 <tool>
                     <name>ICCARM</name>
-                    <file> 544 217 202 257 80 471 430 536 37 425 309 407 79 63 89 616 223 465 371 442 304 428 60 264 389 200 251 332 156 92 463 282 281 255 504 296 136 351 500 147 160 187 314 436 413 538 571 101 416 135 636 219 195 176 179 697 256 681 419 517 228 297 638 646 662 663 117 404 316 124 386</file>
+                    <file> 545 447 55 436 509 404 364 237 180 707 273 164 94 157 390 372 6 239 599 217 89 172 378 392 581 508 407 103 674 28 212 82 63 397 129 74 641 578 134 630 652</file>
                 </tool>
             </inputs>
         </file>
         <file>
-            <name>$PROJ_DIR$\..\..\fw\modules\io\io_utils.c</name>
+            <name>$PROJ_DIR$\..\..\libs\artery\drivers\src\at32f403a_407_crm.c</name>
             <outputs>
                 <tool>
                     <name>ICCARM</name>
-                    <file> 48</file>
+                    <file> 114</file>
                 </tool>
                 <tool>
                     <name>BICOMP</name>
-                    <file> 318</file>
+                    <file> 685</file>
                 </tool>
             </outputs>
             <inputs>
                 <tool>
                     <name>ICCARM</name>
-                    <file> 544 217 202 257 80 471 430 536 37 425 309 407 79 63 89 616 223 465 371 442 304 428 60 264 389 200 251 332 156 92 463 282 281 255 504 296 136 351 500 147 160 124 314 436 413 538 571 101 416 135 636 219 195 176 179 697 256 681 419 517 228 297 187 638 646 662 663 117 404 316 298 386</file>
+                    <file> 545 447 55 436 509 404 364 237 180 707 273 164 94 157 390 372 6 239 599 217 89 172 378 392 581 508 407 103 674 28 212 82 63 397 129 74 641 578 134 630 652</file>
                 </tool>
             </inputs>
         </file>
         <file>
-            <name>$PROJ_DIR$\..\..\fw\modules\misc\usb_clock.c</name>
+            <name>$PROJ_DIR$\..\..\libs\artery\drivers\src\at32f403a_407_gpio.c</name>
             <outputs>
                 <tool>
                     <name>ICCARM</name>
-                    <file> 387</file>
+                    <file> 693</file>
                 </tool>
                 <tool>
                     <name>BICOMP</name>
-                    <file> 238</file>
+                    <file> 127</file>
                 </tool>
             </outputs>
             <inputs>
                 <tool>
                     <name>ICCARM</name>
-                    <file> 544 217 202 257 80 471 430 536 37 425 309 407 79 63 89 616 223 465 371 442 304 428 60 264 389 200 251 332 156 92 463 282 281 255 504 296 136 351 500 147 160 104</file>
+                    <file> 545 447 55 436 509 404 364 237 180 707 273 164 94 157 390 372 6 239 599 217 89 172 378 392 581 508 407 103 674 28 212 82 63 397 129 74 641 578 134 630 652</file>
                 </tool>
             </inputs>
         </file>
         <file>
-            <name>$PROJ_DIR$\..\..\fw\modules\modbus\modbus_dio_params.c</name>
+            <name>$PROJ_DIR$\..\..\libs\artery\drivers\src\at32f403a_407_crc.c</name>
             <outputs>
                 <tool>
                     <name>ICCARM</name>
-                    <file> 684</file>
+                    <file> 79</file>
                 </tool>
                 <tool>
                     <name>BICOMP</name>
-                    <file> 537</file>
+                    <file> 659</file>
                 </tool>
             </outputs>
             <inputs>
                 <tool>
                     <name>ICCARM</name>
-                    <file> 544 217 202 257 80 471 430 536 37 425 309 407 79 63 89 616 223 465 371 442 304 428 60 264 389 200 251 332 156 92 463 282 281 255 504 296 136 351 500 147 160 198 638 646 436 413 538 571 101 416 135 636 219 195 176 179 697 662 663 94 314 36 42 187 361 256 681 419 517 228 297 117 404 316</file>
+                    <file> 545 447 55 436 509 404 364 237 180 707 273 164 94 157 390 372 6 239 599 217 89 172 378 392 581 508 407 103 674 28 212 82 63 397 129 74 641 578 134 630 652</file>
                 </tool>
             </inputs>
         </file>
         <file>
-            <name>$PROJ_DIR$\..\..\fw\modules\io\filter.c</name>
+            <name>$PROJ_DIR$\..\..\libs\artery\drivers\src\at32f403a_407_i2c.c</name>
             <outputs>
                 <tool>
                     <name>ICCARM</name>
-                    <file> 191</file>
+                    <file> 515</file>
                 </tool>
                 <tool>
                     <name>BICOMP</name>
-                    <file> 530</file>
+                    <file> 655</file>
                 </tool>
             </outputs>
             <inputs>
                 <tool>
                     <name>ICCARM</name>
-                    <file> 544 217 202 257 80 471 430 536 37 425 309 407 79 63 89 616 223 465 371 442 304 428 60 264 389 200 251 332 156 92 463 282 281 255 504 296 136 351 500 147 160 162 314 323 436 413 538 571 101 416 135 636 219 195 176 179 697 256 681 419 517 228 297 187 638 646 662 663 117 404 316 386</file>
+                    <file> 545 447 55 436 509 404 364 237 180 707 273 164 94 157 390 372 6 239 599 217 89 172 378 392 581 508 407 103 674 28 212 82 63 397 129 74 641 578 134 630 652</file>
                 </tool>
             </inputs>
         </file>
         <file>
-            <name>$PROJ_DIR$\..\..\fw\modules\adc\adc_transport.c</name>
+            <name>$PROJ_DIR$\..\..\libs\artery\drivers\src\at32f403a_407_pwc.c</name>
             <outputs>
                 <tool>
                     <name>ICCARM</name>
-                    <file> 68</file>
+                    <file> 512</file>
                 </tool>
                 <tool>
                     <name>BICOMP</name>
-                    <file> 302</file>
+                    <file> 428</file>
                 </tool>
             </outputs>
             <inputs>
                 <tool>
                     <name>ICCARM</name>
-                    <file> 544 217 202 257 80 471 430 536 37 425 309 407 79 63 89 616 223 465 371 442 304 428 60 264 389 200 251 332 156 92 463 282 281 255 504 296 136 351 500 147 160 93 436 413 538 571 101 416 135 636 219 195 176 179 697 256 681 314 419 517 228 297 187 638 646 662 663 117 404 316 124 182 293 323 386</file>
+                    <file> 545 447 55 436 509 404 364 237 180 707 273 164 94 157 390 372 6 239 599 217 89 172 378 392 581 508 407 103 674 28 212 82 63 397 129 74 641 578 134 630 652</file>
                 </tool>
             </inputs>
         </file>
         <file>
-            <name>$PROJ_DIR$\..\..\fw\modules\io\digital_input.c</name>
+            <name>$PROJ_DIR$\..\..\libs\artery\drivers\src\at32f403a_407_debug.c</name>
             <outputs>
                 <tool>
                     <name>ICCARM</name>
-                    <file> 86</file>
+                    <file> 450</file>
                 </tool>
                 <tool>
                     <name>BICOMP</name>
-                    <file> 226</file>
+                    <file> 575</file>
                 </tool>
             </outputs>
             <inputs>
                 <tool>
                     <name>ICCARM</name>
-                    <file> 544 217 202 257 80 471 430 536 37 425 309 407 79 63 89 616 223 465 371 442 304 428 60 264 389 200 251 332 156 92 463 282 281 255 504 296 136 351 500 147 160 42 314 187 436 413 538 571 101 416 135 636 219 195 176 179 697 256 681 419 517 228 297 638 646 662 663 117 404 316 124 298 386</file>
+                    <file> 545 447 55 436 509 404 364 237 180 707 273 164 94 157 390 372 6 239 599 217 89 172 378 392 581 508 407 103 674 28 212 82 63 397 129 74 641 578 134 630 652</file>
                 </tool>
             </inputs>
         </file>
         <file>
-            <name>$PROJ_DIR$\..\..\fw\modules\io\mux.c</name>
+            <name>$PROJ_DIR$\..\..\libs\artery\drivers\src\at32f403a_407_rtc.c</name>
             <outputs>
                 <tool>
                     <name>ICCARM</name>
-                    <file> 509</file>
+                    <file> 631</file>
                 </tool>
                 <tool>
                     <name>BICOMP</name>
-                    <file> 501</file>
+                    <file> 556</file>
                 </tool>
             </outputs>
             <inputs>
                 <tool>
                     <name>ICCARM</name>
-                    <file> 544 217 202 257 80 471 430 536 37 425 309 407 79 63 89 616 223 465 371 442 304 428 60 264 389 200 251 332 156 92 463 282 281 255 504 296 136 351 500 147 160 298 314 436 413 538 571 101 416 135 636 219 195 176 179 697</file>
+                    <file> 545 447 55 436 509 404 364 237 180 707 273 164 94 157 390 372 6 239 599 217 89 172 378 392 581 508 407 103 674 28 212 82 63 397 129 74 641 578 134 630 652</file>
                 </tool>
             </inputs>
         </file>
         <file>
-            <name>$PROJ_DIR$\..\..\fw\modules\io\analog_input.c</name>
+            <name>$PROJ_DIR$\..\..\libs\artery\drivers\src\at32f403a_407_sdio.c</name>
             <outputs>
                 <tool>
                     <name>ICCARM</name>
-                    <file> 180</file>
+                    <file> 701</file>
                 </tool>
                 <tool>
                     <name>BICOMP</name>
-                    <file> 499</file>
+                    <file> 145</file>
                 </tool>
             </outputs>
             <inputs>
                 <tool>
                     <name>ICCARM</name>
-                    <file> 544 217 202 257 80 471 430 536 37 425 309 407 79 63 89 616 223 465 371 442 304 428 60 264 389 200 251 332 156 92 463 282 281 255 504 296 136 351 500 147 160 404 314 201 323 436 413 538 571 101 416 135 636 219 195 176 179 697 256 681 419 517 228 297 187 638 646 662 663 117 316 182 93 467 298 162 386</file>
+                    <file> 545 447 55 436 509 404 364 237 180 707 273 164 94 157 390 372 6 239 599 217 89 172 378 392 581 508 407 103 674 28 212 82 63 397 129 74 641 578 134 630 652</file>
                 </tool>
             </inputs>
         </file>
         <file>
-            <name>$PROJ_DIR$\..\..\fw\modules\misc\misc.c</name>
+            <name>$PROJ_DIR$\..\..\libs\artery\drivers\src\at32f403a_407_tmr.c</name>
             <outputs>
                 <tool>
                     <name>ICCARM</name>
-                    <file> 262</file>
+                    <file> 101</file>
                 </tool>
                 <tool>
                     <name>BICOMP</name>
-                    <file> 29</file>
+                    <file> 400</file>
                 </tool>
             </outputs>
             <inputs>
                 <tool>
                     <name>ICCARM</name>
-                    <file> 293 544 217 202 257 80 471 430 536 37 425 309 407 79 63 89 616 223 465 371 442 304 428 60 264 389 200 251 332 156 92 463 282 281 255 504 296 136 351 500 147 160 436 413 538 571 101 416 135 636 219 195 176 179 697 298 314 638 646 662 663 510 386</file>
+                    <file> 545 447 55 436 509 404 364 237 180 707 273 164 94 157 390 372 6 239 599 217 89 172 378 392 581 508 407 103 674 28 212 82 63 397 129 74 641 578 134 630 652</file>
                 </tool>
             </inputs>
         </file>
         <file>
-            <name>$PROJ_DIR$\..\..\fw\modules\misc\uptime.c</name>
+            <name>$PROJ_DIR$\..\..\libs\artery\drivers\src\at32f403a_407_usb.c</name>
             <outputs>
                 <tool>
                     <name>ICCARM</name>
-                    <file> 115</file>
+                    <file> 253</file>
                 </tool>
                 <tool>
                     <name>BICOMP</name>
-                    <file> 161</file>
+                    <file> 25</file>
                 </tool>
             </outputs>
             <inputs>
                 <tool>
                     <name>ICCARM</name>
-                    <file> 477 544 217 202 257 80 471 430 536 37 425 309 407 79 63 89 616 223 465 371 442 304 428 60 264 389 200 251 332 156 92 463 282 281 255 504 296 136 351 500 147 160 100 124 314 386 538</file>
+                    <file> 545 447 55 436 509 404 364 237 180 707 273 164 94 157 390 372 6 239 599 217 89 172 378 392 581 508 407 103 674 28 212 82 63 397 129 74 641 578 134 630 652</file>
                 </tool>
             </inputs>
         </file>
         <file>
-            <name>$PROJ_DIR$\..\..\fw\modules\dac\dac_transport.c</name>
+            <name>$PROJ_DIR$\..\..\libs\artery\drivers\src\at32f403a_407_wdt.c</name>
             <outputs>
                 <tool>
                     <name>ICCARM</name>
-                    <file> 533</file>
+                    <file> 131</file>
                 </tool>
                 <tool>
                     <name>BICOMP</name>
-                    <file> 273</file>
+                    <file> 435</file>
                 </tool>
             </outputs>
             <inputs>
                 <tool>
                     <name>ICCARM</name>
-                    <file> 544 217 202 257 80 471 430 536 37 425 309 407 79 63 89 616 223 465 371 442 304 428 60 264 389 200 251 332 156 92 463 282 281 255 504 296 136 351 500 147 160 105 314 436 413 538 571 101 416 135 636 219 195 176 179 697 293 386</file>
+                    <file> 545 447 55 436 509 404 364 237 180 707 273 164 94 157 390 372 6 239 599 217 89 172 378 392 581 508 407 103 674 28 212 82 63 397 129 74 641 578 134 630 652</file>
                 </tool>
             </inputs>
         </file>
         <file>
-            <name>$PROJ_DIR$\..\..\fw\modules\log\log.c</name>
+            <name>$PROJ_DIR$\..\..\libs\artery\drivers\src\at32f403a_407_emac.c</name>
+            <outputs>
+                <tool>
+                    <name>ICCARM</name>
+                    <file> 15</file>
+                </tool>
+                <tool>
+                    <name>BICOMP</name>
+                    <file> 171</file>
+                </tool>
+            </outputs>
+            <inputs>
+                <tool>
+                    <name>ICCARM</name>
+                    <file> 545 447 55 436 509 404 364 237 180 707 273 164 94 157 390 372 6 239 599 217 89 172 378 392 581 508 407 103 674 28 212 82 63 397 129 74 641 578 134 630 652</file>
+                </tool>
+            </inputs>
+        </file>
+        <file>
+            <name>$PROJ_DIR$\..\..\libs\artery\drivers\src\at32f403a_407_bpr.c</name>
             <outputs>
+                <tool>
+                    <name>ICCARM</name>
+                    <file> 184</file>
+                </tool>
                 <tool>
                     <name>BICOMP</name>
-                    <file> 391</file>
+                    <file> 563</file>
                 </tool>
             </outputs>
             <inputs>
                 <tool>
                     <name>ICCARM</name>
-                    <file> 117 544 217 202 257 80 471 430 536 37 425 309 407 79 63 89 616 223 465 371 442 304 428 60 264 389 200 251 332 156 92 463 282 281 255 504 296 136 351 500 147 160 314 100 173 386 538 494 438 190 436 413 571 101 416 135 636 219 195 176 179 697 517 228 366 382 256 681 419 297 187 638 646 662 663 404 316 42 700 701 84 299 106</file>
+                    <file> 545 447 55 436 509 404 364 237 180 707 273 164 94 157 390 372 6 239 599 217 89 172 378 392 581 508 407 103 674 28 212 82 63 397 129 74 641 578 134 630 652</file>
                 </tool>
             </inputs>
         </file>
         <file>
-            <name>$PROJ_DIR$\..\..\fw\modules\misc\hash.c</name>
+            <name>$PROJ_DIR$\..\..\libs\artery\drivers\src\at32f403a_407_dac.c</name>
             <outputs>
                 <tool>
                     <name>ICCARM</name>
-                    <file> 672</file>
+                    <file> 661</file>
                 </tool>
                 <tool>
                     <name>BICOMP</name>
-                    <file> 388</file>
+                    <file> 147</file>
                 </tool>
             </outputs>
             <inputs>
                 <tool>
                     <name>ICCARM</name>
-                    <file> 446 399 41 386 257 80 471 430 536 538 494 438 413 202 106 33 82 534 693 564 278 356</file>
+                    <file> 545 447 55 436 509 404 364 237 180 707 273 164 94 157 390 372 6 239 599 217 89 172 378 392 581 508 407 103 674 28 212 82 63 397 129 74 641 578 134 630 652</file>
                 </tool>
             </inputs>
         </file>
         <file>
-            <name>$PROJ_DIR$\..\..\fw\modules\misc\soft_wdt.c</name>
+            <name>$PROJ_DIR$\..\..\libs\artery\drivers\src\at32f403a_407_usart.c</name>
             <outputs>
                 <tool>
                     <name>ICCARM</name>
-                    <file> 311</file>
+                    <file> 580</file>
                 </tool>
                 <tool>
                     <name>BICOMP</name>
-                    <file> 78</file>
+                    <file> 118</file>
                 </tool>
             </outputs>
             <inputs>
                 <tool>
                     <name>ICCARM</name>
-                    <file> 544 217 202 257 80 471 430 536 37 425 309 407 79 63 89 616 223 465 371 442 304 428 60 264 389 200 251 332 156 92 463 282 281 255 504 296 136 351 500 147 160 236 436 413 538 571 101 416 135 636 219 195 176 179 697 359 314</file>
+                    <file> 545 447 55 436 509 404 364 237 180 707 273 164 94 157 390 372 6 239 599 217 89 172 378 392 581 508 407 103 674 28 212 82 63 397 129 74 641 578 134 630 652</file>
                 </tool>
             </inputs>
         </file>
         <file>
-            <name>$PROJ_DIR$\..\..\fw\modules\modbus\modbus.c</name>
+            <name>$PROJ_DIR$\..\..\libs\artery\drivers\src\at32f403a_407_wwdt.c</name>
             <outputs>
                 <tool>
                     <name>ICCARM</name>
-                    <file> 123</file>
+                    <file> 621</file>
                 </tool>
                 <tool>
                     <name>BICOMP</name>
-                    <file> 396</file>
+                    <file> 573</file>
                 </tool>
             </outputs>
             <inputs>
                 <tool>
                     <name>ICCARM</name>
-                    <file> 544 217 202 257 80 471 430 536 37 425 309 407 79 63 89 616 223 465 371 442 304 428 60 264 389 200 251 332 156 92 463 282 281 255 504 296 136 351 500 147 160 660 94 376 436 413 538 571 101 416 135 636 219 195 176 179 697 382 638 646 662 663 373 87 314 36 359 124 117 338 173 386 494 438 256 681 419 517 228 297 187 404 316 84 299</file>
+                    <file> 545 447 55 436 509 404 364 237 180 707 273 164 94 157 390 372 6 239 599 217 89 172 378 392 581 508 407 103 674 28 212 82 63 397 129 74 641 578 134 630 652</file>
                 </tool>
             </inputs>
         </file>
         <file>
-            <name>$PROJ_DIR$\..\..\fw\modules\misc\swap.c</name>
+            <name>$PROJ_DIR$\..\..\libs\artery\drivers\src\at32f403a_407_adc.c</name>
             <outputs>
                 <tool>
                     <name>ICCARM</name>
-                    <file> 62</file>
+                    <file> 121</file>
                 </tool>
                 <tool>
                     <name>BICOMP</name>
-                    <file> 267</file>
+                    <file> 606</file>
                 </tool>
             </outputs>
             <inputs>
                 <tool>
                     <name>ICCARM</name>
-                    <file> 266 544 217 202 257 80 471 430 536 37 425 309 407 79 63 89 616 223 465 371 442 304 428 60 264 389 200 251 332 156 92 463 282 281 255 504 296 136 351 500 147 160</file>
+                    <file> 545 447 55 436 509 404 364 237 180 707 273 164 94 157 390 372 6 239 599 217 89 172 378 392 581 508 407 103 674 28 212 82 63 397 129 74 641 578 134 630 652</file>
                 </tool>
             </inputs>
         </file>
         <file>
-            <name>$PROJ_DIR$\..\..\fw\modules\modbus\modbus_ai_params.c</name>
+            <name>$PROJ_DIR$\..\..\libs\artery\drivers\src\at32f403a_407_can.c</name>
             <outputs>
                 <tool>
                     <name>ICCARM</name>
-                    <file> 157</file>
+                    <file> 626</file>
                 </tool>
                 <tool>
                     <name>BICOMP</name>
-                    <file> 95</file>
+                    <file> 71</file>
                 </tool>
             </outputs>
             <inputs>
                 <tool>
                     <name>ICCARM</name>
-                    <file> 544 217 202 257 80 471 430 536 37 425 309 407 79 63 89 616 223 465 371 442 304 428 60 264 389 200 251 332 156 92 463 282 281 255 504 296 136 351 500 147 160 129 638 646 436 413 538 571 101 416 135 636 219 195 176 179 697 662 663 94 314 256 681 419 517 228 297 187 117 404 316 36</file>
+                    <file> 545 447 55 436 509 404 364 237 180 707 273 164 94 157 390 372 6 239 599 217 89 172 378 392 581 508 407 103 674 28 212 82 63 397 129 74 641 578 134 630 652</file>
                 </tool>
             </inputs>
         </file>
         <file>
-            <name>$PROJ_DIR$\..\..\fw\modules\modbus\modbus_ao_params.c</name>
+            <name>$PROJ_DIR$\..\..\libs\artery\drivers\src\at32f403a_407_dma.c</name>
             <outputs>
                 <tool>
                     <name>ICCARM</name>
-                    <file> 520</file>
+                    <file> 612</file>
                 </tool>
                 <tool>
                     <name>BICOMP</name>
-                    <file> 69</file>
+                    <file> 108</file>
                 </tool>
             </outputs>
             <inputs>
                 <tool>
                     <name>ICCARM</name>
-                    <file> 544 217 202 257 80 471 430 536 37 425 309 407 79 63 89 616 223 465 371 442 304 428 60 264 389 200 251 332 156 92 463 282 281 255 504 296 136 351 500 147 160 415 638 646 436 413 538 571 101 416 135 636 219 195 176 179 697 662 663 94 314 256 681 419 517 228 297 187 117 404 316 36</file>
+                    <file> 545 447 55 436 509 404 364 237 180 707 273 164 94 157 390 372 6 239 599 217 89 172 378 392 581 508 407 103 674 28 212 82 63 397 129 74 641 578 134 630 652</file>
                 </tool>
             </inputs>
         </file>
         <file>
-            <name>$PROJ_DIR$\..\..\fw\modules\modbus\modbus_params.c</name>
+            <name>$PROJ_DIR$\..\..\libs\artery\cmsis\cm4\device_support\startup\iar\startup_at32f403a_407.s</name>
+            <outputs>
+                <tool>
+                    <name>AARM</name>
+                    <file> 497</file>
+                </tool>
+            </outputs>
+        </file>
+        <file>
+            <name>$PROJ_DIR$\..\..\fw\user\system_at32f403a_407.c</name>
             <outputs>
+                <tool>
+                    <name>ICCARM</name>
+                    <file> 220</file>
+                </tool>
                 <tool>
                     <name>BICOMP</name>
-                    <file> 486</file>
+                    <file> 62</file>
                 </tool>
             </outputs>
             <inputs>
                 <tool>
                     <name>ICCARM</name>
-                    <file> 544 217 202 257 80 471 430 536 37 425 309 407 79 63 89 616 223 465 371 442 304 428 60 264 389 200 251 332 156 92 463 282 281 255 504 296 136 351 500 147 160 36 638 646 436 413 538 571 101 416 135 636 219 195 176 179 697 662 663 94 314 198 129 415 187 477 100 42 361 117 256 681 419 517 228 297 404 316 660 266 84 299</file>
+                    <file> 55 436 509 404 364 237 180 707 273 164 94 157 390 372 6 545 447 239 599 217 89 172 378 392 581 508 407 103 674 28 212 82 63 397 129 74 641 578 134 630 652</file>
                 </tool>
             </inputs>
         </file>
         <file>
-            <name>$PROJ_DIR$\..\..\fw\modules\monitor\monitoring.c</name>
+            <name>$PROJ_DIR$\..\..\libs\artery\drivers\src\at32f403a_407_exint.c</name>
             <outputs>
                 <tool>
                     <name>ICCARM</name>
-                    <file> 381</file>
+                    <file> 691</file>
                 </tool>
                 <tool>
                     <name>BICOMP</name>
-                    <file> 370</file>
+                    <file> 201</file>
                 </tool>
             </outputs>
             <inputs>
                 <tool>
                     <name>ICCARM</name>
-                    <file> 544 217 202 257 80 471 430 536 37 425 309 407 79 63 89 616 223 465 371 442 304 428 60 264 389 200 251 332 156 92 463 282 281 255 504 296 136 351 500 147 160 467 314</file>
+                    <file> 545 447 55 436 509 404 364 237 180 707 273 164 94 157 390 372 6 239 599 217 89 172 378 392 581 508 407 103 674 28 212 82 63 397 129 74 641 578 134 630 652</file>
                 </tool>
             </inputs>
         </file>
         <file>
-            <name>$PROJ_DIR$\..\..\fw\modules\settings\settings_ai.c</name>
+            <name>$PROJ_DIR$\Debug\Exe\module_universal_io.out</name>
             <outputs>
                 <tool>
-                    <name>BICOMP</name>
-                    <file> 249</file>
+                    <name>ILINK</name>
+                    <file> 102</file>
+                </tool>
+                <tool>
+                    <name>OBJCOPY</name>
+                    <file> 72</file>
                 </tool>
             </outputs>
             <inputs>
                 <tool>
-                    <name>ICCARM</name>
-                    <file> 544 217 202 257 80 471 430 536 37 425 309 407 79 63 89 616 223 465 371 442 304 428 60 264 389 200 251 332 156 92 463 282 281 255 504 296 136 351 500 147 160 256 681 314 419 436 413 538 571 101 416 135 636 219 195 176 517 228 297 187 638 646 179 697 662 663 117 404 316 40</file>
+                    <name>ILINK</name>
+                    <file> 130 381 498 510 700 649 224 177 121 162 184 626 117 79 114 661 450 612 15 691 433 693 515 590 686 512 631 701 67 101 580 253 131 621 415 195 140 29 431 689 231 645 585 13 667 624 406 155 186 69 93 637 625 503 596 403 30 683 143 244 694 214 426 222 255 647 408 178 122 514 98 710 399 709 430 517 165 662 91 565 387 156 388 552 179 251 618 221 210 660 422 614 654 132 687 493 607 665 136 208 488 603 409 438 277 427 452 187 100 383 168 262 213 315 638 499 161 203 613 688 106 151 513 95 633 604 497 418 385 595 75 619 148 220 549 99 402 202 218 553 417 104 83 583 564 200 23 97 609 454 137 197 671 73 421 194 181 159 154 252 248 24</file>
                 </tool>
             </inputs>
         </file>
         <file>
-            <name>$PROJ_DIR$\..\..\fw\modules\io\digital_output.c</name>
+            <name>$PROJ_DIR$\..\..\shared\utils\utility.c</name>
             <outputs>
                 <tool>
                     <name>ICCARM</name>
-                    <file> 149</file>
+                    <file> 194</file>
                 </tool>
                 <tool>
                     <name>BICOMP</name>
-                    <file> 378</file>
+                    <file> 669</file>
                 </tool>
             </outputs>
             <inputs>
                 <tool>
                     <name>ICCARM</name>
-                    <file> 544 217 202 257 80 471 430 536 37 425 309 407 79 63 89 616 223 465 371 442 304 428 60 264 389 200 251 332 156 92 463 282 281 255 504 296 136 351 500 147 160 361 314 187 436 413 538 571 101 416 135 636 219 195 176 179 697 256 681 419 517 228 297 638 646 662 663 117 404 316 124 298 386</file>
+                    <file> 190 185 404 364 237 180 707 699 509 469 2 182 643 525 446 157 494 666 670 696 432 126 111 173 55 436 273 164 94 390 372 6 545 447 239 599 217 89 172 378 392 581 508 407 103 674 28 212 82 63 397 129 74 641 578 134 630 652 608 369 80</file>
                 </tool>
             </inputs>
         </file>
         <file>
-            <name>$PROJ_DIR$\..\..\fw\modules\log\log_api.c</name>
+            <name>$PROJ_DIR$\..\..\shared\wdt\wdt.c</name>
             <outputs>
                 <tool>
                     <name>ICCARM</name>
-                    <file> 268</file>
+                    <file> 181</file>
                 </tool>
                 <tool>
                     <name>BICOMP</name>
-                    <file> 503</file>
+                    <file> 246</file>
                 </tool>
             </outputs>
             <inputs>
                 <tool>
                     <name>ICCARM</name>
-                    <file> 338 544 217 202 257 80 471 430 536 37 425 309 407 79 63 89 616 223 465 371 442 304 428 60 264 389 200 251 332 156 92 463 282 281 255 504 296 136 351 500 147 160 173 386 538 494 438 314 117 100 190 436 413 571 101 416 135 636 219 195 176 179 697 517 228 84 299 106</file>
+                    <file> 55 436 509 404 364 237 180 707 273 164 94 157 390 372 6 545 447 239 599 217 89 172 378 392 581 508 407 103 674 28 212 82 63 397 129 74 641 578 134 630 652 610</file>
                 </tool>
             </inputs>
         </file>
         <file>
-            <name>$PROJ_DIR$\..\..\fw\modules\misc\at32_uid.c</name>
+            <name>$PROJ_DIR$\..\..\shared\utils\at32f403a_407_board.c</name>
             <outputs>
                 <tool>
                     <name>ICCARM</name>
-                    <file> 483</file>
+                    <file> 162</file>
                 </tool>
                 <tool>
                     <name>BICOMP</name>
-                    <file> 480</file>
+                    <file> 8</file>
                 </tool>
             </outputs>
             <inputs>
                 <tool>
                     <name>ICCARM</name>
-                    <file> 392 202 257 80 471 430 536 386 538 84 299</file>
+                    <file> 149 608 404 364 237 180 707 699 55 436 509 273 164 94 157 390 372 6 545 447 239 599 217 89 172 378 392 581 508 407 103 674 28 212 82 63 397 129 74 641 578 134 630 652</file>
                 </tool>
             </inputs>
         </file>
         <file>
-            <name>$PROJ_DIR$\..\..\fw\modules\modbus\update.c</name>
+            <name>$PROJ_DIR$\..\..\shared\utils\extended_sram.c</name>
             <outputs>
                 <tool>
                     <name>ICCARM</name>
-                    <file> 458</file>
+                    <file> 625</file>
                 </tool>
                 <tool>
                     <name>BICOMP</name>
-                    <file> 686</file>
+                    <file> 209</file>
                 </tool>
             </outputs>
             <inputs>
                 <tool>
                     <name>ICCARM</name>
-                    <file> 544 217 202 257 80 471 430 536 37 425 309 407 79 63 89 616 223 465 371 442 304 428 60 264 389 200 251 332 156 92 463 282 281 255 504 296 136 351 500 147 160 376 660 436 413 538 571 101 416 135 636 219 195 176 179 697 382 386</file>
+                    <file> 55 436 509 404 364 237 180 707 273 164 94 157 390 372 6 545 447 239 599 217 89 172 378 392 581 508 407 103 674 28 212 82 63 397 129 74 641 578 134 630 652 678 348 96</file>
                 </tool>
             </inputs>
         </file>
         <file>
-            <name>$PROJ_DIR$\Debug\Exe\module_universal_io.out</name>
+            <name>$PROJ_DIR$\..\..\shared\sys\sys_hal.c</name>
             <outputs>
                 <tool>
-                    <name>ILINK</name>
-                    <file> 329</file>
+                    <name>ICCARM</name>
+                    <file> 148</file>
                 </tool>
                 <tool>
-                    <name>OBJCOPY</name>
-                    <file> 292</file>
+                    <name>BICOMP</name>
+                    <file> 26</file>
                 </tool>
             </outputs>
             <inputs>
                 <tool>
-                    <name>ILINK</name>
-                    <file> 522 68 180 204 539 150 483 423 320 422 402 128 330 279 307 171 220 137 108 527 229 542 196 372 540 205 125 691 286 312 357 44 518 143 261 453 521 90 215 533 489 159 398 86 149 146 253 515 412 276 275 130 126 191 394 245 102 672 525 466 692 433 230 470 48 154 260 420 335 210 327 702 268 703 222 197 406 158 287 355 70 511 72 352 418 464 134 478 455 165 262 123 157 520 684 207 381 169 509 435 186 369 271 231 32 240 233 421 310 58 409 50 447 133 184 417 460 141 528 313 495 206 311 122 379 185 252 62 393 290 142 506 443 358 328 242 439 448 349 247 336 283 397 353 458 115 325 387 214 513 449 166 295 258 454 431 410 514 43 474 116</file>
+                    <name>ICCARM</name>
+                    <file> 509 404 364 237 180 707 124 76 96 311 55 436 273 164 94 157 390 372 6 545 447 239 599 217 89 172 378 392 581 508 407 103 674 28 212 82 63 397 129 74 641 578 134 630 652 310 608 699</file>
                 </tool>
             </inputs>
         </file>
         <file>
-            <name>$PROJ_DIR$\..\..\libs\artery\drivers\src\at32f403a_407_crc.c</name>
+            <name>$PROJ_DIR$\..\..\shared\freemodbus\functions\mbfunccoils.c</name>
             <outputs>
                 <tool>
                     <name>ICCARM</name>
-                    <file> 279</file>
+                    <file> 91</file>
                 </tool>
                 <tool>
                     <name>BICOMP</name>
-                    <file> 151</file>
+                    <file> 568</file>
                 </tool>
             </outputs>
             <inputs>
                 <tool>
                     <name>ICCARM</name>
-                    <file> 616 223 544 217 202 257 80 471 430 536 37 425 309 407 79 63 89 465 371 442 304 428 60 264 389 200 251 332 156 92 463 282 281 255 504 296 136 351 500 147 160</file>
+                    <file> 238 404 364 237 180 707 699 191 369 80 357 55 436 509 273 164 94 157 390 372 6 545 447 239 599 217 89 172 378 392 581 508 407 103 674 28 212 82 63 397 129 74 641 578 134 630 652 190 185 469 2 182 643 525 446 494 666 670 696 355 346 333 336 345</file>
                 </tool>
             </inputs>
         </file>
         <file>
-            <name>$PROJ_DIR$\..\..\libs\artery\drivers\src\at32f403a_407_adc.c</name>
+            <name>$PROJ_DIR$\..\..\libs\thirdparty\LwIP\src\core\mem.c</name>
             <outputs>
                 <tool>
                     <name>ICCARM</name>
-                    <file> 320</file>
+                    <file> 221</file>
                 </tool>
                 <tool>
                     <name>BICOMP</name>
-                    <file> 380</file>
+                    <file> 274</file>
                 </tool>
             </outputs>
             <inputs>
                 <tool>
                     <name>ICCARM</name>
-                    <file> 616 223 544 217 202 257 80 471 430 536 37 425 309 407 79 63 89 465 371 442 304 428 60 264 389 200 251 332 156 92 463 282 281 255 504 296 136 351 500 147 160</file>
+                    <file> 695 475 66 215 598 276 608 404 364 237 180 707 699 238 191 185 509 16 272 698 704 113 4 107 190 469 2 182 643 525 446 157 494 666 670 696 432 126 653 249 153 120 632 369 80</file>
                 </tool>
             </inputs>
         </file>
         <file>
-            <name>$PROJ_DIR$\..\..\libs\artery\drivers\src\at32f403a_407_crm.c</name>
+            <name>$PROJ_DIR$\..\..\libs\thirdparty\LwIP\src\core\netif.c</name>
             <outputs>
                 <tool>
                     <name>ICCARM</name>
-                    <file> 307</file>
+                    <file> 603</file>
                 </tool>
                 <tool>
                     <name>BICOMP</name>
-                    <file> 678</file>
+                    <file> 579</file>
                 </tool>
             </outputs>
             <inputs>
                 <tool>
                     <name>ICCARM</name>
-                    <file> 616 223 544 217 202 257 80 471 430 536 37 425 309 407 79 63 89 465 371 442 304 428 60 264 389 200 251 332 156 92 463 282 281 255 504 296 136 351 500 147 160</file>
+                    <file> 695 475 66 215 598 276 608 404 364 237 180 707 699 238 191 185 509 16 272 369 80 704 602 112 228 211 128 627 4 377 249 698 153 120 632 189 561 429 247 125 557 241 19 5 150 635 17 570 702 27 166 198 11 113 107 190 469 2 182 643 525 446 157 494 666 670 696 432 126 653 105 196</file>
                 </tool>
             </inputs>
         </file>
         <file>
-            <name>$PROJ_DIR$\..\..\libs\artery\drivers\src\at32f403a_407_debug.c</name>
+            <name>$PROJ_DIR$\..\..\libs\thirdparty\LwIP\src\core\sys.c</name>
             <outputs>
                 <tool>
                     <name>ICCARM</name>
-                    <file> 220</file>
+                    <file> 595</file>
                 </tool>
                 <tool>
                     <name>BICOMP</name>
-                    <file> 341</file>
+                    <file> 78</file>
                 </tool>
             </outputs>
             <inputs>
                 <tool>
                     <name>ICCARM</name>
-                    <file> 616 223 544 217 202 257 80 471 430 536 37 425 309 407 79 63 89 465 371 442 304 428 60 264 389 200 251 332 156 92 463 282 281 255 504 296 136 351 500 147 160</file>
+                    <file> 695 475 66 215 598 276 608 404 364 237 180 707 699 238 191 185 509 16 272 113 4 107 190 469 2 182 643 525 446 157 494 666 670 696 432 126 653</file>
                 </tool>
             </inputs>
         </file>
         <file>
-            <name>$PROJ_DIR$\..\..\libs\artery\cmsis\cm4\device_support\startup\iar\startup_at32f403a_407.s</name>
-            <outputs>
-                <tool>
-                    <name>AARM</name>
-                    <file> 185</file>
-                </tool>
-            </outputs>
-        </file>
-        <file>
-            <name>$PROJ_DIR$\..\..\libs\artery\drivers\src\at32f403a_407_dma.c</name>
+            <name>$PROJ_DIR$\..\..\libs\thirdparty\LwIP\src\core\def.c</name>
             <outputs>
                 <tool>
                     <name>ICCARM</name>
-                    <file> 137</file>
+                    <file> 231</file>
                 </tool>
                 <tool>
                     <name>BICOMP</name>
-                    <file> 306</file>
+                    <file> 183</file>
                 </tool>
             </outputs>
             <inputs>
                 <tool>
                     <name>ICCARM</name>
-                    <file> 616 223 544 217 202 257 80 471 430 536 37 425 309 407 79 63 89 465 371 442 304 428 60 264 389 200 251 332 156 92 463 282 281 255 504 296 136 351 500 147 160</file>
+                    <file> 695 475 66 215 598 276 608 404 364 237 180 707 699 238 191 185 509 16 272 704 369 80</file>
                 </tool>
             </inputs>
         </file>
         <file>
-            <name>$PROJ_DIR$\..\..\libs\artery\drivers\src\at32f403a_407_dac.c</name>
+            <name>$PROJ_DIR$\..\..\libs\thirdparty\LwIP\src\core\tcp.c</name>
             <outputs>
                 <tool>
                     <name>ICCARM</name>
-                    <file> 171</file>
+                    <file> 99</file>
                 </tool>
                 <tool>
                     <name>BICOMP</name>
-                    <file> 516</file>
+                    <file> 110</file>
                 </tool>
             </outputs>
             <inputs>
                 <tool>
                     <name>ICCARM</name>
-                    <file> 616 223 544 217 202 257 80 471 430 536 37 425 309 407 79 63 89 465 371 442 304 428 60 264 389 200 251 332 156 92 463 282 281 255 504 296 136 351 500 147 160</file>
+                    <file> 695 475 66 215 598 276 608 404 364 237 180 707 699 238 191 185 509 16 272 704 698 153 120 632 249 561 377 4 429 602 112 228 211 128 627 247 125 557 241 19 5 189 150 139 369 80</file>
                 </tool>
             </inputs>
         </file>
         <file>
-            <name>$PROJ_DIR$\..\..\fw\modules\shift_reg\shift_reg.c</name>
+            <name>$PROJ_DIR$\..\..\libs\thirdparty\LwIP\src\core\tcp_out.c</name>
             <outputs>
                 <tool>
                     <name>ICCARM</name>
-                    <file> 313</file>
+                    <file> 202</file>
                 </tool>
                 <tool>
                     <name>BICOMP</name>
-                    <file> 288</file>
+                    <file> 424</file>
                 </tool>
             </outputs>
             <inputs>
                 <tool>
                     <name>ICCARM</name>
-                    <file> 544 217 202 257 80 471 430 536 37 425 309 407 79 63 89 616 223 465 371 442 304 428 60 264 389 200 251 332 156 92 463 282 281 255 504 296 136 351 500 147 160 201 314 436 413 538 571 101 416 135 636 219 195 176 179 697 293 386</file>
+                    <file> 695 475 66 215 598 276 608 404 364 237 180 707 699 238 191 185 509 16 272 189 561 698 377 4 429 704 602 112 228 211 128 627 249 153 120 632 247 125 557 241 19 5 150 65 369 80</file>
                 </tool>
             </inputs>
         </file>
         <file>
-            <name>$PROJ_DIR$\..\..\fw\modules\terminal\terminal.cpp</name>
+            <name>$PROJ_DIR$\..\..\libs\thirdparty\LwIP\src\netif\ethernet.c</name>
             <outputs>
                 <tool>
                     <name>ICCARM</name>
-                    <file> 349</file>
+                    <file> 69</file>
                 </tool>
                 <tool>
                     <name>BICOMP</name>
-                    <file> 181</file>
+                    <file> 434</file>
                 </tool>
             </outputs>
             <inputs>
                 <tool>
                     <name>ICCARM</name>
-                    <file> 243 544 217 202 257 80 471 430 536 37 425 309 407 79 63 89 616 223 465 371 442 304 428 60 264 389 200 251 332 156 92 463 282 281 255 504 296 136 351 500 147 160 138 555 84 538 299 345</file>
+                    <file> 695 475 66 215 598 276 608 404 364 237 180 707 699 238 191 185 509 16 272 105 377 4 627 602 704 112 228 211 128 249 698 153 120 632 198 166 247 125 11 429 557 241 702 369 80 676</file>
                 </tool>
             </inputs>
         </file>
         <file>
-            <name>$PROJ_DIR$\..\..\fw\modules\usb\usb_eth.c</name>
+            <name>$PROJ_DIR$\..\..\libs\thirdparty\LwIP\src\core\udp.c</name>
             <outputs>
                 <tool>
                     <name>ICCARM</name>
-                    <file> 214</file>
+                    <file> 564</file>
                 </tool>
                 <tool>
                     <name>BICOMP</name>
-                    <file> 76</file>
+                    <file> 398</file>
                 </tool>
             </outputs>
             <inputs>
                 <tool>
                     <name>ICCARM</name>
-                    <file> 544 217 202 257 80 471 430 536 37 425 309 407 79 63 89 616 223 465 371 442 304 428 60 264 389 200 251 332 156 92 463 282 281 255 504 296 136 351 500 147 160 57 314 395 386 538 84 299 107 693 564 278 446 399 41 494 438 413 106 33 118 74 139 377 674 319 473 440 508 476 529 502 334 148 224 472 496 348 469 109 131 408 434 114 321 119 485 30 567 510 403 234 437 194 99 112 77 152 324 322 436 571 101 416 135 636 219 195 176 179 697 228 517 164 110 497 277 450 354 640</file>
+                    <file> 695 475 66 215 598 276 608 404 364 237 180 707 699 238 191 185 509 16 272 635 377 4 627 602 704 112 228 211 128 249 698 153 120 632 429 247 125 557 241 17 65 19 5 504 174 702 196 369 80</file>
                 </tool>
             </inputs>
         </file>
         <file>
-            <name>$PROJ_DIR$\..\..\fw\modules\settings\settings_dio.c</name>
+            <name>$PROJ_DIR$\..\..\libs\thirdparty\LwIP\src\core\raw.c</name>
             <outputs>
                 <tool>
                     <name>ICCARM</name>
-                    <file> 528</file>
+                    <file> 262</file>
                 </tool>
                 <tool>
                     <name>BICOMP</name>
-                    <file> 484</file>
+                    <file> 258</file>
                 </tool>
             </outputs>
             <inputs>
                 <tool>
                     <name>ICCARM</name>
-                    <file> 544 217 202 257 80 471 430 536 37 425 309 407 79 63 89 616 223 465 371 442 304 428 60 264 389 200 251 332 156 92 463 282 281 255 504 296 136 351 500 147 160 256 681 314 419 436 413 538 571 101 416 135 636 219 195 176 517 228 297 187 638 646 179 697 662 663 117 404 316 699</file>
+                    <file> 695 475 66 215 598 276 608 404 364 237 180 707 699 238 191 185 509 16 272 704 153 120 632 698 249 602 112 228 211 128 627 4 377 570 429 247 125 557 241 65 369 80</file>
                 </tool>
             </inputs>
         </file>
         <file>
-            <name>$PROJ_DIR$\..\..\libs\artery\drivers\src\at32f403a_407_acc.c</name>
+            <name>$PROJ_DIR$\..\..\libs\thirdparty\LwIP\src\core\inet_chksum.c</name>
             <outputs>
                 <tool>
                     <name>ICCARM</name>
-                    <file> 423</file>
+                    <file> 214</file>
                 </tool>
                 <tool>
                     <name>BICOMP</name>
-                    <file> 212</file>
+                    <file> 109</file>
                 </tool>
             </outputs>
             <inputs>
                 <tool>
                     <name>ICCARM</name>
-                    <file> 616 223 544 217 202 257 80 471 430 536 37 425 309 407 79 63 89 465 371 442 304 428 60 264 389 200 251 332 156 92 463 282 281 255 504 296 136 351 500 147 160</file>
+                    <file> 695 475 66 215 598 276 608 404 364 237 180 707 699 238 191 185 509 16 272 65 377 4 602 704 112 228 211 128 369 80</file>
                 </tool>
             </inputs>
         </file>
         <file>
-            <name>$PROJ_DIR$\..\..\libs\artery\drivers\src\at32f403a_407_bpr.c</name>
+            <name>$PROJ_DIR$\..\..\libs\thirdparty\LwIP\src\core\ip.c</name>
             <outputs>
                 <tool>
                     <name>ICCARM</name>
-                    <file> 402</file>
+                    <file> 647</file>
                 </tool>
                 <tool>
                     <name>BICOMP</name>
-                    <file> 343</file>
+                    <file> 368</file>
                 </tool>
             </outputs>
             <inputs>
                 <tool>
                     <name>ICCARM</name>
-                    <file> 616 223 544 217 202 257 80 471 430 536 37 425 309 407 79 63 89 465 371 442 304 428 60 264 389 200 251 332 156 92 463 282 281 255 504 296 136 351 500 147 160</file>
+                    <file> 695 475 66 215 598 276 608 404 364 237 180 707 699 238 191 185 509 16 272 602 704 112 228 211 128 429 377 4 627 249 698 153 120 632 247 125 557 241</file>
                 </tool>
             </inputs>
         </file>
         <file>
-            <name>$PROJ_DIR$\..\..\libs\artery\drivers\src\at32f403a_407_emac.c</name>
+            <name>$PROJ_DIR$\..\..\libs\thirdparty\LwIP\src\core\stats.c</name>
             <outputs>
                 <tool>
                     <name>ICCARM</name>
-                    <file> 108</file>
+                    <file> 418</file>
                 </tool>
                 <tool>
                     <name>BICOMP</name>
-                    <file> 427</file>
+                    <file> 692</file>
                 </tool>
             </outputs>
             <inputs>
                 <tool>
                     <name>ICCARM</name>
-                    <file> 616 223 544 217 202 257 80 471 430 536 37 425 309 407 79 63 89 465 371 442 304 428 60 264 389 200 251 332 156 92 463 282 281 255 504 296 136 351 500 147 160</file>
+                    <file> 695 475 66 215 598 276 608 404 364 237 180 707 699 238 191 185 509 16 272 704 249 698 153 120 632 369 80</file>
                 </tool>
             </inputs>
         </file>
         <file>
-            <name>$PROJ_DIR$\..\..\fw\user\main.cpp</name>
+            <name>$PROJ_DIR$\..\..\libs\thirdparty\LwIP\src\core\tcp_in.c</name>
             <outputs>
                 <tool>
                     <name>ICCARM</name>
-                    <file> 222</file>
+                    <file> 402</file>
                 </tool>
                 <tool>
                     <name>BICOMP</name>
-                    <file> 144</file>
+                    <file> 682</file>
                 </tool>
             </outputs>
             <inputs>
                 <tool>
                     <name>ICCARM</name>
-                    <file> 544 217 202 257 80 471 430 536 37 425 309 407 79 63 89 616 223 465 371 442 304 428 60 264 389 200 251 332 156 92 463 282 281 255 504 296 136 351 500 147 160 510 386 538 384 660 436 413 571 101 416 135 636 219 195 176 179 697 228 517 57 314 298 293 65 67 698 374 365 46 190 535 94 359 187 297 256 681 419 638 646 662 663 117 404 316 376 477 100 124 42 361 66 182 201 105 266 323 155 236 104 162 129 31 243 138 555 52 84 299 494 438</file>
+                    <file> 695 475 66 215 598 276 608 404 364 237 180 707 699 238 191 185 509 16 272 189 561 698 377 4 429 704 602 112 228 211 128 627 249 153 120 632 247 125 557 241 19 5 150 65 139</file>
                 </tool>
             </inputs>
         </file>
         <file>
-            <name>$PROJ_DIR$\..\..\libs\artery\drivers\src\at32f403a_407_exint.c</name>
+            <name>$PROJ_DIR$\..\..\libs\thirdparty\LwIP\port\FreeRTOS\sys_arch.c</name>
             <outputs>
                 <tool>
                     <name>ICCARM</name>
-                    <file> 527</file>
+                    <file> 619</file>
                 </tool>
                 <tool>
                     <name>BICOMP</name>
-                    <file> 459</file>
+                    <file> 562</file>
                 </tool>
             </outputs>
             <inputs>
                 <tool>
                     <name>ICCARM</name>
-                    <file> 616 223 544 217 202 257 80 471 430 536 37 425 309 407 79 63 89 465 371 442 304 428 60 264 389 200 251 332 156 92 463 282 281 255 504 296 136 351 500 147 160</file>
+                    <file> 66 215 598 276 608 404 364 237 180 707 699 238 191 185 509 16 272 695 475 704 113 4 107 190 469 2 182 643 525 446 157 494 666 670 696 432 126 653 698 249 153 120 632</file>
                 </tool>
             </inputs>
         </file>
         <file>
-            <name>$PROJ_DIR$\..\..\fw\modules\terminal\terminal_sbs.cpp</name>
+            <name>$PROJ_DIR$\..\..\libs\thirdparty\LwIP\src\core\init.c</name>
             <outputs>
                 <tool>
                     <name>ICCARM</name>
-                    <file> 247</file>
+                    <file> 426</file>
                 </tool>
                 <tool>
                     <name>BICOMP</name>
-                    <file> 227</file>
+                    <file> 116</file>
                 </tool>
             </outputs>
             <inputs>
                 <tool>
                     <name>ICCARM</name>
-                    <file> 31 243 544 217 202 257 80 471 430 536 37 425 309 407 79 63 89 616 223 465 371 442 304 428 60 264 389 200 251 332 156 92 463 282 281 255 504 296 136 351 500 147 160 138 555 436 413 538 571 101 416 135 636 219 195 176 179 697 517 228 660 386 494 438 84 299 314 106 117 338 173 100 256 681 419 297 187 638 646 662 663 404 316 323</file>
+                    <file> 695 475 66 215 598 276 608 404 364 237 180 707 699 238 191 185 509 16 272 511 249 698 153 120 632 113 4 107 190 469 2 182 643 525 446 157 494 666 670 696 432 126 653 377 627 602 704 112 228 211 128 639 22 429 247 125 557 241 570 635 17 189 561 19 5 150 27 133 219 166 198 11 139 592 370 646 676 267</file>
                 </tool>
             </inputs>
         </file>
         <file>
-            <name>$PROJ_DIR$\..\..\fw\modules\spi_flash\spi_flash.c</name>
+            <name>$PROJ_DIR$\..\..\libs\thirdparty\ringfs\ringfs.c</name>
             <outputs>
                 <tool>
                     <name>ICCARM</name>
-                    <file> 379</file>
+                    <file> 213</file>
                 </tool>
                 <tool>
                     <name>BICOMP</name>
-                    <file> 174</file>
+                    <file> 451</file>
                 </tool>
             </outputs>
             <inputs>
                 <tool>
                     <name>ICCARM</name>
-                    <file> 544 217 202 257 80 471 430 536 37 425 309 407 79 63 89 616 223 465 371 442 304 428 60 264 389 200 251 332 156 92 463 282 281 255 504 296 136 351 500 147 160 190 314 436 413 538 571 101 416 135 636 219 195 176 65 179 697 660 84 299 386</file>
+                    <file> 651 509 404 364 237 180 707 608 699 238 191 16 96 185 311 55 436 273 164 94 157 390 372 6 545 447 239 599 217 89 172 378 392 581 508 407 103 674 28 212 82 63 397 129 74 641 578 134 630 652</file>
                 </tool>
             </inputs>
         </file>
         <file>
-            <name>$PROJ_DIR$\..\..\fw\user\at32f403a_407_int.c</name>
+            <name>$PROJ_DIR$\..\..\libs\thirdparty\rndis\dhcp-server\dhserver.c</name>
             <outputs>
                 <tool>
                     <name>ICCARM</name>
-                    <file> 372</file>
+                    <file> 585</file>
                 </tool>
                 <tool>
                     <name>BICOMP</name>
-                    <file> 35</file>
+                    <file> 88</file>
                 </tool>
             </outputs>
             <inputs>
                 <tool>
                     <name>ICCARM</name>
-                    <file> 429 544 217 202 257 80 471 430 536 37 425 309 407 79 63 89 616 223 465 371 442 304 428 60 264 389 200 251 332 156 92 463 282 281 255 504 296 136 351 500 147 160</file>
+                    <file> 582 608 404 364 237 180 707 699 509 96 369 80 4 695 475 66 215 598 276 238 191 185 16 272 635 377 627 602 704 112 228 211 128 249 698 153 120 632 429 247 125 557 241 17 642 166 198 11 105 384</file>
                 </tool>
             </inputs>
         </file>
         <file>
-            <name>$PROJ_DIR$\..\..\fw\modules\testing\soft_test.c</name>
+            <name>$PROJ_DIR$\..\..\libs\thirdparty\LwIP\src\core\memp.c</name>
             <outputs>
                 <tool>
                     <name>ICCARM</name>
-                    <file> 206</file>
+                    <file> 210</file>
                 </tool>
                 <tool>
                     <name>BICOMP</name>
-                    <file> 153</file>
+                    <file> 555</file>
                 </tool>
             </outputs>
             <inputs>
                 <tool>
                     <name>ICCARM</name>
-                    <file> 544 217 202 257 80 471 430 536 37 425 309 407 79 63 89 616 223 465 371 442 304 428 60 264 389 200 251 332 156 92 463 282 281 255 504 296 136 351 500 147 160 155 436 413 538 571 101 416 135 636 219 195 176 179 697 42 314 187 298 386</file>
+                    <file> 695 475 66 215 598 276 608 404 364 237 180 707 699 238 191 185 509 16 272 153 120 632 698 249 113 4 107 190 469 2 182 643 525 446 157 494 666 670 696 432 126 653 369 80 377 570 704 429 602 112 228 211 128 627 247 125 557 241 635 17 561 19 5 189 150 405 646 370 7 81 219 648 27 639 22 3 166 198 11 676 366 133 640 18 592</file>
                 </tool>
             </inputs>
         </file>
         <file>
-            <name>$PROJ_DIR$\..\..\fw\modules\settings\settings_api.c</name>
+            <name>$PROJ_DIR$\..\..\libs\thirdparty\LwIP\src\core\timeouts.c</name>
             <outputs>
                 <tool>
                     <name>ICCARM</name>
-                    <file> 141</file>
+                    <file> 583</file>
                 </tool>
                 <tool>
                     <name>BICOMP</name>
-                    <file> 254</file>
+                    <file> 70</file>
                 </tool>
             </outputs>
             <inputs>
                 <tool>
                     <name>ICCARM</name>
-                    <file> 544 217 202 257 80 471 430 536 37 425 309 407 79 63 89 616 223 465 371 442 304 428 60 264 389 200 251 332 156 92 463 282 281 255 504 296 136 351 500 147 160 256 681 314 419 436 413 538 571 101 416 135 636 219 195 176 517 228 297 187 638 646 179 697 662 663 117 404 316 699 487 40 660 640 392 356 323 338 173 386 494 438 49 121 84 299</file>
+                    <file> 695 475 66 215 598 276 608 404 364 237 180 707 699 238 191 185 509 16 272 219 4 113 107 190 469 2 182 643 525 446 157 494 666 670 696 432 126 653 189 561 698 377 429 704 602 112 228 211 128 627 249 153 120 632 247 125 557 241 19 5 150 7 81 405 166 198 11 196 635 17 516 27 133 139 18 592</file>
                 </tool>
             </inputs>
         </file>
         <file>
-            <name>$PROJ_DIR$\..\..\fw\user\flash_ram_const.c</name>
+            <name>$PROJ_DIR$\..\..\libs\thirdparty\LwIP\src\core\ipv4\ip4_addr.c</name>
             <outputs>
                 <tool>
                     <name>ICCARM</name>
-                    <file> 394</file>
+                    <file> 178</file>
                 </tool>
                 <tool>
                     <name>BICOMP</name>
-                    <file> 481</file>
+                    <file> 374</file>
                 </tool>
             </outputs>
             <inputs>
                 <tool>
                     <name>ICCARM</name>
-                    <file> 544 217 202 257 80 471 430 536 37 425 309 407 79 63 89 616 223 465 371 442 304 428 60 264 389 200 251 332 156 92 463 282 281 255 504 296 136 351 500 147 160 681 314</file>
+                    <file> 695 475 66 215 598 276 608 404 364 237 180 707 699 238 191 185 509 16 272 602 704 112 228 211 128 627 4 377 249 698 153 120 632</file>
                 </tool>
             </inputs>
         </file>
         <file>
-            <name>$PROJ_DIR$\..\..\fw\modules\terminal\terminal_usartbridge.cpp</name>
+            <name>$PROJ_DIR$\..\..\libs\thirdparty\LwIP\src\core\pbuf.c</name>
             <outputs>
                 <tool>
                     <name>ICCARM</name>
-                    <file> 336</file>
+                    <file> 438</file>
                 </tool>
                 <tool>
                     <name>BICOMP</name>
-                    <file> 333</file>
+                    <file> 444</file>
                 </tool>
             </outputs>
             <inputs>
                 <tool>
                     <name>ICCARM</name>
-                    <file> 52 544 217 202 257 80 471 430 536 37 425 309 407 79 63 89 616 223 465 371 442 304 428 60 264 389 200 251 332 156 92 463 282 281 255 504 296 136 351 500 147 160 243 138 555 31 436 413 538 571 101 416 135 636 219 195 176 179 697 517 228 84 299 386</file>
+                    <file> 695 475 66 215 598 276 608 404 364 237 180 707 699 238 191 185 509 16 272 249 698 153 120 632 704 377 4 113 107 190 469 2 182 643 525 446 157 494 666 670 696 432 126 653 369 80</file>
                 </tool>
             </inputs>
         </file>
         <file>
-            <name>$PROJ_DIR$\..\..\fw\user\system_at32f403a_407.c</name>
+            <name>$PROJ_DIR$\..\..\libs\thirdparty\LwIP\src\core\dns.c</name>
             <outputs>
                 <tool>
                     <name>ICCARM</name>
-                    <file> 443</file>
+                    <file> 624</file>
                 </tool>
                 <tool>
                     <name>BICOMP</name>
-                    <file> 284</file>
+                    <file> 205</file>
                 </tool>
             </outputs>
             <inputs>
                 <tool>
                     <name>ICCARM</name>
-                    <file> 544 217 202 257 80 471 430 536 37 425 309 407 79 63 89 616 223 465 371 442 304 428 60 264 389 200 251 332 156 92 463 282 281 255 504 296 136 351 500 147 160</file>
+                    <file> 695 475 66 215 598 276 608 404 364 237 180 707 699 238 191 185 509 16 272 704 635 377 4 627 602 112 228 211 128 249 698 153 120 632 429 247 125 557 241 17 133 163 369 80</file>
                 </tool>
             </inputs>
         </file>
         <file>
-            <name>$PROJ_DIR$\..\..\libs\artery\drivers\src\at32f403a_407_can.c</name>
+            <name>$PROJ_DIR$\..\..\libs\thirdparty\LwIP\port\FreeRTOS\ethernetif.c</name>
             <outputs>
                 <tool>
                     <name>ICCARM</name>
-                    <file> 128</file>
+                    <file> 93</file>
                 </tool>
                 <tool>
                     <name>BICOMP</name>
-                    <file> 289</file>
+                    <file> 558</file>
                 </tool>
             </outputs>
             <inputs>
                 <tool>
                     <name>ICCARM</name>
-                    <file> 616 223 544 217 202 257 80 471 430 536 37 425 309 407 79 63 89 465 371 442 304 428 60 264 389 200 251 332 156 92 463 282 281 255 504 296 136 351 500 147 160</file>
+                    <file> 695 475 66 215 598 276 608 404 364 237 180 707 699 238 191 185 509 16 272 704 698 377 4 113 107 190 469 2 182 643 525 446 157 494 666 670 696 432 126 653 249 153 120 632 702 602 112 228 211 128 642 166 627 247 125 198 11 105 141 676 261 652 55 436 273 164 94 390 372 6 545 447 239 599 217 89 172 378 392 581 508 407 103 674 28 212 82 63 397 129 74 641 578 134 630 369 80</file>
                 </tool>
             </inputs>
         </file>
         <file>
-            <name>$PROJ_DIR$\..\..\libs\thirdparty\LwIP\src\core\tcp_out.c</name>
+            <name>$PROJ_DIR$\..\..\libs\thirdparty\rndis\dns-server\dnserver.c</name>
             <outputs>
                 <tool>
                     <name>ICCARM</name>
-                    <file> 439</file>
+                    <file> 406</file>
                 </tool>
                 <tool>
                     <name>BICOMP</name>
-                    <file> 218</file>
+                    <file> 502</file>
                 </tool>
             </outputs>
             <inputs>
                 <tool>
                     <name>ICCARM</name>
-                    <file> 693 564 278 446 399 41 386 257 80 471 430 536 538 494 438 413 202 106 33 445 339 529 74 107 224 674 377 319 473 440 508 139 476 502 334 148 472 496 348 469 99 112 512 280 84 299</file>
+                    <file> 616 509 404 364 237 180 707 96 608 699 369 80 704 215 598 276 238 191 185 16 272 695 475 66 4 635 377 627 602 112 228 211 128 249 698 153 120 632 429 247 125 557 241 17 642 166 198 11 105 384</file>
                 </tool>
             </inputs>
         </file>
         <file>
-            <name>$PROJ_DIR$\..\..\libs\thirdparty\LwIP\src\core\ipv4\ip4_addr.c</name>
+            <name>$PROJ_DIR$\..\..\libs\thirdparty\rndis\rndis_driver\usbd_desc.c</name>
             <outputs>
                 <tool>
                     <name>ICCARM</name>
-                    <file> 420</file>
+                    <file> 197</file>
                 </tool>
                 <tool>
                     <name>BICOMP</name>
-                    <file> 71</file>
+                    <file> 232</file>
                 </tool>
             </outputs>
             <inputs>
                 <tool>
                     <name>ICCARM</name>
-                    <file> 693 564 278 446 399 41 386 257 80 471 430 536 538 494 438 413 202 106 33 377 674 319 473 440 508 139 107 74 476 529 502 334 148</file>
+                    <file> 275 49 55 436 509 404 364 237 180 707 273 164 94 157 390 372 6 545 447 239 599 217 89 172 378 392 581 508 407 103 674 28 212 82 63 397 129 74 641 578 134 630 652 149 608 699 175 574 229 230 96 369 80 185 440 193 311</file>
                 </tool>
             </inputs>
         </file>
         <file>
-            <name>$PROJ_DIR$\..\..\libs\thirdparty\LwIP\src\api\api_lib.c</name>
+            <name>$PROJ_DIR$\..\..\libs\thirdparty\rndis\rndis_driver\usbd_rndis_core.c</name>
             <outputs>
                 <tool>
                     <name>ICCARM</name>
-                    <file> 539</file>
+                    <file> 73</file>
                 </tool>
                 <tool>
                     <name>BICOMP</name>
-                    <file> 405</file>
+                    <file> 576</file>
                 </tool>
             </outputs>
             <inputs>
                 <tool>
                     <name>ICCARM</name>
-                    <file> 693 564 278 446 399 41 386 257 80 471 430 536 538 494 438 413 202 106 33 77 152 74 107 377 674 319 473 440 508 324 322 436 571 101 416 135 636 219 407 195 176 179 697 228 517 164 502 334 148 529 476 224 139 472 496 348 469 346 118 109 175 98 113 277 450 445 339 99 112 512 84 299</file>
+                    <file> 230 509 404 364 237 180 707 96 369 699 80 185 275 49 55 436 273 164 94 157 390 372 6 545 447 239 599 217 89 172 378 392 581 508 407 103 674 28 212 82 63 397 129 74 641 578 134 630 652 149 608 175 440 193 574 229 311</file>
                 </tool>
             </inputs>
         </file>
         <file>
-            <name>$PROJ_DIR$\..\..\libs\thirdparty\LwIP\src\api\netdb.c</name>
+            <name>$PROJ_DIR$\..\..\libs\thirdparty\LwIP\src\core\ipv4\ip4_frag.c</name>
             <outputs>
                 <tool>
                     <name>ICCARM</name>
-                    <file> 186</file>
+                    <file> 122</file>
                 </tool>
                 <tool>
                     <name>BICOMP</name>
-                    <file> 291</file>
+                    <file> 389</file>
                 </tool>
             </outputs>
             <inputs>
                 <tool>
                     <name>ICCARM</name>
-                    <file> 81 693 564 278 446 399 41 386 257 80 471 430 536 538 494 438 413 202 106 33 110 674 377 319 473 440 508 120 107 164 529 502 334 148 476 77 152 74 324 322 436 571 101 416 135 636 219 407 195 176 179 697 228 517 497 84 299</file>
+                    <file> 695 475 66 215 598 276 608 404 364 237 180 707 699 238 191 185 509 16 272 405 4 377 627 602 704 112 228 211 128 249 698 153 120 632 429 247 125 557 241 65 19 5 369 80</file>
                 </tool>
             </inputs>
         </file>
         <file>
-            <name>$PROJ_DIR$\..\..\libs\thirdparty\LwIP\src\core\def.c</name>
+            <name>$PROJ_DIR$\..\..\shared\freemodbus\ascii\mbascii.c</name>
             <outputs>
                 <tool>
                     <name>ICCARM</name>
-                    <file> 489</file>
+                    <file> 165</file>
                 </tool>
                 <tool>
                     <name>BICOMP</name>
-                    <file> 414</file>
+                    <file> 142</file>
                 </tool>
             </outputs>
             <inputs>
                 <tool>
                     <name>ICCARM</name>
-                    <file> 693 564 278 446 399 41 386 257 80 471 430 536 538 494 438 413 202 106 33 674 84 299</file>
+                    <file> 238 404 364 237 180 707 699 191 369 80 357 55 436 509 273 164 94 157 390 372 6 545 447 239 599 217 89 172 378 392 581 508 407 103 674 28 212 82 63 397 129 74 641 578 134 630 652 190 185 469 2 182 643 525 446 494 666 670 696 355 346 333 345 240 336 411</file>
                 </tool>
             </inputs>
         </file>
         <file>
-            <name>$PROJ_DIR$\..\..\libs\thirdparty\LwIP\src\core\dns.c</name>
+            <name>$PROJ_DIR$\..\..\fw\modules\io\analog_output.c</name>
             <outputs>
                 <tool>
                     <name>ICCARM</name>
-                    <file> 146</file>
+                    <file> 510</file>
                 </tool>
                 <tool>
                     <name>BICOMP</name>
-                    <file> 462</file>
+                    <file> 441</file>
                 </tool>
             </outputs>
             <inputs>
                 <tool>
                     <name>ICCARM</name>
-                    <file> 693 564 278 446 399 41 386 257 80 471 430 536 538 494 438 413 202 106 33 674 118 74 107 139 377 319 473 440 508 476 529 502 334 148 224 472 496 348 469 109 497 424 84 299</file>
+                    <file> 55 436 509 404 364 237 180 707 273 164 94 157 390 372 6 545 447 239 599 217 89 172 378 392 581 508 407 103 674 28 212 82 63 397 129 74 641 578 134 630 652 123 96 495 111 190 185 699 469 2 182 643 525 446 494 666 670 696 394 348 176 126 432 76 492 355 357 346 333 617 188 20 236 77 622 608</file>
                 </tool>
             </inputs>
         </file>
         <file>
-            <name>$PROJ_DIR$\..\..\libs\thirdparty\LwIP\src\core\timeouts.c</name>
+            <name>$PROJ_DIR$\..\..\fw\modules\io\digital_output.c</name>
             <outputs>
                 <tool>
                     <name>ICCARM</name>
-                    <file> 397</file>
+                    <file> 667</file>
                 </tool>
                 <tool>
                     <name>BICOMP</name>
-                    <file> 285</file>
+                    <file> 589</file>
                 </tool>
             </outputs>
             <inputs>
                 <tool>
                     <name>ICCARM</name>
-                    <file> 693 564 278 446 399 41 386 257 80 471 430 536 538 494 438 413 202 106 33 450 107 324 322 436 571 101 416 135 636 219 407 195 176 179 697 228 517 164 445 339 529 74 224 674 377 319 473 440 508 139 476 502 334 148 472 496 348 469 99 112 512 113 277 270 408 434 114 456 118 109 183 98 497 507 111 383</file>
+                    <file> 55 436 509 404 364 237 180 707 273 164 94 157 390 372 6 545 447 239 599 217 89 172 378 392 581 508 407 103 674 28 212 82 63 397 129 74 641 578 134 630 652 550 96 492 190 185 699 469 2 182 643 525 446 494 666 670 696 394 348 176 126 432 76 355 357 346 333 617 188 123 622 77 608</file>
                 </tool>
             </inputs>
         </file>
         <file>
-            <name>$PROJ_DIR$\..\..\libs\thirdparty\LwIP\src\core\ipv4\ip4_frag.c</name>
+            <name>$PROJ_DIR$\..\..\fw\modules\io\io.c</name>
             <outputs>
                 <tool>
                     <name>ICCARM</name>
-                    <file> 335</file>
+                    <file> 222</file>
                 </tool>
                 <tool>
                     <name>BICOMP</name>
-                    <file> 73</file>
+                    <file> 169</file>
                 </tool>
             </outputs>
             <inputs>
                 <tool>
                     <name>ICCARM</name>
-                    <file> 693 564 278 446 399 41 386 257 80 471 430 536 538 494 438 413 202 106 33 270 107 74 139 377 674 319 473 440 508 476 529 502 334 148 224 472 496 348 469 280 99 112 84 299</file>
+                    <file> 55 436 509 404 364 237 180 707 273 164 94 157 390 372 6 545 447 239 599 217 89 172 378 392 581 508 407 103 674 28 212 82 63 397 129 74 641 578 134 630 652 492 96 190 185 699 469 2 182 643 525 446 494 666 670 696 394 348 176 126 432 76 355 357 346 333 617 188 123 622 608</file>
                 </tool>
             </inputs>
         </file>
         <file>
-            <name>$PROJ_DIR$\..\..\libs\thirdparty\LwIP\src\core\mem.c</name>
+            <name>$PROJ_DIR$\..\..\fw\modules\io\analog_input.c</name>
             <outputs>
                 <tool>
                     <name>ICCARM</name>
-                    <file> 478</file>
+                    <file> 498</file>
                 </tool>
                 <tool>
                     <name>BICOMP</name>
-                    <file> 45</file>
+                    <file> 152</file>
                 </tool>
             </outputs>
             <inputs>
                 <tool>
                     <name>ICCARM</name>
-                    <file> 693 564 278 446 399 41 386 257 80 471 430 536 538 494 438 413 202 106 33 529 674 324 107 322 436 571 101 416 135 636 219 407 195 176 179 697 228 517 164 476 502 334 148 84 299</file>
+                    <file> 55 436 509 404 364 237 180 707 273 164 94 157 390 372 6 545 447 239 599 217 89 172 378 392 581 508 407 103 674 28 212 82 63 397 129 74 641 578 134 630 652 188 96 495 111 190 185 699 469 2 182 643 525 446 494 666 670 696 394 348 176 126 432 76 492 355 357 346 333 617 123 491 10 236 77 672 608</file>
                 </tool>
             </inputs>
         </file>
         <file>
-            <name>$PROJ_DIR$\..\..\libs\thirdparty\LwIP\src\api\err.c</name>
+            <name>$PROJ_DIR$\..\..\fw\modules\log\log_api.c</name>
             <outputs>
                 <tool>
                     <name>ICCARM</name>
-                    <file> 515</file>
+                    <file> 399</file>
                 </tool>
                 <tool>
                     <name>BICOMP</name>
-                    <file> 441</file>
+                    <file> 135</file>
                 </tool>
             </outputs>
             <inputs>
                 <tool>
                     <name>ICCARM</name>
-                    <file> 107 693 564 278 446 399 41 386 257 80 471 430 536 538 494 438 413 202 106 33 674 324 322 436 571 101 416 135 636 219 407 195 176 179 697 228 517 164</file>
+                    <file> 559 55 436 509 404 364 237 180 707 273 164 94 157 390 372 6 545 447 239 599 217 89 172 378 392 581 508 407 103 674 28 212 82 63 397 129 74 641 578 134 630 652 651 608 699 238 191 96 617 9 487 190 185 469 2 182 643 525 446 494 666 670 696 126 432 369 80 16</file>
                 </tool>
             </inputs>
         </file>
         <file>
-            <name>$PROJ_DIR$\..\..\libs\thirdparty\LwIP\src\core\pbuf.c</name>
+            <name>$PROJ_DIR$\..\..\fw\modules\log\log_ai.c</name>
             <outputs>
                 <tool>
                     <name>ICCARM</name>
-                    <file> 231</file>
+                    <file> 710</file>
                 </tool>
                 <tool>
                     <name>BICOMP</name>
-                    <file> 211</file>
+                    <file> 711</file>
                 </tool>
             </outputs>
             <inputs>
                 <tool>
                     <name>ICCARM</name>
-                    <file> 693 564 278 446 399 41 386 257 80 471 430 536 538 494 438 413 202 106 33 476 529 502 334 148 674 74 107 324 322 436 571 101 416 135 636 219 407 195 176 179 697 228 517 164 84 299</file>
+                    <file> 55 436 509 404 364 237 180 707 273 164 94 157 390 372 6 545 447 239 599 217 89 172 378 392 581 508 407 103 674 28 212 82 63 397 129 74 641 578 134 630 652 697 394 348 96 176 190 185 699 469 2 182 643 525 446 494 666 126 432 76 492 355 357 670 696 346 333 617 188 123 651 608 238 191 675 487</file>
                 </tool>
             </inputs>
         </file>
         <file>
-            <name>$PROJ_DIR$\..\..\libs\thirdparty\LwIP\src\api\tcpip.c</name>
+            <name>$PROJ_DIR$\..\..\fw\modules\dac\dac_transport.c</name>
             <outputs>
                 <tool>
                     <name>ICCARM</name>
-                    <file> 448</file>
+                    <file> 689</file>
                 </tool>
                 <tool>
                     <name>BICOMP</name>
-                    <file> 444</file>
+                    <file> 395</file>
                 </tool>
             </outputs>
             <inputs>
                 <tool>
                     <name>ICCARM</name>
-                    <file> 693 564 278 446 399 41 386 257 80 471 430 536 538 494 438 413 202 106 33 113 277 107 450 324 322 436 571 101 416 135 636 219 407 195 176 179 697 228 517 164 139 377 674 319 473 440 508 74 476 529 502 334 148 194 224 472 496 348 469 408 434 114 321</file>
+                    <file> 55 436 509 404 364 237 180 707 273 164 94 157 390 372 6 545 447 239 599 217 89 172 378 392 581 508 407 103 674 28 212 82 63 397 129 74 641 578 134 630 652 20 96 190 185 699 469 2 182 643 525 446 494 666 670 696 68 608</file>
                 </tool>
             </inputs>
         </file>
         <file>
-            <name>$PROJ_DIR$\..\..\libs\thirdparty\LwIP\src\core\init.c</name>
+            <name>$PROJ_DIR$\..\..\fw\modules\io\filter.c</name>
             <outputs>
                 <tool>
                     <name>ICCARM</name>
-                    <file> 230</file>
+                    <file> 503</file>
                 </tool>
                 <tool>
                     <name>BICOMP</name>
-                    <file> 326</file>
+                    <file> 677</file>
                 </tool>
             </outputs>
             <inputs>
                 <tool>
                     <name>ICCARM</name>
-                    <file> 693 564 278 446 399 41 386 257 80 471 430 536 538 494 438 413 202 106 33 194 476 529 502 334 148 324 107 322 436 571 101 416 135 636 219 407 195 176 179 697 228 517 164 74 139 377 674 319 473 440 508 120 110 224 472 496 348 469 346 118 109 445 339 99 112 512 98 497 450 408 434 114 507 383 77 152 534 54</file>
+                    <file> 55 436 509 404 364 237 180 707 273 164 94 157 390 372 6 545 447 239 599 217 89 172 378 392 581 508 407 103 674 28 212 82 63 397 129 74 641 578 134 630 652 672 96 111 190 185 699 469 2 182 643 525 446 494 666 670 696 394 348 176 126 432 76 492 355 357 346 333 617 188 123 608</file>
                 </tool>
             </inputs>
         </file>
         <file>
-            <name>$PROJ_DIR$\..\..\libs\thirdparty\LwIP\src\core\memp.c</name>
+            <name>$PROJ_DIR$\..\..\fw\modules\io\mux.c</name>
             <outputs>
                 <tool>
                     <name>ICCARM</name>
-                    <file> 455</file>
+                    <file> 136</file>
                 </tool>
                 <tool>
                     <name>BICOMP</name>
-                    <file> 367</file>
+                    <file> 138</file>
                 </tool>
             </outputs>
             <inputs>
                 <tool>
                     <name>ICCARM</name>
-                    <file> 693 564 278 446 399 41 386 257 80 471 430 536 538 494 438 413 202 106 33 502 334 148 529 476 324 107 322 436 571 101 416 135 636 219 407 195 176 179 697 228 517 164 84 299 74 346 674 224 377 319 473 440 508 139 472 496 348 469 118 109 339 99 112 445 512 270 152 77 113 277 450 175 98 120 110 91 408 434 114 534 81 497 132 111 383</file>
+                    <file> 55 436 509 404 364 237 180 707 273 164 94 157 390 372 6 545 447 239 599 217 89 172 378 392 581 508 407 103 674 28 212 82 63 397 129 74 641 578 134 630 652 77 96 190 185 699 469 2 182 643 525 446 494 666 670 696</file>
                 </tool>
             </inputs>
         </file>
         <file>
-            <name>$PROJ_DIR$\..\..\libs\thirdparty\LwIP\src\api\netifapi.c</name>
+            <name>$PROJ_DIR$\..\..\fw\modules\adc\adc_transport.c</name>
             <outputs>
                 <tool>
                     <name>ICCARM</name>
-                    <file> 271</file>
+                    <file> 381</file>
                 </tool>
                 <tool>
                     <name>BICOMP</name>
-                    <file> 505</file>
+                    <file> 87</file>
                 </tool>
             </outputs>
             <inputs>
                 <tool>
                     <name>ICCARM</name>
-                    <file> 693 564 278 446 399 41 386 257 80 471 430 536 538 494 438 413 202 106 33</file>
+                    <file> 55 436 509 404 364 237 180 707 273 164 94 157 390 372 6 545 447 239 599 217 89 172 378 392 581 508 407 103 674 28 212 82 63 397 129 74 641 578 134 630 652 10 190 185 699 469 2 182 643 525 446 494 666 670 696 394 348 96 176 126 432 76 492 355 357 346 333 617 188 123 622 491 68 111 608</file>
                 </tool>
             </inputs>
         </file>
         <file>
-            <name>$PROJ_DIR$\..\..\libs\thirdparty\LwIP\src\core\ipv4\autoip.c</name>
+            <name>$PROJ_DIR$\..\..\fw\modules\io\digital_input.c</name>
             <outputs>
                 <tool>
                     <name>ICCARM</name>
-                    <file> 453</file>
+                    <file> 13</file>
                 </tool>
                 <tool>
                     <name>BICOMP</name>
-                    <file> 177</file>
+                    <file> 439</file>
                 </tool>
             </outputs>
             <inputs>
                 <tool>
                     <name>ICCARM</name>
-                    <file> 693 564 278 446 399 41 386 257 80 471 430 536 538 494 438 413 202 106 33</file>
+                    <file> 55 436 509 404 364 237 180 707 273 164 94 157 390 372 6 545 447 239 599 217 89 172 378 392 581 508 407 103 674 28 212 82 63 397 129 74 641 578 134 630 652 282 96 492 190 185 699 469 2 182 643 525 446 494 666 670 696 394 348 176 126 432 76 355 357 346 333 617 188 123 622 77 608</file>
                 </tool>
             </inputs>
         </file>
         <file>
-            <name>$PROJ_DIR$\..\..\libs\thirdparty\LwIP\src\api\sockets.c</name>
+            <name>$PROJ_DIR$\..\..\fw\modules\adc\ms5192t.c</name>
             <outputs>
                 <tool>
                     <name>ICCARM</name>
-                    <file> 495</file>
+                    <file> 665</file>
                 </tool>
                 <tool>
                     <name>BICOMP</name>
-                    <file> 237</file>
+                    <file> 86</file>
                 </tool>
             </outputs>
             <inputs>
                 <tool>
                     <name>ICCARM</name>
-                    <file> 693 564 278 446 399 41 386 257 80 471 430 536 538 494 438 413 202 106 33 120 377 674 319 473 440 508 107 110 164 77 152 74 324 322 436 571 101 416 135 636 219 407 195 176 179 697 228 517 98 139 476 529 502 334 148 339 224 472 496 348 469 99 112 346 118 109 113 277 450 84 299</file>
+                    <file> 10 55 436 509 404 364 237 180 707 273 164 94 157 390 372 6 545 447 239 599 217 89 172 378 392 581 508 407 103 674 28 212 82 63 397 129 74 641 578 134 630 652 491</file>
                 </tool>
             </inputs>
         </file>
         <file>
-            <name>$PROJ_DIR$\..\..\libs\thirdparty\LwIP\src\core\ipv4\etharp.c</name>
+            <name>$PROJ_DIR$\..\..\fw\modules\io\io_utils.c</name>
             <outputs>
                 <tool>
                     <name>ICCARM</name>
-                    <file> 412</file>
+                    <file> 255</file>
                 </tool>
                 <tool>
                     <name>BICOMP</name>
-                    <file> 51</file>
+                    <file> 115</file>
                 </tool>
             </outputs>
             <inputs>
                 <tool>
                     <name>ICCARM</name>
-                    <file> 693 564 278 446 399 41 386 257 80 471 430 536 538 494 438 413 202 106 33 408 74 107 319 674 473 440 139 377 508 476 529 502 334 148 472 496 434 114 541 456 118 224 348 469 109 183 321 84 299</file>
+                    <file> 55 436 509 404 364 237 180 707 273 164 94 157 390 372 6 545 447 239 599 217 89 172 378 392 581 508 407 103 674 28 212 82 63 397 129 74 641 578 134 630 652 622 96 190 185 699 469 2 182 643 525 446 494 666 670 696 394 348 176 126 432 76 492 355 357 346 333 617 188 123 77 608</file>
                 </tool>
             </inputs>
         </file>
         <file>
-            <name>$PROJ_DIR$\..\..\libs\thirdparty\LwIP\src\core\ipv4\icmp.c</name>
+            <name>$PROJ_DIR$\..\..\fw\modules\log\log.c</name>
             <outputs>
                 <tool>
                     <name>ICCARM</name>
-                    <file> 466</file>
+                    <file> 98</file>
                 </tool>
                 <tool>
                     <name>BICOMP</name>
-                    <file> 55</file>
+                    <file> 593</file>
                 </tool>
             </outputs>
             <inputs>
                 <tool>
                     <name>ICCARM</name>
-                    <file> 693 564 278 446 399 41 386 257 80 471 430 536 538 494 438 413 202 106 33 99 74 107 377 674 319 473 440 508 139 476 529 502 334 148 112 280 224 472 496 348 469 84 299</file>
+                    <file> 617 55 436 509 404 364 237 180 707 273 164 94 157 390 372 6 545 447 239 599 217 89 172 378 392 581 508 407 103 674 28 212 82 63 397 129 74 641 578 134 630 652 96 9 651 608 699 238 191 487 190 185 469 2 182 643 525 446 494 666 670 696 126 432 551 587 394 348 176 76 492 355 357 346 333 188 123 282 697 706 675 369 80 16</file>
                 </tool>
             </inputs>
         </file>
         <file>
-            <name>$PROJ_DIR$\..\..\libs\thirdparty\LwIP\src\core\ip.c</name>
+            <name>$PROJ_DIR$\..\..\shared\peripherals\src\rng.c</name>
             <outputs>
                 <tool>
                     <name>ICCARM</name>
-                    <file> 154</file>
+                    <file> 638</file>
                 </tool>
                 <tool>
                     <name>BICOMP</name>
-                    <file> 83</file>
+                    <file> 167</file>
                 </tool>
             </outputs>
             <inputs>
                 <tool>
                     <name>ICCARM</name>
-                    <file> 693 564 278 446 399 41 386 257 80 471 430 536 538 494 438 413 202 106 33 377 674 319 473 440 508 224 74 107 139 476 529 502 334 148 472 496 348 469</file>
+                    <file> 235 509 404 364 237 180 707 55 436 273 164 94 157 390 372 6 545 447 239 599 217 89 172 378 392 581 508 407 103 674 28 212 82 63 397 129 74 641 578 134 630 652 608 699 238 191</file>
                 </tool>
             </inputs>
         </file>
         <file>
-            <name>$PROJ_DIR$\..\..\libs\thirdparty\LwIP\src\core\netif.c</name>
+            <name>$PROJ_DIR$\..\..\shared\peripherals\src\spi_common.c</name>
             <outputs>
                 <tool>
                     <name>ICCARM</name>
-                    <file> 369</file>
+                    <file> 633</file>
                 </tool>
                 <tool>
                     <name>BICOMP</name>
-                    <file> 364</file>
+                    <file> 242</file>
                 </tool>
             </outputs>
             <inputs>
                 <tool>
                     <name>ICCARM</name>
-                    <file> 693 564 278 446 399 41 386 257 80 471 430 536 538 494 438 413 202 106 33 84 299 674 377 319 473 440 508 139 107 74 476 529 502 334 148 445 339 224 472 496 348 469 99 112 512 118 109 346 541 98 408 434 114 324 322 436 571 101 416 135 636 219 407 195 176 179 697 228 517 164 321 456</file>
+                    <file> 55 436 509 404 364 237 180 707 273 164 94 157 390 372 6 545 447 239 599 217 89 172 378 392 581 508 407 103 674 28 212 82 63 397 129 74 641 578 134 630 652 386 96</file>
                 </tool>
             </inputs>
         </file>
         <file>
-            <name>$PROJ_DIR$\..\..\libs\thirdparty\LwIP\src\core\ipv4\dhcp.c</name>
+            <name>$PROJ_DIR$\..\..\shared\freemodbus\functions\mbfuncholding.c</name>
             <outputs>
                 <tool>
                     <name>ICCARM</name>
-                    <file> 159</file>
+                    <file> 388</file>
                 </tool>
                 <tool>
                     <name>BICOMP</name>
-                    <file> 75</file>
+                    <file> 90</file>
                 </tool>
             </outputs>
             <inputs>
                 <tool>
                     <name>ICCARM</name>
-                    <file> 693 564 278 446 399 41 386 257 80 471 430 536 538 494 438 413 202 106 33 476 529 502 334 148 118 74 107 139 377 674 319 473 440 508 224 472 496 348 469 109 456 183 497 408 434 114 250 84 299</file>
+                    <file> 238 404 364 237 180 707 699 191 369 80 357 55 436 509 273 164 94 157 390 372 6 545 447 239 599 217 89 172 378 392 581 508 407 103 674 28 212 82 63 397 129 74 641 578 134 630 652 190 185 469 2 182 643 525 446 494 666 670 696 355 346 333 336 345</file>
                 </tool>
             </inputs>
         </file>
         <file>
-            <name>$PROJ_DIR$\..\..\libs\thirdparty\LwIP\src\core\ipv4\igmp.c</name>
+            <name>$PROJ_DIR$\..\..\shared\freemodbus\port\portother.c</name>
             <outputs>
                 <tool>
                     <name>ICCARM</name>
-                    <file> 692</file>
+                    <file> 187</file>
                 </tool>
                 <tool>
                     <name>BICOMP</name>
-                    <file> 168</file>
+                    <file> 376</file>
                 </tool>
             </outputs>
             <inputs>
                 <tool>
                     <name>ICCARM</name>
-                    <file> 693 564 278 446 399 41 386 257 80 471 430 536 538 494 438 413 202 106 33</file>
+                    <file> 238 404 364 237 180 707 699 191 190 185 509 469 2 182 643 525 446 157 494 666 670 696 126 432 355 357 55 436 273 164 94 390 372 6 545 447 239 599 217 89 172 378 392 581 508 407 103 674 28 212 82 63 397 129 74 641 578 134 630 652 346 333</file>
                 </tool>
             </inputs>
         </file>
         <file>
-            <name>$PROJ_DIR$\..\..\libs\thirdparty\LwIP\src\core\ipv4\ip4.c</name>
+            <name>$PROJ_DIR$\..\..\shared\freemodbus\rtu\mbcrc.c</name>
             <outputs>
                 <tool>
                     <name>ICCARM</name>
-                    <file> 260</file>
+                    <file> 662</file>
                 </tool>
                 <tool>
                     <name>BICOMP</name>
-                    <file> 209</file>
+                    <file> 601</file>
                 </tool>
             </outputs>
             <inputs>
                 <tool>
                     <name>ICCARM</name>
-                    <file> 693 564 278 446 399 41 386 257 80 471 430 536 538 494 438 413 202 106 33 224 674 74 107 377 319 473 440 508 139 476 529 502 334 148 472 496 348 469 270 280 99 112 98 346 118 109 445 339 512 183 250 84 299</file>
+                    <file> 357 55 436 509 404 364 237 180 707 273 164 94 157 390 372 6 545 447 239 599 217 89 172 378 392 581 508 407 103 674 28 212 82 63 397 129 74 641 578 134 630 652 190 185 699 469 2 182 643 525 446 494 666 670 696</file>
                 </tool>
             </inputs>
         </file>
         <file>
-            <name>$PROJ_DIR$\..\..\libs\thirdparty\LwIP\src\core\raw.c</name>
+            <name>$PROJ_DIR$\..\..\shared\rtc\rtc.c</name>
             <outputs>
                 <tool>
                     <name>ICCARM</name>
-                    <file> 50</file>
+                    <file> 499</file>
                 </tool>
                 <tool>
                     <name>BICOMP</name>
-                    <file> 34</file>
+                    <file> 206</file>
                 </tool>
             </outputs>
             <inputs>
                 <tool>
                     <name>ICCARM</name>
-                    <file> 693 564 278 446 399 41 386 257 80 471 430 536 538 494 438 413 202 106 33 674 502 334 148 529 476 377 319 473 440 508 139 107 74 346 224 472 496 348 469 280 84 299</file>
+                    <file> 9 55 436 509 404 364 237 180 707 273 164 94 157 390 372 6 545 447 239 599 217 89 172 378 392 581 508 407 103 674 28 212 82 63 397 129 74 641 578 134 630 652 394 348 96 176 190 185 699 469 2 182 643 525 446 494 666 126 432 76 492 355 357 670 696 346 333 617 188 123 311 369 80 608</file>
                 </tool>
             </inputs>
         </file>
         <file>
-            <name>$PROJ_DIR$\..\..\libs\thirdparty\LwIP\src\core\stats.c</name>
+            <name>$PROJ_DIR$\..\..\shared\sys\sys_api.c</name>
             <outputs>
                 <tool>
                     <name>ICCARM</name>
-                    <file> 252</file>
+                    <file> 75</file>
                 </tool>
                 <tool>
                     <name>BICOMP</name>
-                    <file> 531</file>
+                    <file> 64</file>
                 </tool>
             </outputs>
             <inputs>
                 <tool>
                     <name>ICCARM</name>
-                    <file> 693 564 278 446 399 41 386 257 80 471 430 536 538 494 438 413 202 106 33 674 476 529 502 334 148 84 299</file>
+                    <file> 509 404 364 237 180 707 76 96 124 394 55 436 273 164 94 157 390 372 6 545 447 239 599 217 89 172 378 392 581 508 407 103 674 28 212 82 63 397 129 74 641 578 134 630 652 348 176 190 185 699 469 2 182 643 525 446 494 666 126 432 492 355 357 670 696 346 333 617 188 123 311 310 9 369 80 608</file>
                 </tool>
             </inputs>
         </file>
         <file>
-            <name>$PROJ_DIR$\..\..\libs\thirdparty\LwIP\src\core\sys.c</name>
+            <name>$PROJ_DIR$\..\..\shared\peripherals\src\buttons.c</name>
             <outputs>
                 <tool>
                     <name>ICCARM</name>
-                    <file> 393</file>
+                    <file> 140</file>
                 </tool>
                 <tool>
                     <name>BICOMP</name>
-                    <file> 274</file>
+                    <file> 269</file>
                 </tool>
             </outputs>
             <inputs>
                 <tool>
                     <name>ICCARM</name>
-                    <file> 693 564 278 446 399 41 386 257 80 471 430 536 538 494 438 413 202 106 33 324 107 322 436 571 101 416 135 636 219 407 195 176 179 697 228 517 164</file>
+                    <file> 362 55 436 509 404 364 237 180 707 273 164 94 157 390 372 6 545 447 239 599 217 89 172 378 392 581 508 407 103 674 28 212 82 63 397 129 74 641 578 134 630 652 96 394 348 176 190 185 699 469 2 182 643 525 446 494 666 126 432 76 492 355 357 670 696 346 333 617 188 123 311 369 80 608</file>
                 </tool>
             </inputs>
         </file>
         <file>
-            <name>$PROJ_DIR$\..\..\libs\thirdparty\LwIP\src\core\tcp.c</name>
+            <name>$PROJ_DIR$\..\..\shared\peripherals\src\usb.c</name>
             <outputs>
                 <tool>
                     <name>ICCARM</name>
-                    <file> 328</file>
+                    <file> 97</file>
                 </tool>
                 <tool>
                     <name>BICOMP</name>
-                    <file> 317</file>
+                    <file> 681</file>
                 </tool>
             </outputs>
             <inputs>
                 <tool>
                     <name>ICCARM</name>
-                    <file> 693 564 278 446 399 41 386 257 80 471 430 536 538 494 438 413 202 106 33 674 529 502 334 148 476 339 74 107 224 377 319 473 440 508 139 472 496 348 469 99 112 445 512 507 84 299</file>
+                    <file> 55 436 509 404 364 237 180 707 273 164 94 157 390 372 6 545 447 239 599 217 89 172 378 392 581 508 407 103 674 28 212 82 63 397 129 74 641 578 134 630 652 569 275 49 149 608 699 175 574 204</file>
                 </tool>
             </inputs>
         </file>
         <file>
-            <name>$PROJ_DIR$\..\..\libs\thirdparty\LwIP\src\api\netbuf.c</name>
+            <name>$PROJ_DIR$\..\..\shared\freemodbus\functions\mbfuncdiag.c</name>
             <outputs>
                 <tool>
                     <name>ICCARM</name>
-                    <file> 435</file>
+                    <file> 565</file>
                 </tool>
                 <tool>
                     <name>BICOMP</name>
-                    <file> 203</file>
+                    <file> 663</file>
                 </tool>
             </outputs>
-            <inputs>
-                <tool>
-                    <name>ICCARM</name>
-                    <file> 693 564 278 446 399 41 386 257 80 471 430 536 538 494 438 413 202 106 33 152 74 107 377 674 319 473 440 508 502 334 148 529 476 84 299</file>
-                </tool>
-            </inputs>
         </file>
         <file>
-            <name>$PROJ_DIR$\..\..\libs\thirdparty\LwIP\src\api\api_msg.c</name>
+            <name>$PROJ_DIR$\..\..\shared\freemodbus\functions\mbfuncdisc.c</name>
             <outputs>
                 <tool>
                     <name>ICCARM</name>
-                    <file> 150</file>
+                    <file> 387</file>
                 </tool>
                 <tool>
                     <name>BICOMP</name>
-                    <file> 192</file>
+                    <file> 199</file>
                 </tool>
             </outputs>
             <inputs>
                 <tool>
                     <name>ICCARM</name>
-                    <file> 693 564 278 446 399 41 386 257 80 471 430 536 538 494 438 413 202 106 33 175 377 674 319 473 440 508 107 324 322 436 571 101 416 135 636 219 407 195 176 179 697 228 517 164 98 139 74 476 529 502 334 148 77 152 113 277 450 224 472 496 348 469 118 109 339 99 112 346 497 383 84 299</file>
+                    <file> 238 404 364 237 180 707 699 191 369 80 357 55 436 509 273 164 94 157 390 372 6 545 447 239 599 217 89 172 378 392 581 508 407 103 674 28 212 82 63 397 129 74 641 578 134 630 652 190 185 469 2 182 643 525 446 494 666 670 696 355 346 333 336 345</file>
                 </tool>
             </inputs>
         </file>
         <file>
-            <name>$PROJ_DIR$\..\..\libs\thirdparty\LwIP\src\core\tcp_in.c</name>
+            <name>$PROJ_DIR$\..\..\shared\freemodbus\mb.c</name>
             <outputs>
                 <tool>
                     <name>ICCARM</name>
-                    <file> 242</file>
+                    <file> 517</file>
                 </tool>
                 <tool>
                     <name>BICOMP</name>
-                    <file> 671</file>
+                    <file> 410</file>
                 </tool>
             </outputs>
             <inputs>
                 <tool>
                     <name>ICCARM</name>
-                    <file> 693 564 278 446 399 41 386 257 80 471 430 536 538 494 438 413 202 106 33 445 339 529 74 107 224 674 377 319 473 440 508 139 476 502 334 148 472 496 348 469 99 112 512 280 507</file>
+                    <file> 238 404 364 237 180 707 699 191 369 80 357 55 436 509 273 164 94 157 390 372 6 545 447 239 599 217 89 172 378 392 581 508 407 103 674 28 212 82 63 397 129 74 641 578 134 630 652 190 185 469 2 182 643 525 446 494 666 670 696 355 346 333 345 336 356 584</file>
                 </tool>
             </inputs>
         </file>
         <file>
-            <name>$PROJ_DIR$\..\..\libs\thirdparty\LwIP\src\core\inet_chksum.c</name>
+            <name>$PROJ_DIR$\..\..\shared\freemodbus\port\porttimer.c</name>
             <outputs>
                 <tool>
                     <name>ICCARM</name>
-                    <file> 433</file>
+                    <file> 383</file>
                 </tool>
                 <tool>
                     <name>BICOMP</name>
-                    <file> 315</file>
+                    <file> 496</file>
                 </tool>
             </outputs>
             <inputs>
                 <tool>
                     <name>ICCARM</name>
-                    <file> 693 564 278 446 399 41 386 257 80 471 430 536 538 494 438 413 202 106 33 280 74 107 377 674 319 473 440 508 84 299</file>
+                    <file> 55 436 509 404 364 237 180 707 273 164 94 157 390 372 6 545 447 239 599 217 89 172 378 392 581 508 407 103 674 28 212 82 63 397 129 74 641 578 134 630 652 190 185 699 469 2 182 643 525 446 494 666 670 696 357 355 346 333 77 96</file>
                 </tool>
             </inputs>
         </file>
         <file>
-            <name>$PROJ_DIR$\..\..\libs\thirdparty\freertos\fr_timers.c</name>
+            <name>$PROJ_DIR$\..\..\shared\freemodbus\functions\mbfuncother.c</name>
             <outputs>
                 <tool>
                     <name>ICCARM</name>
-                    <file> 245</file>
+                    <file> 179</file>
                 </tool>
                 <tool>
                     <name>BICOMP</name>
-                    <file> 188</file>
+                    <file> 233</file>
                 </tool>
             </outputs>
             <inputs>
                 <tool>
                     <name>ICCARM</name>
-                    <file> 494 257 80 471 430 536 538 438 436 413 202 571 101 416 135 636 219 407 195 176 179 697 228 382</file>
+                    <file> 238 404 364 237 180 707 699 191 369 80 357 55 436 509 273 164 94 157 390 372 6 545 447 239 599 217 89 172 378 392 581 508 407 103 674 28 212 82 63 397 129 74 641 578 134 630 652 190 185 469 2 182 643 525 446 494 666 670 696 355 346 333 336 345</file>
                 </tool>
             </inputs>
         </file>
         <file>
-            <name>$PROJ_DIR$\..\..\libs\thirdparty\freertos\FreeRTOS-openocd.c</name>
+            <name>$PROJ_DIR$\..\..\shared\freemodbus\functions\mbutils.c</name>
             <outputs>
                 <tool>
                     <name>ICCARM</name>
-                    <file> 102</file>
+                    <file> 618</file>
                 </tool>
                 <tool>
                     <name>BICOMP</name>
-                    <file> 127</file>
+                    <file> 234</file>
                 </tool>
             </outputs>
             <inputs>
                 <tool>
                     <name>ICCARM</name>
-                    <file> 436 413 257 80 471 430 536 538 202 571 101 416 135 636 219 407 195 176</file>
+                    <file> 238 404 364 237 180 707 699 191 369 80 357 55 436 509 273 164 94 157 390 372 6 545 447 239 599 217 89 172 378 392 581 508 407 103 674 28 212 82 63 397 129 74 641 578 134 630 652 190 185 469 2 182 643 525 446 494 666 670 696 355 346 333</file>
                 </tool>
             </inputs>
         </file>
         <file>
-            <name>$PROJ_DIR$\..\..\libs\thirdparty\freertos\portable\memmang\heap_4.c</name>
+            <name>$PROJ_DIR$\..\..\shared\freemodbus\port\portevent.c</name>
             <outputs>
                 <tool>
                     <name>ICCARM</name>
-                    <file> 525</file>
+                    <file> 452</file>
                 </tool>
                 <tool>
                     <name>BICOMP</name>
-                    <file> 140</file>
+                    <file> 629</file>
                 </tool>
             </outputs>
             <inputs>
                 <tool>
                     <name>ICCARM</name>
-                    <file> 494 257 80 471 430 536 538 438 436 413 202 571 101 416 135 636 219 407 195 176 179 697</file>
+                    <file> 190 185 404 364 237 180 707 699 509 469 2 182 643 525 446 157 494 666 670 696 432 355 357 55 436 273 164 94 390 372 6 545 447 239 599 217 89 172 378 392 581 508 407 103 674 28 212 82 63 397 129 74 641 578 134 630 652 346 333</file>
                 </tool>
             </inputs>
         </file>
         <file>
-            <name>$PROJ_DIR$\..\..\libs\artery\drivers\src\at32f403a_407_rtc.c</name>
+            <name>$PROJ_DIR$\..\..\shared\freemodbus\port\portserial.c</name>
             <outputs>
                 <tool>
                     <name>ICCARM</name>
-                    <file> 125</file>
+                    <file> 100</file>
                 </tool>
                 <tool>
                     <name>BICOMP</name>
-                    <file> 368</file>
+                    <file> 144</file>
                 </tool>
             </outputs>
             <inputs>
                 <tool>
                     <name>ICCARM</name>
-                    <file> 616 223 544 217 202 257 80 471 430 536 37 425 309 407 79 63 89 465 371 442 304 428 60 264 389 200 251 332 156 92 463 282 281 255 504 296 136 351 500 147 160</file>
+                    <file> 55 436 509 404 364 237 180 707 273 164 94 157 390 372 6 545 447 239 599 217 89 172 378 392 581 508 407 103 674 28 212 82 63 397 129 74 641 578 134 630 652 149 608 699 190 185 469 2 182 643 525 446 494 666 670 696 355 357 346 333 12 96 77 238 191</file>
                 </tool>
             </inputs>
         </file>
         <file>
-            <name>$PROJ_DIR$\..\..\libs\thirdparty\freertos\croutine.c</name>
+            <name>$PROJ_DIR$\..\..\shared\freemodbus\port\tim_delay.c</name>
             <outputs>
                 <tool>
                     <name>ICCARM</name>
-                    <file> 215</file>
+                    <file> 83</file>
                 </tool>
                 <tool>
                     <name>BICOMP</name>
-                    <file> 248</file>
+                    <file> 560</file>
                 </tool>
             </outputs>
             <inputs>
                 <tool>
                     <name>ICCARM</name>
-                    <file> 436 413 257 80 471 430 536 538 202 571 101 416 135 636 219 407 195 176 179 697 172</file>
+                    <file> 55 436 509 404 364 237 180 707 273 164 94 157 390 372 6 545 447 239 599 217 89 172 378 392 581 508 407 103 674 28 212 82 63 397 129 74 641 578 134 630 652 12 96 77</file>
                 </tool>
             </inputs>
         </file>
         <file>
-            <name>$PROJ_DIR$\..\..\libs\artery\drivers\src\at32f403a_407_spi.c</name>
+            <name>$PROJ_DIR$\..\..\shared\freemodbus\functions\mbfuncinput.c</name>
             <outputs>
                 <tool>
                     <name>ICCARM</name>
-                    <file> 286</file>
+                    <file> 552</file>
                 </tool>
                 <tool>
                     <name>BICOMP</name>
-                    <file> 225</file>
+                    <file> 679</file>
                 </tool>
             </outputs>
             <inputs>
                 <tool>
                     <name>ICCARM</name>
-                    <file> 616 223 544 217 202 257 80 471 430 536 37 425 309 407 79 63 89 465 371 442 304 428 60 264 389 200 251 332 156 92 463 282 281 255 504 296 136 351 500 147 160</file>
+                    <file> 238 404 364 237 180 707 699 191 369 80 357 55 436 509 273 164 94 157 390 372 6 545 447 239 599 217 89 172 378 392 581 508 407 103 674 28 212 82 63 397 129 74 641 578 134 630 652 190 185 469 2 182 643 525 446 494 666 670 696 355 346 333 336 345</file>
                 </tool>
             </inputs>
         </file>
         <file>
-            <name>$PROJ_DIR$\..\..\libs\thirdparty\freertos\queue.c</name>
+            <name>$PROJ_DIR$\..\..\shared\freemodbus\rtu\mbrtu.c</name>
             <outputs>
                 <tool>
                     <name>ICCARM</name>
-                    <file> 409</file>
+                    <file> 251</file>
                 </tool>
                 <tool>
                     <name>BICOMP</name>
-                    <file> 47</file>
+                    <file> 85</file>
                 </tool>
             </outputs>
             <inputs>
                 <tool>
                     <name>ICCARM</name>
-                    <file> 494 257 80 471 430 536 538 438 84 299 436 413 202 571 101 416 135 636 219 407 195 176 179 697 228</file>
+                    <file> 238 404 364 237 180 707 699 191 369 80 357 55 436 509 273 164 94 157 390 372 6 545 447 239 599 217 89 172 378 392 581 508 407 103 674 28 212 82 63 397 129 74 641 578 134 630 652 190 185 469 2 182 643 525 446 494 666 670 696 355 346 333 584 336 411</file>
                 </tool>
             </inputs>
         </file>
         <file>
-            <name>$PROJ_DIR$\..\..\libs\artery\drivers\src\at32f403a_407_usb.c</name>
+            <name>$PROJ_DIR$\..\..\shared\freemodbus\functions\mbfuncfile.c</name>
             <outputs>
                 <tool>
                     <name>ICCARM</name>
-                    <file> 44</file>
+                    <file> 156</file>
                 </tool>
                 <tool>
                     <name>BICOMP</name>
-                    <file> 97</file>
+                    <file> 413</file>
                 </tool>
             </outputs>
             <inputs>
                 <tool>
                     <name>ICCARM</name>
-                    <file> 616 223 544 217 202 257 80 471 430 536 37 425 309 407 79 63 89 465 371 442 304 428 60 264 389 200 251 332 156 92 463 282 281 255 504 296 136 351 500 147 160</file>
+                    <file> 238 404 364 237 180 707 699 191 369 80 357 55 436 509 273 164 94 157 390 372 6 545 447 239 599 217 89 172 378 392 581 508 407 103 674 28 212 82 63 397 129 74 641 578 134 630 652 190 185 469 2 182 643 525 446 494 666 670 696 355 346 333 336 345 608</file>
                 </tool>
             </inputs>
         </file>
         <file>
-            <name>$PROJ_DIR$\..\..\libs\thirdparty\microrl\microrl.c</name>
+            <name>$PROJ_DIR$\..\..\shared\peripherals\src\common_gpio.c</name>
             <outputs>
                 <tool>
                     <name>ICCARM</name>
-                    <file> 165</file>
+                    <file> 29</file>
                 </tool>
                 <tool>
                     <name>BICOMP</name>
-                    <file> 85</file>
+                    <file> 684</file>
                 </tool>
             </outputs>
             <inputs>
                 <tool>
                     <name>ICCARM</name>
-                    <file> 84 257 80 471 430 536 538 299 53 494 438 138 555</file>
+                    <file> 55 436 509 404 364 237 180 707 273 164 94 157 390 372 6 545 447 239 599 217 89 172 378 392 581 508 407 103 674 28 212 82 63 397 129 74 641 578 134 630 652 566 96 190 185 699 469 2 182 643 525 446 494 666 670 696 492</file>
                 </tool>
             </inputs>
         </file>
         <file>
-            <name>$PROJ_DIR$\..\..\libs\thirdparty\freertos\tasks.c</name>
+            <name>$PROJ_DIR$\..\..\fw\modules\settings\settings_api.c</name>
             <outputs>
                 <tool>
                     <name>ICCARM</name>
-                    <file> 358</file>
+                    <file> 613</file>
                 </tool>
                 <tool>
                     <name>BICOMP</name>
-                    <file> 96</file>
+                    <file> 396</file>
                 </tool>
             </outputs>
             <inputs>
                 <tool>
                     <name>ICCARM</name>
-                    <file> 494 257 80 471 430 536 538 438 84 299 436 413 202 571 101 416 135 636 219 407 195 176 179 697 382 61 386</file>
+                    <file> 55 436 509 404 364 237 180 707 273 164 94 157 390 372 6 545 447 239 599 217 89 172 378 392 581 508 407 103 674 28 212 82 63 397 129 74 641 578 134 630 652 394 348 96 176 190 185 699 469 2 182 643 525 446 494 666 126 432 76 492 355 357 670 696 346 333 617 188 123 705 227 281 311 310 594 572 111 559 651 608 238 191 257 620 369 80</file>
                 </tool>
             </inputs>
         </file>
         <file>
-            <name>$PROJ_DIR$\..\..\libs\thirdparty\freertos\list.c</name>
+            <name>$PROJ_DIR$\..\..\fw\modules\terminal\terminal_usartbridge.cpp</name>
             <outputs>
                 <tool>
                     <name>ICCARM</name>
-                    <file> 210</file>
+                    <file> 104</file>
                 </tool>
                 <tool>
                     <name>BICOMP</name>
-                    <file> 56</file>
+                    <file> 119</file>
                 </tool>
             </outputs>
             <inputs>
                 <tool>
                     <name>ICCARM</name>
-                    <file> 494 257 80 471 430 536 538 438 436 413 202 571 101 416 135 636 219 407 195 176 697</file>
+                    <file> 264 55 436 509 404 364 237 180 707 273 164 94 157 390 372 6 545 447 239 599 217 89 172 378 392 581 508 407 103 674 28 212 82 63 397 129 74 641 578 134 630 652 416 615 60 260 190 185 699 469 2 182 643 525 446 494 666 670 696 126 432 369 80 608</file>
                 </tool>
             </inputs>
         </file>
         <file>
-            <name>$PROJ_DIR$\..\..\libs\artery\drivers\src\at32f403a_407_gpio.c</name>
+            <name>$PROJ_DIR$\..\..\fw\modules\misc\at32_uid.c</name>
             <outputs>
                 <tool>
                     <name>ICCARM</name>
-                    <file> 542</file>
+                    <file> 224</file>
                 </tool>
                 <tool>
                     <name>BICOMP</name>
-                    <file> 519</file>
+                    <file> 243</file>
                 </tool>
             </outputs>
             <inputs>
                 <tool>
                     <name>ICCARM</name>
-                    <file> 616 223 544 217 202 257 80 471 430 536 37 425 309 407 79 63 89 465 371 442 304 428 60 264 389 200 251 332 156 92 463 282 281 255 504 296 136 351 500 147 160</file>
+                    <file> 594 509 404 364 237 180 707 608 699 369 80</file>
                 </tool>
             </inputs>
         </file>
         <file>
-            <name>$PROJ_DIR$\..\..\libs\artery\drivers\src\at32f403a_407_pwc.c</name>
+            <name>$PROJ_DIR$\..\..\fw\modules\terminal\terminal_sbs.cpp</name>
             <outputs>
                 <tool>
                     <name>ICCARM</name>
-                    <file> 205</file>
+                    <file> 417</file>
                 </tool>
                 <tool>
                     <name>BICOMP</name>
-                    <file> 241</file>
+                    <file> 449</file>
                 </tool>
             </outputs>
             <inputs>
                 <tool>
                     <name>ICCARM</name>
-                    <file> 616 223 544 217 202 257 80 471 430 536 37 425 309 407 79 63 89 465 371 442 304 428 60 264 389 200 251 332 156 92 463 282 281 255 504 296 136 351 500 147 160</file>
+                    <file> 260 416 55 436 509 404 364 237 180 707 273 164 94 157 390 372 6 545 447 239 599 217 89 172 378 392 581 508 407 103 674 28 212 82 63 397 129 74 641 578 134 630 652 615 60 190 185 699 469 2 182 643 525 446 494 666 670 696 126 432 311 608 238 191 369 80 96 16 617 559 651 9 394 348 176 76 492 355 357 346 333 188 123 111</file>
                 </tool>
             </inputs>
         </file>
         <file>
-            <name>$PROJ_DIR$\..\..\libs\artery\system\at32f403a_407_clock.c</name>
+            <name>$PROJ_DIR$\..\..\fw\user\at32f403a_407_int.c</name>
             <outputs>
                 <tool>
                     <name>ICCARM</name>
-                    <file> 330</file>
+                    <file> 590</file>
                 </tool>
                 <tool>
                     <name>BICOMP</name>
-                    <file> 385</file>
+                    <file> 256</file>
                 </tool>
             </outputs>
             <inputs>
                 <tool>
                     <name>ICCARM</name>
-                    <file> 384 544 217 202 257 80 471 430 536 37 425 309 407 79 63 89 616 223 465 371 442 304 428 60 264 389 200 251 332 156 92 463 282 281 255 504 296 136 351 500 147 160</file>
+                    <file> 173 55 436 509 404 364 237 180 707 273 164 94 157 390 372 6 545 447 239 599 217 89 172 378 392 581 508 407 103 674 28 212 82 63 397 129 74 641 578 134 630 652</file>
                 </tool>
             </inputs>
         </file>
         <file>
-            <name>$PROJ_DIR$\..\..\libs\artery\drivers\src\at32f403a_407_i2c.c</name>
+            <name>$PROJ_DIR$\..\..\fw\user\flash_ram_const.c</name>
             <outputs>
                 <tool>
                     <name>ICCARM</name>
-                    <file> 196</file>
+                    <file> 596</file>
                 </tool>
                 <tool>
                     <name>BICOMP</name>
-                    <file> 163</file>
+                    <file> 223</file>
                 </tool>
             </outputs>
             <inputs>
                 <tool>
                     <name>ICCARM</name>
-                    <file> 616 223 544 217 202 257 80 471 430 536 37 425 309 407 79 63 89 465 371 442 304 428 60 264 389 200 251 332 156 92 463 282 281 255 504 296 136 351 500 147 160</file>
+                    <file> 55 436 509 404 364 237 180 707 273 164 94 157 390 372 6 545 447 239 599 217 89 172 378 392 581 508 407 103 674 28 212 82 63 397 129 74 641 578 134 630 652 348 96</file>
                 </tool>
             </inputs>
         </file>
         <file>
-            <name>$PROJ_DIR$\..\..\libs\artery\drivers\src\at32f403a_407_tmr.c</name>
+            <name>$PROJ_DIR$\..\..\fw\modules\misc\swap.c</name>
             <outputs>
                 <tool>
                     <name>ICCARM</name>
-                    <file> 312</file>
+                    <file> 385</file>
                 </tool>
                 <tool>
                     <name>BICOMP</name>
-                    <file> 244</file>
+                    <file> 393</file>
                 </tool>
             </outputs>
             <inputs>
                 <tool>
                     <name>ICCARM</name>
-                    <file> 616 223 544 217 202 257 80 471 430 536 37 425 309 407 79 63 89 465 371 442 304 428 60 264 389 200 251 332 156 92 463 282 281 255 504 296 136 351 500 147 160</file>
+                    <file> 401 55 436 509 404 364 237 180 707 273 164 94 157 390 372 6 545 447 239 599 217 89 172 378 392 581 508 407 103 674 28 212 82 63 397 129 74 641 578 134 630 652</file>
                 </tool>
             </inputs>
         </file>
         <file>
-            <name>$PROJ_DIR$\..\..\libs\artery\drivers\src\at32f403a_407_wwdt.c</name>
+            <name>$PROJ_DIR$\..\..\fw\modules\misc\uptime.c</name>
             <outputs>
                 <tool>
                     <name>ICCARM</name>
-                    <file> 143</file>
+                    <file> 23</file>
                 </tool>
                 <tool>
                     <name>BICOMP</name>
-                    <file> 360</file>
+                    <file> 644</file>
                 </tool>
             </outputs>
             <inputs>
                 <tool>
                     <name>ICCARM</name>
-                    <file> 616 223 544 217 202 257 80 471 430 536 37 425 309 407 79 63 89 465 371 442 304 428 60 264 389 200 251 332 156 92 463 282 281 255 504 296 136 351 500 147 160</file>
+                    <file> 250 55 436 509 404 364 237 180 707 273 164 94 157 390 372 6 545 447 239 599 217 89 172 378 392 581 508 407 103 674 28 212 82 63 397 129 74 641 578 134 630 652 9 622 96 608 699</file>
                 </tool>
             </inputs>
         </file>
         <file>
-            <name>$PROJ_DIR$\..\..\libs\artery\usb\src\usbd_core.c</name>
+            <name>$PROJ_DIR$\..\..\fw\modules\modbus\modbus_ai_params.c</name>
             <outputs>
                 <tool>
                     <name>ICCARM</name>
-                    <file> 513</file>
+                    <file> 654</file>
                 </tool>
                 <tool>
                     <name>BICOMP</name>
-                    <file> 239</file>
+                    <file> 21</file>
                 </tool>
             </outputs>
             <inputs>
                 <tool>
                     <name>ICCARM</name>
-                    <file> 30 567 544 217 202 257 80 471 430 536 37 425 309 407 79 63 89 616 223 465 371 442 304 428 60 264 389 200 251 332 156 92 463 282 281 255 504 296 136 351 500 147 160 510 386 538 403 221</file>
+                    <file> 55 436 509 404 364 237 180 707 273 164 94 157 390 372 6 545 447 239 599 217 89 172 378 392 581 508 407 103 674 28 212 82 63 397 129 74 641 578 134 630 652 636 355 357 190 185 699 469 2 182 643 525 446 494 666 670 696 346 333 1 96 394 348 176 126 432 76 492 617 188 123 278</file>
                 </tool>
             </inputs>
         </file>
         <file>
-            <name>$PROJ_DIR$\..\..\libs\artery\usb\src\usbd_int.c</name>
+            <name>$PROJ_DIR$\..\..\fw\modules\monitor\monitoring.c</name>
             <outputs>
                 <tool>
                     <name>ICCARM</name>
-                    <file> 166</file>
+                    <file> 607</file>
                 </tool>
                 <tool>
                     <name>BICOMP</name>
-                    <file> 170</file>
+                    <file> 605</file>
                 </tool>
             </outputs>
             <inputs>
                 <tool>
                     <name>ICCARM</name>
-                    <file> 451 30 567 544 217 202 257 80 471 430 536 37 425 309 407 79 63 89 616 223 465 371 442 304 428 60 264 389 200 251 332 156 92 463 282 281 255 504 296 136 351 500 147 160 510 386 538 403 660 488</file>
+                    <file> 55 436 509 404 364 237 180 707 273 164 94 157 390 372 6 545 447 239 599 217 89 172 378 392 581 508 407 103 674 28 212 82 63 397 129 74 641 578 134 630 652 236 96</file>
                 </tool>
             </inputs>
         </file>
         <file>
-            <name>$PROJ_DIR$\..\..\libs\artery\usb\src\usbd_sdr.c</name>
+            <name>$PROJ_DIR$\..\..\fw\modules\settings\settings_dio.c</name>
             <outputs>
                 <tool>
                     <name>ICCARM</name>
-                    <file> 258</file>
+                    <file> 688</file>
                 </tool>
                 <tool>
                     <name>BICOMP</name>
-                    <file> 199</file>
+                    <file> 225</file>
                 </tool>
             </outputs>
             <inputs>
                 <tool>
                     <name>ICCARM</name>
-                    <file> 221 30 567 544 217 202 257 80 471 430 536 37 425 309 407 79 63 89 616 223 465 371 442 304 428 60 264 389 200 251 332 156 92 463 282 281 255 504 296 136 351 500 147 160 510 386 538 403 660</file>
+                    <file> 55 436 509 404 364 237 180 707 273 164 94 157 390 372 6 545 447 239 599 217 89 172 378 392 581 508 407 103 674 28 212 82 63 397 129 74 641 578 134 630 652 394 348 96 176 190 185 699 469 2 182 643 525 446 494 666 126 432 76 492 355 357 670 696 346 333 617 188 123 705</file>
                 </tool>
             </inputs>
         </file>
         <file>
-            <name>$PROJ_DIR$\..\..\libs\artery\drivers\src\at32f403a_407_sdio.c</name>
+            <name>$PROJ_DIR$\..\..\fw\modules\modbus\update.c</name>
             <outputs>
                 <tool>
                     <name>ICCARM</name>
-                    <file> 691</file>
+                    <file> 200</file>
                 </tool>
                 <tool>
                     <name>BICOMP</name>
-                    <file> 526</file>
+                    <file> 690</file>
                 </tool>
             </outputs>
             <inputs>
                 <tool>
                     <name>ICCARM</name>
-                    <file> 616 223 544 217 202 257 80 471 430 536 37 425 309 407 79 63 89 465 371 442 304 428 60 264 389 200 251 332 156 92 463 282 281 255 504 296 136 351 500 147 160</file>
+                    <file> 55 436 509 404 364 237 180 707 273 164 94 157 390 372 6 545 447 239 599 217 89 172 378 392 581 508 407 103 674 28 212 82 63 397 129 74 641 578 134 630 652 611 311 190 185 699 469 2 182 643 525 446 494 666 670 696 587 608</file>
                 </tool>
             </inputs>
         </file>
         <file>
-            <name>$PROJ_DIR$\..\..\libs\thirdparty\freertos\portable\IAR\ARM_CM4F\port.c</name>
+            <name>$PROJ_DIR$\..\..\fw\modules\terminal\terminal.cpp</name>
             <outputs>
                 <tool>
                     <name>ICCARM</name>
-                    <file> 32</file>
+                    <file> 553</file>
                 </tool>
                 <tool>
                     <name>BICOMP</name>
-                    <file> 432</file>
+                    <file> 506</file>
                 </tool>
             </outputs>
             <inputs>
                 <tool>
                     <name>ICCARM</name>
-                    <file> 219 407 80 471 430 536 195 436 413 257 538 202 571 101 416 135 636 176 179 697</file>
+                    <file> 416 55 436 509 404 364 237 180 707 273 164 94 157 390 372 6 545 447 239 599 217 89 172 378 392 581 508 407 103 674 28 212 82 63 397 129 74 641 578 134 630 652 615 60 369 699 80 554</file>
                 </tool>
             </inputs>
         </file>
         <file>
-            <name>$PROJ_DIR$\..\..\libs\thirdparty\freertos\event_groups.c</name>
+            <name>$PROJ_DIR$\..\..\fw\modules\testing\soft_test.c</name>
             <outputs>
                 <tool>
                     <name>ICCARM</name>
-                    <file> 130</file>
+                    <file> 513</file>
                 </tool>
                 <tool>
                     <name>BICOMP</name>
-                    <file> 59</file>
+                    <file> 658</file>
                 </tool>
             </outputs>
             <inputs>
                 <tool>
                     <name>ICCARM</name>
-                    <file> 494 257 80 471 430 536 538 438 436 413 202 571 101 416 135 636 219 407 195 176 179 697 382 366</file>
+                    <file> 55 436 509 404 364 237 180 707 273 164 94 157 390 372 6 545 447 239 599 217 89 172 378 392 581 508 407 103 674 28 212 82 63 397 129 74 641 578 134 630 652 650 190 185 699 469 2 182 643 525 446 494 666 670 696 282 96 492 77 608</file>
                 </tool>
             </inputs>
         </file>
         <file>
-            <name>$PROJ_DIR$\..\..\libs\artery\drivers\src\at32f403a_407_usart.c</name>
+            <name>$PROJ_DIR$\..\..\fw\modules\spi_flash\spi_flash.c</name>
             <outputs>
                 <tool>
                     <name>ICCARM</name>
-                    <file> 357</file>
+                    <file> 604</file>
                 </tool>
                 <tool>
                     <name>BICOMP</name>
-                    <file> 331</file>
+                    <file> 673</file>
                 </tool>
             </outputs>
             <inputs>
                 <tool>
                     <name>ICCARM</name>
-                    <file> 616 223 544 217 202 257 80 471 430 536 37 425 309 407 79 63 89 465 371 442 304 428 60 264 389 200 251 332 156 92 463 282 281 255 504 296 136 351 500 147 160</file>
+                    <file> 55 436 509 404 364 237 180 707 273 164 94 157 390 372 6 545 447 239 599 217 89 172 378 392 581 508 407 103 674 28 212 82 63 397 129 74 641 578 134 630 652 487 96 190 185 699 469 2 182 643 525 446 494 666 386 670 696 311 369 80 608</file>
                 </tool>
             </inputs>
         </file>
         <file>
-            <name>$PROJ_DIR$\..\..\libs\artery\drivers\src\at32f403a_407_xmc.c</name>
+            <name>$PROJ_DIR$\..\..\fw\modules\log\log_dio.c</name>
             <outputs>
                 <tool>
                     <name>ICCARM</name>
-                    <file> 261</file>
+                    <file> 709</file>
                 </tool>
                 <tool>
                     <name>BICOMP</name>
-                    <file> 344</file>
+                    <file> 708</file>
                 </tool>
             </outputs>
             <inputs>
                 <tool>
                     <name>ICCARM</name>
-                    <file> 616 223 544 217 202 257 80 471 430 536 37 425 309 407 79 63 89 465 371 442 304 428 60 264 389 200 251 332 156 92 463 282 281 255 504 296 136 351 500 147 160</file>
+                    <file> 55 436 509 404 364 237 180 707 273 164 94 157 390 372 6 545 447 239 599 217 89 172 378 392 581 508 407 103 674 28 212 82 63 397 129 74 641 578 134 630 652 706 394 348 96 176 190 185 699 469 2 182 643 525 446 494 666 126 432 76 492 355 357 670 696 346 333 617 188 123</file>
                 </tool>
             </inputs>
         </file>
         <file>
-            <name>$PROJ_DIR$\..\..\libs\artery\drivers\src\at32f403a_407_misc.c</name>
+            <name>$PROJ_DIR$\..\..\fw\modules\settings\settings_ai.c</name>
             <outputs>
                 <tool>
                     <name>ICCARM</name>
-                    <file> 540</file>
+                    <file> 161</file>
                 </tool>
                 <tool>
                     <name>BICOMP</name>
-                    <file> 263</file>
+                    <file> 414</file>
                 </tool>
             </outputs>
             <inputs>
                 <tool>
                     <name>ICCARM</name>
-                    <file> 616 223 544 217 202 257 80 471 430 536 37 425 309 407 79 63 89 465 371 442 304 428 60 264 389 200 251 332 156 92 463 282 281 255 504 296 136 351 500 147 160</file>
+                    <file> 55 436 509 404 364 237 180 707 273 164 94 157 390 372 6 545 447 239 599 217 89 172 378 392 581 508 407 103 674 28 212 82 63 397 129 74 641 578 134 630 652 394 348 96 176 190 185 699 469 2 182 643 525 446 494 666 126 432 76 492 355 357 670 696 346 333 617 188 123 281</file>
                 </tool>
             </inputs>
         </file>
         <file>
-            <name>$PROJ_DIR$\..\..\libs\artery\drivers\src\at32f403a_407_wdt.c</name>
+            <name>$PROJ_DIR$\..\..\fw\modules\misc\usb_clock.c</name>
             <outputs>
                 <tool>
                     <name>ICCARM</name>
-                    <file> 518</file>
+                    <file> 609</file>
                 </tool>
                 <tool>
                     <name>BICOMP</name>
-                    <file> 213</file>
+                    <file> 443</file>
                 </tool>
             </outputs>
             <inputs>
                 <tool>
                     <name>ICCARM</name>
-                    <file> 616 223 544 217 202 257 80 471 430 536 37 425 309 407 79 63 89 465 371 442 304 428 60 264 389 200 251 332 156 92 463 282 281 255 504 296 136 351 500 147 160</file>
+                    <file> 55 436 509 404 364 237 180 707 273 164 94 157 390 372 6 545 447 239 599 217 89 172 378 392 581 508 407 103 674 28 212 82 63 397 129 74 641 578 134 630 652 0</file>
                 </tool>
             </inputs>
         </file>
         <file>
-            <name>$PROJ_DIR$\..\..\libs\artery\drivers\src\at32f403a_407_flash.c</name>
+            <name>$PROJ_DIR$\..\..\fw\modules\usb\usb_eth.c</name>
             <outputs>
                 <tool>
                     <name>ICCARM</name>
-                    <file> 229</file>
+                    <file> 454</file>
                 </tool>
                 <tool>
                     <name>BICOMP</name>
-                    <file> 411</file>
+                    <file> 375</file>
                 </tool>
             </outputs>
             <inputs>
                 <tool>
                     <name>ICCARM</name>
-                    <file> 616 223 544 217 202 257 80 471 430 536 37 425 309 407 79 63 89 465 371 442 304 428 60 264 389 200 251 332 156 92 463 282 281 255 504 296 136 351 500 147 160</file>
+                    <file> 55 436 509 404 364 237 180 707 273 164 94 157 390 372 6 545 447 239 599 217 89 172 378 392 581 508 407 103 674 28 212 82 63 397 129 74 641 578 134 630 652 384 96 582 608 699 369 80 4 695 475 66 215 598 276 238 191 185 16 272 635 377 627 602 704 112 228 211 128 249 698 153 120 632 429 247 125 557 241 17 642 166 198 11 105 616 230 275 49 149 175 440 193 511 19 5 370 646 113 107 190 469 2 182 643 525 446 494 666 670 696 432 126 653 22 133 81 219 569 310</file>
                 </tool>
             </inputs>
         </file>
         <file>
-            <name>$PROJ_DIR$\..\..\libs\thirdparty\freertos\portable\IAR\ARM_CM4F\portasm.s</name>
+            <name>$PROJ_DIR$\..\..\fw\modules\shift_reg\shift_reg.c</name>
             <outputs>
                 <tool>
-                    <name>AARM</name>
-                    <file> 240</file>
+                    <name>ICCARM</name>
+                    <file> 106</file>
+                </tool>
+                <tool>
+                    <name>BICOMP</name>
+                    <file> 84</file>
                 </tool>
             </outputs>
             <inputs>
                 <tool>
-                    <name>AARM</name>
-                    <file> 571</file>
+                    <name>ICCARM</name>
+                    <file> 55 436 509 404 364 237 180 707 273 164 94 157 390 372 6 545 447 239 599 217 89 172 378 392 581 508 407 103 674 28 212 82 63 397 129 74 641 578 134 630 652 495 96 190 185 699 469 2 182 643 525 446 494 666 670 696 68 608</file>
                 </tool>
             </inputs>
         </file>
         <file>
-            <name>$PROJ_DIR$\..\..\shared\freemodbus\functions\mbfuncholding.c</name>
+            <name>$PROJ_DIR$\..\..\fw\user\main.cpp</name>
             <outputs>
                 <tool>
                     <name>ICCARM</name>
-                    <file> 72</file>
+                    <file> 430</file>
                 </tool>
                 <tool>
                     <name>BICOMP</name>
-                    <file> 305</file>
+                    <file> 623</file>
                 </tool>
             </outputs>
             <inputs>
                 <tool>
                     <name>ICCARM</name>
-                    <file> 494 257 80 471 430 536 538 438 84 299 646 544 217 202 37 425 309 407 79 63 89 616 223 465 371 442 304 428 60 264 389 200 251 332 156 92 463 282 281 255 504 296 136 351 500 147 160 436 413 571 101 416 135 636 219 195 176 179 697 638 662 663 654 652</file>
+                    <file> 55 436 509 404 364 237 180 707 273 164 94 157 390 372 6 545 447 239 599 217 89 172 378 392 581 508 407 103 674 28 212 82 63 397 129 74 641 578 134 630 652 149 608 699 600 311 190 185 469 2 182 643 525 446 494 666 670 696 432 126 384 96 77 68 386 379 703 591 577 279 487 678 1 566 492 76 394 348 176 355 357 346 333 617 188 123 611 250 9 622 282 550 362 491 495 20 401 111 650 442 0 672 636 260 416 615 60 264 369 80 238 191</file>
                 </tool>
             </inputs>
         </file>
         <file>
-            <name>$PROJ_DIR$\..\..\shared\freemodbus\port\portserial.c</name>
+            <name>$PROJ_DIR$\..\..\fw\modules\misc\hash.c</name>
             <outputs>
                 <tool>
                     <name>ICCARM</name>
-                    <file> 310</file>
+                    <file> 683</file>
                 </tool>
                 <tool>
                     <name>BICOMP</name>
-                    <file> 498</file>
+                    <file> 588</file>
                 </tool>
             </outputs>
             <inputs>
                 <tool>
                     <name>ICCARM</name>
-                    <file> 544 217 202 257 80 471 430 536 37 425 309 407 79 63 89 616 223 465 371 442 304 428 60 264 389 200 251 332 156 92 463 282 281 255 504 296 136 351 500 147 160 510 386 538 436 413 571 101 416 135 636 219 195 176 179 697 638 646 662 663 87 314 298 494 438</file>
+                    <file> 215 598 276 608 404 364 237 180 707 699 238 191 185 509 16 272 367 676 695 475 66 572</file>
                 </tool>
             </inputs>
         </file>
         <file>
-            <name>$PROJ_DIR$\..\..\shared\freemodbus\port\porttimer.c</name>
+            <name>$PROJ_DIR$\..\..\fw\modules\misc\misc.c</name>
             <outputs>
                 <tool>
                     <name>ICCARM</name>
-                    <file> 58</file>
+                    <file> 422</file>
                 </tool>
                 <tool>
                     <name>BICOMP</name>
-                    <file> 208</file>
+                    <file> 265</file>
                 </tool>
             </outputs>
             <inputs>
                 <tool>
                     <name>ICCARM</name>
-                    <file> 544 217 202 257 80 471 430 536 37 425 309 407 79 63 89 616 223 465 371 442 304 428 60 264 389 200 251 332 156 92 463 282 281 255 504 296 136 351 500 147 160 436 413 538 571 101 416 135 636 219 195 176 179 697 646 638 662 663 298 314</file>
+                    <file> 68 55 436 509 404 364 237 180 707 273 164 94 157 390 372 6 545 447 239 599 217 89 172 378 392 581 508 407 103 674 28 212 82 63 397 129 74 641 578 134 630 652 190 185 699 469 2 182 643 525 446 494 666 670 696 77 96 355 357 346 333 149 608</file>
                 </tool>
             </inputs>
         </file>
         <file>
-            <name>$PROJ_DIR$\..\..\shared\freemodbus\ascii\mbascii.c</name>
+            <name>$PROJ_DIR$\..\..\fw\modules\modbus\modbus.c</name>
             <outputs>
                 <tool>
                     <name>ICCARM</name>
-                    <file> 406</file>
+                    <file> 614</file>
                 </tool>
                 <tool>
                     <name>BICOMP</name>
-                    <file> 524</file>
+                    <file> 597</file>
                 </tool>
             </outputs>
             <inputs>
                 <tool>
                     <name>ICCARM</name>
-                    <file> 494 257 80 471 430 536 538 438 84 299 646 544 217 202 37 425 309 407 79 63 89 616 223 465 371 442 304 428 60 264 389 200 251 332 156 92 463 282 281 255 504 296 136 351 500 147 160 436 413 571 101 416 135 636 219 195 176 179 697 638 662 663 652 468 654 269</file>
+                    <file> 55 436 509 404 364 237 180 707 273 164 94 157 390 372 6 545 447 239 599 217 89 172 378 392 581 508 407 103 674 28 212 82 63 397 129 74 641 578 134 630 652 311 1 611 190 185 699 469 2 182 643 525 446 494 666 670 696 587 355 357 346 333 584 12 96 278 566 622 617 559 651 608 238 191 394 348 176 126 432 76 492 188 123 369 80</file>
                 </tool>
             </inputs>
         </file>
         <file>
-            <name>$PROJ_DIR$\..\..\shared\freemodbus\functions\mbfuncfile.c</name>
+            <name>$PROJ_DIR$\..\..\fw\modules\modbus\modbus_ao_params.c</name>
             <outputs>
                 <tool>
                     <name>ICCARM</name>
-                    <file> 511</file>
+                    <file> 132</file>
                 </tool>
                 <tool>
                     <name>BICOMP</name>
-                    <file> 246</file>
+                    <file> 363</file>
                 </tool>
             </outputs>
             <inputs>
                 <tool>
                     <name>ICCARM</name>
-                    <file> 494 257 80 471 430 536 538 438 84 299 646 544 217 202 37 425 309 407 79 63 89 616 223 465 371 442 304 428 60 264 389 200 251 332 156 92 463 282 281 255 504 296 136 351 500 147 160 436 413 571 101 416 135 636 219 195 176 179 697 638 662 663 654 652 386</file>
+                    <file> 55 436 509 404 364 237 180 707 273 164 94 157 390 372 6 545 447 239 599 217 89 172 378 392 581 508 407 103 674 28 212 82 63 397 129 74 641 578 134 630 652 170 355 357 190 185 699 469 2 182 643 525 446 494 666 670 696 346 333 1 96 394 348 176 126 432 76 492 617 188 123 278</file>
                 </tool>
             </inputs>
         </file>
         <file>
-            <name>$PROJ_DIR$\..\..\shared\freemodbus\functions\mbfuncother.c</name>
+            <name>$PROJ_DIR$\..\..\fw\modules\misc\soft_wdt.c</name>
             <outputs>
                 <tool>
                     <name>ICCARM</name>
-                    <file> 418</file>
+                    <file> 95</file>
                 </tool>
                 <tool>
                     <name>BICOMP</name>
-                    <file> 491</file>
+                    <file> 371</file>
                 </tool>
             </outputs>
             <inputs>
                 <tool>
                     <name>ICCARM</name>
-                    <file> 494 257 80 471 430 536 538 438 84 299 646 544 217 202 37 425 309 407 79 63 89 616 223 465 371 442 304 428 60 264 389 200 251 332 156 92 463 282 281 255 504 296 136 351 500 147 160 436 413 571 101 416 135 636 219 195 176 179 697 638 662 663 654 652</file>
+                    <file> 55 436 509 404 364 237 180 707 273 164 94 157 390 372 6 545 447 239 599 217 89 172 378 392 581 508 407 103 674 28 212 82 63 397 129 74 641 578 134 630 652 442 190 185 699 469 2 182 643 525 446 494 666 670 696 566 96</file>
                 </tool>
             </inputs>
         </file>
         <file>
-            <name>$PROJ_DIR$\..\..\libs\thirdparty\rndis\rndis_driver\usbd_rndis_core.c</name>
+            <name>$PROJ_DIR$\..\..\fw\modules\modbus\modbus_dio_params.c</name>
             <outputs>
                 <tool>
                     <name>ICCARM</name>
-                    <file> 295</file>
+                    <file> 687</file>
                 </tool>
                 <tool>
                     <name>BICOMP</name>
-                    <file> 363</file>
+                    <file> 680</file>
                 </tool>
             </outputs>
             <inputs>
                 <tool>
                     <name>ICCARM</name>
-                    <file> 485 202 257 80 471 430 536 314 84 538 299 413 30 567 544 217 37 425 309 407 79 63 89 616 223 465 371 442 304 428 60 264 389 200 251 332 156 92 463 282 281 255 504 296 136 351 500 147 160 510 386 403 234 437 362 488 660</file>
+                    <file> 55 436 509 404 364 237 180 707 273 164 94 157 390 372 6 545 447 239 599 217 89 172 378 392 581 508 407 103 674 28 212 82 63 397 129 74 641 578 134 630 652 501 355 357 190 185 699 469 2 182 643 525 446 494 666 670 696 346 333 1 96 278 282 492 550 394 348 176 126 432 76 617 188 123</file>
                 </tool>
             </inputs>
         </file>
         <file>
-            <name>$PROJ_DIR$\..\..\libs\thirdparty\LwIP\src\core\udp.c</name>
+            <name>$PROJ_DIR$\..\..\fw\modules\modbus\modbus_params.c</name>
             <outputs>
                 <tool>
                     <name>ICCARM</name>
-                    <file> 353</file>
+                    <file> 493</file>
                 </tool>
                 <tool>
                     <name>BICOMP</name>
-                    <file> 265</file>
+                    <file> 226</file>
                 </tool>
             </outputs>
             <inputs>
                 <tool>
                     <name>ICCARM</name>
-                    <file> 693 564 278 446 399 41 386 257 80 471 430 536 538 494 438 413 202 106 33 118 74 107 139 377 674 319 473 440 508 476 529 502 334 148 224 472 496 348 469 109 280 99 112 193 400 541 456 84 299</file>
+                    <file> 55 436 509 404 364 237 180 707 273 164 94 157 390 372 6 545 447 239 599 217 89 172 378 392 581 508 407 103 674 28 212 82 63 397 129 74 641 578 134 630 652 278 355 357 190 185 699 469 2 182 643 525 446 494 666 670 696 346 333 1 96 501 636 170 492 250 9 282 550 617 706 697 394 348 176 126 432 76 188 123 311 401 369 80</file>
                 </tool>
             </inputs>
         </file>
         <file>
-            <name>$PROJ_DIR$\..\..\shared\freemodbus\functions\mbfunccoils.c</name>
+            <name>$PROJ_DIR$\..\..\fw\modules\settings\settings_ao.c</name>
             <outputs>
                 <tool>
                     <name>ICCARM</name>
-                    <file> 287</file>
+                    <file> 203</file>
                 </tool>
                 <tool>
                     <name>BICOMP</name>
-                    <file> 347</file>
+                    <file> 412</file>
                 </tool>
             </outputs>
             <inputs>
                 <tool>
                     <name>ICCARM</name>
-                    <file> 494 257 80 471 430 536 538 438 84 299 646 544 217 202 37 425 309 407 79 63 89 616 223 465 371 442 304 428 60 264 389 200 251 332 156 92 463 282 281 255 504 296 136 351 500 147 160 436 413 571 101 416 135 636 219 195 176 179 697 638 662 663 654 652</file>
+                    <file> 55 436 509 404 364 237 180 707 273 164 94 157 390 372 6 545 447 239 599 217 89 172 378 392 581 508 407 103 674 28 212 82 63 397 129 74 641 578 134 630 652 394 348 96 176 190 185 699 469 2 182 643 525 446 494 666 126 432 76 492 355 357 670 696 346 333 617 188 123 227</file>
                 </tool>
             </inputs>
         </file>
         <file>
-            <name>$PROJ_DIR$\..\..\shared\freemodbus\functions\mbfuncdisc.c</name>
+            <name>$PROJ_DIR$\..\..\fw\modules\log\ringfs_api.c</name>
             <outputs>
                 <tool>
                     <name>ICCARM</name>
-                    <file> 70</file>
+                    <file> 315</file>
                 </tool>
                 <tool>
                     <name>BICOMP</name>
-                    <file> 457</file>
+                    <file> 314</file>
                 </tool>
             </outputs>
             <inputs>
                 <tool>
                     <name>ICCARM</name>
-                    <file> 494 257 80 471 430 536 538 438 84 299 646 544 217 202 37 425 309 407 79 63 89 616 223 465 371 442 304 428 60 264 389 200 251 332 156 92 463 282 281 255 504 296 136 351 500 147 160 436 413 571 101 416 135 636 219 195 176 179 697 638 662 663 654 652</file>
+                    <file> 675 55 436 509 404 364 237 180 707 273 164 94 157 390 372 6 545 447 239 599 217 89 172 378 392 581 508 407 103 674 28 212 82 63 397 129 74 641 578 134 630 652 651 608 699 238 191 487 96 190 185 469 2 182 643 525 446 494 666 9 670 696 126 432 551 587 394 348 176 76 492 355 357 346 333 617 188 123 282 697 706 369 80 16</file>
                 </tool>
             </inputs>
         </file>
         <file>
-            <name>$PROJ_DIR$\..\..\shared\freemodbus\functions\mbfuncdiag.c</name>
+            <name>[ROOT_NODE]</name>
             <outputs>
                 <tool>
-                    <name>ICCARM</name>
-                    <file> 355</file>
-                </tool>
-                <tool>
-                    <name>BICOMP</name>
-                    <file> 167</file>
+                    <name>ILINK</name>
+                    <file> 245 102</file>
                 </tool>
             </outputs>
         </file>
         <file>
-            <name>$PROJ_DIR$\..\..\libs\thirdparty\ringfs\ringfs.c</name>
+            <name>$PROJ_DIR$\..\..\libs\thirdparty\LwIP\src\core\ipv4\ip4.c</name>
             <outputs>
                 <tool>
                     <name>ICCARM</name>
-                    <file> 447</file>
+                    <file> 408</file>
                 </tool>
                 <tool>
                     <name>BICOMP</name>
-                    <file> 232</file>
+                    <file> 500</file>
                 </tool>
             </outputs>
             <inputs>
                 <tool>
                     <name>ICCARM</name>
-                    <file> 173 202 257 80 471 430 536 386 538 494 438 106 314 413 660 544 217 37 425 309 407 79 63 89 616 223 465 371 442 304 428 60 264 389 200 251 332 156 92 463 282 281 255 504 296 136 351 500 147 160</file>
+                    <file> 695 475 66 215 598 276 608 404 364 237 180 707 699 238 191 185 509 16 272 429 704 377 4 602 112 228 211 128 627 249 698 153 120 632 247 125 557 241 405 65 19 5 27 570 635 17 189 561 150 516 420 369 80</file>
                 </tool>
             </inputs>
         </file>
         <file>
-            <name>$PROJ_DIR$\..\..\shared\freemodbus\functions\mbfuncinput.c</name>
+            <name>$PROJ_DIR$\..\..\libs\thirdparty\freertos\list.c</name>
             <outputs>
                 <tool>
                     <name>ICCARM</name>
-                    <file> 352</file>
+                    <file> 514</file>
                 </tool>
                 <tool>
                     <name>BICOMP</name>
-                    <file> 532</file>
+                    <file> 380</file>
                 </tool>
             </outputs>
             <inputs>
                 <tool>
                     <name>ICCARM</name>
-                    <file> 494 257 80 471 430 536 538 438 84 299 646 544 217 202 37 425 309 407 79 63 89 616 223 465 371 442 304 428 60 264 389 200 251 332 156 92 463 282 281 255 504 296 136 351 500 147 160 436 413 571 101 416 135 636 219 195 176 179 697 638 662 663 654 652</file>
+                    <file> 238 404 364 237 180 707 699 191 190 185 509 469 2 182 643 525 446 157 494 666 696</file>
                 </tool>
             </inputs>
         </file>
         <file>
-            <name>$PROJ_DIR$\..\..\libs\thirdparty\LwIP\port\FreeRTOS\sys_arch.c</name>
+            <name>$PROJ_DIR$\..\..\libs\thirdparty\LwIP\src\api\api_msg.c</name>
             <outputs>
                 <tool>
                     <name>ICCARM</name>
-                    <file> 142</file>
+                    <file> 649</file>
                 </tool>
                 <tool>
                     <name>BICOMP</name>
-                    <file> 340</file>
+                    <file> 489</file>
                 </tool>
             </outputs>
             <inputs>
                 <tool>
                     <name>ICCARM</name>
-                    <file> 278 446 399 41 386 257 80 471 430 536 538 494 438 413 202 106 33 693 564 674 324 107 322 436 571 101 416 135 636 219 407 195 176 179 697 228 517 164 529 476 502 334 148</file>
+                    <file> 695 475 66 215 598 276 608 404 364 237 180 707 699 238 191 185 509 16 272 648 602 704 112 228 211 128 4 113 107 190 469 2 182 643 525 446 157 494 666 670 696 432 126 653 27 627 377 249 698 153 120 632 370 646 7 81 219 429 247 125 557 241 635 17 561 19 5 570 133 592 369 80</file>
                 </tool>
             </inputs>
         </file>
         <file>
-            <name>$PROJ_DIR$\..\..\libs\thirdparty\LwIP\src\netif\ethernet.c</name>
+            <name>$PROJ_DIR$\..\..\libs\thirdparty\LwIP\src\core\ipv4\autoip.c</name>
             <outputs>
                 <tool>
                     <name>ICCARM</name>
-                    <file> 276</file>
+                    <file> 195</file>
                 </tool>
                 <tool>
                     <name>BICOMP</name>
-                    <file> 216</file>
+                    <file> 668</file>
                 </tool>
             </outputs>
             <inputs>
                 <tool>
                     <name>ICCARM</name>
-                    <file> 693 564 278 446 399 41 386 257 80 471 430 536 538 494 438 413 202 106 33 321 74 107 139 377 674 319 473 440 508 476 529 502 334 148 434 408 472 496 114 224 348 469 541 84 299 534</file>
+                    <file> 695 475 66 215 598 276 608 404 364 237 180 707 699 238 191 185 509 16 272</file>
                 </tool>
             </inputs>
         </file>
         <file>
-            <name>$PROJ_DIR$\..\..\libs\thirdparty\rndis\dhcp-server\dhserver.c</name>
+            <name>$PROJ_DIR$\..\..\libs\thirdparty\microrl\microrl.c</name>
             <outputs>
                 <tool>
                     <name>ICCARM</name>
-                    <file> 398</file>
+                    <file> 660</file>
                 </tool>
                 <tool>
                     <name>BICOMP</name>
-                    <file> 303</file>
+                    <file> 373</file>
                 </tool>
             </outputs>
             <inputs>
                 <tool>
                     <name>ICCARM</name>
-                    <file> 395 386 257 80 471 430 536 538 202 314 84 299 107 693 564 278 446 399 41 494 438 413 106 33 118 74 139 377 674 319 473 440 508 476 529 502 334 148 224 472 496 348 469 109 131 408 434 114 321 57</file>
+                    <file> 369 404 364 237 180 707 699 80 266 238 191 615 60</file>
                 </tool>
             </inputs>
         </file>
         <file>
-            <name>$PROJ_DIR$\..\..\libs\thirdparty\rndis\rndis_driver\usbd_desc.c</name>
+            <name>$PROJ_DIR$\..\..\libs\thirdparty\freertos\portable\IAR\ARM_CM4F\portasm.s</name>
             <outputs>
                 <tool>
-                    <name>ICCARM</name>
-                    <file> 449</file>
-                </tool>
-                <tool>
-                    <name>BICOMP</name>
-                    <file> 490</file>
+                    <name>AARM</name>
+                    <file> 427</file>
                 </tool>
             </outputs>
             <inputs>
                 <tool>
-                    <name>ICCARM</name>
-                    <file> 30 567 544 217 202 257 80 471 430 536 37 425 309 407 79 63 89 616 223 465 371 442 304 428 60 264 389 200 251 332 156 92 463 282 281 255 504 296 136 351 500 147 160 510 386 538 403 362 488 485 314 84 299 413 234 437 660</file>
+                    <name>AARM</name>
+                    <file> 469</file>
                 </tool>
             </inputs>
         </file>
         <file>
-            <name>$PROJ_DIR$\..\..\libs\thirdparty\LwIP\port\FreeRTOS\ethernetif.c</name>
+            <name>$PROJ_DIR$\..\..\libs\thirdparty\freertos\portable\IAR\ARM_CM4F\port.c</name>
             <outputs>
                 <tool>
                     <name>ICCARM</name>
-                    <file> 275</file>
+                    <file> 277</file>
                 </tool>
                 <tool>
                     <name>BICOMP</name>
-                    <file> 350</file>
+                    <file> 192</file>
                 </tool>
             </outputs>
             <inputs>
                 <tool>
                     <name>ICCARM</name>
-                    <file> 693 564 278 446 399 41 386 257 80 471 430 536 538 494 438 413 202 106 33 674 529 74 107 324 322 436 571 101 416 135 636 219 407 195 176 179 697 228 517 164 476 502 334 148 541 377 319 473 440 508 131 408 139 472 496 434 114 321 523 534 38 160 544 217 37 425 309 79 63 89 616 223 465 371 442 304 428 60 264 389 200 251 332 156 92 463 282 281 255 504 296 136 351 500 147 84 299</file>
+                    <file> 446 157 364 237 180 707 494 190 185 404 699 509 469 2 182 643 525 666 670 696</file>
                 </tool>
             </inputs>
         </file>
         <file>
-            <name>$PROJ_DIR$\..\..\shared\freemodbus\functions\mbutils.c</name>
+            <name>$PROJ_DIR$\..\..\libs\thirdparty\freertos\event_groups.c</name>
             <outputs>
                 <tool>
                     <name>ICCARM</name>
-                    <file> 134</file>
+                    <file> 637</file>
                 </tool>
                 <tool>
                     <name>BICOMP</name>
-                    <file> 492</file>
+                    <file> 382</file>
                 </tool>
             </outputs>
             <inputs>
                 <tool>
                     <name>ICCARM</name>
-                    <file> 494 257 80 471 430 536 538 438 84 299 646 544 217 202 37 425 309 407 79 63 89 616 223 465 371 442 304 428 60 264 389 200 251 332 156 92 463 282 281 255 504 296 136 351 500 147 160 436 413 571 101 416 135 636 219 195 176 179 697 638 662 663</file>
+                    <file> 238 404 364 237 180 707 699 191 190 185 509 469 2 182 643 525 446 157 494 666 670 696 587 551</file>
                 </tool>
             </inputs>
         </file>
         <file>
-            <name>$PROJ_DIR$\..\..\shared\freemodbus\port\portevent.c</name>
+            <name>$PROJ_DIR$\..\..\libs\thirdparty\freertos\queue.c</name>
             <outputs>
                 <tool>
                     <name>ICCARM</name>
-                    <file> 233</file>
+                    <file> 168</file>
                 </tool>
                 <tool>
                     <name>BICOMP</name>
-                    <file> 145</file>
+                    <file> 254</file>
                 </tool>
             </outputs>
             <inputs>
                 <tool>
                     <name>ICCARM</name>
-                    <file> 436 413 257 80 471 430 536 538 202 571 101 416 135 636 219 407 195 176 179 697 228 638 646 544 217 37 425 309 79 63 89 616 223 465 371 442 304 428 60 264 389 200 251 332 156 92 463 282 281 255 504 296 136 351 500 147 160 662 663</file>
+                    <file> 238 404 364 237 180 707 699 191 369 80 190 185 509 469 2 182 643 525 446 157 494 666 670 696 432</file>
                 </tool>
             </inputs>
         </file>
         <file>
-            <name>$PROJ_DIR$\..\..\shared\freemodbus\port\portother.c</name>
+            <name>$PROJ_DIR$\..\..\libs\thirdparty\LwIP\src\api\netdb.c</name>
             <outputs>
                 <tool>
                     <name>ICCARM</name>
-                    <file> 421</file>
+                    <file> 488</file>
                 </tool>
                 <tool>
                     <name>BICOMP</name>
-                    <file> 64</file>
+                    <file> 92</file>
                 </tool>
             </outputs>
             <inputs>
                 <tool>
                     <name>ICCARM</name>
-                    <file> 494 257 80 471 430 536 538 438 436 413 202 571 101 416 135 636 219 407 195 176 179 697 517 228 638 646 544 217 37 425 309 79 63 89 616 223 465 371 442 304 428 60 264 389 200 251 332 156 92 463 282 281 255 504 296 136 351 500 147 160 662 663</file>
+                    <file> 366 695 475 66 215 598 276 608 404 364 237 180 707 699 238 191 185 509 16 272 22 704 602 112 228 211 128 639 4 653 698 153 120 632 249 370 646 377 113 107 190 469 2 182 643 525 446 157 494 666 670 696 432 126 133 369 80</file>
                 </tool>
             </inputs>
         </file>
         <file>
-            <name>$PROJ_DIR$\..\..\libs\thirdparty\rndis\dns-server\dnserver.c</name>
+            <name>$PROJ_DIR$\..\..\libs\artery\usb\src\usbd_int.c</name>
             <outputs>
                 <tool>
                     <name>ICCARM</name>
-                    <file> 253</file>
+                    <file> 671</file>
                 </tool>
                 <tool>
                     <name>BICOMP</name>
-                    <file> 189</file>
+                    <file> 664</file>
                 </tool>
             </outputs>
             <inputs>
                 <tool>
                     <name>ICCARM</name>
-                    <file> 119 202 257 80 471 430 536 314 386 538 84 299 674 446 399 41 494 438 413 106 33 693 564 278 107 118 74 139 377 319 473 440 508 476 529 502 334 148 224 472 496 348 469 109 131 408 434 114 321 57</file>
+                    <file> 204 275 49 55 436 509 404 364 237 180 707 273 164 94 157 390 372 6 545 447 239 599 217 89 172 378 392 581 508 407 103 674 28 212 82 63 397 129 74 641 578 134 630 652 149 608 699 175 311 229</file>
                 </tool>
             </inputs>
         </file>
         <file>
-            <name>$PROJ_DIR$\..\..\shared\peripherals\src\rng.c</name>
+            <name>$PROJ_DIR$\..\..\libs\thirdparty\LwIP\src\api\netifapi.c</name>
             <outputs>
                 <tool>
                     <name>ICCARM</name>
-                    <file> 133</file>
+                    <file> 409</file>
                 </tool>
                 <tool>
                     <name>BICOMP</name>
-                    <file> 426</file>
+                    <file> 146</file>
                 </tool>
             </outputs>
             <inputs>
                 <tool>
                     <name>ICCARM</name>
-                    <file> 493 202 257 80 471 430 536 544 217 37 425 309 407 79 63 89 616 223 465 371 442 304 428 60 264 389 200 251 332 156 92 463 282 281 255 504 296 136 351 500 147 160 386 538 494 438</file>
+                    <file> 695 475 66 215 598 276 608 404 364 237 180 707 699 238 191 185 509 16 272</file>
                 </tool>
             </inputs>
         </file>
         <file>
-            <name>$PROJ_DIR$\..\..\shared\freemodbus\rtu\mbcrc.c</name>
+            <name>$PROJ_DIR$\..\..\libs\thirdparty\LwIP\src\api\sockets.c</name>
             <outputs>
                 <tool>
                     <name>ICCARM</name>
-                    <file> 158</file>
+                    <file> 151</file>
                 </tool>
                 <tool>
                     <name>BICOMP</name>
-                    <file> 375</file>
+                    <file> 453</file>
                 </tool>
             </outputs>
             <inputs>
                 <tool>
                     <name>ICCARM</name>
-                    <file> 646 544 217 202 257 80 471 430 536 37 425 309 407 79 63 89 616 223 465 371 442 304 428 60 264 389 200 251 332 156 92 463 282 281 255 504 296 136 351 500 147 160 436 413 538 571 101 416 135 636 219 195 176 179 697</file>
+                    <file> 695 475 66 215 598 276 608 404 364 237 180 707 699 238 191 185 509 16 272 639 602 704 112 228 211 128 4 22 653 370 646 377 113 107 190 469 2 182 643 525 446 157 494 666 670 696 432 126 27 627 249 698 153 120 632 561 429 247 125 557 241 19 5 570 635 17 7 81 219 369 80</file>
                 </tool>
             </inputs>
         </file>
         <file>
-            <name>$PROJ_DIR$\..\..\shared\utils\extended_sram.c</name>
+            <name>$PROJ_DIR$\..\..\libs\artery\usb\src\usbd_core.c</name>
             <outputs>
                 <tool>
                     <name>ICCARM</name>
-                    <file> 126</file>
+                    <file> 137</file>
                 </tool>
                 <tool>
                     <name>BICOMP</name>
-                    <file> 461</file>
+                    <file> 425</file>
                 </tool>
             </outputs>
             <inputs>
                 <tool>
                     <name>ICCARM</name>
-                    <file> 544 217 202 257 80 471 430 536 37 425 309 407 79 63 89 616 223 465 371 442 304 428 60 264 389 200 251 332 156 92 463 282 281 255 504 296 136 351 500 147 160 535 681 314</file>
+                    <file> 275 49 55 436 509 404 364 237 180 707 273 164 94 157 390 372 6 545 447 239 599 217 89 172 378 392 581 508 407 103 674 28 212 82 63 397 129 74 641 578 134 630 652 149 608 699 175 445</file>
                 </tool>
             </inputs>
         </file>
         <file>
-            <name>$PROJ_DIR$\..\..\shared\peripherals\src\spi_common.c</name>
+            <name>$PROJ_DIR$\..\..\libs\thirdparty\LwIP\src\core\ipv4\etharp.c</name>
             <outputs>
                 <tool>
                     <name>ICCARM</name>
-                    <file> 122</file>
+                    <file> 186</file>
                 </tool>
                 <tool>
                     <name>BICOMP</name>
-                    <file> 475</file>
+                    <file> 263</file>
                 </tool>
             </outputs>
             <inputs>
                 <tool>
                     <name>ICCARM</name>
-                    <file> 544 217 202 257 80 471 430 536 37 425 309 407 79 63 89 616 223 465 371 442 304 428 60 264 389 200 251 332 156 92 463 282 281 255 504 296 136 351 500 147 160 65 314</file>
+                    <file> 695 475 66 215 598 276 608 404 364 237 180 707 699 238 191 185 509 16 272 166 377 4 112 704 228 211 627 602 128 249 698 153 120 632 247 125 198 11 702 196 635 429 557 241 17 516 105 369 80</file>
                 </tool>
             </inputs>
         </file>
         <file>
-            <name>$PROJ_DIR$\..\..\shared\peripherals\src\usb.c</name>
+            <name>$PROJ_DIR$\..\..\libs\thirdparty\freertos\portable\memmang\heap_4.c</name>
             <outputs>
                 <tool>
                     <name>ICCARM</name>
-                    <file> 325</file>
+                    <file> 143</file>
                 </tool>
                 <tool>
                     <name>BICOMP</name>
-                    <file> 675</file>
+                    <file> 628</file>
                 </tool>
             </outputs>
             <inputs>
                 <tool>
                     <name>ICCARM</name>
-                    <file> 544 217 202 257 80 471 430 536 37 425 309 407 79 63 89 616 223 465 371 442 304 428 60 264 389 200 251 332 156 92 463 282 281 255 504 296 136 351 500 147 160 354 30 567 510 386 538 403 362 451</file>
+                    <file> 238 404 364 237 180 707 699 191 190 185 509 469 2 182 643 525 446 157 494 666 670 696</file>
                 </tool>
             </inputs>
         </file>
         <file>
-            <name>$PROJ_DIR$\..\..\shared\freemodbus\rtu\mbrtu.c</name>
+            <name>$PROJ_DIR$\..\..\libs\thirdparty\freertos\FreeRTOS-openocd.c</name>
             <outputs>
                 <tool>
                     <name>ICCARM</name>
-                    <file> 464</file>
+                    <file> 30</file>
                 </tool>
                 <tool>
                     <name>BICOMP</name>
-                    <file> 300</file>
+                    <file> 634</file>
                 </tool>
             </outputs>
             <inputs>
                 <tool>
                     <name>ICCARM</name>
-                    <file> 494 257 80 471 430 536 538 438 84 299 646 544 217 202 37 425 309 407 79 63 89 616 223 465 371 442 304 428 60 264 389 200 251 332 156 92 463 282 281 255 504 296 136 351 500 147 160 436 413 571 101 416 135 636 219 195 176 179 697 638 662 663 373 654 269</file>
+                    <file> 190 185 404 364 237 180 707 699 509 469 2 182 643 525 446 157 494 666</file>
                 </tool>
             </inputs>
         </file>
         <file>
-            <name>$PROJ_DIR$\..\..\shared\peripherals\src\buttons.c</name>
+            <name>$PROJ_DIR$\..\..\libs\thirdparty\LwIP\src\api\api_lib.c</name>
             <outputs>
                 <tool>
                     <name>ICCARM</name>
-                    <file> 521</file>
+                    <file> 700</file>
                 </tool>
                 <tool>
                     <name>BICOMP</name>
-                    <file> 39</file>
+                    <file> 158</file>
                 </tool>
             </outputs>
             <inputs>
                 <tool>
                     <name>ICCARM</name>
-                    <file> 66 544 217 202 257 80 471 430 536 37 425 309 407 79 63 89 616 223 465 371 442 304 428 60 264 389 200 251 332 156 92 463 282 281 255 504 296 136 351 500 147 160 314 256 681 419 436 413 538 571 101 416 135 636 219 195 176 517 228 297 187 638 646 179 697 662 663 117 404 316 660 84 299 386</file>
+                    <file> 695 475 66 215 598 276 608 404 364 237 180 707 699 238 191 185 509 16 272 370 646 377 4 602 704 112 228 211 128 113 107 190 469 2 182 643 525 446 157 494 666 670 696 432 126 653 153 120 632 698 249 429 627 247 125 557 241 570 635 17 648 27 7 81 219 189 561 19 5 150 369 80</file>
                 </tool>
             </inputs>
         </file>
         <file>
-            <name>$PROJ_DIR$\..\..\shared\rtc\rtc.c</name>
+            <name>$PROJ_DIR$\..\..\libs\thirdparty\LwIP\src\api\err.c</name>
             <outputs>
                 <tool>
                     <name>ICCARM</name>
-                    <file> 184</file>
+                    <file> 155</file>
                 </tool>
                 <tool>
                     <name>BICOMP</name>
-                    <file> 452</file>
+                    <file> 207</file>
                 </tool>
             </outputs>
             <inputs>
                 <tool>
                     <name>ICCARM</name>
-                    <file> 100 544 217 202 257 80 471 430 536 37 425 309 407 79 63 89 616 223 465 371 442 304 428 60 264 389 200 251 332 156 92 463 282 281 255 504 296 136 351 500 147 160 256 681 314 419 436 413 538 571 101 416 135 636 219 195 176 517 228 297 187 638 646 179 697 662 663 117 404 316 660 84 299 386</file>
+                    <file> 4 695 475 66 215 598 276 608 404 364 237 180 707 699 238 191 185 509 16 272 704 113 107 190 469 2 182 643 525 446 157 494 666 670 696 432 126 653</file>
                 </tool>
             </inputs>
         </file>
         <file>
-            <name>$PROJ_DIR$\..\..\shared\utils\utility.c</name>
+            <name>$PROJ_DIR$\..\..\libs\thirdparty\LwIP\src\api\netbuf.c</name>
             <outputs>
                 <tool>
                     <name>ICCARM</name>
-                    <file> 454</file>
+                    <file> 208</file>
                 </tool>
                 <tool>
                     <name>BICOMP</name>
-                    <file> 178</file>
+                    <file> 490</file>
                 </tool>
             </outputs>
             <inputs>
                 <tool>
                     <name>ICCARM</name>
-                    <file> 436 413 257 80 471 430 536 538 202 571 101 416 135 636 219 407 195 176 179 697 228 517 323 429 544 217 37 425 309 79 63 89 616 223 465 371 442 304 428 60 264 389 200 251 332 156 92 463 282 281 255 504 296 136 351 500 147 160 386 84 299</file>
+                    <file> 695 475 66 215 598 276 608 404 364 237 180 707 699 238 191 185 509 16 272 646 377 4 602 704 112 228 211 128 153 120 632 698 249 369 80</file>
                 </tool>
             </inputs>
         </file>
         <file>
-            <name>$PROJ_DIR$\..\..\shared\utils\at32f403a_407_board.c</name>
+            <name>$PROJ_DIR$\..\..\libs\artery\usb\src\usbd_sdr.c</name>
             <outputs>
                 <tool>
                     <name>ICCARM</name>
-                    <file> 422</file>
+                    <file> 421</file>
                 </tool>
                 <tool>
                     <name>BICOMP</name>
-                    <file> 88</file>
+                    <file> 507</file>
                 </tool>
             </outputs>
             <inputs>
                 <tool>
                     <name>ICCARM</name>
-                    <file> 510 386 257 80 471 430 536 538 544 217 202 37 425 309 407 79 63 89 616 223 465 371 442 304 428 60 264 389 200 251 332 156 92 463 282 281 255 504 296 136 351 500 147 160</file>
+                    <file> 445 275 49 55 436 509 404 364 237 180 707 273 164 94 157 390 372 6 545 447 239 599 217 89 172 378 392 581 508 407 103 674 28 212 82 63 397 129 74 641 578 134 630 652 149 608 699 175 311</file>
                 </tool>
             </inputs>
         </file>
         <file>
-            <name>$PROJ_DIR$\..\..\shared\freemodbus\port\tim_delay.c</name>
+            <name>$PROJ_DIR$\..\..\libs\thirdparty\freertos\croutine.c</name>
             <outputs>
                 <tool>
                     <name>ICCARM</name>
-                    <file> 283</file>
+                    <file> 431</file>
                 </tool>
                 <tool>
                     <name>BICOMP</name>
-                    <file> 342</file>
+                    <file> 419</file>
                 </tool>
             </outputs>
             <inputs>
                 <tool>
                     <name>ICCARM</name>
-                    <file> 544 217 202 257 80 471 430 536 37 425 309 407 79 63 89 616 223 465 371 442 304 428 60 264 389 200 251 332 156 92 463 282 281 255 504 296 136 351 500 147 160 87 314 298</file>
+                    <file> 190 185 404 364 237 180 707 699 509 469 2 182 643 525 446 157 494 666 670 696 657</file>
                 </tool>
             </inputs>
         </file>
         <file>
-            <name>$PROJ_DIR$\..\..\shared\wdt\wdt.c</name>
+            <name>$PROJ_DIR$\..\..\libs\thirdparty\freertos\tasks.c</name>
             <outputs>
                 <tool>
                     <name>ICCARM</name>
-                    <file> 431</file>
+                    <file> 549</file>
                 </tool>
                 <tool>
                     <name>BICOMP</name>
-                    <file> 482</file>
+                    <file> 14</file>
                 </tool>
             </outputs>
             <inputs>
                 <tool>
                     <name>ICCARM</name>
-                    <file> 544 217 202 257 80 471 430 536 37 425 309 407 79 63 89 616 223 465 371 442 304 428 60 264 389 200 251 332 156 92 463 282 281 255 504 296 136 351 500 147 160 390</file>
+                    <file> 238 404 364 237 180 707 699 191 369 80 190 185 509 469 2 182 643 525 446 157 494 666 670 696 587 365 608</file>
                 </tool>
             </inputs>
         </file>
         <file>
-            <name>$PROJ_DIR$\..\..\shared\sys\sys_hal.c</name>
+            <name>$PROJ_DIR$\..\..\libs\artery\system\at32f403a_407_clock.c</name>
             <outputs>
                 <tool>
                     <name>ICCARM</name>
-                    <file> 506</file>
+                    <file> 117</file>
                 </tool>
                 <tool>
                     <name>BICOMP</name>
-                    <file> 103</file>
+                    <file> 586</file>
                 </tool>
             </outputs>
             <inputs>
                 <tool>
                     <name>ICCARM</name>
-                    <file> 202 257 80 471 430 536 308 297 314 660 544 217 37 425 309 407 79 63 89 616 223 465 371 442 304 428 60 264 389 200 251 332 156 92 463 282 281 255 504 296 136 351 500 147 160 640 386 538</file>
+                    <file> 600 55 436 509 404 364 237 180 707 273 164 94 157 390 372 6 545 447 239 599 217 89 172 378 392 581 508 407 103 674 28 212 82 63 397 129 74 641 578 134 630 652</file>
                 </tool>
             </inputs>
         </file>
         <file>
-            <name>$PROJ_DIR$\..\..\shared\freemodbus\mb.c</name>
+            <name>$PROJ_DIR$\..\..\libs\thirdparty\LwIP\src\api\tcpip.c</name>
             <outputs>
                 <tool>
                     <name>ICCARM</name>
-                    <file> 197</file>
+                    <file> 218</file>
                 </tool>
                 <tool>
                     <name>BICOMP</name>
-                    <file> 272</file>
+                    <file> 216</file>
                 </tool>
             </outputs>
             <inputs>
                 <tool>
                     <name>ICCARM</name>
-                    <file> 494 257 80 471 430 536 538 438 84 299 646 544 217 202 37 425 309 407 79 63 89 616 223 465 371 442 304 428 60 264 389 200 251 332 156 92 463 282 281 255 504 296 136 351 500 147 160 436 413 571 101 416 135 636 219 195 176 179 697 638 662 663 652 654 661 373</file>
+                    <file> 695 475 66 215 598 276 608 404 364 237 180 707 699 238 191 185 509 16 272 7 81 4 219 113 107 190 469 2 182 643 525 446 157 494 666 670 696 432 126 653 627 602 704 112 228 211 128 377 249 698 153 120 632 511 429 247 125 557 241 166 198 11 105</file>
                 </tool>
             </inputs>
         </file>
         <file>
-            <name>$PROJ_DIR$\..\..\shared\peripherals\src\common_gpio.c</name>
+            <name>$PROJ_DIR$\..\..\libs\thirdparty\LwIP\src\core\ipv4\icmp.c</name>
             <outputs>
                 <tool>
                     <name>ICCARM</name>
-                    <file> 90</file>
+                    <file> 244</file>
                 </tool>
                 <tool>
                     <name>BICOMP</name>
-                    <file> 676</file>
+                    <file> 361</file>
                 </tool>
             </outputs>
             <inputs>
                 <tool>
                     <name>ICCARM</name>
-                    <file> 544 217 202 257 80 471 430 536 37 425 309 407 79 63 89 616 223 465 371 442 304 428 60 264 389 200 251 332 156 92 463 282 281 255 504 296 136 351 500 147 160 359 314 436 413 538 571 101 416 135 636 219 195 176 179 697 187</file>
+                    <file> 695 475 66 215 598 276 608 404 364 237 180 707 699 238 191 185 509 16 272 19 377 4 602 704 112 228 211 128 627 249 698 153 120 632 5 65 429 247 125 557 241 369 80</file>
                 </tool>
             </inputs>
         </file>
         <file>
-            <name>$PROJ_DIR$\..\..\shared\sys\sys_api.c</name>
+            <name>$PROJ_DIR$\..\..\libs\thirdparty\LwIP\src\core\ipv4\dhcp.c</name>
             <outputs>
                 <tool>
                     <name>ICCARM</name>
-                    <file> 290</file>
+                    <file> 645</file>
                 </tool>
                 <tool>
                     <name>BICOMP</name>
-                    <file> 294</file>
+                    <file> 391</file>
                 </tool>
             </outputs>
             <inputs>
                 <tool>
                     <name>ICCARM</name>
-                    <file> 202 257 80 471 430 536 297 314 308 256 544 217 37 425 309 407 79 63 89 616 223 465 371 442 304 428 60 264 389 200 251 332 156 92 463 282 281 255 504 296 136 351 500 147 160 681 419 436 413 538 571 101 416 135 636 219 195 176 517 228 187 638 646 179 697 662 663 117 404 316 660 640 100 84 299 386</file>
+                    <file> 695 475 66 215 598 276 608 404 364 237 180 707 699 238 191 185 509 16 272 249 698 153 120 632 635 377 4 627 602 704 112 228 211 128 429 247 125 557 241 17 196 516 133 166 198 11 420 369 80</file>
                 </tool>
             </inputs>
         </file>
         <file>
-            <name>$PROJ_DIR$\..\..\fw\modules\log\log_ai.c</name>
+            <name>$PROJ_DIR$\..\..\libs\thirdparty\freertos\fr_timers.c</name>
             <outputs>
+                <tool>
+                    <name>ICCARM</name>
+                    <file> 403</file>
+                </tool>
                 <tool>
                     <name>BICOMP</name>
-                    <file> 704</file>
+                    <file> 505</file>
                 </tool>
             </outputs>
             <inputs>
                 <tool>
                     <name>ICCARM</name>
-                    <file> 544 217 202 257 80 471 430 536 37 425 309 407 79 63 89 616 223 465 371 442 304 428 60 264 389 200 251 332 156 92 463 282 281 255 504 296 136 351 500 147 160 700 256 681 314 419 436 413 538 571 101 416 135 636 219 195 176 517 228 297 187 638 646 179 697 662 663 117 404 316</file>
+                    <file> 238 404 364 237 180 707 699 191 190 185 509 469 2 182 643 525 446 157 494 666 670 696 432 587</file>
                 </tool>
             </inputs>
         </file>
         <file>
-            <name>$PROJ_DIR$\..\..\fw\modules\log\log_dio.c</name>
+            <name>$PROJ_DIR$\..\..\libs\thirdparty\LwIP\src\core\ipv4\igmp.c</name>
             <outputs>
                 <tool>
                     <name>ICCARM</name>
-                    <file> 703</file>
+                    <file> 694</file>
                 </tool>
                 <tool>
                     <name>BICOMP</name>
-                    <file> 705</file>
+                    <file> 656</file>
                 </tool>
             </outputs>
             <inputs>
                 <tool>
                     <name>ICCARM</name>
-                    <file> 544 217 202 257 80 471 430 536 37 425 309 407 79 63 89 616 223 465 371 442 304 428 60 264 389 200 251 332 156 92 463 282 281 255 504 296 136 351 500 147 160 701 256 681 314 419 436 413 538 571 101 416 135 636 219 195 176 517 228 297 187 638 646 179 697 662 663 117 404 316</file>
+                    <file> 695 475 66 215 598 276 608 404 364 237 180 707 699 238 191 185 509 16 272</file>
                 </tool>
             </inputs>
         </file>

+ 3 - 0
project/ewarm/module_universal_io.ewp

@@ -2221,6 +2221,9 @@
                 <file>
                     <name>$PROJ_DIR$\..\..\fw\modules\log\log_dio.c</name>
                 </file>
+                <file>
+                    <name>$PROJ_DIR$\..\..\fw\modules\log\ringfs_api.c</name>
+                </file>
             </group>
             <group>
                 <name>misc</name>

+ 3 - 0
project/ewarm/module_universal_io.ewt

@@ -2429,6 +2429,9 @@
                 <file>
                     <name>$PROJ_DIR$\..\..\fw\modules\log\log_dio.c</name>
                 </file>
+                <file>
+                    <name>$PROJ_DIR$\..\..\fw\modules\log\ringfs_api.c</name>
+                </file>
             </group>
             <group>
                 <name>misc</name>

+ 0 - 0
shared/board/common_config.h