Hi, I'm facing a problem reading a GPS module thorugh I2C. The GPS module is the SAM-M8Q and I found this library which handles the I2C communication [https://github.com/melopero/Melopero_SAM-M8Q]. However, I often (not always) get this error in communication: [Errno 121] Remote I/O error. I also tried to implement the communication on my own but after a while, I got the same error. If I put a try/except and try to retrieve data after the exception it mostly work for a while. It seems that sometimes the communication fails. Anyone can help me ?
Thanks.
I leave all the exception trace:
File "/home/microlab/Documents/control_unit/backup/gps_copy.py", line 16, in
info = dev.get_pvt() #returns a dictionary containing the PVT data
File "/home/microlab/Documents/control_unit/.venv/lib/python3.9/site-packages/melopero_samm8q/SAM_M8Q.py", line 177, in get_pvt
read = self.wait_for_message(time_out_s=time_out_s, msg_cls=ubx.NAV_CLASS, msg_id=ubx.NAV_PVT)
File "/home/microlab/Documents/control_unit/.venv/lib/python3.9/site-packages/melopero_samm8q/SAM_M8Q.py", line 135, in wait_for_message
msg = self.read_message()
File "/home/microlab/Documents/control_unit/.venv/lib/python3.9/site-packages/melopero_samm8q/SAM_M8Q.py", line 106, in read_message
msg_length = self.available_bytes()
File "/home/microlab/Documents/control_unit/.venv/lib/python3.9/site-packages/melopero_samm8q/SAM_M8Q.py", line 96, in available_bytes
msb = bus.read_byte_data(self.curr_i2c_addr, 0xFD)
File "/home/microlab/Documents/control_unit/.venv/lib/python3.9/site-packages/smbus2/smbus2.py", line 433, in read_byte_data
ioctl(self.fd, I2C_SMBUS, msg)
OSError: [Errno 121] Remote I/O error
Thanks.
I leave all the exception trace:
File "/home/microlab/Documents/control_unit/backup/gps_copy.py", line 16, in
info = dev.get_pvt() #returns a dictionary containing the PVT data
File "/home/microlab/Documents/control_unit/.venv/lib/python3.9/site-packages/melopero_samm8q/SAM_M8Q.py", line 177, in get_pvt
read = self.wait_for_message(time_out_s=time_out_s, msg_cls=ubx.NAV_CLASS, msg_id=ubx.NAV_PVT)
File "/home/microlab/Documents/control_unit/.venv/lib/python3.9/site-packages/melopero_samm8q/SAM_M8Q.py", line 135, in wait_for_message
msg = self.read_message()
File "/home/microlab/Documents/control_unit/.venv/lib/python3.9/site-packages/melopero_samm8q/SAM_M8Q.py", line 106, in read_message
msg_length = self.available_bytes()
File "/home/microlab/Documents/control_unit/.venv/lib/python3.9/site-packages/melopero_samm8q/SAM_M8Q.py", line 96, in available_bytes
msb = bus.read_byte_data(self.curr_i2c_addr, 0xFD)
File "/home/microlab/Documents/control_unit/.venv/lib/python3.9/site-packages/smbus2/smbus2.py", line 433, in read_byte_data
ioctl(self.fd, I2C_SMBUS, msg)
OSError: [Errno 121] Remote I/O error
Statistics: Posted by matteo.verze — Wed Feb 28, 2024 3:20 pm — Replies 0 — Views 8