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 6b591fa..029cfa8 100644
Binary files a/ds18b20_locations.xlsx and b/ds18b20_locations.xlsx differ