add var LOST_SENS_CNT

This commit is contained in:
andrey 2025-06-26 18:35:54 +03:00
parent 3f768d3531
commit becb211c76
4 changed files with 20 additions and 8 deletions

View File

@ -107,8 +107,10 @@ struct _SensorHandleStruct
unsigned isConnected:1; ///< Флаг соединения
unsigned isInitialized:1; ///< Флаг инициализации
unsigned isLost:1; ///< Флаг потери связи
uint16_t lost_cnt;
DALLAS_FlagsTypeDef f; ///< Флаги
float set_temp;
int hyst;

View File

@ -23,14 +23,14 @@
* @brief Порт вывода для шины 1-Wire.
* @details Указывает порт GPIO, к которому подключена линия данных 1-Wire (например, для DS18B20).
*/
#define OW_GPIO_Port GPIOA
#define OW_GPIO_Port GPIOB
/**
* @def OW_Pin_Numb
* @brief Номер пина в порту OW_GPIO_Port.
* @details Используется для формирования маски пина и настройки ввода/вывода.
*/
#define OW_Pin_Numb 1
#define OW_Pin_Numb 9
/**
* @def OW_Pin

View File

@ -170,7 +170,7 @@ for ( int i=0; i<hdallas.onewire->RomCnt;i++)
sens[i].Init.init_func = &Dallas_SensorInitByInd;
sens[i].Init.Resolution = DALLAS_CONFIG_9_BITS;
sens[i].set_temp =20.;
sens[i].hyst =3;
sens[i].hyst =2;
Dallas_AddNewSensors(&hdallas, &sens[i]);
}
@ -194,11 +194,16 @@ for ( int i=0; i<hdallas.onewire->RomCnt;i++)
}
init=MB_DATA.Coils.init_param;
Dallas_StartConvertTAll(&hdallas,DALLAS_WAIT_BUS,0);
for(int i=0;i<hdallas.onewire->RomCnt;i++)
{
if(sens[i].isLost)
{
sens[i].lost_cnt ++;
}
Dallas_ReadTemperature(&sens[i]);
sens[i].set_temp = MB_DATA.HoldRegs.set_Temp[i];
MB_DATA.InRegs.sens_Temp[i]=sens[i].temperature*10;
@ -206,7 +211,7 @@ for ( int i=0; i<hdallas.onewire->RomCnt;i++)
if (sens[i].temperature<sens[i].set_temp-sens[i].hyst)
{
GPIOC->ODR|=1<<13;
MB_DATA.Coils.coils.all|=1<<i;
}
@ -215,9 +220,10 @@ for ( int i=0; i<hdallas.onewire->RomCnt;i++)
if (sens[i].temperature>sens[i].set_temp+sens[i].hyst)
{
GPIOC->ODR&=~(1<<13);
MB_DATA.Coils.coils.all&=~(1<<i);
}
}

View File

@ -153,7 +153,7 @@
<Ww>
<count>0</count>
<WinNumber>1</WinNumber>
<ItemText>sens</ItemText>
<ItemText>sens,0x0A</ItemText>
</Ww>
<Ww>
<count>1</count>
@ -260,6 +260,10 @@
<Name>System Viewer\GPIOA</Name>
<WinId>35904</WinId>
</Entry>
<Entry>
<Name>System Viewer\GPIOB</Name>
<WinId>35900</WinId>
</Entry>
<Entry>
<Name>System Viewer\IWDG</Name>
<WinId>35905</WinId>
@ -365,7 +369,7 @@
<GroupNumber>2</GroupNumber>
<FileNumber>6</FileNumber>
<FileType>1</FileType>
<tvExp>0</tvExp>
<tvExp>1</tvExp>
<tvExpOptDlg>0</tvExpOptDlg>
<bDave2>0</bDave2>
<PathWithFileName>..\Core\Src\ow_port.c</PathWithFileName>
@ -389,7 +393,7 @@
<GroupNumber>2</GroupNumber>
<FileNumber>8</FileNumber>
<FileType>1</FileType>
<tvExp>1</tvExp>
<tvExp>0</tvExp>
<tvExpOptDlg>0</tvExpOptDlg>
<bDave2>0</bDave2>
<PathWithFileName>..\Modbus\modbus.c</PathWithFileName>