From 26852bbec078178ca823a014fcf9f3c9de97a7e5 Mon Sep 17 00:00:00 2001 From: Razvalyaev Date: Wed, 5 Mar 2025 10:56:23 +0300 Subject: [PATCH] =?UTF-8?q?=D0=94=D0=BE=D0=B1=D0=B0=D0=B2=D0=BB=D0=B5?= =?UTF-8?q?=D0=BD=20=D1=81=D1=82=D0=B0=D1=82=D1=83=D1=81=20=D0=B4=D0=BB?= =?UTF-8?q?=D1=8F=20=D0=BE=D0=BA=D0=BE=D0=BD=D1=87=D0=B0=D0=BD=D0=B8=D1=8F?= =?UTF-8?q?=20=D1=81=D0=BA=D0=B0=D0=BD=D0=B0?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- Core/PY32Module/PY32module_main.c | 20 ++++++++++++----- Core/PY32Module/PY32module_main.h | 1 + Core/PY32Module/pch_sensors.h | 6 ++--- MDK-ARM/PY32Dallas.uvoptx | 35 +----------------------------- ds18b20_locations.xlsx | Bin 9897 -> 9899 bytes 5 files changed, 20 insertions(+), 42 deletions(-) diff --git a/Core/PY32Module/PY32module_main.c b/Core/PY32Module/PY32module_main.c index 778be9c..8cd6dbd 100644 --- a/Core/PY32Module/PY32module_main.c +++ b/Core/PY32Module/PY32module_main.c @@ -93,10 +93,10 @@ void PYModule_FirstInit(void) DallasBus.hdallas->ds_devices = &DS; PCHSens_InitModule(&hdallas1, &pchsens.module1, REG_PCH_NUMB_11|REG_PCH_DIODE_NUMB_1); PCHSens_InitModule(&hdallas1, &pchsens.module2, REG_PCH_NUMB_12|REG_PCH_DIODE_NUMB_1); - PCHSens_InitModule(&hdallas1, &pchsens.module3, REG_PCH_NUMB_13|REG_PCH_DIODE_NUMB_1); - PCHSens_InitModule(&hdallas1, &pchsens.module4, REG_PCH_NUMB_21|REG_PCH_DIODE_NUMB_1); - PCHSens_InitModule(&hdallas1, &pchsens.module5, REG_PCH_NUMB_22|REG_PCH_DIODE_NUMB_1); - PCHSens_InitModule(&hdallas1, &pchsens.module6, REG_PCH_NUMB_23|REG_PCH_DIODE_NUMB_1); + PCHSens_InitModule(&hdallas1, &pchsens.module3, REG_PCH_NUMB_21|REG_PCH_DIODE_NUMB_1); + PCHSens_InitModule(&hdallas1, &pchsens.module4, REG_PCH_NUMB_22|REG_PCH_DIODE_NUMB_1); + PCHSens_InitModule(&hdallas1, &pchsens.module5, REG_PCH_NUMB_31|REG_PCH_DIODE_NUMB_1); + PCHSens_InitModule(&hdallas1, &pchsens.module6, REG_PCH_NUMB_32|REG_PCH_DIODE_NUMB_1); /* Поиск неизвестных сенсоров */ PCHSens_FindUnknownSensors(&DallasBus); @@ -113,7 +113,7 @@ void PYModule_ScanSensor(PCHSens_DallasBusHandle *hbus) if (scan_cnt >= hbus->hdallas->onewire->RomCnt) { scan_cnt = hbus->hdallas->onewire->RomCnt; - PYModule_FillResponse(&sensor, 0); + PYModule_FillResponse(&sensor, STATUS_SCAN_END); return; } if(Dallas_ReadScratchpad(&sensor.sens) == HAL_OK) @@ -267,6 +267,16 @@ void PYModule_FillResponse(PCHSens_SensorTypeDef* sensor, Sensor_ResponseStatusT MB_DATA.InRegs.Response.Status = status; break; + case STATUS_SCAN_END: + MB_DATA.InRegs.Response.Location = 0; + MB_DATA.InRegs.Response.Config = 0; + MB_DATA.InRegs.Response.ROM[0] = 0; + MB_DATA.InRegs.Response.ROM[1] = 0; + MB_DATA.InRegs.Response.ROM[2] = 0; + MB_DATA.InRegs.Response.ROM[3] = 0; + MB_DATA.InRegs.Response.Status = status; + break; + // error read by location case STATUS_ERR_READ_LOCATION: // fill only location from holdreg diff --git a/Core/PY32Module/PY32module_main.h b/Core/PY32Module/PY32module_main.h index efdd4c3..25bad93 100644 --- a/Core/PY32Module/PY32module_main.h +++ b/Core/PY32Module/PY32module_main.h @@ -17,6 +17,7 @@ typedef enum { STATUS_OK = 0x01, + STATUS_SCAN_END = 0x11, STATUS_ERR_READ_LOCATION = 0xF0, STATUS_ERR_READ_ROM = 0x0F, STATUS_ERR_INIT = 0xAA, diff --git a/Core/PY32Module/pch_sensors.h b/Core/PY32Module/pch_sensors.h index 992be13..72de5bd 100644 --- a/Core/PY32Module/pch_sensors.h +++ b/Core/PY32Module/pch_sensors.h @@ -45,10 +45,10 @@ /* Варианты параметров в UserBytes */ #define REG_PCH_NUMB_11 ((1 << REG_PCH_NUMB_DIGIT_1_Pos) | (1 << REG_PCH_NUMB_DIGIT_2_Pos)) #define REG_PCH_NUMB_12 ((1 << REG_PCH_NUMB_DIGIT_1_Pos) | (2 << REG_PCH_NUMB_DIGIT_2_Pos)) -#define REG_PCH_NUMB_13 ((1 << REG_PCH_NUMB_DIGIT_1_Pos) | (3 << REG_PCH_NUMB_DIGIT_2_Pos)) #define REG_PCH_NUMB_21 ((2 << REG_PCH_NUMB_DIGIT_1_Pos) | (1 << REG_PCH_NUMB_DIGIT_2_Pos)) #define REG_PCH_NUMB_22 ((2 << REG_PCH_NUMB_DIGIT_1_Pos) | (2 << REG_PCH_NUMB_DIGIT_2_Pos)) -#define REG_PCH_NUMB_23 ((2 << REG_PCH_NUMB_DIGIT_1_Pos) | (3 << REG_PCH_NUMB_DIGIT_2_Pos)) +#define REG_PCH_NUMB_31 ((3 << REG_PCH_NUMB_DIGIT_1_Pos) | (1 << REG_PCH_NUMB_DIGIT_2_Pos)) +#define REG_PCH_NUMB_32 ((3 << REG_PCH_NUMB_DIGIT_1_Pos) | (2 << REG_PCH_NUMB_DIGIT_2_Pos)) #define REG_PCH_DIODE_NUMB_1 ((0 << REG_PCH_DIOD_PHASE_Pos) | (1 << REG_PCH_MODULE_NUMB_Pos)) #define REG_PCH_DIODE_NUMB_2 ((0 << REG_PCH_DIOD_PHASE_Pos) | (2 << REG_PCH_MODULE_NUMB_Pos)) @@ -97,7 +97,7 @@ #define IS_REG_PCH_NUMB(_REG_) (IS_REG_PCH_NUMB_DIGIT_1(_REG_) && IS_REG_PCH_NUMB_DIGIT_2(_REG_)) /*!< @brief Получить параметр "Первая цифра номера преобразователя частоты" */ #define IS_REG_PCH_NUMB_DIGIT_1(_REG_) (((_REG_)->param.PCHdig1 <= REG_PCH_NUMB_DIGIT_1_MAX) && ((_REG_)->param.PCHdig1 >= REG_PCH_NUMB_DIGIT_1_MIN)) -/*!< @brief Получить параметр "Вторая цифра номера преобразователя частоты" s*/ +/*!< @brief Получить параметр "Вторая цифра номера преобразователя частоты" */ #define IS_REG_PCH_NUMB_DIGIT_2(_REG_) (((_REG_)->param.PCHdig2 <= REG_PCH_NUMB_DIGIT_2_MAX) && ((_REG_)->param.PCHdig2 >= REG_PCH_NUMB_DIGIT_2_MIN)) /*!< @brief Получить параметр "ЗИП/не ЗИП" */ #define IS_REG_ZIP(_REG_) (GET_REG_ZIP(_REG_)) diff --git a/MDK-ARM/PY32Dallas.uvoptx b/MDK-ARM/PY32Dallas.uvoptx index 8d49872..df7ffaf 100644 --- a/MDK-ARM/PY32Dallas.uvoptx +++ b/MDK-ARM/PY32Dallas.uvoptx @@ -153,40 +153,7 @@ (105=-1,-1,-1,-1,0) - - - 0 - 0 - 37 - 1 -
134235612
- 0 - 0 - 0 - 0 - 0 - 1 - ..\Core\PY32Module\PY32module_main.c - - \\Project\../Core/PY32Module/PY32module_main.c\37 -
- - 1 - 0 - 48 - 1 -
134235662
- 0 - 0 - 0 - 0 - 0 - 1 - ..\Core\PY32Module\PY32module_main.c - - \\Project\../Core/PY32Module/PY32module_main.c\48 -
-
+ 0 diff --git a/ds18b20_locations.xlsx b/ds18b20_locations.xlsx index 6b591facf7656ad5269f5a47c16e1371a3a9023c..029cfa801f3e376183b48e2eec2c9e048dcf6c8a 100644 GIT binary patch delta 3224 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 K25%z(0000|cIejt delta 3199 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 l0000000000005