Добавлен функция скана всех сенсоров на линии через модбас
Заполнение респонса в модбас выведено в отдельную функцию
This commit is contained in:
@@ -287,6 +287,9 @@ MB_ExceptionTypeDef MB_DefineRegistersAddress(uint16_t **pRegs, uint16_t Addr, u
|
||||
else if(MB_Check_Address_For_Arr(Addr, Qnt, R_SENS_PARAMS_ADDR, R_SENS_PARAMS_QNT) == NO_ERRORS)
|
||||
{
|
||||
*pRegs = MB_Set_Register_Ptr(&MB_DATA.InRegs, Addr); // начало регистров хранения/входных
|
||||
// икрементирвоание счетчика скана, для вывода всех датчиков на линии в модбас структуру
|
||||
extern void PYModule_IncrementScanSensor(void);
|
||||
PYModule_IncrementScanSensor();
|
||||
}
|
||||
// if address doesnt match any array - return illegal data address response
|
||||
else
|
||||
|
||||
@@ -69,7 +69,7 @@ typedef struct //MB_DataInRegsTypeDef
|
||||
// DEFINES FOR INPUT REGISTERS ARRAYS
|
||||
#define R_TEMPERATURE_ADDR (0)
|
||||
#define R_TEMPERATURE_QNT (DS18B20_DEVICE_AMOUNT)
|
||||
#define R_SENS_PARAMS_ADDR (DS18B20_DEVICE_AMOUNT+1)
|
||||
#define R_SENS_PARAMS_ADDR (DS18B20_DEVICE_AMOUNT)
|
||||
#define R_SENS_PARAMS_QNT (sizeof(MB_SensorParamsTypeDef)/sizeof(uint16_t))
|
||||
|
||||
// DEFINES FOR HOLDING REGISTERS ARRAYS
|
||||
@@ -112,8 +112,9 @@ typedef struct //MB_DataCoilsTypeDef
|
||||
unsigned ReadSensor:1;
|
||||
unsigned InitSensor:1;
|
||||
unsigned DeInitSensor:1;
|
||||
unsigned ScanSensors:1;
|
||||
|
||||
unsigned reserved:13;
|
||||
unsigned reserved:11;
|
||||
|
||||
/* reg 2 - settings */
|
||||
unsigned ConvertionDone:1;
|
||||
|
||||
Reference in New Issue
Block a user