Debug further into the function handle_message_framing,
when ReadingHeader, the framer only receive 1 bit since size = self.framer.header_size - len(self.framer.buffer). size equals to 1 with empty self.framer.buffer and self.framer.header_size equaling to 1. The check_frame() function afterwards actually failed to populate the header.
When ReadingContent, since it didn't read the header right, it also only reads 1 bit.
When FramerState.CompleteFrame, there is no data to add to the frame and failed out.
So, I am just wondering if it is because I missed some settings so the communication to the register appears to be right but the response parsing turns out to be wrong?
Using Code: import pymodbus3.client.sync as pcs
Got the console result:
DEBUG:root:True DEBUG:pymodbus3.transaction:Running transaction 1 DEBUG:pymodbus3.transaction:getting transaction 1 DEBUG:root:None
Using the pyserial library directly and I got the register reading well.
The result we received is:
DEBUG:root:b'\x01\x03\x02x\4B\x00\x8e\xb4'
Debug further into the function handle_message_framing,
when ReadingHeader, the framer only receive 1 bit since size = self.framer.header_size - len(self.framer.buffer). size equals to 1 with empty self.framer.buffer and self.framer.header_size equaling to 1. The check_frame() function afterwards actually failed to populate the header.
When ReadingContent, since it didn't read the header right, it also only reads 1 bit.
When FramerState.CompleteFrame, there is no data to add to the frame and failed out.
So, I am just wondering if it is because I missed some settings so the communication to the register appears to be right but the response parsing turns out to be wrong?
Thanks.