From b6978c385a7d704890113c552f62c8f9e9bfb296 Mon Sep 17 00:00:00 2001 From: Razvalyaev Date: Mon, 3 Mar 2025 13:05:37 +0300 Subject: [PATCH] =?UTF-8?q?=D0=9F=D0=B5=D1=80=D0=B5=D1=81=D1=82=D1=80?= =?UTF-8?q?=D1=83=D0=BA=D1=82=D1=83=D1=80=D0=B8=D1=80=D0=BE=D0=B2=D0=B0?= =?UTF-8?q?=D0=BD=20=D0=BF=D1=80=D0=BE=D0=B5=D0=BA=D1=82,=20=D0=BF=D0=B5?= =?UTF-8?q?=D1=80=D0=B5=D0=BD=D0=B5=D1=81=D0=B5=D0=BD=D0=B0=20=D0=B2=D0=B5?= =?UTF-8?q?=D1=82=D0=BA=D0=B0=20=D1=82=D0=B5=D1=81=D1=82=D0=B8=D1=80=D0=BE?= =?UTF-8?q?=D0=B2=D0=B0=D0=BD=D0=B8=D1=8F=20modbus=20=D0=B8=20=D1=87=D1=83?= =?UTF-8?q?=D1=82=D1=8C=20=D1=81=D0=BA=D0=BE=D0=BC=D0=BF=D1=80=D0=B5=D1=81?= =?UTF-8?q?=D1=81=D0=B8=D1=80=D0=BE=D0=B2=D0=B0=D0=BD=D0=BD=D0=B0=D1=8F=20?= =?UTF-8?q?=D0=B1=D0=B8=D0=B1=D0=BB=D0=B8=D0=BE=D1=82=D0=B5=D0=BA=D0=B0=20?= =?UTF-8?q?dallas?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- Core/Dallas/dallas_tools.c | 125 +- Core/Dallas/dallas_tools.h | 57 +- Core/Dallas/ds18b20_driver.c | 58 +- Core/Dallas/ds18b20_driver.h | 4 +- Core/Dallas/pch_sensors.c | 146 +- Core/Dallas/pch_sensors.h | 37 +- Core/Modbus/crc_algs.c | 124 +- Core/Modbus/rs_message.c | 33 +- Core/Src/main.c | 11 + Core/Src/py32f002b_it.c | 17 + MDK-ARM/{Project.uvoptx => PY32Dallas.uvoptx} | 37 +- .../{Project.uvprojx => PY32Dallas.uvprojx} | 71 +- MDK-ARM/Project.uvguix.I | 3986 ----------------- .../RTE/_PY32F002Bx5_Project/RTE_Components.h | 2 +- 14 files changed, 387 insertions(+), 4321 deletions(-) rename MDK-ARM/{Project.uvoptx => PY32Dallas.uvoptx} (98%) rename MDK-ARM/{Project.uvprojx => PY32Dallas.uvprojx} (90%) delete mode 100644 MDK-ARM/Project.uvguix.I diff --git a/Core/Dallas/dallas_tools.c b/Core/Dallas/dallas_tools.c index 494d24c..8ace0bf 100644 --- a/Core/Dallas/dallas_tools.c +++ b/Core/Dallas/dallas_tools.c @@ -18,6 +18,7 @@ /* Declarations and definitions --------------------------------------------*/ +DALLAS_HandleTypeDef hdallas1; /* Functions ---------------------------------------------------------------*/ /** @@ -25,7 +26,7 @@ * @param sensor Указатель на структуру датчика * @retval HAL Status */ -HAL_StatusTypeDef Dallas_ReplaceLostedSensor(DALLAS_HandleTypeDef *sensor) +HAL_StatusTypeDef Dallas_ReplaceLostedSensor(DALLAS_SensorHandleTypeDef *sensor) { HAL_StatusTypeDef result; @@ -40,7 +41,7 @@ HAL_StatusTypeDef Dallas_ReplaceLostedSensor(DALLAS_HandleTypeDef *sensor) if(DS18B20_Search(&DS, &OW) != HAL_OK) return HAL_ERROR; - if(sensor->Init.init_func(sensor->onewire, sensor) != HAL_OK) + if(sensor->Init.init_func(sensor->hdallas->onewire, sensor) != HAL_OK) return HAL_ERROR; return HAL_OK; @@ -58,18 +59,18 @@ HAL_StatusTypeDef Dallas_ReplaceLostedSensor(DALLAS_HandleTypeDef *sensor) * @param sensor Указатель на структуру датчика * @retval HAL Status */ -HAL_StatusTypeDef Dallas_AddNewSensors(OneWire_t *onewire, DALLAS_HandleTypeDef *sensor) +HAL_StatusTypeDef Dallas_AddNewSensors(DALLAS_HandleTypeDef *hdallas, DALLAS_SensorHandleTypeDef *sensor) { HAL_StatusTypeDef result; - if(onewire == NULL) + if(hdallas == NULL) return HAL_ERROR; if(sensor == NULL) return HAL_ERROR; - sensor->onewire = onewire; + sensor->hdallas = hdallas; - result = sensor->Init.init_func(onewire, sensor); + result = sensor->Init.init_func(hdallas, sensor); return result; } @@ -82,31 +83,31 @@ HAL_StatusTypeDef Dallas_AddNewSensors(OneWire_t *onewire, DALLAS_HandleTypeDef * @param sensor Указатель на структуру датчика * @retval HAL Status */ -HAL_StatusTypeDef Dallas_SensorInitByROM(OneWire_t *onewire, DALLAS_HandleTypeDef *sensor) +HAL_StatusTypeDef Dallas_SensorInitByROM(DALLAS_HandleTypeDef *hdallas, DALLAS_SensorHandleTypeDef *sensor) { HAL_StatusTypeDef result; - if(onewire == NULL) + if(hdallas == NULL) return HAL_ERROR; if(sensor == NULL) return HAL_ERROR; uint8_t ROM[8] = {0}; - ROM[0] = (sensor->Init.ROM >> (7*8)) & 0xFF; - ROM[1] = (sensor->Init.ROM >> (6*8)) & 0xFF; - ROM[2] = (sensor->Init.ROM >> (5*8)) & 0xFF; - ROM[3] = (sensor->Init.ROM >> (4*8)) & 0xFF; - ROM[4] = (sensor->Init.ROM >> (3*8)) & 0xFF; - ROM[5] = (sensor->Init.ROM >> (2*8)) & 0xFF; - ROM[6] = (sensor->Init.ROM >> (1*8)) & 0xFF; - ROM[7] = (sensor->Init.ROM >> (0*8)) & 0xFF; + ROM[0] = (sensor->Init.InitParam >> (7*8)) & 0xFF; + ROM[1] = (sensor->Init.InitParam >> (6*8)) & 0xFF; + ROM[2] = (sensor->Init.InitParam >> (5*8)) & 0xFF; + ROM[3] = (sensor->Init.InitParam >> (4*8)) & 0xFF; + ROM[4] = (sensor->Init.InitParam >> (3*8)) & 0xFF; + ROM[5] = (sensor->Init.InitParam >> (2*8)) & 0xFF; + ROM[6] = (sensor->Init.InitParam >> (1*8)) & 0xFF; + ROM[7] = (sensor->Init.InitParam >> (0*8)) & 0xFF; if(DS18B20_IsValidAddress(ROM) != HAL_OK) return HAL_ERROR; uint8_t comparebytes = DALLAS_ROM_SIZE; int ROM_ind = 0; - for(int i = 0; i < onewire->RomCnt; i++) + for(int i = 0; i < hdallas->onewire->RomCnt; i++) { comparebytes = DALLAS_ROM_SIZE; for(int rom_byte = 0; rom_byte < DALLAS_ROM_SIZE; rom_byte++) @@ -125,7 +126,7 @@ HAL_StatusTypeDef Dallas_SensorInitByROM(OneWire_t *onewire, DALLAS_HandleTypeDe if(comparebytes == 0) { - result = Dallas_SensorInit(onewire, sensor, &DS.DevAddr[ROM_ind]); + result = Dallas_SensorInit(hdallas, sensor, &DS.DevAddr[ROM_ind]); return result; } else @@ -144,35 +145,34 @@ HAL_StatusTypeDef Dallas_SensorInitByROM(OneWire_t *onewire, DALLAS_HandleTypeDe * @param sensor Указатель на структуру датчика * @retval HAL Status */ -HAL_StatusTypeDef Dallas_SensorInitByUserBytes(OneWire_t *onewire, DALLAS_HandleTypeDef *sensor) +HAL_StatusTypeDef Dallas_SensorInitByUserBytes(DALLAS_HandleTypeDef *hdallas, DALLAS_SensorHandleTypeDef *sensor) { HAL_StatusTypeDef result; - if(onewire == NULL) + if(hdallas == NULL) return HAL_ERROR; if(sensor == NULL) return HAL_ERROR; - uint8_t UserByte1 = sensor->Init.UserBytes12 & 0xFF; - uint8_t UserByte2 = sensor->Init.UserBytes12 >> 8; - uint8_t UserByte3 = sensor->Init.UserBytes34 & 0xFF; - uint8_t UserByte4 = sensor->Init.UserBytes34 >> 8; + uint8_t UserByte1 = sensor->Init.InitParam & 0xFF; + uint8_t UserByte2 = sensor->Init.InitParam >> 8; + uint8_t UserByte3 = (sensor->Init.InitParam >> 16) & 0xFF; + uint8_t UserByte4 = (sensor->Init.InitParam >> 16) >> 8; uint8_t UserByte12Cmp = 0; uint8_t UserByte34Cmp = 0; - DALLAS_ScratchpadTypeDef scratchpad; - for(int i = 0; i < onewire->RomCnt; i++) + for(int i = 0; i < hdallas->onewire->RomCnt; i++) { /* Проверка присутствует ли выбранный датчик на линии */ - result = DS18B20_ReadScratchpad(onewire, (uint8_t *)&DS.DevAddr[i], (uint8_t *)&scratchpad); + result = DS18B20_ReadScratchpad(hdallas->onewire, (uint8_t *)&DS.DevAddr[i], (uint8_t *)&hdallas->scratchpad); if (result != HAL_OK) return result; /* Сравнение UserByte1 и UserByte2, если они не равны нулю */ - if(sensor->Init.UserBytes12 != NULL) + if((sensor->Init.InitParam & 0xFFFF) != NULL) { - if( (scratchpad.tHighRegister == UserByte1) && - (scratchpad.tLowRegister == UserByte2)) + if( (hdallas->scratchpad.tHighRegister == UserByte1) && + (hdallas->scratchpad.tLowRegister == UserByte2)) { UserByte12Cmp = 1; } @@ -182,10 +182,10 @@ HAL_StatusTypeDef Dallas_SensorInitByUserBytes(OneWire_t *onewire, DALLAS_Handle UserByte12Cmp = 1; } /* Сравнение UserByte3 и UserByte4, если они не равны нулю */ - if(sensor->Init.UserBytes34 != NULL) + if((sensor->Init.InitParam & 0xFFFF0000) != NULL) { - if( (scratchpad.UserByte3 == UserByte3) && - (scratchpad.UserByte4 == UserByte4)) + if( (hdallas->scratchpad.UserByte3 == UserByte3) && + (hdallas->scratchpad.UserByte4 == UserByte4)) { UserByte34Cmp = 1; } @@ -199,13 +199,12 @@ HAL_StatusTypeDef Dallas_SensorInitByUserBytes(OneWire_t *onewire, DALLAS_Handle { // sensor->isInitialized = 1; // sensor->Init.init_func = (HAL_StatusTypeDef (*)())Dallas_SensorInitByUserBytes; - result = Dallas_SensorInit(onewire, sensor, &DS.DevAddr[i]); + result = Dallas_SensorInit(hdallas, sensor, &DS.DevAddr[i]); return result; } } sensor->sensROM = 0; - memset(&sensor->scratchpad, 0, sizeof(DALLAS_ScratchpadTypeDef)); /* Возвращаем ошибку если не нашли */ return HAL_ERROR; } @@ -218,20 +217,16 @@ HAL_StatusTypeDef Dallas_SensorInitByUserBytes(OneWire_t *onewire, DALLAS_Handle * @details Порядковый номер датчика в списке найденных. * Т.е. каким по счету этот датчик был найден */ -HAL_StatusTypeDef Dallas_SensorInitByInd(OneWire_t *onewire, DALLAS_HandleTypeDef *sensor) +HAL_StatusTypeDef Dallas_SensorInitByInd(DALLAS_HandleTypeDef *hdallas, DALLAS_SensorHandleTypeDef *sensor) { HAL_StatusTypeDef result; - if(onewire == NULL) + if(hdallas == NULL) return HAL_ERROR; if(sensor == NULL) return HAL_ERROR; -// sensor->onewire = onewire; -// sensor->sensROM = &DS.DevAddr[sensor->Init.SensInd]; -// sensor->Init.init_func = (HAL_StatusTypeDef (*)())Dallas_SensorInitByInd; - - result = Dallas_SensorInit(onewire, sensor, &DS.DevAddr[sensor->Init.SensInd]); + result = Dallas_SensorInit(hdallas, sensor, &DS.DevAddr[sensor->Init.InitParam]); return result; } @@ -243,27 +238,27 @@ HAL_StatusTypeDef Dallas_SensorInitByInd(OneWire_t *onewire, DALLAS_HandleTypeDe * @param ROM ROM датчика, который надо инициализировать * @retval HAL Status */ -HAL_StatusTypeDef Dallas_SensorInit(OneWire_t *onewire, DALLAS_HandleTypeDef *sensor, uint8_t (*ROM)[DALLAS_ROM_SIZE]) +HAL_StatusTypeDef Dallas_SensorInit(DALLAS_HandleTypeDef *hdallas, DALLAS_SensorHandleTypeDef *sensor, uint8_t (*ROM)[DALLAS_ROM_SIZE]) { HAL_StatusTypeDef result; if(sensor == NULL) return HAL_ERROR; - if(onewire == 0) + if(hdallas == 0) return HAL_ERROR; - sensor->onewire = onewire; + sensor->hdallas = hdallas; sensor->sensROM = 0; sensor->sensROM = *(uint64_t *)(ROM); // for(int i = 0; i < DALLAS_ROM_SIZE; i++) // sensor->sensROM |= ((uint64_t)(*ROM)[i] << (56 - 8*i)); /* Проверка присутствует ли выбранный датчик на линии */ - result = DS18B20_ReadScratchpad(sensor->onewire, (uint8_t *)&sensor->sensROM, (uint8_t *)&sensor->scratchpad); + result = DS18B20_ReadScratchpad(hdallas->onewire, (uint8_t *)&sensor->sensROM, (uint8_t *)&hdallas->scratchpad); if (result == HAL_OK) { /* Установка разрешения */ - result = DS18B20_SetResolution(onewire, (uint8_t *)ROM, sensor->Init.Resolution); + result = DS18B20_SetResolution(hdallas->onewire, (uint8_t *)ROM, sensor->Init.Resolution); if (result == HAL_OK) { sensor->isInitialized = 1; @@ -289,14 +284,14 @@ HAL_StatusTypeDef Dallas_SensorInit(OneWire_t *onewire, DALLAS_HandleTypeDef *se * @param sens_ind Порядковый номер датчика в структуре * @retval HAL Status */ -HAL_StatusTypeDef Dallas_SensorDeInit(DALLAS_HandleTypeDef *sensor) +HAL_StatusTypeDef Dallas_SensorDeInit(DALLAS_SensorHandleTypeDef *sensor) { if(sensor == NULL) return HAL_ERROR; DALLAS_InitStructTypeDef initbuff = sensor->Init; - memset(sensor, 0, sizeof(DALLAS_HandleTypeDef)); + memset(sensor, 0, sizeof(DALLAS_SensorHandleTypeDef)); sensor->Init = initbuff; @@ -310,16 +305,16 @@ HAL_StatusTypeDef Dallas_SensorDeInit(DALLAS_HandleTypeDef *sensor) * @param dallas_delay_ms Время ожидания окончания конверсии * @retval HAL Status */ -HAL_StatusTypeDef Dallas_StartConvertTAll(OneWire_t *onewire, DALLAS_WaitConvertionTypeDef waitCondition, uint8_t dallas_delay_ms) +HAL_StatusTypeDef Dallas_StartConvertTAll(DALLAS_HandleTypeDef *hdallas, DALLAS_WaitConvertionTypeDef waitCondition, uint8_t dallas_delay_ms) { HAL_StatusTypeDef result; uint8_t rxDummyData; - if(onewire == NULL) + if(hdallas == NULL) return HAL_ERROR; // Отправка команды начала преобразования температуры - result = DS18B20_StartConvTAll(onewire); + result = DS18B20_StartConvTAll(hdallas->onewire); if(result != HAL_OK) { return result; @@ -331,7 +326,7 @@ HAL_StatusTypeDef Dallas_StartConvertTAll(OneWire_t *onewire, DALLAS_WaitConvert // Ожидание завершения преобразования, путем проверки шины if (waitCondition == DALLAS_WAIT_BUS) { - result = DS18B20_WaitForEndConvertion(onewire); + result = DS18B20_WaitForEndConvertion(hdallas->onewire); return result; } @@ -374,7 +369,7 @@ HAL_StatusTypeDef Dallas_StartConvertTAll(OneWire_t *onewire, DALLAS_WaitConvert * @param waitCondition Условие ожидания завершения преобразования * @retval HAL Status */ -HAL_StatusTypeDef Dallas_ConvertT(DALLAS_HandleTypeDef *sensor, DALLAS_WaitConvertionTypeDef waitCondition) +HAL_StatusTypeDef Dallas_ConvertT(DALLAS_SensorHandleTypeDef *sensor, DALLAS_WaitConvertionTypeDef waitCondition) { HAL_StatusTypeDef result; uint8_t rxDummyData; @@ -390,7 +385,7 @@ HAL_StatusTypeDef Dallas_ConvertT(DALLAS_HandleTypeDef *sensor, DALLAS_WaitConve return result; // Отправка команды начала преобразования температуры - result = DS18B20_StartConvT(sensor->onewire, (uint8_t *)&sensor->sensROM); + result = DS18B20_StartConvT(sensor->hdallas->onewire, (uint8_t *)&sensor->sensROM); if(result != HAL_OK) { return result; @@ -399,7 +394,7 @@ HAL_StatusTypeDef Dallas_ConvertT(DALLAS_HandleTypeDef *sensor, DALLAS_WaitConve // Ожидание завершения преобразования, путем проверки шины if (waitCondition == DALLAS_WAIT_BUS) { - result = DS18B20_WaitForEndConvertion(sensor->onewire); + result = DS18B20_WaitForEndConvertion(sensor->hdallas->onewire); if(result == HAL_TIMEOUT) { sensor->f.timeout_convertion_cnt++; @@ -412,7 +407,7 @@ HAL_StatusTypeDef Dallas_ConvertT(DALLAS_HandleTypeDef *sensor, DALLAS_WaitConve { uint32_t delayValueMs = 0; - switch (sensor->scratchpad.ConfigRegister) + switch (sensor->hdallas->scratchpad.ConfigRegister) { case DALLAS_CONFIG_9_BITS: delayValueMs = DALLAS_DELAY_MS_9_BITS; @@ -452,7 +447,7 @@ HAL_StatusTypeDef Dallas_ConvertT(DALLAS_HandleTypeDef *sensor, DALLAS_WaitConve * @param sensor Указатель на структуру датчика * @retval HAL Status */ -HAL_StatusTypeDef Dallas_ReadTemperature(DALLAS_HandleTypeDef *sensor) +HAL_StatusTypeDef Dallas_ReadTemperature(DALLAS_SensorHandleTypeDef *sensor) { HAL_StatusTypeDef result; @@ -467,7 +462,7 @@ HAL_StatusTypeDef Dallas_ReadTemperature(DALLAS_HandleTypeDef *sensor) return result; - result = DS18B20_CalcTemperature(sensor->onewire, (uint8_t *)&sensor->sensROM, (uint8_t *)&sensor->scratchpad, &sensor->temperature); + result = DS18B20_CalcTemperature(sensor->hdallas->onewire, (uint8_t *)&sensor->sensROM, (uint8_t *)&sensor->hdallas->scratchpad, &sensor->temperature); if (result != HAL_OK) { @@ -483,14 +478,14 @@ HAL_StatusTypeDef Dallas_ReadTemperature(DALLAS_HandleTypeDef *sensor) * @param sensor Указатель на структуру датчика * @retval HAL Status */ -HAL_StatusTypeDef Dallas_IsConnected(DALLAS_HandleTypeDef *sensor) +HAL_StatusTypeDef Dallas_IsConnected(DALLAS_SensorHandleTypeDef *sensor) { HAL_StatusTypeDef result; if(sensor->isInitialized == 0) return HAL_ERROR; - result = DS18B20_ReadScratchpad(sensor->onewire, (uint8_t *)&sensor->sensROM, (uint8_t *)&sensor->scratchpad); + result = DS18B20_ReadScratchpad(sensor->hdallas->onewire, (uint8_t *)&sensor->sensROM, (uint8_t *)&sensor->hdallas->scratchpad); if (result == HAL_OK) { @@ -522,7 +517,7 @@ HAL_StatusTypeDef Dallas_IsConnected(DALLAS_HandleTypeDef *sensor) * @retval HAL Status * @details старший байт - UserByte4/UserByte2, младший - UserByte3/UserByte1. */ -HAL_StatusTypeDef Dallas_WriteUserBytes(DALLAS_HandleTypeDef *sensor, uint16_t UserBytes12, uint16_t UserBytes34, uint8_t UserBytesMask) +HAL_StatusTypeDef Dallas_WriteUserBytes(DALLAS_SensorHandleTypeDef *sensor, uint16_t UserBytes12, uint16_t UserBytes34, uint8_t UserBytesMask) { HAL_StatusTypeDef result; @@ -534,13 +529,13 @@ HAL_StatusTypeDef Dallas_WriteUserBytes(DALLAS_HandleTypeDef *sensor, uint16_t U if (result != HAL_OK) return result; - result = DS18B20_WriteUserBytes(sensor->onewire, (uint8_t *)&sensor->sensROM, UserBytes12, UserBytes34, UserBytesMask); + result = DS18B20_WriteUserBytes(sensor->hdallas->onewire, (uint8_t *)&sensor->sensROM, UserBytes12, UserBytes34, UserBytesMask); if (result != HAL_OK) { - sensor->f.other_err_cnt++; + sensor->f.write_err_cnt++; return result; } - result = DS18B20_ReadScratchpad(sensor->onewire, (uint8_t *)&sensor->sensROM, (uint8_t *)&sensor->scratchpad); + result = DS18B20_ReadScratchpad(sensor->hdallas->onewire, (uint8_t *)&sensor->sensROM, (uint8_t *)&sensor->hdallas->scratchpad); if (result != HAL_OK) { return result; diff --git a/Core/Dallas/dallas_tools.h b/Core/Dallas/dallas_tools.h index 5a7de4a..bc4c62c 100644 --- a/Core/Dallas/dallas_tools.h +++ b/Core/Dallas/dallas_tools.h @@ -61,24 +61,31 @@ typedef struct /** @brief Структура флагов ошибок датчиков DALLAS */ typedef struct { - unsigned disconnect_cnt; ///< Счетчик отключений датчика - unsigned read_temperature_err_cnt; ///< Счетчик ошибок чтения температуры - unsigned timeout_convertion_cnt; ///< Счетчик ошибок таймаута конвертации - unsigned other_err_cnt; ///< Счетчик других ошибок + uint8_t disconnect_cnt; ///< Счетчик отключений датчика + uint8_t read_temperature_err_cnt; ///< Счетчик ошибок чтения температуры + uint8_t timeout_convertion_cnt; ///< Счетчик ошибок таймаута конвертации + uint8_t write_err_cnt; ///< Счетчик других ошибок }DALLAS_FlagsTypeDef; /** @brief Структура инициализации датчика DALLAS */ -typedef struct +typedef struct __packed { - uint64_t ROM; ///< Уникальный ROM-код датчика - uint16_t UserBytes12; ///< Пользовательские байты 1 и 2 - uint16_t UserBytes34; ///< Пользовательские байты 3 и 4 - uint8_t SensInd; ///< Индекс сенсора + uint64_t InitParam; ///< Параметр для инициализации: ROM/UserBytes/Индекс uint8_t Resolution; ///< Разрешение датчика HAL_StatusTypeDef (*init_func)(); ///< Функция инициализации } DALLAS_InitStructTypeDef; + + +/** @brief Cтруктура обработчика DALLAS для общения с датчиком*/ +typedef struct +{ + OneWire_t *onewire; + DALLAS_ScratchpadTypeDef scratchpad; +}DALLAS_HandleTypeDef; +extern DALLAS_HandleTypeDef hdallas1; + /** @brief Основная структура обработчика датчика DALLAS */ typedef struct { @@ -86,16 +93,14 @@ typedef struct unsigned isInitialized:1; ///< Флаг инициализации unsigned isLost:1; ///< Флаг потери связи - OneWire_t *onewire; ///< Интерфейс OneWire + DALLAS_HandleTypeDef *hdallas; uint64_t sensROM; ///< ROM-код датчика - DALLAS_ScratchpadTypeDef scratchpad; ///< Scratchpad датчика float temperature; ///< Текущая температура DALLAS_InitStructTypeDef Init; ///< Структура инициализации - DALLAS_FlagsTypeDef f; ///< Флаги - -} DALLAS_HandleTypeDef; + DALLAS_FlagsTypeDef f; ///< Флаги +} DALLAS_SensorHandleTypeDef; @@ -112,29 +117,29 @@ typedef enum /* Functions ---------------------------------------------------------------*/ /* Функция для нахождения нового датчика на место потерянного */ -HAL_StatusTypeDef Dallas_ReplaceLostedSensor(DALLAS_HandleTypeDef *sensor); +HAL_StatusTypeDef Dallas_ReplaceLostedSensor(DALLAS_SensorHandleTypeDef *sensor); /* Функция для иниицализации нового датчика в структуре */ -HAL_StatusTypeDef Dallas_AddNewSensors(OneWire_t *onewire, DALLAS_HandleTypeDef *sensor); +HAL_StatusTypeDef Dallas_AddNewSensors(DALLAS_HandleTypeDef *hdallas, DALLAS_SensorHandleTypeDef *sensor); /* Инициализирует структуру датчика по ROM */ -HAL_StatusTypeDef Dallas_SensorInitByROM(OneWire_t *onewire, DALLAS_HandleTypeDef *sensor); +HAL_StatusTypeDef Dallas_SensorInitByROM(DALLAS_HandleTypeDef *hdallas, DALLAS_SensorHandleTypeDef *sensor); /* Инициализирует структуру датчика по пользовательским байтам */ -HAL_StatusTypeDef Dallas_SensorInitByUserBytes(OneWire_t *onewire, DALLAS_HandleTypeDef *sensor); +HAL_StatusTypeDef Dallas_SensorInitByUserBytes(DALLAS_HandleTypeDef *hdallas, DALLAS_SensorHandleTypeDef *sensor); /* Инициализирует структуру датчика по порядковому номеру */ -HAL_StatusTypeDef Dallas_SensorInitByInd(OneWire_t *onewire, DALLAS_HandleTypeDef *sensor); +HAL_StatusTypeDef Dallas_SensorInitByInd(DALLAS_HandleTypeDef *hdallas, DALLAS_SensorHandleTypeDef *sensor); /* Инициализирует датчик для работы */ -HAL_StatusTypeDef Dallas_SensorInit(OneWire_t *onewire, DALLAS_HandleTypeDef *sensor, uint8_t (*ROM)[DALLAS_ROM_SIZE]); +HAL_StatusTypeDef Dallas_SensorInit(DALLAS_HandleTypeDef *hdallas, DALLAS_SensorHandleTypeDef *sensor, uint8_t (*ROM)[DALLAS_ROM_SIZE]); /* Деинициализирует структуру датчика */ -HAL_StatusTypeDef Dallas_SensorDeInit(DALLAS_HandleTypeDef *sensor); +HAL_StatusTypeDef Dallas_SensorDeInit(DALLAS_SensorHandleTypeDef *sensor); /* Запускает измерение температуры на всех датчиках */ -HAL_StatusTypeDef Dallas_StartConvertTAll(OneWire_t *onewire, DALLAS_WaitConvertionTypeDef waitCondition, uint8_t dallas_delay_ms); +HAL_StatusTypeDef Dallas_StartConvertTAll(DALLAS_HandleTypeDef *hdallas, DALLAS_WaitConvertionTypeDef waitCondition, uint8_t dallas_delay_ms); /* Измеряет температуру на датчике */ -HAL_StatusTypeDef Dallas_ConvertT(DALLAS_HandleTypeDef *sensor, DALLAS_WaitConvertionTypeDef waitCondition); +HAL_StatusTypeDef Dallas_ConvertT(DALLAS_SensorHandleTypeDef *sensor, DALLAS_WaitConvertionTypeDef waitCondition); /* Читает измеренную датчиком температуру */ -HAL_StatusTypeDef Dallas_ReadTemperature(DALLAS_HandleTypeDef *sensor); +HAL_StatusTypeDef Dallas_ReadTemperature(DALLAS_SensorHandleTypeDef *sensor); /* Проверяет подключен ли датчик (чтение scratchpad) */ -HAL_StatusTypeDef Dallas_IsConnected(DALLAS_HandleTypeDef *sensor); +HAL_StatusTypeDef Dallas_IsConnected(DALLAS_SensorHandleTypeDef *sensor); /* Записывает пользовательские байты */ -HAL_StatusTypeDef Dallas_WriteUserBytes(DALLAS_HandleTypeDef *sensor, uint16_t UserBytes12, uint16_t UserBytes34, uint8_t UserBytesMask); +HAL_StatusTypeDef Dallas_WriteUserBytes(DALLAS_SensorHandleTypeDef *sensor, uint16_t UserBytes12, uint16_t UserBytes34, uint8_t UserBytesMask); #endif // #ifndef DALLAS_TOOLS_H \ No newline at end of file diff --git a/Core/Dallas/ds18b20_driver.c b/Core/Dallas/ds18b20_driver.c index 1e7c2ec..b6a1778 100644 --- a/Core/Dallas/ds18b20_driver.c +++ b/Core/Dallas/ds18b20_driver.c @@ -256,8 +256,6 @@ HAL_StatusTypeDef DS18B20_CalcTemperature(OneWire_t* OW, uint8_t *ROM, uint8_t * } - -uint8_t scratchpad_buff[8]; /** * @brief The function is used as read scratchpad from device * @retval status in OK = 1, Failed = 0 @@ -268,7 +266,7 @@ uint8_t scratchpad_buff[8]; HAL_StatusTypeDef DS18B20_ReadScratchpad(OneWire_t* OW, uint8_t *ROM, uint8_t *Scratchpad) { if(Scratchpad == NULL) - Scratchpad = scratchpad_buff; + return HAL_ERROR; /* Reset line */ OneWire_Reset(OW); @@ -475,35 +473,35 @@ HAL_StatusTypeDef DS18B20_WriteUserBytes(OneWire_t* OW, uint8_t *ROM, int16_t Us } -/** - * @brief The function is used as search device that had temperature alarm - * triggered and store it in DS18B20 alarm data structure - * @retval status of search, OK = 1, Failed = 0 - * @param DS DS18B20 HandleTypedef - * @param OW OneWire HandleTypedef - */ -uint8_t DS18B20_AlarmSearch(DS18B20_Drv_t *DS, OneWire_t* OW) -{ - uint8_t t = 0; +///** +// * @brief The function is used as search device that had temperature alarm +// * triggered and store it in DS18B20 alarm data structure +// * @retval status of search, OK = 1, Failed = 0 +// * @param DS DS18B20 HandleTypedef +// * @param OW OneWire HandleTypedef +// */ +//uint8_t DS18B20_AlarmSearch(DS18B20_Drv_t *DS, OneWire_t* OW) +//{ +// uint8_t t = 0; - /* Reset Alarm in DS */ - for(uint8_t i = 0; i < OW->RomCnt; i++) - { - for(uint8_t j = 0; j < 8; j++) - { - DS->AlmAddr[i][j] = 0; - } - } +// /* Reset Alarm in DS */ +// for(uint8_t i = 0; i < OW->RomCnt; i++) +// { +// for(uint8_t j = 0; j < 8; j++) +// { +// DS->AlmAddr[i][j] = 0; +// } +// } - /* Start alarm search */ - while (OneWire_Search(OW, DS18B20_CMD_ALARM_SEARCH)) - { - /* Store ROM of device which has alarm flag set */ - OneWire_GetDevRom(OW, DS->AlmAddr[t]); - t++; - } - return (t > 0) ? 1 : 0; -} +// /* Start alarm search */ +// while (OneWire_Search(OW, DS18B20_CMD_ALARM_SEARCH)) +// { +// /* Store ROM of device which has alarm flag set */ +// OneWire_GetDevRom(OW, DS->AlmAddr[t]); +// t++; +// } +// return (t > 0) ? 1 : 0; +//} /** * @brief The function is used to initialize the DS18B20 sensor, and search diff --git a/Core/Dallas/ds18b20_driver.h b/Core/Dallas/ds18b20_driver.h index 2722e13..96e3831 100644 --- a/Core/Dallas/ds18b20_driver.h +++ b/Core/Dallas/ds18b20_driver.h @@ -26,7 +26,7 @@ #define DS_GPIO_Port GPIOB /* Data Structure ------------------------------------------------------------*/ -#define DS18B20_DEVICE_AMOUNT 8 +#define DS18B20_DEVICE_AMOUNT 27 /* Register ------------------------------------------------------------------*/ #define DS18B20_CMD_CONVERT 0x44 @@ -77,8 +77,6 @@ typedef enum { typedef struct { uint8_t DevAddr[DS18B20_DEVICE_AMOUNT][8]; - uint8_t AlmAddr[DS18B20_DEVICE_AMOUNT][8]; - float Temperature[DS18B20_DEVICE_AMOUNT]; DS18B20_Res_t Resolution; } DS18B20_Drv_t; extern DS18B20_Drv_t DS; diff --git a/Core/Dallas/pch_sensors.c b/Core/Dallas/pch_sensors.c index bb2d039..b3e3909 100644 --- a/Core/Dallas/pch_sensors.c +++ b/Core/Dallas/pch_sensors.c @@ -8,30 +8,33 @@ /* Includes ----------------------------------------------------------------*/ #include "pch_sensors.h" -PCHSens_UnknownSensorsTypeDef UnknownSensors; +PCHSens_DallasBusHandle DallasBus; +PCHSens_SensorActionsTypeDef action; /* Declarations and definitions --------------------------------------------*/ PCHSens_ModuleTypeDef module1; +PCHSens_ModuleTypeDef module2; +PCHSens_ModuleTypeDef module3; +PCHSens_ModuleTypeDef module4; +PCHSens_ModuleTypeDef module5; +PCHSens_ModuleTypeDef module6; /* Functions ---------------------------------------------------------------*/ -HAL_StatusTypeDef PCHSens_InitNewSensor(OneWire_t *onewire, PCHSens_SensorTypeDef* sensor, uint64_t ROM) +HAL_StatusTypeDef PCHSens_InitNewSensor(DALLAS_HandleTypeDef *hdallas, PCHSens_SensorTypeDef* sensor, uint64_t ROM) { - DALLAS_HandleTypeDef tempsens; + DALLAS_SensorHandleTypeDef tempsens; HAL_StatusTypeDef result; - if(onewire == NULL) + if(hdallas == NULL) return HAL_ERROR; if(sensor == NULL) return HAL_ERROR; // sensor->UserBytes = (PCHSens_LocationTypeDef *)&sensor->sens.scratchpad.tHighRegister; - sensor->sens.Init.ROM = ROM; - - sensor->sens.Init.UserBytes12 = sensor->Location.all; - + sensor->sens.Init.InitParam = ROM; sensor->sens.Init.init_func = &Dallas_SensorInitByROM; - result = Dallas_AddNewSensors(onewire, &sensor->sens); + result = Dallas_AddNewSensors(hdallas, &sensor->sens); if(result != HAL_OK) { sensor->not_found = 1; @@ -42,9 +45,10 @@ HAL_StatusTypeDef PCHSens_InitNewSensor(OneWire_t *onewire, PCHSens_SensorTypeDe if(result != HAL_OK) return result; + sensor->sens.Init.InitParam = sensor->Location.all; sensor->sens.Init.init_func = &Dallas_SensorInitByUserBytes; - result = Dallas_AddNewSensors(onewire, &sensor->sens); + result = Dallas_AddNewSensors(hdallas, &sensor->sens); if(result == HAL_OK) { sensor->not_found = 0; @@ -60,21 +64,21 @@ HAL_StatusTypeDef PCHSens_InitNewSensor(OneWire_t *onewire, PCHSens_SensorTypeDe -HAL_StatusTypeDef PCHSens_AddSensor(OneWire_t *onewire, PCHSens_SensorTypeDef* sensor) +HAL_StatusTypeDef PCHSens_AddSensor(DALLAS_HandleTypeDef *hdallas, PCHSens_SensorTypeDef* sensor) { HAL_StatusTypeDef result; - if(onewire == NULL) + if(hdallas == NULL) return HAL_ERROR; if(sensor == NULL) return HAL_ERROR; // sensor->UserBytes = (PCHSens_LocationTypeDef *)&sensor->sens.scratchpad.tHighRegister; - sensor->sens.Init.UserBytes12 = sensor->Location.all; + sensor->sens.Init.InitParam = sensor->Location.all; sensor->sens.Init.init_func = &Dallas_SensorInitByUserBytes; - result = Dallas_AddNewSensors(onewire, &sensor->sens); + result = Dallas_AddNewSensors(hdallas, &sensor->sens); if(result == HAL_OK) { @@ -88,38 +92,36 @@ HAL_StatusTypeDef PCHSens_AddSensor(OneWire_t *onewire, PCHSens_SensorTypeDef* s return result; } -HAL_StatusTypeDef PCHSens_InitModule(OneWire_t *onewire, PCHSens_ModuleTypeDef* module, uint16_t param) +HAL_StatusTypeDef PCHSens_InitModule(DALLAS_HandleTypeDef *hdallas, PCHSens_ModuleTypeDef* module, uint16_t param) { - if(onewire == NULL) + if(hdallas == NULL) return HAL_ERROR; if(module == NULL) return HAL_ERROR; PCHSens_LocationTypeDef initlocation; initlocation.all = param; + action.read = 1; - module->onewire = onewire; + module->hdallas = hdallas; module->refLocation = initlocation; module->sens1.Location.all = module->refLocation.all; module->sens1.Location.param.Location = 0; - module->sens1.action.read = 1; - PCHSens_AddSensor(onewire, &module->sens1); + PCHSens_AddSensor(hdallas, &module->sens1); module->sens2.Location.all = module->refLocation.all; module->sens2.Location.param.Location = 1; - module->sens2.action.read = 1; - PCHSens_AddSensor(onewire, &module->sens2); + + PCHSens_AddSensor(hdallas, &module->sens2); module->sens3.Location.all = module->refLocation.all; module->sens3.Location.param.Location = 2; - module->sens3.action.read = 1; - PCHSens_AddSensor(onewire, &module->sens3); + PCHSens_AddSensor(hdallas, &module->sens3); module->sens4.Location.all = module->refLocation.all; module->sens4.Location.param.Location = 3; - module->sens4.action.read = 1; - PCHSens_AddSensor(onewire, &module->sens4); + PCHSens_AddSensor(hdallas, &module->sens4); return HAL_OK; } @@ -131,20 +133,18 @@ HAL_StatusTypeDef PCHSens_ReadTemperature(PCHSens_ModuleTypeDef *module) if(module == NULL) return HAL_ERROR; - result = Dallas_StartConvertTAll(module->onewire, DALLAS_WAIT_BUS, 0); - - result = PCHSens_SensorHandleActions(module->onewire, &module->sens1); - result = PCHSens_SensorHandleActions(module->onewire, &module->sens2); - result = PCHSens_SensorHandleActions(module->onewire, &module->sens3); - result = PCHSens_SensorHandleActions(module->onewire, &module->sens4); - - PCHSens_DefineUnknownSensor(&UnknownSensors, NULL); + result = Dallas_StartConvertTAll(module->hdallas, DALLAS_WAIT_BUS, 0); + result = PCHSens_SensorHandleActions(module->hdallas, &module->sens1); + result = PCHSens_SensorHandleActions(module->hdallas, &module->sens2); + result = PCHSens_SensorHandleActions(module->hdallas, &module->sens3); + result = PCHSens_SensorHandleActions(module->hdallas, &module->sens4); + return result; } -HAL_StatusTypeDef PCHSens_CheckSensor(OneWire_t *onewire, PCHSens_SensorTypeDef* sensor) +HAL_StatusTypeDef PCHSens_CheckSensor(DALLAS_HandleTypeDef *hdallas, PCHSens_SensorTypeDef* sensor) { HAL_StatusTypeDef result; PCHSens_LocationTypeDef initlocation; @@ -171,23 +171,19 @@ HAL_StatusTypeDef PCHSens_CheckSensor(OneWire_t *onewire, PCHSens_SensorTypeDef* } -HAL_StatusTypeDef PCHSens_FindUnknownSensors(OneWire_t *onewire, PCHSens_UnknownSensorsTypeDef *unknowns) +HAL_StatusTypeDef PCHSens_FindUnknownSensors(PCHSens_DallasBusHandle *hbus) { HAL_StatusTypeDef result; - if(onewire == NULL) - return HAL_ERROR; - if(unknowns == NULL) + if(hbus == NULL) return HAL_ERROR; - unknowns->onewire = onewire; - unknowns->UnknownCnt = 0; - DALLAS_ScratchpadTypeDef scratchpad; + hbus->UnknownCnt = 0; - PCHSens_LocationTypeDef *param = (PCHSens_LocationTypeDef *)&scratchpad.tHighRegister; - for(int i = 0; i < onewire->RomCnt; i++) + PCHSens_LocationTypeDef *param = (PCHSens_LocationTypeDef *)&hbus->hdallas->scratchpad.tHighRegister; + for(int i = 0; i < hbus->hdallas->onewire->RomCnt; i++) { /* Проверка присутствует ли выбранный датчик на линии */ - result = DS18B20_ReadScratchpad(onewire, (uint8_t *)&DS.DevAddr[i], (uint8_t *)&scratchpad); + result = DS18B20_ReadScratchpad(hbus->hdallas->onewire, (uint8_t *)&DS.DevAddr[i], (uint8_t *)&hbus->hdallas->scratchpad); if(result != HAL_OK) __NOP(); @@ -195,31 +191,32 @@ HAL_StatusTypeDef PCHSens_FindUnknownSensors(OneWire_t *onewire, PCHSens_Unknown (IS_REG_PCH_LOCATION(param) == 0) || (IS_REG_PCH_NUMB(param) == 0) ) { - unknowns->unknown_sensors[unknowns->UnknownCnt].Init.SensInd = i; - unknowns->unknown_sensors[unknowns->UnknownCnt].Init.init_func = &Dallas_SensorInitByInd; - result = Dallas_AddNewSensors(onewire, &unknowns->unknown_sensors[unknowns->UnknownCnt++]); +// unknowns->unknown_sensors[unknowns->UnknownCnt].Init.InitParam = i; +// unknowns->unknown_sensors[unknowns->UnknownCnt].Init.init_func = &Dallas_SensorInitByInd; +// result = Dallas_AddNewSensors(hbus, &unknowns->unknown_sensors[unknowns->UnknownCnt]); + hbus->UnknownCnt++; if(result != HAL_OK) __NOP(); } } return HAL_OK; } -HAL_StatusTypeDef PCHSens_DefineUnknownSensor(PCHSens_UnknownSensorsTypeDef *unknowns, PCHSens_SensorTypeDef *sensor) -{ - HAL_StatusTypeDef result; - if(sensor == NULL) - return HAL_ERROR; - - if((unknowns->ROMtoDefine != NULL) && (unknowns->LocationtoDefine.all != NULL) && (unknowns->senstoDefine != NULL)) - { - result = PCHSens_InitNewSensor(unknowns->onewire, unknowns->senstoDefine, unknowns->ROMtoDefine); - unknowns->ROMtoDefine = 0; - unknowns->LocationtoDefine.all = 0; - unknowns->senstoDefine = 0; - return result; - } - return HAL_OK; -} +//HAL_StatusTypeDef PCHSens_DefineUnknownSensor(PCHSens_UnknownSensorsTypeDef *unknowns, PCHSens_SensorTypeDef *sensor) +//{ +// HAL_StatusTypeDef result; +// if(sensor == NULL) +// return HAL_ERROR; +// +// if((unknowns->ROMtoDefine != NULL) && (unknowns->LocationtoDefine.all != NULL) && (unknowns->senstoDefine != NULL)) +// { +// result = PCHSens_InitNewSensor(unknowns->onewire, unknowns->senstoDefine, unknowns->ROMtoDefine); +// unknowns->ROMtoDefine = 0; +// unknowns->LocationtoDefine.all = 0; +// unknowns->senstoDefine = 0; +// return result; +// } +// return HAL_OK; +//} HAL_StatusTypeDef PCHSens_UndefineSensor(PCHSens_SensorTypeDef *sensor) { @@ -237,28 +234,28 @@ HAL_StatusTypeDef PCHSens_UndefineSensor(PCHSens_SensorTypeDef *sensor) return result; } -HAL_StatusTypeDef PCHSens_SensorHandleActions(OneWire_t *onewire, PCHSens_SensorTypeDef *sensor) +HAL_StatusTypeDef PCHSens_SensorHandleActions(DALLAS_HandleTypeDef *hdallas, PCHSens_SensorTypeDef *sensor) { HAL_StatusTypeDef result; if(sensor == NULL) return HAL_ERROR; - if(sensor->action.connectROM != NULL) + if(action.connectROM != NULL) { - result = PCHSens_InitNewSensor(onewire, sensor, sensor->action.connectROM); - sensor->action.connectROM = 0; + result = PCHSens_InitNewSensor(hdallas, sensor, action.connectROM); + action.connectROM = 0; } - if(sensor->action.read != NULL) + if(action.read != NULL) { result = Dallas_ReadTemperature(&sensor->sens); if(result != HAL_OK) - PCHSens_CheckSensor(onewire, sensor); + PCHSens_CheckSensor(hdallas, sensor); } - if(sensor->action.deinit != NULL) + if(action.deinit != NULL) { - sensor->action.deinit = 0; + action.deinit = 0; result = PCHSens_UndefineSensor(sensor); } @@ -275,10 +272,11 @@ void PCHSens_FirstInit(void) OneWire_Init(&OW); DS18B20_Search(&DS, &OW); - PCHSens_InitModule(&OW, &module1, REG_PCH_NUMB_11|REG_PCH_DIODE_NUMB_1); + hdallas1.onewire = &OW; + PCHSens_InitModule(&hdallas1, &module1, REG_PCH_NUMB_11|REG_PCH_DIODE_NUMB_1); - PCHSens_FindUnknownSensors(&OW, &UnknownSensors); - PCHSens_DefineUnknownSensor(&UnknownSensors, NULL); + PCHSens_FindUnknownSensors(&DallasBus); +// PCHSens_DefineUnknownSensor(&UnknownSensors, NULL); // Dallas_SensorInitByInd(&OW, &AllSens.outdoor, 0); // Dallas_SensorInitByInd(&OW, &AllSens.indoor, 2); // Dallas_SensorInitByInd(&OW, &AllSens.bathroom, 1); diff --git a/Core/Dallas/pch_sensors.h b/Core/Dallas/pch_sensors.h index cab5589..ab58707 100644 --- a/Core/Dallas/pch_sensors.h +++ b/Core/Dallas/pch_sensors.h @@ -127,16 +127,14 @@ typedef struct typedef struct { - DALLAS_HandleTypeDef sens; -// PCHSens_LocationTypeDef *UserBytes; + DALLAS_SensorHandleTypeDef sens; PCHSens_LocationTypeDef Location; - PCHSens_SensorActionsTypeDef action; unsigned not_found:1; }PCHSens_SensorTypeDef; typedef struct { - OneWire_t *onewire; + DALLAS_HandleTypeDef *hdallas; PCHSens_SensorTypeDef sens1; PCHSens_SensorTypeDef sens2; @@ -147,27 +145,28 @@ typedef struct }PCHSens_ModuleTypeDef; extern PCHSens_ModuleTypeDef module1; +extern PCHSens_ModuleTypeDef module2; +extern PCHSens_ModuleTypeDef module3; +extern PCHSens_ModuleTypeDef module4; +extern PCHSens_ModuleTypeDef module5; +extern PCHSens_ModuleTypeDef module6; typedef struct { - OneWire_t *onewire; - - DALLAS_HandleTypeDef unknown_sensors[DS18B20_DEVICE_AMOUNT]; - uint8_t UnknownCnt; - uint64_t ROMtoDefine; - PCHSens_LocationTypeDef LocationtoDefine; - PCHSens_SensorTypeDef *senstoDefine; -}PCHSens_UnknownSensorsTypeDef; + DALLAS_HandleTypeDef *hdallas; + uint8_t UnknownCnt; +}PCHSens_DallasBusHandle; +extern PCHSens_DallasBusHandle DallasBus; /* Functions ---------------------------------------------------------------*/ -HAL_StatusTypeDef PCHSens_FindUnknownSensors(OneWire_t *onewire, PCHSens_UnknownSensorsTypeDef *unknowns); -HAL_StatusTypeDef PCHSens_InitNewSensor(OneWire_t *onewire, PCHSens_SensorTypeDef* sensor, uint64_t ROM); -HAL_StatusTypeDef PCHSens_AddSensor(OneWire_t *onewire, PCHSens_SensorTypeDef* sensor); -HAL_StatusTypeDef PCHSens_InitModule(OneWire_t *onewire, PCHSens_ModuleTypeDef* module, uint16_t param); +HAL_StatusTypeDef PCHSens_InitNewSensor(DALLAS_HandleTypeDef *hdallas, PCHSens_SensorTypeDef* sensor, uint64_t ROM); +HAL_StatusTypeDef PCHSens_AddSensor(DALLAS_HandleTypeDef *hdallas, PCHSens_SensorTypeDef* sensor); +HAL_StatusTypeDef PCHSens_InitModule(DALLAS_HandleTypeDef *hdallas, PCHSens_ModuleTypeDef* module, uint16_t param); HAL_StatusTypeDef PCHSens_ReadTemperature(PCHSens_ModuleTypeDef *module); -HAL_StatusTypeDef PCHSens_CheckSensor(OneWire_t *onewire, PCHSens_SensorTypeDef* sensor); -HAL_StatusTypeDef PCHSens_DefineUnknownSensor(PCHSens_UnknownSensorsTypeDef *unknowns, PCHSens_SensorTypeDef *sensor); -HAL_StatusTypeDef PCHSens_SensorHandleActions(OneWire_t *onewire, PCHSens_SensorTypeDef *sensor); +HAL_StatusTypeDef PCHSens_CheckSensor(DALLAS_HandleTypeDef *hdallas, PCHSens_SensorTypeDef* sensor); +HAL_StatusTypeDef PCHSens_FindUnknownSensors(PCHSens_DallasBusHandle *hbus); +HAL_StatusTypeDef PCHSens_DefineUnknownSensor(PCHSens_DallasBusHandle *hbus, PCHSens_SensorTypeDef *sensor); +HAL_StatusTypeDef PCHSens_SensorHandleActions(DALLAS_HandleTypeDef *hdallas, PCHSens_SensorTypeDef *sensor); void PCHSens_FirstInit(void); #endif // #ifndef PCH_SENSORS_H \ No newline at end of file diff --git a/Core/Modbus/crc_algs.c b/Core/Modbus/crc_algs.c index fcfa779..d5b4d48 100644 --- a/Core/Modbus/crc_algs.c +++ b/Core/Modbus/crc_algs.c @@ -13,96 +13,48 @@ uint8_t uchCRCHi = 0xFF; uint8_t uchCRCLo = 0xFF; unsigned uIndex; - -uint32_t crc32(uint8_t *data, uint32_t data_size) +/*Table of CRC values for high order byte*/ +const unsigned char auchCRCHi[]= { - static const unsigned int crc32_table[] = + 0x00,0xC1,0x81,0x40,0x01,0xC0,0x80,0x41,0x01,0xC0,0x80,0x41,0x00,0xC1,0x81,0x40, + 0x01,0xC0,0x80,0x41,0x00,0xC1,0x81,0x40,0x00,0xC1,0x81,0x40,0x01,0xC0,0x80,0x41, + 0x01,0xC0,0x80,0x41,0x00,0xC1,0x81,0x40,0x00,0xC1,0x81,0x40,0x01,0xC0,0x80,0x41, + 0x00,0xC1,0x81,0x40,0x01,0xC0,0x80,0x41,0x01,0xC0,0x80,0x41,0x00,0xC1,0x81,0x40, + 0x01,0xC0,0x80,0x41,0x00,0xC1,0x81,0x40,0x00,0xC1,0x81,0x40,0x01,0xC0,0x80,0x41, + 0x00,0xC1,0x81,0x40,0x01,0xC0,0x80,0x41,0x01,0xC0,0x80,0x41,0x00,0xC1,0x81,0x40, + 0x00,0xC1,0x81,0x40,0x01,0xC0,0x80,0x41,0x01,0xC0,0x80,0x41,0x00,0xC1,0x81,0x40, + 0x01,0xC0,0x80,0x41,0x00,0xC1,0x81,0x40,0x00,0xC1,0x81,0x40,0x01,0xC0,0x80,0x41, + 0x01,0xC0,0x80,0x41,0x00,0xC1,0x81,0x40,0x00,0xC1,0x81,0x40,0x01,0xC0,0x80,0x41, + 0x00,0xC1,0x81,0x40,0x01,0xC0,0x80,0x41,0x01,0xC0,0x80,0x41,0x00,0xC1,0x81,0x40, + 0x00,0xC1,0x81,0x40,0x01,0xC0,0x80,0x41,0x01,0xC0,0x80,0x41,0x00,0xC1,0x81,0x40, + 0x01,0xC0,0x80,0x41,0x00,0xC1,0x81,0x40,0x00,0xC1,0x81,0x40,0x01,0xC0,0x80,0x41, + 0x00,0xC1,0x81,0x40,0x01,0xC0,0x80,0x41,0x01,0xC0,0x80,0x41,0x00,0xC1,0x81,0x40, + 0x01,0xC0,0x80,0x41,0x00,0xC1,0x81,0x40,0x00,0xC1,0x81,0x40,0x01,0xC0,0x80,0x41, + 0x01,0xC0,0x80,0x41,0x00,0xC1,0x81,0x40,0x00,0xC1,0x81,0x40,0x01,0xC0,0x80,0x41, + 0x00,0xC1,0x81,0x40,0x01,0xC0,0x80,0x41,0x01,0xC0,0x80,0x41,0x00,0xC1,0x81,0x40, +}; +/*Table of CRC values for low order byte*/ +const char auchCRCLo[] = { - 0x00000000, 0x77073096, 0xEE0E612C, 0x990951BA, 0x076DC419, 0x706AF48F, 0xE963A535, 0x9E6495A3, - 0x0EDB8832, 0x79DCB8A4, 0xE0D5E91E, 0x97D2D988, 0x09B64C2B, 0x7EB17CBD, 0xE7B82D07, 0x90BF1D91, - 0x1DB71064, 0x6AB020F2, 0xF3B97148, 0x84BE41DE, 0x1ADAD47D, 0x6DDDE4EB, 0xF4D4B551, 0x83D385C7, - 0x136C9856, 0x646BA8C0, 0xFD62F97A, 0x8A65C9EC, 0x14015C4F, 0x63066CD9, 0xFA0F3D63, 0x8D080DF5, - 0x3B6E20C8, 0x4C69105E, 0xD56041E4, 0xA2677172, 0x3C03E4D1, 0x4B04D447, 0xD20D85FD, 0xA50AB56B, - 0x35B5A8FA, 0x42B2986C, 0xDBBBC9D6, 0xACBCF940, 0x32D86CE3, 0x45DF5C75, 0xDCD60DCF, 0xABD13D59, - 0x26D930AC, 0x51DE003A, 0xC8D75180, 0xBFD06116, 0x21B4F4B5, 0x56B3C423, 0xCFBA9599, 0xB8BDA50F, - 0x2802B89E, 0x5F058808, 0xC60CD9B2, 0xB10BE924, 0x2F6F7C87, 0x58684C11, 0xC1611DAB, 0xB6662D3D, - 0x76DC4190, 0x01DB7106, 0x98D220BC, 0xEFD5102A, 0x71B18589, 0x06B6B51F, 0x9FBFE4A5, 0xE8B8D433, - 0x7807C9A2, 0x0F00F934, 0x9609A88E, 0xE10E9818, 0x7F6A0DBB, 0x086D3D2D, 0x91646C97, 0xE6635C01, - 0x6B6B51F4, 0x1C6C6162, 0x856530D8, 0xF262004E, 0x6C0695ED, 0x1B01A57B, 0x8208F4C1, 0xF50FC457, - 0x65B0D9C6, 0x12B7E950, 0x8BBEB8EA, 0xFCB9887C, 0x62DD1DDF, 0x15DA2D49, 0x8CD37CF3, 0xFBD44C65, - 0x4DB26158, 0x3AB551CE, 0xA3BC0074, 0xD4BB30E2, 0x4ADFA541, 0x3DD895D7, 0xA4D1C46D, 0xD3D6F4FB, - 0x4369E96A, 0x346ED9FC, 0xAD678846, 0xDA60B8D0, 0x44042D73, 0x33031DE5, 0xAA0A4C5F, 0xDD0D7CC9, - 0x5005713C, 0x270241AA, 0xBE0B1010, 0xC90C2086, 0x5768B525, 0x206F85B3, 0xB966D409, 0xCE61E49F, - 0x5EDEF90E, 0x29D9C998, 0xB0D09822, 0xC7D7A8B4, 0x59B33D17, 0x2EB40D81, 0xB7BD5C3B, 0xC0BA6CAD, - 0xEDB88320, 0x9ABFB3B6, 0x03B6E20C, 0x74B1D29A, 0xEAD54739, 0x9DD277AF, 0x04DB2615, 0x73DC1683, - 0xE3630B12, 0x94643B84, 0x0D6D6A3E, 0x7A6A5AA8, 0xE40ECF0B, 0x9309FF9D, 0x0A00AE27, 0x7D079EB1, - 0xF00F9344, 0x8708A3D2, 0x1E01F268, 0x6906C2FE, 0xF762575D, 0x806567CB, 0x196C3671, 0x6E6B06E7, - 0xFED41B76, 0x89D32BE0, 0x10DA7A5A, 0x67DD4ACC, 0xF9B9DF6F, 0x8EBEEFF9, 0x17B7BE43, 0x60B08ED5, - 0xD6D6A3E8, 0xA1D1937E, 0x38D8C2C4, 0x4FDFF252, 0xD1BB67F1, 0xA6BC5767, 0x3FB506DD, 0x48B2364B, - 0xD80D2BDA, 0xAF0A1B4C, 0x36034AF6, 0x41047A60, 0xDF60EFC3, 0xA867DF55, 0x316E8EEF, 0x4669BE79, - 0xCB61B38C, 0xBC66831A, 0x256FD2A0, 0x5268E236, 0xCC0C7795, 0xBB0B4703, 0x220216B9, 0x5505262F, - 0xC5BA3BBE, 0xB2BD0B28, 0x2BB45A92, 0x5CB36A04, 0xC2D7FFA7, 0xB5D0CF31, 0x2CD99E8B, 0x5BDEAE1D, - 0x9B64C2B0, 0xEC63F226, 0x756AA39C, 0x026D930A, 0x9C0906A9, 0xEB0E363F, 0x72076785, 0x05005713, - 0x95BF4A82, 0xE2B87A14, 0x7BB12BAE, 0x0CB61B38, 0x92D28E9B, 0xE5D5BE0D, 0x7CDCEFB7, 0x0BDBDF21, - 0x86D3D2D4, 0xF1D4E242, 0x68DDB3F8, 0x1FDA836E, 0x81BE16CD, 0xF6B9265B, 0x6FB077E1, 0x18B74777, - 0x88085AE6, 0xFF0F6A70, 0x66063BCA, 0x11010B5C, 0x8F659EFF, 0xF862AE69, 0x616BFFD3, 0x166CCF45, - 0xA00AE278, 0xD70DD2EE, 0x4E048354, 0x3903B3C2, 0xA7672661, 0xD06016F7, 0x4969474D, 0x3E6E77DB, - 0xAED16A4A, 0xD9D65ADC, 0x40DF0B66, 0x37D83BF0, 0xA9BCAE53, 0xDEBB9EC5, 0x47B2CF7F, 0x30B5FFE9, - 0xBDBDF21C, 0xCABAC28A, 0x53B39330, 0x24B4A3A6, 0xBAD03605, 0xCDD70693, 0x54DE5729, 0x23D967BF, - 0xB3667A2E, 0xC4614AB8, 0x5D681B02, 0x2A6F2B94, 0xB40BBE37, 0xC30C8EA1, 0x5A05DF1B, 0x2D02EF8D -}; -unsigned int crc = 0xFFFFFFFF; - while (data_size--) - { - crc = (crc >> 8) ^ crc32_table[(crc ^ *data) & 255]; - data++; - } - return crc^0xFFFFFFFF; -} - - + 0x00,0xC0,0xC1,0x01,0xC3,0x03,0x02,0xC2,0xC6,0x06,0x07,0xC7,0x05,0xC5,0xC4,0x04, + 0xCC,0x0C,0x0D,0xCD,0x0F,0xCF,0xCE,0x0E,0x0A,0xCA,0xCB,0x0B,0xC9,0x09,0x08,0xC8, + 0xD8,0x18,0x19,0xD9,0x1B,0xDB,0xDA,0x1A,0x1E,0xDE,0xDF,0x1F,0xDD,0x1D,0x1C,0xDC, + 0x14,0xD4,0xD5,0x15,0xD7,0x17,0x16,0xD6,0xD2,0x12,0x13,0xD3,0x11,0xD1,0xD0,0x10, + 0xF0,0x30,0x31,0xF1,0x33,0xF3,0xF2,0x32,0x36,0xF6,0xF7,0x37,0xF5,0x35,0x34,0xF4, + 0x3C,0xFC,0xFD,0x3D,0xFF,0x3F,0x3E,0xFE,0xFA,0x3A,0x3B,0xFB,0x39,0xF9,0xF8,0x38, + 0x28,0xE8,0xE9,0x29,0xEB,0x2B,0x2A,0xEA,0xEE,0x2E,0x2F,0xEF,0x2D,0xED,0xEC,0x2C, + 0xE4,0x24,0x25,0xE5,0x27,0xE7,0xE6,0x26,0x22,0xE2,0xE3,0x23,0xE1,0x21,0x20,0xE0, + 0xA0,0x60,0x61,0xA1,0x63,0xA3,0xA2,0x62,0x66,0xA6,0xA7,0x67,0xA5,0x65,0x64,0xA4, + 0x6C,0xAC,0xAD,0x6D,0xAF,0x6F,0x6E,0xAE,0xAA,0x6A,0x6B,0xAB,0x69,0xA9,0xA8,0x68, + 0x78,0xB8,0xB9,0x79,0xBB,0x7B,0x7A,0xBA,0xBE,0x7E,0x7F,0xBF,0x7D,0xBD,0xBC,0x7C, + 0xB4,0x74,0x75,0xB5,0x77,0xB7,0xB6,0x76,0x72,0xB2,0xB3,0x73,0xB1,0x71,0x70,0xB0, + 0x50,0x90,0x91,0x51,0x93,0x53,0x52,0x92,0x96,0x56,0x57,0x97,0x55,0x95,0x94,0x54, + 0x9C,0x5C,0x5D,0x9D,0x5F,0x9F,0x9E,0x5E,0x5A,0x9A,0x9B,0x5B,0x99,0x59,0x58,0x98, + 0x88,0x48,0x49,0x89,0x4B,0x8B,0x8A,0x4A,0x4E,0x8E,0x8F,0x4F,0x8D,0x4D,0x4C,0x8C, + 0x44,0x84,0x85,0x45,0x87,0x47,0x46,0x86,0x82,0x42,0x43,0x83,0x41,0x81,0x80,0x40, + }; uint16_t crc16(uint8_t *data, uint32_t data_size) { - /*Table of CRC values for high order byte*/ - static unsigned char auchCRCHi[]= - { - 0x00,0xC1,0x81,0x40,0x01,0xC0,0x80,0x41,0x01,0xC0,0x80,0x41,0x00,0xC1,0x81,0x40, - 0x01,0xC0,0x80,0x41,0x00,0xC1,0x81,0x40,0x00,0xC1,0x81,0x40,0x01,0xC0,0x80,0x41, - 0x01,0xC0,0x80,0x41,0x00,0xC1,0x81,0x40,0x00,0xC1,0x81,0x40,0x01,0xC0,0x80,0x41, - 0x00,0xC1,0x81,0x40,0x01,0xC0,0x80,0x41,0x01,0xC0,0x80,0x41,0x00,0xC1,0x81,0x40, - 0x01,0xC0,0x80,0x41,0x00,0xC1,0x81,0x40,0x00,0xC1,0x81,0x40,0x01,0xC0,0x80,0x41, - 0x00,0xC1,0x81,0x40,0x01,0xC0,0x80,0x41,0x01,0xC0,0x80,0x41,0x00,0xC1,0x81,0x40, - 0x00,0xC1,0x81,0x40,0x01,0xC0,0x80,0x41,0x01,0xC0,0x80,0x41,0x00,0xC1,0x81,0x40, - 0x01,0xC0,0x80,0x41,0x00,0xC1,0x81,0x40,0x00,0xC1,0x81,0x40,0x01,0xC0,0x80,0x41, - 0x01,0xC0,0x80,0x41,0x00,0xC1,0x81,0x40,0x00,0xC1,0x81,0x40,0x01,0xC0,0x80,0x41, - 0x00,0xC1,0x81,0x40,0x01,0xC0,0x80,0x41,0x01,0xC0,0x80,0x41,0x00,0xC1,0x81,0x40, - 0x00,0xC1,0x81,0x40,0x01,0xC0,0x80,0x41,0x01,0xC0,0x80,0x41,0x00,0xC1,0x81,0x40, - 0x01,0xC0,0x80,0x41,0x00,0xC1,0x81,0x40,0x00,0xC1,0x81,0x40,0x01,0xC0,0x80,0x41, - 0x00,0xC1,0x81,0x40,0x01,0xC0,0x80,0x41,0x01,0xC0,0x80,0x41,0x00,0xC1,0x81,0x40, - 0x01,0xC0,0x80,0x41,0x00,0xC1,0x81,0x40,0x00,0xC1,0x81,0x40,0x01,0xC0,0x80,0x41, - 0x01,0xC0,0x80,0x41,0x00,0xC1,0x81,0x40,0x00,0xC1,0x81,0x40,0x01,0xC0,0x80,0x41, - 0x00,0xC1,0x81,0x40,0x01,0xC0,0x80,0x41,0x01,0xC0,0x80,0x41,0x00,0xC1,0x81,0x40, - }; - /*Table of CRC values for low order byte*/ - static char auchCRCLo[] = - { - 0x00,0xC0,0xC1,0x01,0xC3,0x03,0x02,0xC2,0xC6,0x06,0x07,0xC7,0x05,0xC5,0xC4,0x04, - 0xCC,0x0C,0x0D,0xCD,0x0F,0xCF,0xCE,0x0E,0x0A,0xCA,0xCB,0x0B,0xC9,0x09,0x08,0xC8, - 0xD8,0x18,0x19,0xD9,0x1B,0xDB,0xDA,0x1A,0x1E,0xDE,0xDF,0x1F,0xDD,0x1D,0x1C,0xDC, - 0x14,0xD4,0xD5,0x15,0xD7,0x17,0x16,0xD6,0xD2,0x12,0x13,0xD3,0x11,0xD1,0xD0,0x10, - 0xF0,0x30,0x31,0xF1,0x33,0xF3,0xF2,0x32,0x36,0xF6,0xF7,0x37,0xF5,0x35,0x34,0xF4, - 0x3C,0xFC,0xFD,0x3D,0xFF,0x3F,0x3E,0xFE,0xFA,0x3A,0x3B,0xFB,0x39,0xF9,0xF8,0x38, - 0x28,0xE8,0xE9,0x29,0xEB,0x2B,0x2A,0xEA,0xEE,0x2E,0x2F,0xEF,0x2D,0xED,0xEC,0x2C, - 0xE4,0x24,0x25,0xE5,0x27,0xE7,0xE6,0x26,0x22,0xE2,0xE3,0x23,0xE1,0x21,0x20,0xE0, - 0xA0,0x60,0x61,0xA1,0x63,0xA3,0xA2,0x62,0x66,0xA6,0xA7,0x67,0xA5,0x65,0x64,0xA4, - 0x6C,0xAC,0xAD,0x6D,0xAF,0x6F,0x6E,0xAE,0xAA,0x6A,0x6B,0xAB,0x69,0xA9,0xA8,0x68, - 0x78,0xB8,0xB9,0x79,0xBB,0x7B,0x7A,0xBA,0xBE,0x7E,0x7F,0xBF,0x7D,0xBD,0xBC,0x7C, - 0xB4,0x74,0x75,0xB5,0x77,0xB7,0xB6,0x76,0x72,0xB2,0xB3,0x73,0xB1,0x71,0x70,0xB0, - 0x50,0x90,0x91,0x51,0x93,0x53,0x52,0x92,0x96,0x56,0x57,0x97,0x55,0x95,0x94,0x54, - 0x9C,0x5C,0x5D,0x9D,0x5F,0x9F,0x9E,0x5E,0x5A,0x9A,0x9B,0x5B,0x99,0x59,0x58,0x98, - 0x88,0x48,0x49,0x89,0x4B,0x8B,0x8A,0x4A,0x4E,0x8E,0x8F,0x4F,0x8D,0x4D,0x4C,0x8C, - 0x44,0x84,0x85,0x45,0x87,0x47,0x46,0x86,0x82,0x42,0x43,0x83,0x41,0x81,0x80,0x40, - }; uchCRCHi = 0xFF; uchCRCLo = 0xFF; /* CRC Generation Function */ diff --git a/Core/Modbus/rs_message.c b/Core/Modbus/rs_message.c index 46673d0..9ceb70f 100644 --- a/Core/Modbus/rs_message.c +++ b/Core/Modbus/rs_message.c @@ -285,10 +285,13 @@ RS_StatusTypeDef RS_Abort(RS_HandleTypeDef *hRS, RS_AbortTypeDef AbortMode) { HAL_StatusTypeDef uart_res = 0; hRS->htim->Instance->CNT = 0; - __HAL_TIM_CLEAR_IT(hRS->htim, TIM_IT_UPDATE); - + if(hRS->sRS_Timeout) // if timeout setted - HAL_TIM_Base_Stop_IT(hRS->htim); // stop timeout + { + TIM14->DIER &= ~(TIM_IT_UPDATE); + /* Disable the Peripheral */ + TIM14->CR1 &= ~(TIM_CR1_CEN); + } if((AbortMode&ABORT_RS) == 0x00) { @@ -410,7 +413,11 @@ RS_StatusTypeDef RS_UART_RxCpltCallback(RS_HandleTypeDef *hRS) RS_Set_RX_End(hRS); if(hRS->sRS_Timeout) // if timeout setted - HAL_TIM_Base_Stop_IT(hRS->htim); // stop timeout + { + TIM14->DIER &= ~(TIM_IT_UPDATE); + /* Disable the Peripheral */ + TIM14->CR1 &= ~(TIM_CR1_CEN); + } // parse received data RS_RES = RS_Parse_Message(hRS, hRS->pMessagePtr, hRS->pBufferPtr); // parse message @@ -440,7 +447,11 @@ RS_StatusTypeDef RS_UART_RxCpltCallback(RS_HandleTypeDef *hRS) RS_Set_RX_End(hRS); if(hRS->sRS_Timeout) // if timeout setted - HAL_TIM_Base_Stop_IT(hRS->htim); // stop timeout + { + TIM14->DIER &= ~(TIM_IT_UPDATE); + /* Disable the Peripheral */ + TIM14->CR1 &= ~(TIM_CR1_CEN); + } // parse received data RS_RES = RS_Parse_Message(hRS, hRS->pMessagePtr, hRS->pBufferPtr); // parse message @@ -493,7 +504,9 @@ void RS_UART_Handler(RS_HandleTypeDef *hRS) if(hRS->sRS_Timeout) // if timeout setted if((hRS->huart->RxXferCount+1 == hRS->huart->RxXferSize) && RS_Is_RX_Busy(hRS)) // if first byte is received and receive is active { - HAL_TIM_Base_Start_IT(hRS->htim); + TIM14->DIER |= (TIM_IT_UPDATE); + /* Disable the Peripheral */ + TIM14->CR1 |= (TIM_CR1_CEN); RS_Set_RX_Active_Flags(hRS); } @@ -528,8 +541,12 @@ void RS_UART_Handler(RS_HandleTypeDef *hRS) */ void RS_TIM_Handler(RS_HandleTypeDef *hRS) { - HAL_TIM_IRQHandler(hRS->htim); - HAL_TIM_Base_Stop_IT(hRS->htim); + TIM14->SR = ~(TIM_IT_UPDATE); + /* Disable the TIM Update interrupt */ + TIM14->DIER &= ~(TIM_IT_UPDATE); + /* Disable the Peripheral */ + TIM14->CR1 &= ~(TIM_CR1_CEN); + RS_Abort(hRS, ABORT_RS); RS_Handle_Receive_Start(hRS, hRS->pMessagePtr); diff --git a/Core/Src/main.c b/Core/Src/main.c index 953bef4..caf6fef 100644 --- a/Core/Src/main.c +++ b/Core/Src/main.c @@ -24,6 +24,7 @@ #include "main.h" #include "gpio.h" #include "tim.h" +#include "usart.h" #include "pch_sensors.h" #include "rs_message.h" @@ -51,6 +52,11 @@ int main(void) MX_GPIO_Init(); MX_TIM1_Init(); HAL_TIM_Base_Start(&htim1); + MX_USART1_UART_Init(); + +// MODBUS_FirstInit(); +// RS_Receive_IT(&hmodbus1, &MODBUS_MSG); + PCHSens_FirstInit(); /* infinite loop */ @@ -58,6 +64,11 @@ int main(void) { GPIOA->ODR ^= GPIO_LED_2; PCHSens_ReadTemperature(&module1); + PCHSens_ReadTemperature(&module2); + PCHSens_ReadTemperature(&module3); + PCHSens_ReadTemperature(&module4); + PCHSens_ReadTemperature(&module5); + PCHSens_ReadTemperature(&module6); } } diff --git a/Core/Src/py32f002b_it.c b/Core/Src/py32f002b_it.c index 9539f2f..b373ee9 100644 --- a/Core/Src/py32f002b_it.c +++ b/Core/Src/py32f002b_it.c @@ -75,6 +75,23 @@ void SysTick_Handler(void) HAL_IncTick(); } +//#include "rs_message.h" +///** +// * @brief This function handles USART1. +// */ +//void USART1_IRQHandler(void) +//{ +// RS_UART_Handler(&hmodbus1); +//} + +///** +// * @brief This function handles TIM2 global interrupt. +// */ +//void TIM14_IRQHandler(void) +//{ +// /* USER CODE BEGIN TIM2_IRQn 0 */ +// RS_TIM_Handler(&hmodbus1); +//} /******************************************************************************/ /* PY32F002B Peripheral Interrupt Handlers */ /* Add here the Interrupt Handlers for the used peripherals. */ diff --git a/MDK-ARM/Project.uvoptx b/MDK-ARM/PY32Dallas.uvoptx similarity index 98% rename from MDK-ARM/Project.uvoptx rename to MDK-ARM/PY32Dallas.uvoptx index 3c1c417..b9837ff 100644 --- a/MDK-ARM/Project.uvoptx +++ b/MDK-ARM/PY32Dallas.uvoptx @@ -193,42 +193,42 @@ 7 1 - htim1.Instance->CNT,0x0A + start,0x0A 8 1 - start,0x0A + end,0x0A 9 1 - end,0x0A + (uint16_t)htim1.Instance->CNT-start,0x0A 10 1 - (uint16_t)htim1.Instance->CNT-start,0x0A + end-start,0x0A 11 1 - end-start,0x0A + ((uint16_t)htim1.Instance->CNT-start <(end-start)),0x0A 12 1 - ((uint16_t)htim1.Instance->CNT-start <(end-start)),0x0A + ((uint16_t)htim1.Instance->CNT-start < us*tim_1us_period),0x0A 13 1 - ((uint16_t)htim1.Instance->CNT-start < us*tim_1us_period),0x0A + (uint16_t)htim1.Instance->CNT-start,0x0A 14 1 - (uint16_t)htim1.Instance->CNT-start,0x0A + hmodbus1 @@ -247,6 +247,11 @@ 2 OW + + 3 + 2 + MB_DATA + 0 @@ -292,21 +297,9 @@ - System Viewer\GPIOA + System Viewer\USART1 35905 - - System Viewer\GPIOB - 35904 - - - System Viewer\GPIOC - 35902 - - - System Viewer\TIM1 - 35903 - 1 @@ -444,7 +437,7 @@ Drivers/PY32F002B_HAL_Driver - 0 + 1 0 0 0 diff --git a/MDK-ARM/Project.uvprojx b/MDK-ARM/PY32Dallas.uvprojx similarity index 90% rename from MDK-ARM/Project.uvprojx rename to MDK-ARM/PY32Dallas.uvprojx index 820c47e..972e87b 100644 --- a/MDK-ARM/Project.uvprojx +++ b/MDK-ARM/PY32Dallas.uvprojx @@ -139,7 +139,7 @@ 1 BIN\UL2CM3.DLL - + "" () @@ -549,6 +549,75 @@ Modbus + + + 0 + 0 + 0 + 0 + 0 + 0 + 2 + 2 + 2 + 2 + 11 + + + 1 + + + + 2 + 0 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 0 + 2 + 2 + 2 + 2 + 2 + 0 + 0 + 2 + 2 + 2 + 2 + 2 + + + + + + + + + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 0 + + + + + + + + + crc_algs.c diff --git a/MDK-ARM/Project.uvguix.I b/MDK-ARM/Project.uvguix.I deleted file mode 100644 index d95bbcc..0000000 --- a/MDK-ARM/Project.uvguix.I +++ /dev/null @@ -1,3986 +0,0 @@ - - - - -6.1 - -
### uVision Project, (C) Keil Software
- - - F:\Work\Projects\PY32\dallas\Core\Src - - - - - System Viewer\GPIOA - 35905 - - 123 - - - System Viewer\GPIOB - 35904 - - 112 - - - System Viewer\GPIOC - 35902 - - 72 - - - System Viewer\TIM1 - 35903 - - 73 - - - - - - 38003 - Registers - 122 100 - - - 346 - Code Coverage - 860 100 - - - 204 - Performance Analyzer - 306 153 153 189 - - - - - - 35141 - Event Statistics - - 250 50 724 - - - 1506 - Symbols - - 70 70 70 - - - 1936 - Watch 1 - - 200 133 133 - - - 1937 - Watch 2 - - 200 163 133 - - - 1935 - Call Stack + Locals - - 200 133 133 - - - 2506 - Trace Data - - 75 135 130 95 70 230 200 150 - - - 466 - Source Browser - 500 - 300 - - - - - - - - 0 - 0 - 0 - 50 - 16 - - - - - - - 44 - 2 - 3 - - -32000 - -32000 - - - -1 - -1 - - - 165 - 428 - 1688 - 858 - - - - 0 - - 3581 - 0100000004000000010000000100000001000000010000000000000002000000000000000100000001000000000000002800000028000000010000002700000024000000010000002C463A5C576F726B5C50726F6A656374735C505933325C64616C6C61735C436F72655C5372635C6D61696E2E6300000000066D61696E2E6300000000C5D4F200FFFFFFFF36463A5C576F726B5C50726F6A656374735C505933325C64616C6C61735C436F72655C44616C6C61735C7063685F73656E736F72732E68000000000D7063685F73656E736F72732E6800000000FFDC7800FFFFFFFF37463A5C576F726B5C50726F6A656374735C505933325C64616C6C61735C436F72655C44616C6C61735C64616C6C61735F746F6F6C732E63000000000E64616C6C61735F746F6F6C732E6300000000BECEA100FFFFFFFF36463A5C576F726B5C50726F6A656374735C505933325C64616C6C61735C436F72655C44616C6C61735C7063685F73656E736F72732E63000000000D7063685F73656E736F72732E6300000000F0A0A100FFFFFFFF2E463A5C576F726B5C50726F6A656374735C505933325C64616C6C61735C436F72655C44616C6C61735C6477742E6800000000056477742E6800000000BCA8E100FFFFFFFF37463A5C576F726B5C50726F6A656374735C505933325C64616C6C61735C436F72655C44616C6C61735C64616C6C61735F746F6F6C732E68000000000E64616C6C61735F746F6F6C732E68000000009CC1B600FFFFFFFF32463A5C576F726B5C50726F6A656374735C505933325C64616C6C61735C436F72655C44616C6C61735C6F775F706F72742E6800000000096F775F706F72742E6800000000F7B88600FFFFFFFF2C463A5C576F726B5C50726F6A656374735C505933325C64616C6C61735C436F72655C496E635C6D61696E2E6800000000066D61696E2E6800000000D9ADC200FFFFFFFF32463A5C576F726B5C50726F6A656374735C505933325C64616C6C61735C436F72655C44616C6C61735C6F775F706F72742E6300000000096F775F706F72742E6300000000A5C2D700FFFFFFFF50463A5C576F726B5C50726F6A656374735C505933325C64616C6C61735C447269766572735C434D5349535C4465766963655C50593332463078785C496E636C7564655C70793332663030326278352E68000000000D70793332663030326278352E6800000000B3A6BE00FFFFFFFF2C463A5C576F726B5C50726F6A656374735C505933325C64616C6C61735C436F72655C5372635C6770696F2E6300000000066770696F2E6300000000EAD6A300FFFFFFFF52463A5C576F726B5C50726F6A656374735C505933325C64616C6C61735C447269766572735C5059333246303032425F48414C5F4472697665725C496E635C7079333266303032625F68616C5F6770696F2E6800000000147079333266303032625F68616C5F6770696F2E6800000000F6FA7D00FFFFFFFF32463A5C576F726B5C50726F6A656374735C505933325C64616C6C61735C436F72655C44616C6C61735C6F6E65776972652E6300000000096F6E65776972652E6300000000B5E99D00FFFFFFFF3A463A5C576F726B5C50726F6A656374735C505933325C64616C6C61735C4D444B2D41524D5C737461727475705F70793332663030326278782E730000000015737461727475705F70793332663030326278782E73000000005FC3CF00FFFFFFFF2E463A5C576F726B5C50726F6A656374735C505933325C64616C6C61735C436F72655C44616C6C61735C6477742E6300000000056477742E6300000000C1838300FFFFFFFF39463A5C576F726B5C50726F6A656374735C505933325C64616C6C61735C436F72655C44616C6C61735C647331386232305F6472697665722E630000000010647331386232305F6472697665722E6300000000CACAD500FFFFFFFF39463A5C576F726B5C50726F6A656374735C505933325C64616C6C61735C436F72655C44616C6C61735C647331386232305F6472697665722E680000000010647331386232305F6472697665722E6800000000C5D4F200FFFFFFFF32463A5C576F726B5C50726F6A656374735C505933325C64616C6C61735C436F72655C44616C6C61735C6F6E65776972652E6800000000096F6E65776972652E6800000000FFDC7800FFFFFFFF4D463A5C576F726B5C50726F6A656374735C505933325C64616C6C61735C447269766572735C5059333246303032425F48414C5F4472697665725C5372635C7079333266303032625F68616C2E63000000000F7079333266303032625F68616C2E6300000000BECEA100FFFFFFFF52463A5C576F726B5C50726F6A656374735C505933325C64616C6C61735C447269766572735C5059333246303032425F48414C5F4472697665725C5372635C7079333266303032625F68616C5F6770696F2E6300000000147079333266303032625F68616C5F6770696F2E6300000000F0A0A100FFFFFFFF2B463A5C576F726B5C50726F6A656374735C505933325C64616C6C61735C436F72655C5372635C74696D2E63000000000574696D2E6300000000BCA8E100FFFFFFFF2B463A5C576F726B5C50726F6A656374735C505933325C64616C6C61735C436F72655C496E635C74696D2E68000000000574696D2E68000000009CC1B600FFFFFFFF3A463A5C576F726B5C50726F6A656374735C505933325C64616C6C61735C436F72655C496E635C7079333266303032625F68616C5F636F6E662E6800000000147079333266303032625F68616C5F636F6E662E6800000000F7B88600FFFFFFFF51463A5C576F726B5C50726F6A656374735C505933325C64616C6C61735C447269766572735C5059333246303032425F48414C5F4472697665725C5372635C7079333266303032625F68616C5F7263632E6300000000137079333266303032625F68616C5F7263632E6300000000D9ADC200FFFFFFFF3B463A5C576F726B5C50726F6A656374735C505933325C64616C6C61735C436F72655C4D6F646275735C696E746572666163655F636F6E6669672E680000000012696E746572666163655F636F6E6669672E6800000000A5C2D700FFFFFFFF31463A5C576F726B5C50726F6A656374735C505933325C64616C6C61735C436F72655C4D6F646275735C6D6F646275732E6300000000086D6F646275732E6300000000B3A6BE00FFFFFFFF35463A5C576F726B5C50726F6A656374735C505933325C64616C6C61735C436F72655C4D6F646275735C72735F6D6573736167652E68000000000C72735F6D6573736167652E6800000000EAD6A300FFFFFFFF33463A5C576F726B5C50726F6A656374735C505933325C64616C6C61735C436F72655C4D6F646275735C6372635F616C67732E68000000000A6372635F616C67732E6800000000F6FA7D00FFFFFFFF31463A5C576F726B5C50726F6A656374735C505933325C64616C6C61735C436F72655C4D6F646275735C6D6F646275732E6800000000086D6F646275732E6800000000B5E99D00FFFFFFFF35463A5C576F726B5C50726F6A656374735C505933325C64616C6C61735C436F72655C4D6F646275735C72735F6D6573736167652E63000000000C72735F6D6573736167652E63000000005FC3CF00FFFFFFFF53463A5C576F726B5C50726F6A656374735C505933325C64616C6C61735C447269766572735C5059333246303032425F48414C5F4472697665725C496E635C7079333266303032625F68616C5F75736172742E6800000000157079333266303032625F68616C5F75736172742E6800000000C1838300FFFFFFFF36463A5C576F726B5C50726F6A656374735C505933325C64616C6C61735C436F72655C4D6F646275735C6D6F646275735F646174612E68000000000D6D6F646275735F646174612E6800000000CACAD500FFFFFFFF37463A5C576F726B5C50726F6A656374735C505933325C64616C6C61735C436F72655C4D794C6962735C67656E6572616C5F6770696F2E63000000000E67656E6572616C5F6770696F2E6300000000C5D4F200FFFFFFFF37463A5C576F726B5C50726F6A656374735C505933325C64616C6C61735C436F72655C4D794C6962735C67656E6572616C5F6770696F2E68000000000E67656E6572616C5F6770696F2E6800000000FFDC7800FFFFFFFF36463A5C576F726B5C50726F6A656374735C505933325C64616C6C61735C436F72655C4D794C6962735C6D796C6962735F646566732E68000000000D6D796C6962735F646566732E6800000000BECEA100FFFFFFFF38463A5C576F726B5C50726F6A656374735C505933325C64616C6C61735C436F72655C4D794C6962735C6D796C6962735F636F6E6669672E68000000000F6D796C6962735F636F6E6669672E6800000000F0A0A100FFFFFFFF2D463A5C576F726B5C50726F6A656374735C505933325C64616C6C61735C436F72655C5372635C75736172742E63000000000775736172742E6300000000BCA8E100FFFFFFFF52463A5C576F726B5C50726F6A656374735C505933325C64616C6C61735C447269766572735C5059333246303032425F48414C5F4472697665725C5372635C7079333266303032625F68616C5F756172742E6300000000147079333266303032625F68616C5F756172742E63000000009CC1B600FFFFFFFF39463A5C576F726B5C50726F6A656374735C505933325C64616C6C61735C436F72655C5372635C7079333266303032625F68616C5F6D73702E6300000000137079333266303032625F68616C5F6D73702E6300000000F7B88600FFFFFFFF0100000010000000C5D4F200FFDC7800BECEA100F0A0A100BCA8E1009CC1B600F7B88600D9ADC200A5C2D700B3A6BE00EAD6A300F6FA7D00B5E99D005FC3CF00C1838300CACAD5000100000000000000020000003A0100006600000090060000B1020000 - - - - 0 - Build - - -1 - -1 - 0 - 0 - 0 - 0 - 32767 - 0 - 4096 - 0 - - 16 - D60000004F000000DC040000DA000000 - - - 16 - D600000066000000DC040000F1000000 - - - - 1005 - 1005 - 1 - 0 - 0 - 0 - 32767 - 0 - 4096 - 0 - - 16 - 03000000660000003301000081020000 - - - 16 - 560000006D0000002801000032010000 - - - - 109 - 109 - 1 - 0 - 0 - 0 - 32767 - 0 - 4096 - 0 - - 16 - 03000000660000003301000081020000 - - - 16 - 560000006D0000004E0100009C020000 - - - - 1465 - 1465 - 0 - 0 - 0 - 0 - 32767 - 0 - 4096 - 0 - - 16 - 030000001F020000D90400008E020000 - - - 16 - 560000006D000000C4020000F8000000 - - - - 1466 - 1466 - 0 - 0 - 0 - 0 - 32767 - 0 - 4096 - 0 - - 16 - 030000001F020000D90400008E020000 - - - 16 - 560000006D000000C4020000F8000000 - - - - 1467 - 1467 - 0 - 0 - 0 - 0 - 32767 - 0 - 4096 - 0 - - 16 - 030000001F020000D90400008E020000 - - - 16 - 560000006D000000C4020000F8000000 - - - - 1468 - 1468 - 0 - 0 - 0 - 0 - 32767 - 0 - 4096 - 0 - - 16 - 030000001F020000D90400008E020000 - - - 16 - 560000006D000000C4020000F8000000 - - - - 1506 - 1506 - 0 - 0 - 0 - 0 - 32767 - 0 - 16384 - 0 - - 16 - 0D04000066000000D9040000FF010000 - - - 16 - 560000006D0000002801000032010000 - - - - 1913 - 1913 - 0 - 0 - 0 - 0 - 32767 - 0 - 4096 - 0 - - 16 - D900000066000000D9040000C1000000 - - - 16 - 560000006D000000C4020000F8000000 - - - - 1935 - 1935 - 0 - 0 - 0 - 0 - 32767 - 0 - 32768 - 0 - - 16 - 030000001F020000D90400008E020000 - - - 16 - 560000006D0000002801000032010000 - - - - 1936 - 1936 - 0 - 0 - 0 - 0 - 32767 - 0 - 4096 - 0 - - 16 - 030000001F020000D90400008E020000 - - - 16 - 560000006D0000002801000032010000 - - - - 1937 - 1937 - 0 - 0 - 0 - 0 - 32767 - 0 - 4096 - 0 - - 16 - 030000001F020000D90400008E020000 - - - 16 - 560000006D0000002801000032010000 - - - - 1939 - 1939 - 0 - 0 - 0 - 0 - 32767 - 0 - 4096 - 0 - - 16 - 030000001F020000D90400008E020000 - - - 16 - 560000006D000000C4020000F8000000 - - - - 1940 - 1940 - 0 - 0 - 0 - 0 - 32767 - 0 - 4096 - 0 - - 16 - 030000001F020000D90400008E020000 - - - 16 - 560000006D000000C4020000F8000000 - - - - 1941 - 1941 - 0 - 0 - 0 - 0 - 32767 - 0 - 4096 - 0 - - 16 - 030000001F020000D90400008E020000 - - - 16 - 560000006D000000C4020000F8000000 - - - - 1942 - 1942 - 0 - 0 - 0 - 0 - 32767 - 0 - 4096 - 0 - - 16 - 030000001F020000D90400008E020000 - - - 16 - 560000006D000000C4020000F8000000 - - - - 195 - 195 - 1 - 0 - 0 - 0 - 32767 - 0 - 4096 - 0 - - 16 - 03000000660000003301000081020000 - - - 16 - 560000006D0000004E0100009C020000 - - - - 196 - 196 - 1 - 0 - 0 - 0 - 32767 - 0 - 4096 - 0 - - 16 - 03000000660000003301000081020000 - - - 16 - 560000006D0000004E0100009C020000 - - - - 197 - 197 - 1 - 0 - 0 - 0 - 32767 - 0 - 32768 - 0 - - 16 - 03000000B50200008D060000AF030000 - - - 16 - 560000006D000000C4020000F8000000 - - - - 198 - 198 - 0 - 0 - 0 - 0 - 32767 - 0 - 32768 - 0 - - 16 - 0000000008020000DC040000A7020000 - - - 16 - 560000006D000000C4020000F8000000 - - - - 199 - 199 - 1 - 0 - 0 - 0 - 32767 - 0 - 4096 - 0 - - 16 - 03000000B50200008D060000AF030000 - - - 16 - 560000006D000000C4020000F8000000 - - - - 203 - 203 - 0 - 0 - 0 - 0 - 32767 - 0 - 8192 - 0 - - 16 - D900000066000000D9040000C1000000 - - - 16 - 560000006D000000C4020000F8000000 - - - - 204 - 204 - 0 - 0 - 0 - 0 - 32767 - 0 - 4096 - 0 - - 16 - D900000066000000D9040000C1000000 - - - 16 - 560000006D000000C4020000F8000000 - - - - 221 - 221 - 0 - 0 - 0 - 0 - 32767 - 0 - 4096 - 0 - - 16 - 00000000000000000000000000000000 - - - 16 - 0A0000000A0000006E0000006E000000 - - - - 2506 - 2506 - 0 - 0 - 0 - 0 - 32767 - 0 - 4096 - 0 - - 16 - 0D04000066000000D9040000FF010000 - - - 16 - 560000006D0000002801000032010000 - - - - 2507 - 2507 - 0 - 0 - 0 - 0 - 32767 - 0 - 4096 - 0 - - 16 - 030000001F020000D90400008E020000 - - - 16 - 560000006D000000C4020000F8000000 - - - - 343 - 343 - 0 - 0 - 0 - 0 - 32767 - 0 - 4096 - 0 - - 16 - D900000066000000D9040000C1000000 - - - 16 - 560000006D000000C4020000F8000000 - - - - 346 - 346 - 0 - 0 - 0 - 0 - 32767 - 0 - 4096 - 0 - - 16 - D900000066000000D9040000C1000000 - - - 16 - 560000006D000000C4020000F8000000 - - - - 35141 - 35141 - 0 - 0 - 0 - 0 - 32767 - 0 - 4096 - 0 - - 16 - D900000066000000D9040000C1000000 - - - 16 - 560000006D0000002801000032010000 - - - - 35824 - 35824 - 0 - 0 - 0 - 0 - 32767 - 0 - 4096 - 0 - - 16 - D900000066000000D9040000C1000000 - - - 16 - 560000006D000000C4020000F8000000 - - - - 35885 - 35885 - 0 - 0 - 0 - 0 - 32767 - 0 - 4096 - 0 - - 16 - 0D04000066000000D9040000FF010000 - - - 16 - 560000006D0000002801000032010000 - - - - 35886 - 35886 - 0 - 0 - 0 - 0 - 32767 - 0 - 4096 - 0 - - 16 - 0D04000066000000D9040000FF010000 - - - 16 - 560000006D0000002801000032010000 - - - - 35887 - 35887 - 0 - 0 - 0 - 0 - 32767 - 0 - 4096 - 0 - - 16 - 0D04000066000000D9040000FF010000 - - - 16 - 560000006D0000002801000032010000 - - - - 35888 - 35888 - 0 - 0 - 0 - 0 - 32767 - 0 - 4096 - 0 - - 16 - 0D04000066000000D9040000FF010000 - - - 16 - 560000006D0000002801000032010000 - - - - 35889 - 35889 - 0 - 0 - 0 - 0 - 32767 - 0 - 4096 - 0 - - 16 - 0D04000066000000D9040000FF010000 - - - 16 - 560000006D0000002801000032010000 - - - - 35890 - 35890 - 0 - 0 - 0 - 0 - 32767 - 0 - 4096 - 0 - - 16 - 0D04000066000000D9040000FF010000 - - - 16 - 560000006D0000002801000032010000 - - - - 35891 - 35891 - 0 - 0 - 0 - 0 - 32767 - 0 - 4096 - 0 - - 16 - 0D04000066000000D9040000FF010000 - - - 16 - 560000006D0000002801000032010000 - - - - 35892 - 35892 - 0 - 0 - 0 - 0 - 32767 - 0 - 4096 - 0 - - 16 - 0D04000066000000D9040000FF010000 - - - 16 - 560000006D0000002801000032010000 - - - - 35893 - 35893 - 0 - 0 - 0 - 0 - 32767 - 0 - 4096 - 0 - - 16 - 0D04000066000000D9040000FF010000 - - - 16 - 560000006D0000002801000032010000 - - - - 35894 - 35894 - 0 - 0 - 0 - 0 - 32767 - 0 - 4096 - 0 - - 16 - 0D04000066000000D9040000FF010000 - - - 16 - 560000006D0000002801000032010000 - - - - 35895 - 35895 - 0 - 0 - 0 - 0 - 32767 - 0 - 4096 - 0 - - 16 - 0D04000066000000D9040000FF010000 - - - 16 - 560000006D0000002801000032010000 - - - - 35896 - 35896 - 0 - 0 - 0 - 0 - 32767 - 0 - 4096 - 0 - - 16 - 0D04000066000000D9040000FF010000 - - - 16 - 560000006D0000002801000032010000 - - - - 35897 - 35897 - 0 - 0 - 0 - 0 - 32767 - 0 - 4096 - 0 - - 16 - 0D04000066000000D9040000FF010000 - - - 16 - 560000006D0000002801000032010000 - - - - 35898 - 35898 - 0 - 0 - 0 - 0 - 32767 - 0 - 4096 - 0 - - 16 - 0D04000066000000D9040000FF010000 - - - 16 - 560000006D0000002801000032010000 - - - - 35899 - 35899 - 0 - 0 - 0 - 0 - 32767 - 0 - 4096 - 0 - - 16 - 0D04000066000000D9040000FF010000 - - - 16 - 560000006D0000002801000032010000 - - - - 35900 - 35900 - 0 - 0 - 0 - 0 - 32767 - 0 - 4096 - 0 - - 16 - 0D04000066000000D9040000FF010000 - - - 16 - 560000006D0000002801000032010000 - - - - 35901 - 35901 - 0 - 0 - 0 - 0 - 32767 - 0 - 4096 - 0 - - 16 - 0D04000066000000D9040000FF010000 - - - 16 - 560000006D0000002801000032010000 - - - - 35902 - 35902 - 0 - 0 - 0 - 0 - 32767 - 0 - 4096 - 0 - - 16 - 0D04000066000000D9040000FF010000 - - - 16 - 560000006D0000002801000032010000 - - - - 35903 - 35903 - 0 - 0 - 0 - 0 - 32767 - 0 - 4096 - 0 - - 16 - 0D04000066000000D9040000FF010000 - - - 16 - 560000006D0000002801000032010000 - - - - 35904 - 35904 - 0 - 0 - 0 - 0 - 32767 - 0 - 4096 - 0 - - 16 - 0D04000066000000D9040000FF010000 - - - 16 - 560000006D0000002801000032010000 - - - - 35905 - 35905 - 0 - 0 - 0 - 0 - 32767 - 0 - 4096 - 0 - - 16 - 0D04000066000000D9040000FF010000 - - - 16 - 560000006D0000002801000032010000 - - - - 38003 - 38003 - 0 - 0 - 0 - 0 - 32767 - 0 - 4096 - 0 - - 16 - 03000000660000003301000081020000 - - - 16 - 560000006D0000004E0100009C020000 - - - - 38007 - 38007 - 0 - 0 - 0 - 0 - 32767 - 0 - 4096 - 0 - - 16 - 03000000B50200008D060000AF030000 - - - 16 - 560000006D000000C4020000F8000000 - - - - 436 - 436 - 0 - 0 - 0 - 0 - 32767 - 0 - 4096 - 0 - - 16 - 03000000B50200008D060000AF030000 - - - 16 - 560000006D0000004E0100009C020000 - - - - 437 - 437 - 0 - 0 - 0 - 0 - 32767 - 0 - 4096 - 0 - - 16 - 030000001F020000D90400008E020000 - - - 16 - 560000006D0000002801000032010000 - - - - 440 - 440 - 0 - 0 - 0 - 0 - 32767 - 0 - 4096 - 0 - - 16 - 030000001F020000D90400008E020000 - - - 16 - 560000006D0000002801000032010000 - - - - 463 - 463 - 0 - 0 - 0 - 0 - 32767 - 0 - 4096 - 0 - - 16 - 03000000B50200008D060000AF030000 - - - 16 - 560000006D0000004E0100009C020000 - - - - 466 - 466 - 0 - 0 - 0 - 0 - 32767 - 0 - 4096 - 0 - - 16 - 03000000B50200008D060000AF030000 - - - 16 - 560000006D0000004E0100009C020000 - - - - 470 - 470 - 0 - 0 - 0 - 0 - 32767 - 0 - 4096 - 0 - - 16 - D900000066000000D9040000C1000000 - - - 16 - 560000006D000000C4020000F8000000 - - - - 50000 - 50000 - 0 - 0 - 0 - 0 - 32767 - 0 - 4096 - 0 - - 16 - 0D04000066000000D9040000FF010000 - - - 16 - 560000006D0000002801000032010000 - - - - 50001 - 50001 - 0 - 0 - 0 - 0 - 32767 - 0 - 4096 - 0 - - 16 - 0D04000066000000D9040000FF010000 - - - 16 - 560000006D0000002801000032010000 - - - - 50002 - 50002 - 0 - 0 - 0 - 0 - 32767 - 0 - 4096 - 0 - - 16 - 0D04000066000000D9040000FF010000 - - - 16 - 560000006D0000002801000032010000 - - - - 50003 - 50003 - 0 - 0 - 0 - 0 - 32767 - 0 - 4096 - 0 - - 16 - 0D04000066000000D9040000FF010000 - - - 16 - 560000006D0000002801000032010000 - - - - 50004 - 50004 - 0 - 0 - 0 - 0 - 32767 - 0 - 4096 - 0 - - 16 - 0D04000066000000D9040000FF010000 - - - 16 - 560000006D0000002801000032010000 - - - - 50005 - 50005 - 0 - 0 - 0 - 0 - 32767 - 0 - 4096 - 0 - - 16 - 0D04000066000000D9040000FF010000 - - - 16 - 560000006D0000002801000032010000 - - - - 50006 - 50006 - 0 - 0 - 0 - 0 - 32767 - 0 - 4096 - 0 - - 16 - 0D04000066000000D9040000FF010000 - - - 16 - 560000006D0000002801000032010000 - - - - 50007 - 50007 - 0 - 0 - 0 - 0 - 32767 - 0 - 4096 - 0 - - 16 - 0D04000066000000D9040000FF010000 - - - 16 - 560000006D0000002801000032010000 - - - - 50008 - 50008 - 0 - 0 - 0 - 0 - 32767 - 0 - 4096 - 0 - - 16 - 0D04000066000000D9040000FF010000 - - - 16 - 560000006D0000002801000032010000 - - - - 50009 - 50009 - 0 - 0 - 0 - 0 - 32767 - 0 - 4096 - 0 - - 16 - 0D04000066000000D9040000FF010000 - - - 16 - 560000006D0000002801000032010000 - - - - 50010 - 50010 - 0 - 0 - 0 - 0 - 32767 - 0 - 4096 - 0 - - 16 - 0D04000066000000D9040000FF010000 - - - 16 - 560000006D0000002801000032010000 - - - - 50011 - 50011 - 0 - 0 - 0 - 0 - 32767 - 0 - 4096 - 0 - - 16 - 0D04000066000000D9040000FF010000 - - - 16 - 560000006D0000002801000032010000 - - - - 50012 - 50012 - 0 - 0 - 0 - 0 - 32767 - 0 - 4096 - 0 - - 16 - 0D04000066000000D9040000FF010000 - - - 16 - 560000006D0000002801000032010000 - - - - 50013 - 50013 - 0 - 0 - 0 - 0 - 32767 - 0 - 4096 - 0 - - 16 - 0D04000066000000D9040000FF010000 - - - 16 - 560000006D0000002801000032010000 - - - - 50014 - 50014 - 0 - 0 - 0 - 0 - 32767 - 0 - 4096 - 0 - - 16 - 0D04000066000000D9040000FF010000 - - - 16 - 560000006D0000002801000032010000 - - - - 50015 - 50015 - 0 - 0 - 0 - 0 - 32767 - 0 - 4096 - 0 - - 16 - 0D04000066000000D9040000FF010000 - - - 16 - 560000006D0000002801000032010000 - - - - 50016 - 50016 - 0 - 0 - 0 - 0 - 32767 - 0 - 4096 - 0 - - 16 - 0D04000066000000D9040000FF010000 - - - 16 - 560000006D0000002801000032010000 - - - - 50017 - 50017 - 0 - 0 - 0 - 0 - 32767 - 0 - 4096 - 0 - - 16 - 0D04000066000000D9040000FF010000 - - - 16 - 560000006D0000002801000032010000 - - - - 50018 - 50018 - 0 - 0 - 0 - 0 - 32767 - 0 - 4096 - 0 - - 16 - 0D04000066000000D9040000FF010000 - - - 16 - 560000006D0000002801000032010000 - - - - 50019 - 50019 - 0 - 0 - 0 - 0 - 32767 - 0 - 4096 - 0 - - 16 - 0D04000066000000D9040000FF010000 - - - 16 - 560000006D0000002801000032010000 - - - - 59392 - 59392 - 1 - 0 - 0 - 0 - 966 - 0 - 8192 - 0 - - 16 - 0000000000000000D10300001C000000 - - - 16 - 0A0000000A0000006E0000006E000000 - - - - 59393 - 0 - 1 - 0 - 0 - 0 - 32767 - 0 - 4096 - 0 - - 16 - 00000000C803000090060000DB030000 - - - 16 - 0A0000000A0000006E0000006E000000 - - - - 59399 - 59399 - 1 - 0 - 0 - 0 - 476 - 0 - 8192 - 1 - - 16 - 000000001C000000E701000038000000 - - - 16 - 0A0000000A0000006E0000006E000000 - - - - 59400 - 59400 - 0 - 0 - 0 - 0 - 612 - 0 - 8192 - 2 - - 16 - 00000000380000006F02000054000000 - - - 16 - 0A0000000A0000006E0000006E000000 - - - - 824 - 824 - 0 - 0 - 0 - 0 - 32767 - 0 - 4096 - 0 - - 16 - 030000001F020000D90400008E020000 - - - 16 - 560000006D0000002801000032010000 - - - - 3312 - 000000000B000000000000000020000000000000FFFFFFFFFFFFFFFFD6000000DA000000DC040000DE000000000000000100000004000000010000000000000000000000FFFFFFFF08000000CB00000057010000CC000000F08B00005A01000079070000D601000045890000FFFF02000B004354616262656450616E650020000000000000D600000066000000DC040000F1000000D60000004F000000DC040000DA0000000000000040280046080000000B446973617373656D626C7900000000CB00000001000000FFFFFFFFFFFFFFFF14506572666F726D616E636520416E616C797A6572000000005701000001000000FFFFFFFFFFFFFFFF14506572666F726D616E636520416E616C797A657200000000CC00000001000000FFFFFFFFFFFFFFFF0E4C6F67696320416E616C797A657200000000F08B000001000000FFFFFFFFFFFFFFFF0D436F646520436F766572616765000000005A01000001000000FFFFFFFFFFFFFFFF11496E737472756374696F6E205472616365000000007907000001000000FFFFFFFFFFFFFFFF0F53797374656D20416E616C797A657200000000D601000001000000FFFFFFFFFFFFFFFF104576656E742053746174697374696373000000004589000001000000FFFFFFFFFFFFFFFFFFFFFFFF000000000000000000000000000000000000000001000000FFFFFFFFCB00000001000000FFFFFFFFCB000000000000000040000000000000FFFFFFFFFFFFFFFF060400004F0000000A04000018020000000000000200000004000000010000000000000000000000FFFFFFFF2B000000E2050000CA0900002D8C00002E8C00002F8C0000308C0000318C0000328C0000338C0000348C0000358C0000368C0000378C0000388C0000398C00003A8C00003B8C00003C8C00003D8C00003E8C00003F8C0000408C0000418C000050C3000051C3000052C3000053C3000054C3000055C3000056C3000057C3000058C3000059C300005AC300005BC300005CC300005DC300005EC300005FC3000060C3000061C3000062C3000063C30000018000400000000000000A04000066000000DC0400002F0200000A0400004F000000DC0400001802000000000000404100462B0000000753796D626F6C7300000000E205000001000000FFFFFFFFFFFFFFFF0A5472616365204461746100000000CA09000001000000FFFFFFFFFFFFFFFF00000000002D8C000001000000FFFFFFFFFFFFFFFF00000000002E8C000001000000FFFFFFFFFFFFFFFF00000000002F8C000001000000FFFFFFFFFFFFFFFF0000000000308C000001000000FFFFFFFFFFFFFFFF0000000000318C000001000000FFFFFFFFFFFFFFFF0000000000328C000001000000FFFFFFFFFFFFFFFF0000000000338C000001000000FFFFFFFFFFFFFFFF0000000000348C000001000000FFFFFFFFFFFFFFFF0000000000358C000001000000FFFFFFFFFFFFFFFF0000000000368C000001000000FFFFFFFFFFFFFFFF0000000000378C000001000000FFFFFFFFFFFFFFFF0000000000388C000001000000FFFFFFFFFFFFFFFF0000000000398C000001000000FFFFFFFFFFFFFFFF00000000003A8C000001000000FFFFFFFFFFFFFFFF00000000003B8C000001000000FFFFFFFFFFFFFFFF00000000003C8C000001000000FFFFFFFFFFFFFFFF00000000003D8C000001000000FFFFFFFFFFFFFFFF00000000003E8C000001000000FFFFFFFFFFFFFFFF00000000003F8C000001000000FFFFFFFFFFFFFFFF0000000000408C000001000000FFFFFFFFFFFFFFFF0000000000418C000001000000FFFFFFFFFFFFFFFF000000000050C3000001000000FFFFFFFFFFFFFFFF000000000051C3000001000000FFFFFFFFFFFFFFFF000000000052C3000001000000FFFFFFFFFFFFFFFF000000000053C3000001000000FFFFFFFFFFFFFFFF000000000054C3000001000000FFFFFFFFFFFFFFFF000000000055C3000001000000FFFFFFFFFFFFFFFF000000000056C3000001000000FFFFFFFFFFFFFFFF000000000057C3000001000000FFFFFFFFFFFFFFFF000000000058C3000001000000FFFFFFFFFFFFFFFF000000000059C3000001000000FFFFFFFFFFFFFFFF00000000005AC3000001000000FFFFFFFFFFFFFFFF00000000005BC3000001000000FFFFFFFFFFFFFFFF00000000005CC3000001000000FFFFFFFFFFFFFFFF00000000005DC3000001000000FFFFFFFFFFFFFFFF00000000005EC3000001000000FFFFFFFFFFFFFFFF00000000005FC3000001000000FFFFFFFFFFFFFFFF000000000060C3000001000000FFFFFFFFFFFFFFFF000000000061C3000001000000FFFFFFFFFFFFFFFF000000000062C3000001000000FFFFFFFFFFFFFFFF000000000063C3000001000000FFFFFFFFFFFFFFFFFFFFFFFF000000000000000000000000000000000000000001000000FFFFFFFFE205000001000000FFFFFFFFE2050000000000000010000001000000FFFFFFFFFFFFFFFF360100004F0000003A0100009A0200000100000002000010040000000100000030FFFFFFB5050000FFFFFFFF05000000ED0300006D000000C3000000C40000007394000001800010000001000000000000006600000036010000B1020000000000004F000000360100009A0200000000000040410056050000000750726F6A65637401000000ED03000001000000FFFFFFFFFFFFFFFF05426F6F6B73010000006D00000001000000FFFFFFFFFFFFFFFF0946756E6374696F6E7301000000C300000001000000FFFFFFFFFFFFFFFF0954656D706C6174657301000000C400000001000000FFFFFFFFFFFFFFFF09526567697374657273000000007394000001000000FFFFFFFFFFFFFFFF00000000000000000000000000000000000000000000000001000000FFFFFFFFED03000001000000FFFFFFFFED030000000000000080000000000000FFFFFFFFFFFFFFFF0000000004020000DC0400000802000000000000010000000400000001000000000000000000000000000000000000000000000001000000C6000000FFFFFFFF0F0000008F070000930700009407000095070000960700009007000091070000B5010000B801000038030000B9050000BA050000BB050000BC050000CB09000001800080000000000000000000001F020000DC040000BE0200000000000008020000DC040000A702000000000000404100460F0000001343616C6C20537461636B202B204C6F63616C73000000008F07000001000000FFFFFFFFFFFFFFFF0755415254202331000000009307000001000000FFFFFFFFFFFFFFFF0755415254202332000000009407000001000000FFFFFFFFFFFFFFFF0755415254202333000000009507000001000000FFFFFFFFFFFFFFFF15446562756720287072696E74662920566965776572000000009607000001000000FFFFFFFFFFFFFFFF0757617463682031000000009007000001000000FFFFFFFFFFFFFFFF0757617463682032000000009107000001000000FFFFFFFFFFFFFFFF10547261636520457863657074696F6E7300000000B501000001000000FFFFFFFFFFFFFFFF0E4576656E7420436F756E7465727300000000B801000001000000FFFFFFFFFFFFFFFF09554C494E4B706C7573000000003803000001000000FFFFFFFFFFFFFFFF084D656D6F7279203100000000B905000001000000FFFFFFFFFFFFFFFF084D656D6F7279203200000000BA05000001000000FFFFFFFFFFFFFFFF084D656D6F7279203300000000BB05000001000000FFFFFFFFFFFFFFFF084D656D6F7279203400000000BC05000001000000FFFFFFFFFFFFFFFF105472616365204E617669676174696F6E00000000CB09000001000000FFFFFFFFFFFFFFFFFFFFFFFF0000000001000000000000000000000001000000FFFFFFFF6E0200000802000072020000A702000000000000020000000400000000000000000000000000000000000000000000000000000002000000C6000000FFFFFFFF8F07000001000000FFFFFFFF8F07000001000000C6000000000000000080000001000000FFFFFFFFFFFFFFFF000000009A020000900600009E020000010000000100001004000000010000001BFDFFFF89000000FFFFFFFF06000000C5000000C7000000B4010000D2010000CF010000779400000180008000000100000000000000B502000090060000DF030000000000009E02000090060000C80300000000000040820056060000000C4275696C64204F757470757401000000C500000001000000FFFFFFFFFFFFFFFF0D46696E6420496E2046696C657301000000C700000001000000FFFFFFFFFFFFFFFF0A4572726F72204C69737400000000B401000001000000FFFFFFFFFFFFFFFF0E536F757263652042726F7773657200000000D201000001000000FFFFFFFFFFFFFFFF0E416C6C205265666572656E63657300000000CF01000001000000FFFFFFFFFFFFFFFF0742726F77736572000000007794000001000000FFFFFFFFFFFFFFFF00000000000000000000000000000000000000000000000001000000FFFFFFFFC500000001000000FFFFFFFFC5000000000000000000000000000000 - - - 59392 - File - - 2865 - 00200000010000002800FFFF01001100434D4643546F6F6C426172427574746F6E00E100000000000000000000000000000000000000000000000100000001000000018001E100000000000001000000000000000000000000000000000100000001000000018003E1000000000000020000000000000000000000000000000001000000010000000180CD7F0000000000000300000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF000000000000000000000000000100000001000000018023E100000000040004000000000000000000000000000000000100000001000000018022E100000000040005000000000000000000000000000000000100000001000000018025E10000000000000600000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF00000000000000000000000000010000000100000001802BE10000000000000700000000000000000000000000000000010000000100000001802CE10000000004000800000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF00000000000000000000000000010000000100000001807A8A0000000000000900000000000000000000000000000000010000000100000001807B8A0000000000000A00000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF0000000000000000000000000001000000010000000180D3B00000000000000B000000000000000000000000000000000100000001000000018015B10000000004000C0000000000000000000000000000000001000000010000000180F4B00000000004000D000000000000000000000000000000000100000001000000018036B10000000004000E00000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF0000000000000000000000000001000000010000000180FF88000000000400460000000000000000000000000000000001000000010000000180FE880000000004004500000000000000000000000000000000010000000100000001800B810000000004001300000000000000000000000000000000010000000100000001800C810000000004001400000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF0000000000000000000000000001000000010000000180F0880000020000000F000000000000000000000000000000000100000001000000FFFF0100120043555646696E64436F6D626F427574746F6EE803000000000000000000000000000000000000000000000001000000010000009600000002002050000000000B616374696F6E2E7265616496000000000000001400056874696D320454494D33064C45445F4F4E1355534152545F48616E646C65547970654465660848414C5F5541525410696E746572666163655F636F6E6669670012554152545F48616E646C65547970654465660B616374696F6E2E72656164184F4E45574952455F5245434F564552595F54494D455F555305757374696D0773656E73524F4D1A50434853656E735F46696E64556E6B6E6F776E53656E736F7273096E6F745F666F756E640F4F6E655769726544656C61795F7577056874696D33055F4952516E0A4457545F435943434E540B6D6963726F7365636F6E640D73746D3332663178785F68616C0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000018024E10000000000001100000000000000000000000000000000010000000100000001800A810000000000001200000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF000000000000000000000000000100000001000000FFFF01001500434D4643546F6F6C4261724D656E75427574746F6E2280000002000000150000002153746172742F53746F70202644656275672053657373696F6E094374726C2B46350000000000000000000000000100000001000000000000000000000001000000020021802280000000000000150000002153746172742F53746F70202644656275672053657373696F6E094374726C2B4635000000000000000000000000010000000100000000000000000000000100000000002180E0010000000000007500000021456E65726779204D6561737572656D656E742026776974686F75742044656275670000000000000000000000000100000001000000000000000000000001000000000001800000000001000000FFFFFFFF0000000000000000000000000001000000010000000180C488000000000000160000000000000000000000000000000001000000010000000180C988000000000400180000000000000000000000000000000001000000010000000180C788000000000000190000000000000000000000000000000001000000010000002180C8880000000000001700000027264B696C6C20416C6C20427265616B706F696E747320696E2043757272656E7420546172676574000000000000000000000000010000000100000000000000000000000100000003002180C8880000000000001700000027264B696C6C20416C6C20427265616B706F696E747320696E2043757272656E7420546172676574000000000000000000000000010000000100000000000000000000000100000000002180E50100000000000078000000264B696C6C20416C6C20427265616B706F696E747320696E204163746976652050726F6A656374000000000000000000000000010000000100000000000000000000000100000000002180E601000000000000790000002F4B696C6C20416C6C20427265616B706F696E747320696E204D756C74692D50726F6A65637420576F726B73706163650000000000000000000000000100000001000000000000000000000001000000000001800000000001000000FFFFFFFF00000000000000000000000000010000000100000021804C010000020001001A0000000F2650726F6A6563742057696E646F77000000000000000000000000010000000100000000000000000000000100000008002180DD880000000000001A0000000750726F6A656374000000000000000000000000010000000100000000000000000000000100000000002180DC8B0000000000003A00000005426F6F6B73000000000000000000000000010000000100000000000000000000000100000000002180E18B0000000000003B0000000946756E6374696F6E73000000000000000000000000010000000100000000000000000000000100000000002180E28B000000000000400000000954656D706C6174657300000000000000000000000001000000010000000000000000000000010000000000218018890000000000003D0000000E536F757263652042726F777365720000000000000000000000000100000001000000000000000000000001000000000021800000000000000400FFFFFFFF00000000000000000001000000000000000100000000000000000000000100000000002180D988000000000000390000000C4275696C64204F7574707574000000000000000000000000010000000100000000000000000000000100000000002180E38B000000000000410000000B46696E64204F75747075740000000000000000000000000100000001000000000000000000000001000000000001800000000001000000FFFFFFFF0000000000000000000000000001000000010000000180FB7F0000000000001B000000000000000000000000000000000100000001000000000000000446696C65C6030000 - - - 1423 - 2800FFFF01001100434D4643546F6F6C426172427574746F6E00E1000000000000FFFFFFFF000100000000000000010000000000000001000000018001E1000000000000FFFFFFFF000100000000000000010000000000000001000000018003E1000000000000FFFFFFFF0001000000000000000100000000000000010000000180CD7F000000000000FFFFFFFF00010000000000000001000000000000000100000001800000000000000000FFFFFFFF000000000000000000010000000000000001000000018023E1000000000000FFFFFFFF000100000000000000010000000000000001000000018022E1000000000000FFFFFFFF000100000000000000010000000000000001000000018025E1000000000000FFFFFFFF00010000000000000001000000000000000100000001800000000000000000FFFFFFFF00000000000000000001000000000000000100000001802BE1000000000000FFFFFFFF00010000000000000001000000000000000100000001802CE1000000000000FFFFFFFF00010000000000000001000000000000000100000001800000000000000000FFFFFFFF00000000000000000001000000000000000100000001807A8A000000000000FFFFFFFF00010000000000000001000000000000000100000001807B8A000000000000FFFFFFFF00010000000000000001000000000000000100000001800000000000000000FFFFFFFF0000000000000000000100000000000000010000000180D3B0000000000000FFFFFFFF000100000000000000010000000000000001000000018015B1000000000000FFFFFFFF0001000000000000000100000000000000010000000180F4B0000000000000FFFFFFFF000100000000000000010000000000000001000000018036B1000000000000FFFFFFFF00010000000000000001000000000000000100000001800000000000000000FFFFFFFF0000000000000000000100000000000000010000000180FF88000000000000FFFFFFFF0001000000000000000100000000000000010000000180FE88000000000000FFFFFFFF00010000000000000001000000000000000100000001800B81000000000000FFFFFFFF00010000000000000001000000000000000100000001800C81000000000000FFFFFFFF00010000000000000001000000000000000100000001800000000000000000FFFFFFFF0000000000000000000100000000000000010000000180F088000000000000FFFFFFFF0001000000000000000100000000000000010000000180EE7F000000000000FFFFFFFF000100000000000000010000000000000001000000018024E1000000000000FFFFFFFF00010000000000000001000000000000000100000001800A81000000000000FFFFFFFF00010000000000000001000000000000000100000001800000000000000000FFFFFFFF00000000000000000001000000000000000100000001802280000000000000FFFFFFFF00010000000000000001000000000000000100000001800000000000000000FFFFFFFF0000000000000000000100000000000000010000000180C488000000000000FFFFFFFF0001000000000000000100000000000000010000000180C988000000000000FFFFFFFF0001000000000000000100000000000000010000000180C788000000000000FFFFFFFF0001000000000000000100000000000000010000000180C888000000000000FFFFFFFF00010000000000000001000000000000000100000001800000000000000000FFFFFFFF0000000000000000000100000000000000010000000180DD88000000000000FFFFFFFF00010000000000000001000000000000000100000001800000000000000000FFFFFFFF0000000000000000000100000000000000010000000180FB7F000000000000FFFFFFFF000100000000000000010000000000000001000000 - - - 1423 - 2800FFFF01001100434D4643546F6F6C426172427574746F6E00E100000000000000000000000000000000000000000000000100000001000000018001E100000000000001000000000000000000000000000000000100000001000000018003E1000000000000020000000000000000000000000000000001000000010000000180CD7F0000000000000300000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF000000000000000000000000000100000001000000018023E100000000000004000000000000000000000000000000000100000001000000018022E100000000000005000000000000000000000000000000000100000001000000018025E10000000000000600000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF00000000000000000000000000010000000100000001802BE10000000000000700000000000000000000000000000000010000000100000001802CE10000000000000800000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF00000000000000000000000000010000000100000001807A8A0000000000000900000000000000000000000000000000010000000100000001807B8A0000000000000A00000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF0000000000000000000000000001000000010000000180D3B00000000000000B000000000000000000000000000000000100000001000000018015B10000000000000C0000000000000000000000000000000001000000010000000180F4B00000000000000D000000000000000000000000000000000100000001000000018036B10000000000000E00000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF0000000000000000000000000001000000010000000180FF880000000000000F0000000000000000000000000000000001000000010000000180FE880000000000001000000000000000000000000000000000010000000100000001800B810000000000001100000000000000000000000000000000010000000100000001800C810000000000001200000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF0000000000000000000000000001000000010000000180F088000000000000130000000000000000000000000000000001000000010000000180EE7F00000000000014000000000000000000000000000000000100000001000000018024E10000000000001500000000000000000000000000000000010000000100000001800A810000000000001600000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF000000000000000000000000000100000001000000018022800000000000001700000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF0000000000000000000000000001000000010000000180C488000000000000180000000000000000000000000000000001000000010000000180C988000000000000190000000000000000000000000000000001000000010000000180C7880000000000001A0000000000000000000000000000000001000000010000000180C8880000000000001B00000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF0000000000000000000000000001000000010000000180DD880000000000001C00000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF0000000000000000000000000001000000010000000180FB7F0000000000001D000000000000000000000000000000000100000001000000 - - - - 59399 - Build - - 998 - 00200000010000001000FFFF01001100434D4643546F6F6C426172427574746F6ECF7F0000000000001C0000000000000000000000000000000001000000010000000180D07F0000000000001D000000000000000000000000000000000100000001000000018030800000000000001E000000000000000000000000000000000100000001000000FFFF01001500434D4643546F6F6C4261724D656E75427574746F6EC7040000000000006A0000000C4261746368204275696C2664000000000000000000000000010000000100000000000000000000000100000004000580C7040000000000006A0000000C4261746368204275696C266400000000000000000000000001000000010000000000000000000000010000000000058046070000000000006B0000000D42617463682052656275696C640000000000000000000000000100000001000000000000000000000001000000000005804707000000000000FFFFFFFF0B426174636820436C65616E0100000000000000010000000000000001000000000000000000000001000000000005809E8A0000000000001F0000000F4261746326682053657475702E2E2E000000000000000000000000010000000100000000000000000000000100000000000180D17F0000000004002000000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF00000000000000000000000000010000000100000001804C8A0000000000002100000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF000000000000000000000000000100000001000000FFFF01001900434D4643546F6F6C426172436F6D626F426F78427574746F6EBA00000000000000000000000000000000000000000000000001000000010000009600000003002050000000001350593332463030324278355F50726F6A656374960000000000000001001350593332463030324278355F50726F6A656374000000000180EB880000000000002200000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF0000000000000000000000000001000000010000000180C07F000000000000230000000000000000000000000000000001000000010000000180B08A000000000400240000000000000000000000000000000001000000010000000180A8010000000000004E00000000000000000000000000000000010000000100000001807202000000000000530000000000000000000000000000000001000000010000000180BE010000000000005000000000000000000000000000000000010000000100000000000000054275696C64DC010000 - - - 583 - 1000FFFF01001100434D4643546F6F6C426172427574746F6ECF7F000000000000FFFFFFFF0001000000000000000100000000000000010000000180D07F000000000000FFFFFFFF00010000000000000001000000000000000100000001803080000000000000FFFFFFFF00010000000000000001000000000000000100000001809E8A000000000000FFFFFFFF0001000000000000000100000000000000010000000180D17F000000000000FFFFFFFF00010000000000000001000000000000000100000001800000000000000000FFFFFFFF00000000000000000001000000000000000100000001804C8A000000000000FFFFFFFF00010000000000000001000000000000000100000001800000000000000000FFFFFFFF00000000000000000001000000000000000100000001806680000000000000FFFFFFFF0001000000000000000100000000000000010000000180EB88000000000000FFFFFFFF00010000000000000001000000000000000100000001800000000000000000FFFFFFFF0000000000000000000100000000000000010000000180C07F000000000000FFFFFFFF0001000000000000000100000000000000010000000180B08A000000000000FFFFFFFF0001000000000000000100000000000000010000000180A801000000000000FFFFFFFF00010000000000000001000000000000000100000001807202000000000000FFFFFFFF0001000000000000000100000000000000010000000180BE01000000000000FFFFFFFF000100000000000000010000000000000001000000 - - - 583 - 1000FFFF01001100434D4643546F6F6C426172427574746F6ECF7F000000000000000000000000000000000000000000000001000000010000000180D07F00000000000001000000000000000000000000000000000100000001000000018030800000000000000200000000000000000000000000000000010000000100000001809E8A000000000000030000000000000000000000000000000001000000010000000180D17F0000000000000400000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF00000000000000000000000000010000000100000001804C8A0000000000000500000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF00000000000000000000000000010000000100000001806680000000000000060000000000000000000000000000000001000000010000000180EB880000000000000700000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF0000000000000000000000000001000000010000000180C07F000000000000080000000000000000000000000000000001000000010000000180B08A000000000000090000000000000000000000000000000001000000010000000180A8010000000000000A000000000000000000000000000000000100000001000000018072020000000000000B0000000000000000000000000000000001000000010000000180BE010000000000000C000000000000000000000000000000000100000001000000 - - - - 59400 - Debug - - 2373 - 00200000000000001900FFFF01001100434D4643546F6F6C426172427574746F6ECC880000000000002500000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF000000000000000000000000000100000001000000018017800000000000002600000000000000000000000000000000010000000100000001801D800000000000002700000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF00000000000000000000000000010000000100000001801A800000000000002800000000000000000000000000000000010000000100000001801B80000000000000290000000000000000000000000000000001000000010000000180E57F0000000000002A00000000000000000000000000000000010000000100000001801C800000000000002B00000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF000000000000000000000000000100000001000000018000890000000000002C00000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF0000000000000000000000000001000000010000000180E48B0000000000002D0000000000000000000000000000000001000000010000000180F07F0000000000002E0000000000000000000000000000000001000000010000000180E8880000000000003700000000000000000000000000000000010000000100000001803B010000000000002F0000000000000000000000000000000001000000010000000180BB8A00000000000030000000000000000000000000000000000100000001000000FFFF01001500434D4643546F6F6C4261724D656E75427574746F6E0E01000000000000310000000D57617463682057696E646F7773000000000000000000000000010000000100000000000000000000000100000003001380D88B00000000000031000000085761746368202631000000000000000000000000010000000100000000000000000000000100000000001380D98B00000000000031000000085761746368202632000000000000000000000000010000000100000000000000000000000100000000001380CE01000000000000FFFFFFFF0C576174636820416E63686F720000000000000000010000000000000001000000000000000000000001000000000013800F01000000000000320000000E4D656D6F72792057696E646F7773000000000000000000000000010000000100000000000000000000000100000004001380D28B00000000000032000000094D656D6F7279202631000000000000000000000000010000000100000000000000000000000100000000001380D38B00000000000032000000094D656D6F7279202632000000000000000000000000010000000100000000000000000000000100000000001380D48B00000000000032000000094D656D6F7279202633000000000000000000000000010000000100000000000000000000000100000000001380D58B00000000000032000000094D656D6F72792026340000000000000000000000000100000001000000000000000000000001000000000013801001000000000000330000000E53657269616C2057696E646F77730000000000000000000000000100000001000000000000000000000001000000040013809307000000000000330000000855415254202326310000000000000000000000000100000001000000000000000000000001000000000013809407000000000000330000000855415254202326320000000000000000000000000100000001000000000000000000000001000000000013809507000000000000330000000855415254202326330000000000000000000000000100000001000000000000000000000001000000000013809607000000000000330000001626446562756720287072696E746629205669657765720000000000000000000000000100000001000000000000000000000001000000000013803C010000000000007200000010416E616C797369732057696E646F7773000000000000000000000000010000000100000000000000000000000100000004001380658A000000000000340000000F264C6F67696320416E616C797A6572000000000000000000000000010000000100000000000000000000000100000000001380DC7F0000000000003E0000001526506572666F726D616E636520416E616C797A6572000000000000000000000000010000000100000000000000000000000100000000001380E788000000000000380000000E26436F646520436F766572616765000000000000000000000000010000000100000000000000000000000100000000001380CD01000000000000FFFFFFFF0F416E616C7973697320416E63686F7200000000000000000100000000000000010000000000000000000000010000000000138053010000000000003F0000000D54726163652057696E646F77730000000000000000000000000100000001000000000000000000000001000000010013805401000000000000FFFFFFFF115472616365204D656E7520416E63686F720000000000000000010000000000000001000000000000000000000001000000000013802901000000000000350000001553797374656D205669657765722057696E646F77730000000000000000000000000100000001000000000000000000000001000000010013804B01000000000000FFFFFFFF1453797374656D2056696577657220416E63686F720000000000000000010000000000000001000000000000000000000001000000000001800000000001000000FFFFFFFF00000000000000000000000000010000000100000013800189000000000000360000000F26546F6F6C626F782057696E646F7700000000000000000000000001000000010000000000000000000000010000000300138044C5000000000000FFFFFFFF0E5570646174652057696E646F77730000000000000000010000000000000001000000000000000000000001000000000013800000000000000400FFFFFFFF000000000000000000010000000000000001000000000000000000000001000000000013805B01000000000000FFFFFFFF12546F6F6C626F78204D656E75416E63686F72000000000000000001000000000000000100000000000000000000000100000000000000000005446562756764020000 - - - 898 - 1900FFFF01001100434D4643546F6F6C426172427574746F6ECC88000000000000FFFFFFFF00010000000000000001000000000000000100000001800000000000000000FFFFFFFF00000000000000000001000000000000000100000001801780000000000000FFFFFFFF00010000000000000001000000000000000100000001801D80000000000000FFFFFFFF00010000000000000001000000000000000100000001800000000000000000FFFFFFFF00000000000000000001000000000000000100000001801A80000000000000FFFFFFFF00010000000000000001000000000000000100000001801B80000000000000FFFFFFFF0001000000000000000100000000000000010000000180E57F000000000000FFFFFFFF00010000000000000001000000000000000100000001801C80000000000000FFFFFFFF00010000000000000001000000000000000100000001800000000000000000FFFFFFFF00000000000000000001000000000000000100000001800089000000000000FFFFFFFF00010000000000000001000000000000000100000001800000000000000000FFFFFFFF0000000000000000000100000000000000010000000180E48B000000000000FFFFFFFF0001000000000000000100000000000000010000000180F07F000000000000FFFFFFFF0001000000000000000100000000000000010000000180E888000000000000FFFFFFFF00010000000000000001000000000000000100000001803B01000000000000FFFFFFFF0001000000000000000100000000000000010000000180BB8A000000000000FFFFFFFF0001000000000000000100000000000000010000000180D88B000000000000FFFFFFFF0001000000000000000100000000000000010000000180D28B000000000000FFFFFFFF00010000000000000001000000000000000100000001809307000000000000FFFFFFFF0001000000000000000100000000000000010000000180658A000000000000FFFFFFFF0001000000000000000100000000000000010000000180C18A000000000000FFFFFFFF0001000000000000000100000000000000010000000180EE8B000000000000FFFFFFFF00010000000000000001000000000000000100000001800000000000000000FFFFFFFF00000000000000000001000000000000000100000001800189000000000000FFFFFFFF000100000000000000010000000000000001000000 - - - 898 - 1900FFFF01001100434D4643546F6F6C426172427574746F6ECC880000000000000000000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF000000000000000000000000000100000001000000018017800000000000000100000000000000000000000000000000010000000100000001801D800000000000000200000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF00000000000000000000000000010000000100000001801A800000000000000300000000000000000000000000000000010000000100000001801B80000000000000040000000000000000000000000000000001000000010000000180E57F0000000000000500000000000000000000000000000000010000000100000001801C800000000000000600000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF000000000000000000000000000100000001000000018000890000000000000700000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF0000000000000000000000000001000000010000000180E48B000000000000080000000000000000000000000000000001000000010000000180F07F000000000000090000000000000000000000000000000001000000010000000180E8880000000000000A00000000000000000000000000000000010000000100000001803B010000000000000B0000000000000000000000000000000001000000010000000180BB8A0000000000000C0000000000000000000000000000000001000000010000000180D88B0000000000000D0000000000000000000000000000000001000000010000000180D28B0000000000000E000000000000000000000000000000000100000001000000018093070000000000000F0000000000000000000000000000000001000000010000000180658A000000000000100000000000000000000000000000000001000000010000000180C18A000000000000110000000000000000000000000000000001000000010000000180EE8B0000000000001200000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF0000000000000000000000000001000000010000000180018900000000000013000000000000000000000000000000000100000001000000 - - - - 0 - 1680 - 1050 - - - - 1 - Debug - - -1 - -1 - 1 - 0 - 0 - 0 - 32767 - 0 - 4096 - 0 - - 16 - D60000004F00000001040000DA000000 - - - 16 - D60000006600000001040000F1000000 - - - - 1005 - 1005 - 1 - 0 - 0 - 0 - 32767 - 0 - 4096 - 0 - - 16 - 0300000066000000CF0000007E020000 - - - 16 - 560000006D0000002801000032010000 - - - - 109 - 109 - 0 - 0 - 0 - 0 - 32767 - 0 - 4096 - 0 - - 16 - 0300000066000000CF0000007E020000 - - - 16 - 560000006D0000004E0100009C020000 - - - - 1465 - 1465 - 1 - 0 - 0 - 0 - 32767 - 0 - 4096 - 0 - - 16 - 4C030000AF0200009006000039030000 - - - 16 - 560000006D000000C4020000F8000000 - - - - 1466 - 1466 - 0 - 0 - 0 - 0 - 32767 - 0 - 4096 - 0 - - 16 - 4F030000B20200008D06000020030000 - - - 16 - 560000006D000000C4020000F8000000 - - - - 1467 - 1467 - 0 - 0 - 0 - 0 - 32767 - 0 - 4096 - 0 - - 16 - 4F030000B20200008D06000020030000 - - - 16 - 560000006D000000C4020000F8000000 - - - - 1468 - 1468 - 0 - 0 - 0 - 0 - 32767 - 0 - 4096 - 0 - - 16 - 4F030000B20200008D06000020030000 - - - 16 - 560000006D000000C4020000F8000000 - - - - 1506 - 1506 - 0 - 0 - 0 - 0 - 32767 - 0 - 16384 - 0 - - 16 - 0804000066000000290500007E020000 - - - 16 - C20400006A0100001D060000B3030000 - - - - 1913 - 1913 - 0 - 0 - 0 - 0 - 32767 - 0 - 4096 - 0 - - 16 - D900000066000000FE030000C1000000 - - - 16 - 560000006D000000C4020000F8000000 - - - - 1935 - 1935 - 1 - 0 - 0 - 0 - 32767 - 0 - 16384 - 0 - - 16 - 33050000660000008D0600007E020000 - - - 16 - 0A060000A6010000DC0600006B020000 - - - - 1936 - 1936 - 1 - 0 - 0 - 0 - 32767 - 0 - 16384 - 0 - - 16 - 33050000660000008D0600007E020000 - - - 16 - B7050000B7010000890600007C020000 - - - - 1937 - 1937 - 1 - 0 - 0 - 0 - 32767 - 0 - 16384 - 0 - - 16 - 0804000066000000290500007E020000 - - - 16 - C20400006A0100001D060000B3030000 - - - - 1939 - 1939 - 0 - 0 - 0 - 0 - 32767 - 0 - 4096 - 0 - - 16 - 4F030000B20200008D06000020030000 - - - 16 - 560000006D000000C4020000F8000000 - - - - 1940 - 1940 - 0 - 0 - 0 - 0 - 32767 - 0 - 4096 - 0 - - 16 - 4F030000B20200008D06000020030000 - - - 16 - 560000006D000000C4020000F8000000 - - - - 1941 - 1941 - 0 - 0 - 0 - 0 - 32767 - 0 - 4096 - 0 - - 16 - 4F030000B20200008D06000020030000 - - - 16 - 560000006D000000C4020000F8000000 - - - - 1942 - 1942 - 0 - 0 - 0 - 0 - 32767 - 0 - 4096 - 0 - - 16 - 4F030000B20200008D06000020030000 - - - 16 - 560000006D000000C4020000F8000000 - - - - 195 - 195 - 0 - 0 - 0 - 0 - 32767 - 0 - 4096 - 0 - - 16 - 0300000066000000CF0000007E020000 - - - 16 - 560000006D0000004E0100009C020000 - - - - 196 - 196 - 0 - 0 - 0 - 0 - 32767 - 0 - 4096 - 0 - - 16 - 0300000066000000CF0000007E020000 - - - 16 - 560000006D0000004E0100009C020000 - - - - 197 - 197 - 0 - 0 - 0 - 0 - 32767 - 0 - 32768 - 0 - - 16 - 03000000540300008D060000AF030000 - - - 16 - 560000006D000000C4020000F8000000 - - - - 198 - 198 - 1 - 0 - 0 - 0 - 32767 - 0 - 32768 - 0 - - 16 - 000000009B0200004803000039030000 - - - 16 - 560000006D000000C4020000F8000000 - - - - 199 - 199 - 1 - 0 - 0 - 0 - 32767 - 0 - 4096 - 0 - - 16 - 000000005103000090060000C8030000 - - - 16 - 560000006D000000C4020000F8000000 - - - - 203 - 203 - 1 - 0 - 0 - 0 - 32767 - 0 - 8192 - 0 - - 16 - D60000006300000001040000DA000000 - - - 16 - 560000006D000000C4020000F8000000 - - - - 204 - 204 - 0 - 0 - 0 - 0 - 32767 - 0 - 4096 - 0 - - 16 - D900000066000000FE030000C1000000 - - - 16 - 560000006D000000C4020000F8000000 - - - - 221 - 221 - 0 - 0 - 0 - 0 - 32767 - 0 - 4096 - 0 - - 16 - 00000000000000000000000000000000 - - - 16 - 0A0000000A0000006E0000006E000000 - - - - 2506 - 2506 - 0 - 0 - 0 - 0 - 32767 - 0 - 16384 - 0 - - 16 - 0804000066000000290500007E020000 - - - 16 - C20400006A0100001D060000B3030000 - - - - 2507 - 2507 - 0 - 0 - 0 - 0 - 32767 - 0 - 4096 - 0 - - 16 - 4F030000B20200008D06000020030000 - - - 16 - 560000006D000000C4020000F8000000 - - - - 343 - 343 - 0 - 0 - 0 - 0 - 32767 - 0 - 4096 - 0 - - 16 - D900000066000000FE030000C1000000 - - - 16 - 560000006D000000C4020000F8000000 - - - - 346 - 346 - 0 - 0 - 0 - 0 - 32767 - 0 - 4096 - 0 - - 16 - D900000066000000FE030000C1000000 - - - 16 - 560000006D000000C4020000F8000000 - - - - 35141 - 35141 - 0 - 0 - 0 - 0 - 32767 - 0 - 4096 - 0 - - 16 - D900000066000000FE030000C1000000 - - - 16 - 560000006D0000002801000032010000 - - - - 35824 - 35824 - 0 - 0 - 0 - 0 - 32767 - 0 - 4096 - 0 - - 16 - D900000066000000FE030000C1000000 - - - 16 - 560000006D000000C4020000F8000000 - - - - 35885 - 35885 - 0 - 0 - 0 - 0 - 32767 - 0 - 16384 - 0 - - 16 - 0804000066000000290500007E020000 - - - 16 - C20400006A0100001D060000B3030000 - - - - 35886 - 35886 - 0 - 0 - 0 - 0 - 32767 - 0 - 16384 - 0 - - 16 - 0804000066000000290500007E020000 - - - 16 - C20400006A0100001D060000B3030000 - - - - 35887 - 35887 - 0 - 0 - 0 - 0 - 32767 - 0 - 16384 - 0 - - 16 - 0804000066000000290500007E020000 - - - 16 - C20400006A0100001D060000B3030000 - - - - 35888 - 35888 - 0 - 0 - 0 - 0 - 32767 - 0 - 16384 - 0 - - 16 - 0804000066000000290500007E020000 - - - 16 - C20400006A0100001D060000B3030000 - - - - 35889 - 35889 - 0 - 0 - 0 - 0 - 32767 - 0 - 16384 - 0 - - 16 - 0804000066000000290500007E020000 - - - 16 - C20400006A0100001D060000B3030000 - - - - 35890 - 35890 - 0 - 0 - 0 - 0 - 32767 - 0 - 16384 - 0 - - 16 - 0804000066000000290500007E020000 - - - 16 - C20400006A0100001D060000B3030000 - - - - 35891 - 35891 - 0 - 0 - 0 - 0 - 32767 - 0 - 16384 - 0 - - 16 - 0804000066000000290500007E020000 - - - 16 - C20400006A0100001D060000B3030000 - - - - 35892 - 35892 - 0 - 0 - 0 - 0 - 32767 - 0 - 16384 - 0 - - 16 - 0804000066000000290500007E020000 - - - 16 - C20400006A0100001D060000B3030000 - - - - 35893 - 35893 - 0 - 0 - 0 - 0 - 32767 - 0 - 16384 - 0 - - 16 - 0804000066000000290500007E020000 - - - 16 - C20400006A0100001D060000B3030000 - - - - 35894 - 35894 - 0 - 0 - 0 - 0 - 32767 - 0 - 16384 - 0 - - 16 - 0804000066000000290500007E020000 - - - 16 - C20400006A0100001D060000B3030000 - - - - 35895 - 35895 - 0 - 0 - 0 - 0 - 32767 - 0 - 16384 - 0 - - 16 - 0804000066000000290500007E020000 - - - 16 - C20400006A0100001D060000B3030000 - - - - 35896 - 35896 - 0 - 0 - 0 - 0 - 32767 - 0 - 16384 - 0 - - 16 - 0804000066000000290500007E020000 - - - 16 - C20400006A0100001D060000B3030000 - - - - 35897 - 35897 - 0 - 0 - 0 - 0 - 32767 - 0 - 16384 - 0 - - 16 - 0804000066000000290500007E020000 - - - 16 - C20400006A0100001D060000B3030000 - - - - 35898 - 35898 - 0 - 0 - 0 - 0 - 32767 - 0 - 16384 - 0 - - 16 - 0804000066000000290500007E020000 - - - 16 - C20400006A0100001D060000B3030000 - - - - 35899 - 35899 - 0 - 0 - 0 - 0 - 32767 - 0 - 16384 - 0 - - 16 - 0804000066000000290500007E020000 - - - 16 - C20400006A0100001D060000B3030000 - - - - 35900 - 35900 - 0 - 0 - 0 - 0 - 32767 - 0 - 16384 - 0 - - 16 - 0804000066000000290500007E020000 - - - 16 - C20400006A0100001D060000B3030000 - - - - 35901 - 35901 - 0 - 0 - 0 - 0 - 32767 - 0 - 16384 - 0 - - 16 - 0804000066000000290500007E020000 - - - 16 - C20400006A0100001D060000B3030000 - - - - 35902 - 35902 - 1 - 0 - 0 - 0 - 32767 - 0 - 16384 - 0 - - 16 - 0804000066000000290500007E020000 - - - 16 - C20400006A0100001D060000B3030000 - - - - 35903 - 35903 - 1 - 0 - 0 - 0 - 32767 - 0 - 16384 - 0 - - 16 - 0804000066000000290500007E020000 - - - 16 - C20400006A0100001D060000B3030000 - - - - 35904 - 35904 - 1 - 0 - 0 - 0 - 32767 - 0 - 16384 - 0 - - 16 - 0804000066000000290500007E020000 - - - 16 - C20400006A0100001D060000B3030000 - - - - 35905 - 35905 - 1 - 0 - 0 - 0 - 32767 - 0 - 16384 - 0 - - 16 - 0804000066000000290500007E020000 - - - 16 - C20400006A0100001D060000B3030000 - - - - 38003 - 38003 - 1 - 0 - 0 - 0 - 32767 - 0 - 4096 - 0 - - 16 - 0300000066000000CF0000007E020000 - - - 16 - 560000006D0000004E0100009C020000 - - - - 38007 - 38007 - 0 - 0 - 0 - 0 - 32767 - 0 - 4096 - 0 - - 16 - 03000000540300008D060000AF030000 - - - 16 - 560000006D000000C4020000F8000000 - - - - 436 - 436 - 0 - 0 - 0 - 0 - 32767 - 0 - 4096 - 0 - - 16 - 03000000540300008D060000AF030000 - - - 16 - 560000006D0000004E0100009C020000 - - - - 437 - 437 - 0 - 0 - 0 - 0 - 32767 - 0 - 4096 - 0 - - 16 - 4F030000B20200008D06000020030000 - - - 16 - 560000006D0000002801000032010000 - - - - 440 - 440 - 0 - 0 - 0 - 0 - 32767 - 0 - 4096 - 0 - - 16 - 4F030000B20200008D06000020030000 - - - 16 - 560000006D0000002801000032010000 - - - - 463 - 463 - 0 - 0 - 0 - 0 - 32767 - 0 - 4096 - 0 - - 16 - 03000000540300008D060000AF030000 - - - 16 - 560000006D0000004E0100009C020000 - - - - 466 - 466 - 0 - 0 - 0 - 0 - 32767 - 0 - 4096 - 0 - - 16 - 03000000540300008D060000AF030000 - - - 16 - 560000006D0000004E0100009C020000 - - - - 470 - 470 - 0 - 0 - 0 - 0 - 32767 - 0 - 4096 - 0 - - 16 - D900000066000000FE030000C1000000 - - - 16 - 560000006D000000C4020000F8000000 - - - - 50000 - 50000 - 0 - 0 - 0 - 0 - 32767 - 0 - 16384 - 0 - - 16 - 0804000066000000290500007E020000 - - - 16 - C20400006A0100001D060000B3030000 - - - - 50001 - 50001 - 0 - 0 - 0 - 0 - 32767 - 0 - 16384 - 0 - - 16 - 0804000066000000290500007E020000 - - - 16 - C20400006A0100001D060000B3030000 - - - - 50002 - 50002 - 0 - 0 - 0 - 0 - 32767 - 0 - 16384 - 0 - - 16 - 0804000066000000290500007E020000 - - - 16 - C20400006A0100001D060000B3030000 - - - - 50003 - 50003 - 0 - 0 - 0 - 0 - 32767 - 0 - 16384 - 0 - - 16 - 0804000066000000290500007E020000 - - - 16 - C20400006A0100001D060000B3030000 - - - - 50004 - 50004 - 0 - 0 - 0 - 0 - 32767 - 0 - 16384 - 0 - - 16 - 0804000066000000290500007E020000 - - - 16 - C20400006A0100001D060000B3030000 - - - - 50005 - 50005 - 0 - 0 - 0 - 0 - 32767 - 0 - 16384 - 0 - - 16 - 0804000066000000290500007E020000 - - - 16 - C20400006A0100001D060000B3030000 - - - - 50006 - 50006 - 0 - 0 - 0 - 0 - 32767 - 0 - 16384 - 0 - - 16 - 0804000066000000290500007E020000 - - - 16 - C20400006A0100001D060000B3030000 - - - - 50007 - 50007 - 0 - 0 - 0 - 0 - 32767 - 0 - 16384 - 0 - - 16 - 0804000066000000290500007E020000 - - - 16 - C20400006A0100001D060000B3030000 - - - - 50008 - 50008 - 0 - 0 - 0 - 0 - 32767 - 0 - 16384 - 0 - - 16 - 0804000066000000290500007E020000 - - - 16 - C20400006A0100001D060000B3030000 - - - - 50009 - 50009 - 0 - 0 - 0 - 0 - 32767 - 0 - 16384 - 0 - - 16 - 0804000066000000290500007E020000 - - - 16 - C20400006A0100001D060000B3030000 - - - - 50010 - 50010 - 0 - 0 - 0 - 0 - 32767 - 0 - 16384 - 0 - - 16 - 0804000066000000290500007E020000 - - - 16 - C20400006A0100001D060000B3030000 - - - - 50011 - 50011 - 0 - 0 - 0 - 0 - 32767 - 0 - 16384 - 0 - - 16 - 0804000066000000290500007E020000 - - - 16 - C20400006A0100001D060000B3030000 - - - - 50012 - 50012 - 0 - 0 - 0 - 0 - 32767 - 0 - 16384 - 0 - - 16 - 0804000066000000290500007E020000 - - - 16 - C20400006A0100001D060000B3030000 - - - - 50013 - 50013 - 0 - 0 - 0 - 0 - 32767 - 0 - 16384 - 0 - - 16 - 0804000066000000290500007E020000 - - - 16 - C20400006A0100001D060000B3030000 - - - - 50014 - 50014 - 0 - 0 - 0 - 0 - 32767 - 0 - 16384 - 0 - - 16 - 0804000066000000290500007E020000 - - - 16 - C20400006A0100001D060000B3030000 - - - - 50015 - 50015 - 0 - 0 - 0 - 0 - 32767 - 0 - 16384 - 0 - - 16 - 0804000066000000290500007E020000 - - - 16 - C20400006A0100001D060000B3030000 - - - - 50016 - 50016 - 0 - 0 - 0 - 0 - 32767 - 0 - 16384 - 0 - - 16 - 0804000066000000290500007E020000 - - - 16 - C20400006A0100001D060000B3030000 - - - - 50017 - 50017 - 0 - 0 - 0 - 0 - 32767 - 0 - 16384 - 0 - - 16 - 0804000066000000290500007E020000 - - - 16 - C20400006A0100001D060000B3030000 - - - - 50018 - 50018 - 0 - 0 - 0 - 0 - 32767 - 0 - 16384 - 0 - - 16 - 0804000066000000290500007E020000 - - - 16 - C20400006A0100001D060000B3030000 - - - - 50019 - 50019 - 0 - 0 - 0 - 0 - 32767 - 0 - 16384 - 0 - - 16 - 0804000066000000290500007E020000 - - - 16 - C20400006A0100001D060000B3030000 - - - - 59392 - 59392 - 1 - 0 - 0 - 0 - 966 - 0 - 8192 - 0 - - 16 - 0000000000000000D10300001C000000 - - - 16 - 0A0000000A0000006E0000006E000000 - - - - 59393 - 0 - 1 - 0 - 0 - 0 - 32767 - 0 - 4096 - 0 - - 16 - 00000000C803000090060000DB030000 - - - 16 - 0A0000000A0000006E0000006E000000 - - - - 59399 - 59399 - 0 - 0 - 0 - 0 - 476 - 0 - 8192 - 1 - - 16 - 000000001C000000E701000038000000 - - - 16 - 0A0000000A0000006E0000006E000000 - - - - 59400 - 59400 - 1 - 0 - 0 - 0 - 612 - 0 - 8192 - 2 - - 16 - 030000001C0000007202000038000000 - - - 16 - 0A0000000A0000006E0000006E000000 - - - - 824 - 824 - 0 - 0 - 0 - 0 - 32767 - 0 - 4096 - 0 - - 16 - 4F030000B20200008D06000020030000 - - - 16 - 560000006D0000002801000032010000 - - - - 3568 - 000000000C000000000000000020000001000000FFFFFFFFFFFFFFFFD6000000DA00000001040000DE000000010000000100001004000000010000000000000000000000FFFFFFFF08000000CB00000057010000CC000000F08B00005A01000079070000D601000045890000FFFF02000B004354616262656450616E650020000001000000D60000006600000001040000F1000000D60000004F00000001040000DA0000000000000040280056080000000B446973617373656D626C7901000000CB00000001000000FFFFFFFFFFFFFFFF14506572666F726D616E636520416E616C797A6572000000005701000001000000FFFFFFFFFFFFFFFF14506572666F726D616E636520416E616C797A657200000000CC00000001000000FFFFFFFFFFFFFFFF0E4C6F67696320416E616C797A657200000000F08B000001000000FFFFFFFFFFFFFFFF0D436F646520436F766572616765000000005A01000001000000FFFFFFFFFFFFFFFF11496E737472756374696F6E205472616365000000007907000001000000FFFFFFFFFFFFFFFF0F53797374656D20416E616C797A657200000000D601000001000000FFFFFFFFFFFFFFFF104576656E742053746174697374696373000000004589000001000000FFFFFFFFFFFFFFFF00000000000000000000000000000000000000000000000001000000FFFFFFFFCB00000001000000FFFFFFFFCB000000000000000040000001000000FFFFFFFFFFFFFFFF010400004F00000005040000970200000100000002000010040000000100000029FDFFFFD302000000000000000000000000000001000000000000000000000002000000000000000000000002000000FFFFFFFF110500004F000000150500009802000000000000020000000400000000000000D1FEFFFFA40100000000000001000000FFFFFFFF2C000000E2050000CA0900002D8C00002E8C00002F8C0000308C0000318C0000328C0000338C0000348C0000358C0000368C0000378C0000388C0000398C00003A8C00003B8C00003C8C00003D8C00003E8C00003F8C0000408C0000418C000050C3000051C3000052C3000053C3000054C3000055C3000056C3000057C3000058C3000059C300005AC300005BC300005CC300005DC300005EC300005FC3000060C3000061C3000062C3000063C30000910700000180004000000100000005040000660000002C050000AE020000050400004F0000002C0500009702000000000000404100562C0000000753796D626F6C7300000000E205000001000000FFFFFFFFFFFFFFFF0A5472616365204461746100000000CA09000001000000FFFFFFFFFFFFFFFF00000000002D8C000001000000FFFFFFFFFFFFFFFF00000000002E8C000001000000FFFFFFFFFFFFFFFF00000000002F8C000001000000FFFFFFFFFFFFFFFF0000000000308C000001000000FFFFFFFFFFFFFFFF0000000000318C000001000000FFFFFFFFFFFFFFFF0000000000328C000001000000FFFFFFFFFFFFFFFF0000000000338C000001000000FFFFFFFFFFFFFFFF0000000000348C000001000000FFFFFFFFFFFFFFFF0000000000358C000001000000FFFFFFFFFFFFFFFF0000000000368C000001000000FFFFFFFFFFFFFFFF0000000000378C000001000000FFFFFFFFFFFFFFFF0000000000388C000001000000FFFFFFFFFFFFFFFF0000000000398C000001000000FFFFFFFFFFFFFFFF00000000003A8C000001000000FFFFFFFFFFFFFFFF00000000003B8C000001000000FFFFFFFFFFFFFFFF00000000003C8C000001000000FFFFFFFFFFFFFFFF00000000003D8C000001000000FFFFFFFFFFFFFFFF054750494F43010000003E8C000001000000FFFFFFFFFFFFFFFF0454494D31010000003F8C000001000000FFFFFFFFFFFFFFFF054750494F4201000000408C000001000000FFFFFFFFFFFFFFFF054750494F4101000000418C000001000000FFFFFFFFFFFFFFFF000000000050C3000001000000FFFFFFFFFFFFFFFF000000000051C3000001000000FFFFFFFFFFFFFFFF000000000052C3000001000000FFFFFFFFFFFFFFFF000000000053C3000001000000FFFFFFFFFFFFFFFF000000000054C3000001000000FFFFFFFFFFFFFFFF000000000055C3000001000000FFFFFFFFFFFFFFFF000000000056C3000001000000FFFFFFFFFFFFFFFF000000000057C3000001000000FFFFFFFFFFFFFFFF000000000058C3000001000000FFFFFFFFFFFFFFFF000000000059C3000001000000FFFFFFFFFFFFFFFF00000000005AC3000001000000FFFFFFFFFFFFFFFF00000000005BC3000001000000FFFFFFFFFFFFFFFF00000000005CC3000001000000FFFFFFFFFFFFFFFF00000000005DC3000001000000FFFFFFFFFFFFFFFF00000000005EC3000001000000FFFFFFFFFFFFFFFF00000000005FC3000001000000FFFFFFFFFFFFFFFF000000000060C3000001000000FFFFFFFFFFFFFFFF000000000061C3000001000000FFFFFFFFFFFFFFFF000000000062C3000001000000FFFFFFFFFFFFFFFF000000000063C3000001000000FFFFFFFFFFFFFFFF0757617463682032010000009107000001000000FFFFFFFFFFFFFFFF1400000000000000FFFFFFFF020000008F0700009007000001800040000001000000300500006600000090060000AE020000300500004F00000090060000970200000000000040410056020000001343616C6C20537461636B202B204C6F63616C73010000008F07000001000000FFFFFFFFFFFFFFFF0757617463682031010000009007000001000000FFFFFFFFFFFFFFFF010000000000000003000000000000000100000003000000FFFFFFFF2C0500004F00000030050000970200000100000002000010040000000000000087FEFFFF5A01000000000000000000000000000002000000FFFFFFFFE2050000FFFFFFFF8F07000001000000FFFFFFFFE205000001000000FFFFFFFF8F070000000000000010000001000000FFFFFFFFFFFFFFFFD20000004F000000D600000097020000010000000200001004000000010000000000000000000000FFFFFFFF05000000ED0300006D000000C3000000C400000073940000018000100000010000000000000066000000D2000000AE020000000000004F000000D2000000970200000000000040410056050000000750726F6A65637401000000ED03000001000000FFFFFFFFFFFFFFFF05426F6F6B73000000006D00000001000000FFFFFFFFFFFFFFFF0946756E6374696F6E7300000000C300000001000000FFFFFFFFFFFFFFFF0954656D706C6174657300000000C400000001000000FFFFFFFFFFFFFFFF09526567697374657273010000007394000001000000FFFFFFFFFFFFFFFF00000000000000000000000000000000000000000000000001000000FFFFFFFFED03000001000000FFFFFFFFED030000000000000080000001000000FFFFFFFFFFFFFFFF0000000097020000900600009B020000010000000100001004000000010000004BFEFFFF3800000000000000000000000000000001000000C6000000FFFFFFFF0C00000093070000940700009507000096070000B5010000B801000038030000B9050000BA050000BB050000BC050000CB090000018000800000010000004C030000B202000090060000500300004C0300009B020000900600003903000000000000404100560C0000000755415254202331000000009307000001000000FFFFFFFFFFFFFFFF0755415254202332000000009407000001000000FFFFFFFFFFFFFFFF0755415254202333000000009507000001000000FFFFFFFFFFFFFFFF15446562756720287072696E74662920566965776572000000009607000001000000FFFFFFFFFFFFFFFF10547261636520457863657074696F6E7300000000B501000001000000FFFFFFFFFFFFFFFF0E4576656E7420436F756E7465727300000000B801000001000000FFFFFFFFFFFFFFFF09554C494E4B706C7573000000003803000001000000FFFFFFFFFFFFFFFF084D656D6F7279203101000000B905000001000000FFFFFFFFFFFFFFFF084D656D6F7279203200000000BA05000001000000FFFFFFFFFFFFFFFF084D656D6F7279203300000000BB05000001000000FFFFFFFFFFFFFFFF084D656D6F7279203400000000BC05000001000000FFFFFFFFFFFFFFFF105472616365204E617669676174696F6E00000000CB09000001000000FFFFFFFFFFFFFFFF070000000000000001000000000000000100000001000000FFFFFFFF480300009B0200004C0300003903000001000000020000100400000000000000000000000000000000000000000000000000000002000000C6000000FFFFFFFF9307000001000000FFFFFFFF9307000001000000C6000000000000000080000001000000FFFFFFFFFFFFFFFF0000000039030000900600003D030000010000000100001004000000010000000000000000000000FFFFFFFF06000000C5000000C7000000B4010000D2010000CF0100007794000001800080000001000000000000005403000090060000DF030000000000003D03000090060000C80300000000000040820056060000000C4275696C64204F757470757400000000C500000001000000FFFFFFFFFFFFFFFF0D46696E6420496E2046696C657301000000C700000001000000FFFFFFFFFFFFFFFF0A4572726F72204C69737400000000B401000001000000FFFFFFFFFFFFFFFF0E536F757263652042726F7773657200000000D201000001000000FFFFFFFFFFFFFFFF0E416C6C205265666572656E63657300000000CF01000001000000FFFFFFFFFFFFFFFF0642726F777365000000007794000001000000FFFFFFFFFFFFFFFF01000000000000000000000000000000000000000000000001000000FFFFFFFFC500000001000000FFFFFFFFC5000000000000000000000000000000 - - - 59392 - File - - 2837 - 00200000010000002800FFFF01001100434D4643546F6F6C426172427574746F6E00E100000000000000000000000000000000000000000000000100000001000000018001E100000000000001000000000000000000000000000000000100000001000000018003E1000000000000020000000000000000000000000000000001000000010000000180CD7F0000000000000300000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF000000000000000000000000000100000001000000018023E100000000040004000000000000000000000000000000000100000001000000018022E100000000040005000000000000000000000000000000000100000001000000018025E10000000000000600000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF00000000000000000000000000010000000100000001802BE10000000000000700000000000000000000000000000000010000000100000001802CE10000000004000800000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF00000000000000000000000000010000000100000001807A8A0000000000000900000000000000000000000000000000010000000100000001807B8A0000000000000A00000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF0000000000000000000000000001000000010000000180D3B00000000000000B000000000000000000000000000000000100000001000000018015B10000000004000C0000000000000000000000000000000001000000010000000180F4B00000000004000D000000000000000000000000000000000100000001000000018036B10000000004000E00000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF0000000000000000000000000001000000010000000180FF88000000000400460000000000000000000000000000000001000000010000000180FE880000000004004500000000000000000000000000000000010000000100000001800B810000000004001300000000000000000000000000000000010000000100000001800C810000000004001400000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF0000000000000000000000000001000000010000000180F0880000020000000F000000000000000000000000000000000100000001000000FFFF0100120043555646696E64436F6D626F427574746F6EE803000000000000000000000000000000000000000000000001000000010000009600000002002050000000000B616374696F6E2E72656164960000000000000014000B616374696F6E2E7265616400184F4E45574952455F5245434F564552595F54494D455F555305757374696D0773656E73524F4D1A50434853656E735F46696E64556E6B6E6F776E53656E736F7273096E6F745F666F756E640F4F6E655769726544656C61795F7577056874696D33055F4952516E0A4457545F435943434E540B6D6963726F7365636F6E640D73746D3332663178785F68616C035243430A4750494F5F50494E5F350A4750494F5F50494E5F340A4750494F5F50494E5F31064750494F465F054750494F46045243435F0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000018024E10000000000001100000000000000000000000000000000010000000100000001800A810000000000001200000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF000000000000000000000000000100000001000000FFFF01001500434D4643546F6F6C4261724D656E75427574746F6E2280000002000100150000002153746172742F53746F70202644656275672053657373696F6E094374726C2B46350000000000000000000000000100000001000000000000000000000001000000020021802280000000000000150000002153746172742F53746F70202644656275672053657373696F6E094374726C2B4635000000000000000000000000010000000100000000000000000000000100000000002180E0010000000000007500000021456E65726779204D6561737572656D656E742026776974686F75742044656275670000000000000000000000000100000001000000000000000000000001000000000001800000000001000000FFFFFFFF0000000000000000000000000001000000010000000180C488000000000000160000000000000000000000000000000001000000010000000180C988000000000400180000000000000000000000000000000001000000010000000180C788000000000000190000000000000000000000000000000001000000010000002180C8880000000000001700000027264B696C6C20416C6C20427265616B706F696E747320696E2043757272656E7420546172676574000000000000000000000000010000000100000000000000000000000100000003002180C8880000000000001700000027264B696C6C20416C6C20427265616B706F696E747320696E2043757272656E7420546172676574000000000000000000000000010000000100000000000000000000000100000000002180E50100000000000078000000264B696C6C20416C6C20427265616B706F696E747320696E204163746976652050726F6A656374000000000000000000000000010000000100000000000000000000000100000000002180E601000000000000790000002F4B696C6C20416C6C20427265616B706F696E747320696E204D756C74692D50726F6A65637420576F726B73706163650000000000000000000000000100000001000000000000000000000001000000000001800000000001000000FFFFFFFF00000000000000000000000000010000000100000021804C010000020001001A0000000F2650726F6A6563742057696E646F77000000000000000000000000010000000100000000000000000000000100000008002180DD880000000000001A0000000750726F6A656374000000000000000000000000010000000100000000000000000000000100000000002180DC8B0000000000003A00000005426F6F6B73000000000000000000000000010000000100000000000000000000000100000000002180E18B0000000000003B0000000946756E6374696F6E73000000000000000000000000010000000100000000000000000000000100000000002180E28B000000000000400000000954656D706C6174657300000000000000000000000001000000010000000000000000000000010000000000218018890000000000003D0000000E536F757263652042726F777365720000000000000000000000000100000001000000000000000000000001000000000021800000000000000400FFFFFFFF00000000000000000001000000000000000100000000000000000000000100000000002180D988000000000000390000000C4275696C64204F7574707574000000000000000000000000010000000100000000000000000000000100000000002180E38B000000000000410000000B46696E64204F75747075740000000000000000000000000100000001000000000000000000000001000000000001800000000001000000FFFFFFFF0000000000000000000000000001000000010000000180FB7F0000000000001B000000000000000000000000000000000100000001000000000000000446696C65C6030000 - - - 1423 - 2800FFFF01001100434D4643546F6F6C426172427574746F6E00E1000000000000FFFFFFFF000100000000000000010000000000000001000000018001E1000000000000FFFFFFFF000100000000000000010000000000000001000000018003E1000000000000FFFFFFFF0001000000000000000100000000000000010000000180CD7F000000000000FFFFFFFF00010000000000000001000000000000000100000001800000000000000000FFFFFFFF000000000000000000010000000000000001000000018023E1000000000000FFFFFFFF000100000000000000010000000000000001000000018022E1000000000000FFFFFFFF000100000000000000010000000000000001000000018025E1000000000000FFFFFFFF00010000000000000001000000000000000100000001800000000000000000FFFFFFFF00000000000000000001000000000000000100000001802BE1000000000000FFFFFFFF00010000000000000001000000000000000100000001802CE1000000000000FFFFFFFF00010000000000000001000000000000000100000001800000000000000000FFFFFFFF00000000000000000001000000000000000100000001807A8A000000000000FFFFFFFF00010000000000000001000000000000000100000001807B8A000000000000FFFFFFFF00010000000000000001000000000000000100000001800000000000000000FFFFFFFF0000000000000000000100000000000000010000000180D3B0000000000000FFFFFFFF000100000000000000010000000000000001000000018015B1000000000000FFFFFFFF0001000000000000000100000000000000010000000180F4B0000000000000FFFFFFFF000100000000000000010000000000000001000000018036B1000000000000FFFFFFFF00010000000000000001000000000000000100000001800000000000000000FFFFFFFF0000000000000000000100000000000000010000000180FF88000000000000FFFFFFFF0001000000000000000100000000000000010000000180FE88000000000000FFFFFFFF00010000000000000001000000000000000100000001800B81000000000000FFFFFFFF00010000000000000001000000000000000100000001800C81000000000000FFFFFFFF00010000000000000001000000000000000100000001800000000000000000FFFFFFFF0000000000000000000100000000000000010000000180F088000000000000FFFFFFFF0001000000000000000100000000000000010000000180EE7F000000000000FFFFFFFF000100000000000000010000000000000001000000018024E1000000000000FFFFFFFF00010000000000000001000000000000000100000001800A81000000000000FFFFFFFF00010000000000000001000000000000000100000001800000000000000000FFFFFFFF00000000000000000001000000000000000100000001802280000000000000FFFFFFFF00010000000000000001000000000000000100000001800000000000000000FFFFFFFF0000000000000000000100000000000000010000000180C488000000000000FFFFFFFF0001000000000000000100000000000000010000000180C988000000000000FFFFFFFF0001000000000000000100000000000000010000000180C788000000000000FFFFFFFF0001000000000000000100000000000000010000000180C888000000000000FFFFFFFF00010000000000000001000000000000000100000001800000000000000000FFFFFFFF0000000000000000000100000000000000010000000180DD88000000000000FFFFFFFF00010000000000000001000000000000000100000001800000000000000000FFFFFFFF0000000000000000000100000000000000010000000180FB7F000000000000FFFFFFFF000100000000000000010000000000000001000000 - - - 1423 - 2800FFFF01001100434D4643546F6F6C426172427574746F6E00E100000000000000000000000000000000000000000000000100000001000000018001E100000000000001000000000000000000000000000000000100000001000000018003E1000000000000020000000000000000000000000000000001000000010000000180CD7F0000000000000300000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF000000000000000000000000000100000001000000018023E100000000000004000000000000000000000000000000000100000001000000018022E100000000000005000000000000000000000000000000000100000001000000018025E10000000000000600000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF00000000000000000000000000010000000100000001802BE10000000000000700000000000000000000000000000000010000000100000001802CE10000000000000800000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF00000000000000000000000000010000000100000001807A8A0000000000000900000000000000000000000000000000010000000100000001807B8A0000000000000A00000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF0000000000000000000000000001000000010000000180D3B00000000000000B000000000000000000000000000000000100000001000000018015B10000000000000C0000000000000000000000000000000001000000010000000180F4B00000000000000D000000000000000000000000000000000100000001000000018036B10000000000000E00000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF0000000000000000000000000001000000010000000180FF880000000000000F0000000000000000000000000000000001000000010000000180FE880000000000001000000000000000000000000000000000010000000100000001800B810000000000001100000000000000000000000000000000010000000100000001800C810000000000001200000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF0000000000000000000000000001000000010000000180F088000000000000130000000000000000000000000000000001000000010000000180EE7F00000000000014000000000000000000000000000000000100000001000000018024E10000000000001500000000000000000000000000000000010000000100000001800A810000000000001600000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF000000000000000000000000000100000001000000018022800000000000001700000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF0000000000000000000000000001000000010000000180C488000000000000180000000000000000000000000000000001000000010000000180C988000000000000190000000000000000000000000000000001000000010000000180C7880000000000001A0000000000000000000000000000000001000000010000000180C8880000000000001B00000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF0000000000000000000000000001000000010000000180DD880000000000001C00000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF0000000000000000000000000001000000010000000180FB7F0000000000001D000000000000000000000000000000000100000001000000 - - - - 59399 - Build - - 955 - 00200000000000001000FFFF01001100434D4643546F6F6C426172427574746F6ECF7F0000000000001C0000000000000000000000000000000001000000010000000180D07F0000000000001D000000000000000000000000000000000100000001000000018030800000000000001E000000000000000000000000000000000100000001000000FFFF01001500434D4643546F6F6C4261724D656E75427574746F6EC7040000000000006A0000000C4261746368204275696C2664000000000000000000000000010000000100000000000000000000000100000004000580C7040000000000006A0000000C4261746368204275696C266400000000000000000000000001000000010000000000000000000000010000000000058046070000000000006B0000000D42617463682052656275696C640000000000000000000000000100000001000000000000000000000001000000000005804707000000000000FFFFFFFF0B426174636820436C65616E0000000000000000010000000000000001000000000000000000000001000000000005809E8A0000000000001F0000000F4261746326682053657475702E2E2E000000000000000000000000010000000100000000000000000000000100000000000180D17F0000000000002000000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF00000000000000000000000000010000000100000001804C8A0000000000002100000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF000000000000000000000000000100000001000000FFFF01001900434D4643546F6F6C426172436F6D626F426F78427574746F6EBA00000000000000000000000000000000000000000000000001000000010000009600000003002050FFFFFFFF00960000000000000000000180EB880000000000002200000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF0000000000000000000000000001000000010000000180C07F000000000000230000000000000000000000000000000001000000010000000180B08A000000000000240000000000000000000000000000000001000000010000000180A8010000000000004E00000000000000000000000000000000010000000100000001807202000000000000530000000000000000000000000000000001000000010000000180BE010000000000005000000000000000000000000000000000010000000100000000000000054275696C64DC010000 - - - 583 - 1000FFFF01001100434D4643546F6F6C426172427574746F6ECF7F000000000000FFFFFFFF0001000000000000000100000000000000010000000180D07F000000000000FFFFFFFF00010000000000000001000000000000000100000001803080000000000000FFFFFFFF00010000000000000001000000000000000100000001809E8A000000000000FFFFFFFF0001000000000000000100000000000000010000000180D17F000000000000FFFFFFFF00010000000000000001000000000000000100000001800000000000000000FFFFFFFF00000000000000000001000000000000000100000001804C8A000000000000FFFFFFFF00010000000000000001000000000000000100000001800000000000000000FFFFFFFF00000000000000000001000000000000000100000001806680000000000000FFFFFFFF0001000000000000000100000000000000010000000180EB88000000000000FFFFFFFF00010000000000000001000000000000000100000001800000000000000000FFFFFFFF0000000000000000000100000000000000010000000180C07F000000000000FFFFFFFF0001000000000000000100000000000000010000000180B08A000000000000FFFFFFFF0001000000000000000100000000000000010000000180A801000000000000FFFFFFFF00010000000000000001000000000000000100000001807202000000000000FFFFFFFF0001000000000000000100000000000000010000000180BE01000000000000FFFFFFFF000100000000000000010000000000000001000000 - - - 583 - 1000FFFF01001100434D4643546F6F6C426172427574746F6ECF7F000000000000000000000000000000000000000000000001000000010000000180D07F00000000000001000000000000000000000000000000000100000001000000018030800000000000000200000000000000000000000000000000010000000100000001809E8A000000000000030000000000000000000000000000000001000000010000000180D17F0000000000000400000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF00000000000000000000000000010000000100000001804C8A0000000000000500000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF00000000000000000000000000010000000100000001806680000000000000060000000000000000000000000000000001000000010000000180EB880000000000000700000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF0000000000000000000000000001000000010000000180C07F000000000000080000000000000000000000000000000001000000010000000180B08A000000000000090000000000000000000000000000000001000000010000000180A8010000000000000A000000000000000000000000000000000100000001000000018072020000000000000B0000000000000000000000000000000001000000010000000180BE010000000000000C000000000000000000000000000000000100000001000000 - - - - 59400 - Debug - - 2362 - 00200000010000001900FFFF01001100434D4643546F6F6C426172427574746F6ECC880000000000002500000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF000000000000000000000000000100000001000000018017800000000000002600000000000000000000000000000000010000000100000001801D800000000004002700000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF00000000000000000000000000010000000100000001801A800000000000002800000000000000000000000000000000010000000100000001801B80000000000000290000000000000000000000000000000001000000010000000180E57F0000000000002A00000000000000000000000000000000010000000100000001801C800000000000002B00000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF000000000000000000000000000100000001000000018000890000000000002C00000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF0000000000000000000000000001000000010000000180E48B0000020001002D0000000000000000000000000000000001000000010000000180F07F0000020001002E0000000000000000000000000000000001000000010000000180E8880000020000003700000000000000000000000000000000010000000100000001803B010000020001002F0000000000000000000000000000000001000000010000000180BB8A00000200010030000000000000000000000000000000000100000001000000FFFF01001500434D4643546F6F6C4261724D656E75427574746F6E0E01000002000100310000000D57617463682057696E646F7773000000000000000000000000010000000100000000000000000000000100000003001380D88B00000000000031000000085761746368202631000000000000000000000000010000000100000000000000000000000100000000001380D98B00000000000031000000085761746368202632000000000000000000000000010000000100000000000000000000000100000000001380CE01000000000000FFFFFFFF0C576174636820416E63686F720000000000000000010000000000000001000000000000000000000001000000000013800F0100000200010032000000094D656D6F7279202631000000000000000000000000010000000100000000000000000000000100000004001380D28B00000000000032000000094D656D6F7279202631000000000000000000000000010000000100000000000000000000000100000000001380D38B00000000000032000000094D656D6F7279202632000000000000000000000000010000000100000000000000000000000100000000001380D48B00000000000032000000094D656D6F7279202633000000000000000000000000010000000100000000000000000000000100000000001380D58B00000000000032000000094D656D6F72792026340000000000000000000000000100000001000000000000000000000001000000000013801001000002000000330000000855415254202326310000000000000000000000000100000001000000000000000000000001000000040013809307000000000000330000000855415254202326310000000000000000000000000100000001000000000000000000000001000000000013809407000000000000330000000855415254202326320000000000000000000000000100000001000000000000000000000001000000000013809507000000000000330000000855415254202326330000000000000000000000000100000001000000000000000000000001000000000013809607000000000000330000001626446562756720287072696E746629205669657765720000000000000000000000000100000001000000000000000000000001000000000013803C010000000000007200000010416E616C797369732057696E646F7773000000000000000000000000010000000100000000000000000000000100000004001380658A000000000000340000000F264C6F67696320416E616C797A6572000000000000000000000000010000000100000000000000000000000100000000001380DC7F0000000000003E0000001526506572666F726D616E636520416E616C797A6572000000000000000000000000010000000100000000000000000000000100000000001380E788000000000000380000000E26436F646520436F766572616765000000000000000000000000010000000100000000000000000000000100000000001380CD01000000000000FFFFFFFF0F416E616C7973697320416E63686F7200000000000000000100000000000000010000000000000000000000010000000000138053010000000000003F0000000D54726163652057696E646F77730000000000000000000000000100000001000000000000000000000001000000010013805401000000000000FFFFFFFF115472616365204D656E7520416E63686F720000000000000000010000000000000001000000000000000000000001000000000013802901000000000000350000001553797374656D205669657765722057696E646F77730000000000000000000000000100000001000000000000000000000001000000010013804B01000000000000FFFFFFFF1453797374656D2056696577657220416E63686F720000000000000000010000000000000001000000000000000000000001000000000001800000000001000000FFFFFFFF00000000000000000000000000010000000100000013800189000002000000360000000F26546F6F6C626F782057696E646F7700000000000000000000000001000000010000000000000000000000010000000300138044C5000000000000FFFFFFFF0E5570646174652057696E646F77730000000000000000010000000000000001000000000000000000000001000000000013800000000000000400FFFFFFFF000000000000000000010000000000000001000000000000000000000001000000000013805B01000000000000FFFFFFFF12546F6F6C626F78204D656E75416E63686F72000000000000000001000000000000000100000000000000000000000100000000000000000005446562756764020000 - - - 898 - 1900FFFF01001100434D4643546F6F6C426172427574746F6ECC88000000000000FFFFFFFF00010000000000000001000000000000000100000001800000000000000000FFFFFFFF00000000000000000001000000000000000100000001801780000000000000FFFFFFFF00010000000000000001000000000000000100000001801D80000000000000FFFFFFFF00010000000000000001000000000000000100000001800000000000000000FFFFFFFF00000000000000000001000000000000000100000001801A80000000000000FFFFFFFF00010000000000000001000000000000000100000001801B80000000000000FFFFFFFF0001000000000000000100000000000000010000000180E57F000000000000FFFFFFFF00010000000000000001000000000000000100000001801C80000000000000FFFFFFFF00010000000000000001000000000000000100000001800000000000000000FFFFFFFF00000000000000000001000000000000000100000001800089000000000000FFFFFFFF00010000000000000001000000000000000100000001800000000000000000FFFFFFFF0000000000000000000100000000000000010000000180E48B000000000000FFFFFFFF0001000000000000000100000000000000010000000180F07F000000000000FFFFFFFF0001000000000000000100000000000000010000000180E888000000000000FFFFFFFF00010000000000000001000000000000000100000001803B01000000000000FFFFFFFF0001000000000000000100000000000000010000000180BB8A000000000000FFFFFFFF0001000000000000000100000000000000010000000180D88B000000000000FFFFFFFF0001000000000000000100000000000000010000000180D28B000000000000FFFFFFFF00010000000000000001000000000000000100000001809307000000000000FFFFFFFF0001000000000000000100000000000000010000000180658A000000000000FFFFFFFF0001000000000000000100000000000000010000000180C18A000000000000FFFFFFFF0001000000000000000100000000000000010000000180EE8B000000000000FFFFFFFF00010000000000000001000000000000000100000001800000000000000000FFFFFFFF00000000000000000001000000000000000100000001800189000000000000FFFFFFFF000100000000000000010000000000000001000000 - - - 898 - 1900FFFF01001100434D4643546F6F6C426172427574746F6ECC880000000000000000000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF000000000000000000000000000100000001000000018017800000000000000100000000000000000000000000000000010000000100000001801D800000000000000200000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF00000000000000000000000000010000000100000001801A800000000000000300000000000000000000000000000000010000000100000001801B80000000000000040000000000000000000000000000000001000000010000000180E57F0000000000000500000000000000000000000000000000010000000100000001801C800000000000000600000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF000000000000000000000000000100000001000000018000890000000000000700000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF0000000000000000000000000001000000010000000180E48B000000000000080000000000000000000000000000000001000000010000000180F07F000000000000090000000000000000000000000000000001000000010000000180E8880000000000000A00000000000000000000000000000000010000000100000001803B010000000000000B0000000000000000000000000000000001000000010000000180BB8A0000000000000C0000000000000000000000000000000001000000010000000180D88B0000000000000D0000000000000000000000000000000001000000010000000180D28B0000000000000E000000000000000000000000000000000100000001000000018093070000000000000F0000000000000000000000000000000001000000010000000180658A000000000000100000000000000000000000000000000001000000010000000180C18A000000000000110000000000000000000000000000000001000000010000000180EE8B0000000000001200000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF0000000000000000000000000001000000010000000180018900000000000013000000000000000000000000000000000100000001000000 - - - - 0 - 1680 - 1050 - - - - - - 1 - 0 - - 100 - 36 - - ..\Core\Src\main.c - 17 - 12 - 88 - 1 - - 0 - - - ..\Core\Dallas\pch_sensors.h - 10 - 110 - 123 - 1 - - 0 - - - ..\Core\Dallas\dallas_tools.c - 0 - 42 - 43 - 1 - - 0 - - - ..\Core\Dallas\pch_sensors.c - 46 - 20 - 109 - 1 - 17,63 - 0 - - - F:\Work\Projects\PY32\dallas\Core\Dallas\dwt.h - 26 - 1 - 24 - 1 - - 0 - - - ..\Core\Dallas\dallas_tools.h - 35 - 1 - 90 - 1 - - 0 - - - ..\Core\Dallas\ow_port.h - 67 - 1 - 12 - 1 - - 0 - - - ..\Core\Inc\main.h - 29 - 16 - 39 - 1 - - 0 - - - ..\Core\Dallas\ow_port.c - 0 - 82 - 125 - 1 - - 0 - - - ..\Drivers\CMSIS\Device\PY32F0xx\Include\py32f002bx5.h - 0 - 65 - 75 - 1 - - 0 - - - ..\Core\Src\gpio.c - 24 - 21 - 25 - 1 - - 0 - - - ..\Drivers\PY32F002B_HAL_Driver\Inc\py32f002b_hal_gpio.h - 28 - 99 - 122 - 1 - - 0 - - - ..\Core\Dallas\onewire.c - 0 - 198 - 211 - 1 - - 0 - - - .\startup_py32f002bxx.s - 20 - 121 - 137 - 1 - - 0 - - - F:\Work\Projects\PY32\dallas\Core\Dallas\dwt.c - 16 - 13 - 24 - 1 - - 0 - - - ..\Core\Dallas\ds18b20_driver.c - 0 - 42 - 49 - 1 - - 0 - - - ..\Core\Dallas\ds18b20_driver.h - 27 - 13 - 26 - 1 - - 0 - - - ..\Core\Dallas\onewire.h - 37 - 14 - 26 - 1 - - 0 - - - ..\Drivers\PY32F002B_HAL_Driver\Src\py32f002b_hal.c - 0 - 379 - 380 - 1 - - 0 - - - ..\Drivers\PY32F002B_HAL_Driver\Src\py32f002b_hal_gpio.c - 0 - 177 - 178 - 1 - - 0 - - - ..\Core\Src\tim.c - 24 - 1 - 28 - 1 - - 0 - - - ..\Core\Inc\tim.h - 0 - 7 - 36 - 1 - - 0 - - - ..\Core\Inc\py32f002b_hal_conf.h - 19 - 28 - 47 - 1 - - 0 - - - ..\Drivers\PY32F002B_HAL_Driver\Src\py32f002b_hal_rcc.c - 56 - 893 - 913 - 1 - - 0 - - - ..\Core\Modbus\interface_config.h - 57 - 22 - 43 - 1 - - 0 - - - ..\Core\Modbus\modbus.c - 58 - 103 - 340 - 1 - - 0 - - - ..\Core\Modbus\rs_message.h - 7 - 1 - 30 - 1 - - 0 - - - ..\Core\Modbus\crc_algs.h - 24 - 1 - 1 - 1 - - 0 - - - ..\Core\Modbus\modbus.h - 30 - 31 - 265 - 1 - - 0 - - - ..\Core\Modbus\rs_message.c - 74 - 206 - 237 - 1 - - 0 - - - ..\Drivers\PY32F002B_HAL_Driver\Inc\py32f002b_hal_usart.h - 60 - 482 - 513 - 1 - - 0 - - - ..\Core\Modbus\modbus_data.h - 29 - 4 - 18 - 1 - - 0 - - - ..\Core\MyLibs\general_gpio.c - 55 - 38 - 54 - 1 - - 0 - - - ..\Core\MyLibs\general_gpio.h - 6 - 56 - 82 - 1 - - 0 - - - ..\Core\MyLibs\mylibs_defs.h - 15 - 1 - 13 - 1 - - 0 - - - ..\Core\MyLibs\mylibs_config.h - 0 - 3 - 15 - 1 - - 0 - - - ..\Core\Src\usart.c - 26 - 10 - 19 - 1 - - 0 - - - ..\Drivers\PY32F002B_HAL_Driver\Src\py32f002b_hal_uart.c - 17 - 335 - 345 - 1 - - 0 - - - ..\Core\Src\py32f002b_hal_msp.c - 0 - 12 - 1 - 1 - - 0 - - - - -
diff --git a/MDK-ARM/RTE/_PY32F002Bx5_Project/RTE_Components.h b/MDK-ARM/RTE/_PY32F002Bx5_Project/RTE_Components.h index 641c159..13195eb 100644 --- a/MDK-ARM/RTE/_PY32F002Bx5_Project/RTE_Components.h +++ b/MDK-ARM/RTE/_PY32F002Bx5_Project/RTE_Components.h @@ -3,7 +3,7 @@ * Auto generated Run-Time-Environment Configuration File * *** Do not modify ! *** * - * Project: 'Project' + * Project: 'PY32Dallas' * Target: 'PY32F002Bx5_Project' */