Nas
SKSignal K
•Created by Nas on 1/13/2025 in #questions
Signal K not getting my Seatalk1 stream via GPIO on PI5
Hello everybody.
My old PI3 with the Signal K version included in Openplotter V3 had no problem reading my boat Seatalk 1 data stream.
After upgrading to a PI5 with the latest version of Signal K and using the same wiring and same GPIO port I get this error:
Traceback (most recent call last): File "<string>", line 21, in <module> File "/usr/lib/python3/dist-packages/pigpio.py", line 4504, in bb_serial_read_open return _u2i(_pigpio_command_ext(^^^^^^^^^^^^^^^^^^^^ File "/usr/lib/python3/dist-packages/pigpio.py", line 1062, in _pigpio_command_ext sl.s.sendall(ext)^^^^^^^^^^^^ AttributeError:'NoneType' object has no attribute 'sendall'
So the problem seems to be in the pigpio.py file. My programing skills are old and rusty, but I believe the problem is in the return value of the _pigpio_command_ext.
def _pigpio_command_ext(sl, cmd, p1, p2, p3, extents):
"""
Runs an extended pigpio socket command.
sl:= command socket and lock.
cmd:= the command to be executed.
p1:= command parameter 1 (if applicable).
p2:= command parameter 2 (if applicable).
p3:= total size in bytes of following extents
extents:= additional data blocks
"""
ext = bytearray(struct.pack('IIII', cmd, p1, p2, p3))
for x in extents:
if type(x) == type(""):
ext.extend(_b(x))
else:
ext.extend(x)
res = PI_CMD_INTERRUPTED
with sl.l:
sl.s.sendall(ext)
dummy, res = struct.unpack('12sI', sl.s.recv(_SOCK_CMD_LEN))
return res
A locking conflict with the socket? I would appreciate any help.
49 replies