2022-01-03, 07:31 PM
Hi, I am running OpenCPN version 5.6.0 on a Pi4. This installs a very old version of Pypilot (0.16) which will not communicate with the Pypilot Plugin. So I upgraded Pypilot to the latest version using the excellent Pypilot Workbook as a guide. The installation all seemed to go OK. After a reboot, I tried the Pypilot Plugin, but no connection. I used systemctl to see if the pypilot service was running but it had stopped:
pi@openplotter:~ $ systemctl status pypilot
● pypilot.service - pypilot
Loaded: loaded (/etc/systemd/system/pypilot.service; enabled; vendor preset:
Active: activating (auto-restart) (Result: exit-code) since Mon 2022-01-03 18
Process: 16155 ExecStart=/usr/local/bin/pypilot (code=exited, status=1/FAILURE
Main PID: 16155 (code=exited, status=1/FAILURE)
So I ran pypilot from the prompt and got several errors that I do not understand. Can anyone please point me in the right direction?
Many thanks
David
pi@openplotter:~ $ pypilot
autopilot start 1616.608142654
ERROR loading wind.py cannot import name 'HeadingOffset' from 'pypilot.autopilot' (/usr/local/lib/python3.7/dist-packages/pypilot/autopilot.py) cannot import name 'HeadingOffset' from 'pypilot.autopilot' (/usr/local/lib/python3.7/dist-packages/pypilot/autopilot.py)
imu process 9036
loading servo calibration /home/pi/.pypilot/servocalibration
WARNING: using default servo calibration!!
nmea process 9040
listening on port 20220 for nmea connections
gps process 9043
Available Pilots: ['basic', 'absolute', 'simple']
warning: failed to open special file /dev/watchdog0 for writing
cannot stroke the watchdog
made imu process realtime
Using settings file RTIMULib.ini
Settings file RTIMULib.ini loaded
Detected MPU9250/MPU9255 at standard address
Using fusion algorithm Kalman STATE4
IMU Name: MPU-925x
min/max compass calibration not in use
Using ellipsoid compass calibration
Using accel calibration
pypilotServer process 9048
failed to load pypilot.conf not enough values to unpack (expected 2, got 1)
server setup has 5 pipes
autopilot init complete 1616.801705726
servo probe ('/dev/ttyAMA0', 38400) 1616.804768954
Process Process-6:
Traceback (most recent call last):
File "/usr/lib/python3.7/multiprocessing/process.py", line 297, in _bootstrap
self.run()
File "/usr/lib/python3.7/multiprocessing/process.py", line 99, in run
self._target(*self._args, **self._kwargs)
File "/usr/local/lib/python3.7/dist-packages/pypilot/server.py", line 408, in run
self.init()
File "/usr/local/lib/python3.7/dist-packages/pypilot/server.py", line 466, in init
from zeroconf import IPVersion, ServiceInfo, Zeroconf
ImportError: cannot import name 'IPVersion' from 'zeroconf' (/usr/lib/python3/dist-packages/zeroconf.py)
Traceback (most recent call last):
File "/usr/local/bin/pypilot", line 11, in <module>
load_entry_point('pypilot==0.33', 'console_scripts', 'pypilot')()
File "/usr/local/lib/python3.7/dist-packages/pypilot/autopilot.py", line 450, in main
ap.iteration()
File "/usr/local/lib/python3.7/dist-packages/pypilot/autopilot.py", line 353, in iteration
time.sleep(pd10)
File "/usr/local/lib/python3.7/dist-packages/pypilot/autopilot.py", line 195, in cleanup
raise KeyboardInterrupt # to get backtrace on all processes
KeyboardInterrupt
closing autopilot
pi@openplotter:~ $ systemctl status pypilot
● pypilot.service - pypilot
Loaded: loaded (/etc/systemd/system/pypilot.service; enabled; vendor preset:
Active: activating (auto-restart) (Result: exit-code) since Mon 2022-01-03 18
Process: 16155 ExecStart=/usr/local/bin/pypilot (code=exited, status=1/FAILURE
Main PID: 16155 (code=exited, status=1/FAILURE)
So I ran pypilot from the prompt and got several errors that I do not understand. Can anyone please point me in the right direction?
Many thanks
David
pi@openplotter:~ $ pypilot
autopilot start 1616.608142654
ERROR loading wind.py cannot import name 'HeadingOffset' from 'pypilot.autopilot' (/usr/local/lib/python3.7/dist-packages/pypilot/autopilot.py) cannot import name 'HeadingOffset' from 'pypilot.autopilot' (/usr/local/lib/python3.7/dist-packages/pypilot/autopilot.py)
imu process 9036
loading servo calibration /home/pi/.pypilot/servocalibration
WARNING: using default servo calibration!!
nmea process 9040
listening on port 20220 for nmea connections
gps process 9043
Available Pilots: ['basic', 'absolute', 'simple']
warning: failed to open special file /dev/watchdog0 for writing
cannot stroke the watchdog
made imu process realtime
Using settings file RTIMULib.ini
Settings file RTIMULib.ini loaded
Detected MPU9250/MPU9255 at standard address
Using fusion algorithm Kalman STATE4
IMU Name: MPU-925x
min/max compass calibration not in use
Using ellipsoid compass calibration
Using accel calibration
pypilotServer process 9048
failed to load pypilot.conf not enough values to unpack (expected 2, got 1)
server setup has 5 pipes
autopilot init complete 1616.801705726
servo probe ('/dev/ttyAMA0', 38400) 1616.804768954
Process Process-6:
Traceback (most recent call last):
File "/usr/lib/python3.7/multiprocessing/process.py", line 297, in _bootstrap
self.run()
File "/usr/lib/python3.7/multiprocessing/process.py", line 99, in run
self._target(*self._args, **self._kwargs)
File "/usr/local/lib/python3.7/dist-packages/pypilot/server.py", line 408, in run
self.init()
File "/usr/local/lib/python3.7/dist-packages/pypilot/server.py", line 466, in init
from zeroconf import IPVersion, ServiceInfo, Zeroconf
ImportError: cannot import name 'IPVersion' from 'zeroconf' (/usr/lib/python3/dist-packages/zeroconf.py)
Traceback (most recent call last):
File "/usr/local/bin/pypilot", line 11, in <module>
load_entry_point('pypilot==0.33', 'console_scripts', 'pypilot')()
File "/usr/local/lib/python3.7/dist-packages/pypilot/autopilot.py", line 450, in main
ap.iteration()
File "/usr/local/lib/python3.7/dist-packages/pypilot/autopilot.py", line 353, in iteration
time.sleep(pd10)
File "/usr/local/lib/python3.7/dist-packages/pypilot/autopilot.py", line 195, in cleanup
raise KeyboardInterrupt # to get backtrace on all processes
KeyboardInterrupt
closing autopilot