Merge branch 'fix/tcp_protocol_data_corruption' into 'master'

fix tcp layer data corruption

Closes IDFCI-1286

See merge request idf/esp-modbus!14
This commit is contained in:
Alex Lisitsyn
2022-07-01 15:39:32 +08:00
4 changed files with 9 additions and 3 deletions

View File

@ -87,6 +87,12 @@ PR_BEGIN_EXTERN_C
#define MB_TCP_UID 6 #define MB_TCP_UID 6
#define MB_TCP_FUNC 7 #define MB_TCP_FUNC 7
#if MB_MASTER_TCP_ENABLED
#define MB_SEND_BUF_PDU_OFF MB_TCP_FUNC
#else
#define MB_SEND_BUF_PDU_OFF MB_SER_PDU_PDU_OFF
#endif
#define MB_TCP_PSEUDO_ADDRESS 255 #define MB_TCP_PSEUDO_ADDRESS 255
/* ----------------------- Prototypes 0-------------------------------------*/ /* ----------------------- Prototypes 0-------------------------------------*/

View File

@ -508,7 +508,7 @@ void IRAM_ATTR vMBMasterSetErrorType( eMBMasterErrorEventType errorType )
/* Get Modbus Master send PDU's buffer address pointer.*/ /* Get Modbus Master send PDU's buffer address pointer.*/
void vMBMasterGetPDUSndBuf( UCHAR ** pucFrame ) void vMBMasterGetPDUSndBuf( UCHAR ** pucFrame )
{ {
*pucFrame = ( UCHAR * ) &ucMasterSndBuf[MB_SER_PDU_PDU_OFF]; *pucFrame = ( UCHAR * ) &ucMasterSndBuf[MB_SEND_BUF_PDU_OFF];
} }
/* Set Modbus Master send PDU's buffer length.*/ /* Set Modbus Master send PDU's buffer length.*/

View File

@ -81,7 +81,7 @@ static void mbc_tcp_master_free_slave_list(void)
// Initialize interface properties // Initialize interface properties
mb_master_options_t* mbm_opts = &mbm_interface_ptr->opts; mb_master_options_t* mbm_opts = &mbm_interface_ptr->opts;
LIST_FOREACH(it, &mbm_opts->mbm_slave_list, entries) { while ((it = LIST_FIRST(&mbm_opts->mbm_slave_list))) {
LIST_REMOVE(it, entries); LIST_REMOVE(it, entries);
mbm_opts->mbm_slave_list_count--; mbm_opts->mbm_slave_list_count--;
free(it); free(it);

View File

@ -1,4 +1,4 @@
version: "1.0.2" version: "1.0.3"
description: ESP-MODBUS is the official Modbus library for Espressif SoCs. description: ESP-MODBUS is the official Modbus library for Espressif SoCs.
url: https://github.com/espressif/esp-modbus url: https://github.com/espressif/esp-modbus
dependencies: dependencies: