Code Monkey home page Code Monkey logo

openplotter-settings's Introduction

openplotter-settings

Main OpenPlotter app

Installing

Install dependencies (for production and development):

sudo apt install python3-wxgtk4.0 python3-ujson python3-pyudev vlc matchbox-keyboard wvkbd

For production

Download and install the latest .deb file from Latest version of 'openplotter-settings' @ Cloudsmith

sudo dpkg -i openplotter-settings_x.x.x-xxx_all.deb

For development

Clone the repository:

git clone https://github.com/openplotter/openplotter-settings.git

Make your changes and create the package:

cd openplotter-settings
dpkg-buildpackage -b

Install the package:

cd ..
sudo dpkg -i openplotter-settings_x.x.x-xxx_all.deb

Run:

openplotter-settings

Pull request your changes to github and we will check and add them to the next version of the Debian package.

Documentation

https://openplotter.readthedocs.io

Support

http://forum.openmarine.net/forumdisplay.php?fid=1

openplotter-settings's People

Contributors

free-x avatar mennotammens avatar sailoog avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

openplotter-settings's Issues

Could not locate bindings file

Not sure how to proceed, so any input would be greatly appreciated. Thank you very much.


Actions Performed

  • connected USB GPS module to Raspberry Pi running OpenPlotter latest with everything updated
  • Added connection to Signal K via Serial app
  • Opened Signal K admin dashboard on Chromium

Expected Result

  • GPS shows up under "Connection activity (deltas/second)"

Actual Result

  • Error logged under "Connection and Plugin Status" and "Signal K > Server > Server Log"
  • Error message: (click to see) Error: Could not locate the bindings file. Tried: → /usr/lib/node_modules/signalk-server/node_modules/@serialport/bindings/build/bindings.node → /usr/lib/node_modules/signalk-server/node_modules/@serialport/bindings/build/Debug/bindings.node → /usr/lib/node_modules/signalk-server/node_modules/@serialport/bindings/build/Release/bindings.node → /usr/lib/node_modules/signalk-server/node_modules/@serialport/bindings/out/Debug/bindings.node → /usr/lib/node_modules/signalk-server/node_modules/@serialport/bindings/Debug/bindings.node → /usr/lib/node_modules/signalk-server/node_modules/@serialport/bindings/out/Release/bindings.node → /usr/lib/node_modules/signalk-server/node_modules/@serialport/bindings/Release/bindings.node → /usr/lib/node_modules/signalk-server/node_modules/@serialport/bindings/build/default/bindings.node → /usr/lib/node_modules/signalk-server/node_modules/@serialport/bindings/compiled/16.20.0/linux/arm64/bindings.node → /usr/lib/node_modules/signalk-server/node_modules/@serialport/bindings/addon-build/release/install-root/bindings.node → /usr/lib/node_modules/signalk-server/node_modules/@serialport/bindings/addon-build/debug/install-root/bindings.node → /usr/lib/node_modules/signalk-server/node_modules/@serialport/bindings/addon-build/default/install-root/bindings.node → /usr/lib/node_modules/signalk-server/node_modules/@serialport/bindings/lib/binding/node-v93-linux-arm64/bindings.node at bindings (/usr/lib/node_modules/signalk-server/node_modules/@serialport/bindings/node_modules/bindings/bindings.js:126:9) at Object. (/usr/lib/node_modules/signalk-server/node_modules/@serialport/bindings/lib/linux.js:2:36) at Module._compile (node:internal/modules/cjs/loader:1196:14) at Object.Module._extensions..js (node:internal/modules/cjs/loader:1250:10) at Module.load (node:internal/modules/cjs/loader:1074:32) at Function.Module._load (node:internal/modules/cjs/loader:909:12) at Module.require (node:internal/modules/cjs/loader:1098:19) at require (node:internal/modules/cjs/helpers:108:18) at Object. (/usr/lib/node_modules/signalk-server/node_modules/@serialport/bindings/lib/index.js:14:22) at Module._compile (node:internal/modules/cjs/loader:1196:14) at Object.Module._extensions..js (node:internal/modules/cjs/loader:1250:10) at Module.load (node:internal/modules/cjs/loader:1074:32) at Function.Module._load (node:internal/modules/cjs/loader:909:12) at Module.require (node:internal/modules/cjs/loader:1098:19) at require (node:internal/modules/cjs/helpers:108:18) at Object. (/usr/lib/node_modules/signalk-server/node_modules/serialport/lib/index.js:2:17) { tries: [ '/usr/lib/node_modules/signalk-server/node_modules/@serialport/bindings/build/bindings.node', '/usr/lib/node_modules/signalk-server/node_modules/@serialport/bindings/build/Debug/bindings.node', '/usr/lib/node_modules/signalk-server/node_modules/@serialport/bindings/build/Release/bindings.node', '/usr/lib/node_modules/signalk-server/node_modules/@serialport/bindings/out/Debug/bindings.node', '/usr/lib/node_modules/signalk-server/node_modules/@serialport/bindings/Debug/bindings.node', '/usr/lib/node_modules/signalk-server/node_modules/@serialport/bindings/out/Release/bindings.node', '/usr/lib/node_modules/signalk-server/node_modules/@serialport/bindings/Release/bindings.node', '/usr/lib/node_modules/signalk-server/node_modules/@serialport/bindings/build/default/bindings.node', '/usr/lib/node_modules/signalk-server/node_modules/@serialport/bindings/compiled/16.20.0/linux/arm64/bindings.node', '/usr/lib/node_modules/signalk-server/node_modules/@serialport/bindings/addon-build/release/install-root/bindings.node', '/usr/lib/node_modules/signalk-server/node_modules/@serialport/bindings/addon-build/debug/install-root/bindings.node', '/usr/lib/node_modules/signalk-server/node_modules/@serialport/bindings/addon-build/default/install-root/bindings.node', '/usr/lib/node_modules/signalk-server/node_modules/@serialport/bindings/lib/binding/node-v93-linux-arm64/bindings.node' ] }

Potential Solution Found

Problems

  • "last version" means which of the following?
    • latest version by building from git
    • version prior to the latest version by building from git
  • if there's a simpler way than building from git, not sure if it's possible in GUI, and not sure of commands to run
  • wondering if I should reinstall and not update, if the update is causing the issues

Can't setup Shutdown and Poweroff on RPi5

On RPi5, can't setup Shutdown/Poweroff in Raspberry Settings because GPIO Map only shows 35 pins, so can't select GPIO 21 (pin 40) or GPIO 26 (pin 37). Can't manually enter a number, have to pick from GPIO Map. (I am using a MacArthur HAT)

Dependency on python-configparser

openplotter-settings depends on the Debian/Ubuntu package python-configparser:

python-configparser
backport of the enhanced config parser introduced in Python 3.2

The ancient ConfigParser module available in the standard library 2.x has seen a major update in Python 3.2. This is a backport of those changes so that they can be used directly in Python 2.7.

This package is for Python 2.x, and can be removed as dependency because it is part of the standard library in Python 3.2+

contrib proposal: Add repositories during Debian package installation.

I would like to do a pull request that add the openplotter repositories to the host machine during the post-install hook of the debian package instead of from /usr/bin/openplotter-settings

My need is to have the packages of the repository available without having to run openplotter-settings and while we have full root permission.

For reference, the Opera browser is doing like this: https://pastebin.com/05nnnkbR

Would you be interested ?

Question: arm64 support?

Hi,

Thanks Openplotter's team for your amazing work.

I had a chance to use it in real life on a rpi 2 in France and it works quite well.
It is a bit slow due to the spec of the rpi and I'm looking for an upgrade solution.

I looked at those amazing SBC:

  • Odroid N2+
  • Rpi 4B 8Go

Both will run under arm64 and I'm wondering if it will work regarding the softwares?
I see that there is a big discussion on openCPN's github for CPU architectures

And on Odroid's forums:

Will I need to compile all by myself?
Will Openplotter work by using openplotter-settings?
Do you plan to release any system images in arm64?

Thanks for your help

App not responding - Issues - Contribute ?

Hello there!

I wanted to leave a comment about the openplotter app (and all the others belonging the suite including OpenCPN, signal K installer etc.). There is a significant problem with the execution of these pieces of software as the UI is repeatedly "not responding" during runtime. You could tap on any button, try to enable|open|install anything, the UI will freeze with 100% probability and suggest you to force-close the app. Now I know that if I choose two wait (4-6 times in a row), the command I issued will finally be executed successfully, but is it really necessary to make users think that the app does not work at all ? Could we make something about this ? There is very little info about how to contribute to this project, finding the docs from the official website is already a challeng. I have been [trying] to use Openplotter on desktop and on RaspberryPi, because I like the project, but it definitely needs serious improvements, and I would be interested in helping at it instead of spending my time trying to figure out how.

openplotter-settings is uninstalling chrony

When it come to time servers chrony is more resilient than NTP when time sources are Unstable. It also dynamically support multiple time sources ( NTP, GPS, NMEA, serialRTC...)

It would be nice if the openplotter-settings package would not have a hard dependency on ntp which conflict any other time deamon providing pacakge. Resulting in having openplotter-settings uninstalling whatever else time-server. I'm actually using.

Best thing would be to check which time-daemon is installed and show the buttons accordingly, instead of deleting stuff on the OS.

To list all the time management software available :
apt-cache showpkg "time-daemon" | sed -e '1,/^Reverse Provides: *$/ d' -e 's/ .*$//' | sort | uniq
To list the installed ones:
dpkg-query -l [THE_PACKAGE_LIST] |grep ii | awk '{print $2}'

Sources.list.d duplicate entries for OpenCPN

It's not a huge issue right now, but I just tried installing openplotter-settings on my Linux laptop. I already had OpenCPN installed.
The script put in the openplotter.list file, which had a duplicate entry for OpenCPN, which causes apt to create an error.
It would probably be best for the script to check for a previous sources.list.d entry for OpenCPN (and perhaps other programs) before it inserts openplotter.list.
Again, not a huge issue, and I know that generic Linux isn't a priority right now. Just something to remember as things develop.

Unable to install "Signal K Installer" on Ubuntu 20.04 Focal Fossa

I installed openplotter-settings on Ubuntu 20.04 as per the advanced install instructions and proceeded to install all the apps. When I came to install the Signal K Installer I got an error. Trying to install openplotter-signalk-installer via the command line came up with this error:

$ sudo apt install openplotter-signalk-installer 
Reading package lists... Done
Building dependency tree       
Reading state information... Done
Some packages could not be installed. This may mean that you have
requested an impossible situation or if you are using the unstable
distribution that some required packages have not yet been created
or been moved out of Incoming.
The following information may help to resolve the situation:

The following packages have unmet dependencies.
 openplotter-signalk-installer : Depends: nodejs
E: Unable to correct problems, you have held broken packages.

Trying to install nodejs came up with a similar error complaining about an unmet dependency: python-minimal.

After some digging around I understood the problem to be that the nodejs package that was trying to be installed had the dependency python-minimal which was an alias for python2-minimal. Since there is no longer any support for Python2 it was removed in Ubuntu 20.04 Focal Fossa and the alias python-minimal didn't work.

The route course of this was that the apt sources file /etc/apt/sources.list.d/openplotter.list that is installed by openplotter-settings sets the distribution of the nodejs repository as buster (which I guess still had Python2 support and a working python-minimal alias) instead of focal (which is what is needed for Ubuntu 20.04 Focal Fossa). After manually changing buster to focal I was able to install openplotter-signalk-installer.

I think it would be sensible for openplotter-settings to use correct distribution when installing the openplotter.list file or let the nodesources setup script handle the adding of the nodejs sources (i.e. curl -sL https://deb.nodesource.com/setup_10.x | sudo -E bash -).

Autostart settings removed after 2.4.1 update

Just updated the settings plugin, now the autostart options have been removed. OpenCPN starts automatically at boot still, but I cannot turn it off anymore. Checkbox for OpenCPN autostart is missing.

isAlive() AttributeError

on a recent debian unstable (openplotter-settings 2.8.1-stable, python 3.9.7) i get with the manual installation errors when starting 'openplotter-startup check':

File "/usr/lib/python3/dist-packages/openplotterSettings/startup.py", line 71, in init
if not self.thread1.isAlive(): self.thread1.start()
AttributeError: 'Thread' object has no attribute 'isAlive'
File "/usr/lib/python3/dist-packages/openplotterSettings/startup.py", line 114, in refresh
if not self.thread1.isAlive(): self.OnCloseButton()
AttributeError: 'Thread' object has no attribute 'isAlive'

internet search says it might be the is_alive() attribute, changing the two lines fixes this problem.

oernc / oesenc

There seems to be some confusion in sources and the two plugins required for o-charts.

Once openplotter-settings added the necessary sources the following packages become available:

  • opencpn-plugin-oernc
  • opencpn-plugin-oesenc
  • libsglock
  • oernc-pi
  • oesenc-pi
  • opencpn-sglock-amd64

oernc-pi, oesenc-pi and opencpn-sglock-amd64 are drawn from LP-PPA-opencpn-opencpn-bionic and the former two require the latter one.

opencpn-plugin-oernc, opencpn-plugin-oesenc and libsglock come from free-x.de where the former two requite the latter one.

It is not really clear which plugins should be installed or if they are just dupes with different names. (opencpn-plugin-* at least seems nearer the other stuff than *-pi, however it seems OpenPlotter settings go for the last option.)

Note further that one could tell the package manager to install either set, but if libsglock is installed for some reason, and one opts for oesenc-pi one ends up with an error that the required package opencpn-sglock-amd64 is trying to overwrite a file that is provided by another package and one ends up with a brocken package.

Similar requests for upgrade/downgrade also happen for opencpn itself, which is also provided by more than one source.

Found on Debian 10, using OpenPlotter Settings 2.2 trying to replicate the setup of a raspberry pi 4 running OpenPlotter 2.2 as well.

isRelatedTo: #1

Using trusted keys for repositories is deprecated and unsecure.

Using the trusted keys keyring is as deprecated and unsecure as using apt-keys, it's in fact the main reason why this tool has been deprecated in 2019 or 2020 if I recall . Each repository should be signed explicitly by their respective key. Otherwise, any key could sign any package in any repository.

Keys should be stored in /usr/share/keyrings/[KEYNAME].pgp and assigned to it's repository explicitly in the [REPOSITORY].list file:

deb [signed-by=/usr/share/keyrings/[KEYNAME].gpg] https://[DOMAIN.TLD]/debian/ buster main contrib non-free

Debian amd64 install does not have python3-rpi.gpio package

Hi, I was about to give a try to OP3 in a VM, but the installation process stop on the error openplotter-i2c : Depends: python3-rpi.gpio but it is not installable

Which make sense to not have i2c in a VM, but it's kinda sad to have it break completely as many other aspects of OP would still be useful.

Not sure how dpkg would be able to detect if the machine is a raspberry or not, but it surely it can detect the architecture and adjust its dependencies accordingly. To be coherent with the fact that the package is only available for the different arm arch, ( https://packages.debian.org/bullseye/python3-rpi.gpio ) .


One way to address this could be to have different set of dependencies depending on the architecture:

If the architecture-restricted dependency is part of a set of alternatives using |, that alternative is ignored completely on architectures that do not match the restriction. For example:

Build-Depends: foo [!i386] | bar [!amd64]

is equivalent to bar on the i386 architecture, to foo on the amd64 architecture, and to foo | bar on all other architectures.

( https://www.debian.org/doc/debian-policy/ch-relationships.html )


Maybe, another way would be to make the package optional, so amd64 users could cherry-pick the optional packages they want.





--Fred
( I could dig this question further to save you guys\gals time if you want more info or have questions. )

add sorces failes on ubuntu 22.04

just installed open plotter in a VM on ubuntu 22.04 LTS. when adding sources it fails with

creating configuration directory /home/root/.openplotter
Traceback (most recent call last):
File "/usr/lib/python3/dist-packages/openplotterSettings/installSources.py", line 25, in main
conf2 = Conf()
File "/usr/lib/python3/dist-packages/openplotterSettings/conf.py", line 38, in init
os.mkdir(self.conf_folder)
FileNotFoundError: [Errno 2] No such file or directory: '/home/root/.openplotter'

During handling of the above exception, another exception occurred:

Traceback (most recent call last):
File "/usr/bin/settingsSourcesInstall", line 11, in
load_entry_point('openplotterSettings==3.6.6', 'console_scripts', 'settingsSourcesInstall')()
File "/usr/lib/python3/dist-packages/openplotterSettings/installSources.py", line 103, in main
except Exception as e: print(('FAILED: ')+str(e))
NameError: name '' is not defined

what can I do to fix that ?
is that a bug ? if so which script runs here ?

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.