This forum uses cookies
This forum makes use of cookies to store your login information if you are registered, and your last visit if you are not. Cookies are small text documents stored on your computer; the cookies set by this forum can only be used on this website and pose no security risk. Cookies on this forum also track the specific topics you have read and when you last read them. Please confirm whether you accept or reject these cookies being set.

A cookie will be stored in your browser regardless of choice to prevent you being asked this question again. You will be able to change your cookie settings at any time using the link in the footer.

Thread Rating:
  • 0 Vote(s) - 0 Average
  • 1
  • 2
  • 3
  • 4
  • 5
Can't access slew settings
#1
Hi Sean,  after flashing the new tiny pilot image the great news is that finally the rudder calibration is working properly in the web user interface.

The bad news is that when I flashed the new image my Slew settings have been lost and it looks like there is still no way to configure slew! Now I'm getting saturation errors again. I thought you said it was saved in the motor controller but that seems to have been lost anyway when I updated the SD card image.

Since the pilot cannot function at all with a hydraulic pump until the slew has been set, it seems very strange that this setting is hidden and that the default setting is very abrupt and doesn't ramp up the motor smoothly.

I battled for days to get the slew setting to save last time as it kept getting reset from the motor controller. I'm not sure how I eventually did it! Is there now a reliable way to set slew from web or SSH?

Cheers,
Chris
Reply
#2
Are you able to set the max current from the web? I should make the slew settings possible there.

Otherwise, the opencpn plugin and signalk_client_wx can set it, or ssh:

ssh tc@192.168.14.1
sudo sv d pypilot
nano ~/.pypilot/pypilot.conf
sudo sv u pypilot


What values are you using?

also, "SATURATION" is not an error really, it just means the motor isn't fast enough to keep up with the commands. The fault that might be triggered is OVERCURRENT if the slew is too fast.
Reply
#3
(2020-01-08, 08:01 PM)seandepagnier Wrote: Are you able to set the max current from the web?   I should make the slew settings possible there.

Otherwise, the opencpn plugin and signalk_client_wx can set it, or ssh:

ssh tc@192.168.14.1
sudo sv d pypilot
nano ~/.pypilot/pypilot.conf
sudo sv u pypilot


What values are you using?

also, "SATURATION" is not an error really, it just means the motor isn't fast enough to keep up with the commands.   The fault that might be triggered is OVERCURRENT if the slew is too fast.

Hi Sean, yes the max current setting works from the web now but lots of settings including slew are still missing from the web interface.

Last time, setting slew as you describe by SSH didn't work, it kept reverting back. After hundreds of attempts I somehow made it stick but I have no idea how. If that's been fixed in the new version I'll give it a go.

I think settings in the Android and Mac plugins are both still broken so SSH or web is the only option but I'll check that I'm using the latest version.
Reply
#4
... I'm not sure what values exactly I had before but I had to reduce the slew settings a lot to make it work.

I was expecting them to be saved in the motor controller so didn't write them down before updating.

The last pypilot.conf backup I took was a while ago but it had max slew speed:2 max slew slow:15. I'm not sure if that backup is of the settings that finally stuck or one of the many that disappeared. I'll try those settings and see how it goes. I vaguely remember using max slew speed:10 at one time too. It was probably either 2 or 10 when working.

Baby is sleeping now so I can't test the hydraulic pump, will report back in due course...

Edit: just noticedv another issue: servo max speed and servo min speed are both set to 1.0 in pypilot.conf even though I set them to other values in the web interface and those new values seemed to save successfully in the web interface they are not reflected in the .conf file.
I guess sooner or later one value will somehow over write the other, potentially losing my new settings?

Edit2: there are duplicate values in the .conf with the word order changed in the names: servo_max_speed is 1.0 but servo_speed_max is 53.5, the value I set in the web interface. Confusing!

UPDATE: without even having used the pilot, the slew values in pypilot.conf have already reverted and the values I set have been lost. The sv d and sv u commands did not help. Same old problem, I spent literally days of frustration just trying to get the slew settings to save last time. We need to sail next week and I don't have days of free time to spend right now so I really need a solution please!
Reply
#5
When you upgraded, it upgraded the format that the data is stored in the controller. This means it did not read it, but used the values it had instead.

The confusion is there are still old values in the config which I didn't clean out. This is my fault and these values are ignored. You need to change "servo.max_slew_speed" now, and and "servo_speed_max" is no longer used.

A slew value of 2 is extremely low. This will be a very soft start. The usual range is 10-20. In any case, your motor must draw a lot of current?

There is a setting which disables reading the values from the motor controller. This is "servo.use_eeprom" you can change it to "False" If you do this and set the slew values in the config, they will be used and the motor controller will not be read. You might try this if you have trouble with the slew getting reverted.

If you edit pypilot.conf on the sdcard from a reader instead of ssh you don't have to execute sv d pypilot first.

I will make the slew settings available in the web interface for the next version.
Reply
#6
Hi Sean, I did edit servo.max_slew_speed and it just reverted back to the old value ten mins later.

What's worse it is defaults to 100 not the 10-20 range you say is normal.

There seem to be two issues:
1. It is impossible to edit this setting, it just gets reverted back whatever I do.
2. The default value is wrong and makes it impossible to use the pilot with the default settings.

So now I have a pilot I can't use at all...

Surely there must be some way to save this setting and force it to copy to the motor controller too????
Reply
#7
(2020-01-09, 08:32 PM)syohana Wrote: Hi Sean, I did edit servo.max_slew_speed and it just reverted back to the old value ten mins later.
Was it working correctly for 10 minutes?
Quote:What's worse it is defaults to 100 not the 10-20 range you say is normal.
It must be set to 100 in eeprom.
Quote:There seem to be two issues:
1. It is impossible to edit this setting, it just gets reverted back whatever I do.
You can't edit pypilot.conf while pypilot is running.
Quote:2. The default value is wrong and makes it impossible to use the pilot with the default settings.

So now I have a pilot I can't use at all...

Surely there must be some way to save this setting and force it to copy to the motor controller too????
I am not sure how you are changing it but if it is by editing pypilot.conf it might explain it.   You edit the value, and the motor controller loads its own value.   Normally if you modify the slew rate while pypilot is running (through the ui) the new value gets written to eeprom.

It is possible to disable loading the setting from the controller but unfortunately the servo.use_eeprom is not available to pypilot.conf (my mistake), so you would have to change it while pypilot is running which is the same problem.


So I suggest using either signalk_client_wx, or the opencpn pypilot plugin (recent version) which both have ui to change any autopilot parameter while running.

I have just now made changes to allow changing slew from web and making the use_eeprom available in pypilot.conf
Reply
#8
I used sv d pypilot and sv u pypilot exactly as you instructed. It doesn't work - please try it and you'll see!

Openn cpn plugin doesn't install on the latest Android opencpn version and the settings section of it never worked when it did install on older version (sliders broken). I have no device on board with a working opencpn plugin.

On Mac there is no plugin for opencpn5. the plugin for the old opencpn4 doesn't v work properly.

I spent about 2 days trying to resolve all the dependencies to get the python scripts to run on Mac. Got 99% there but failed.

Really I can't understand why basic settings which are essential for the piilot to function are missing from the web interface. It's obviously impossible to maintain this proliferation of different plugins on different platforms. Why not abandon the platform dependent plugins and scripts for now and focus on fixing the web interface which can work on any platform?

It would be really really really helpful if you can post a new SD card image this week with the missing settings added to the web interface. Even if I somehow manage to set the slew with a borrowed client device from another boat it is very worrying that it could get reset again at sea and the pypilot would be bricked.
Reply
#9
(2020-01-10, 01:30 AM)syohana Wrote: I used sv d pypilot and sv u pypilot exactly as you instructed. It doesn't work - please try it and you'll see!

Openn cpn plugin doesn't install on the latest Android opencpn version and the settings section of it never worked when it did install on older version (sliders broken). I have no device on board with a working opencpn plugin.

On Mac there is no plugin for opencpn5. the plugin for the old opencpn4 doesn't v work properly.
This is unfortunate. I don't really take the time to test and verify support for windows or osx. also android is as you say also a problem right now. It seems linux is by far the best platform at this time.

Quote:I spent about 2 days trying to resolve all the dependencies to get the python scripts to run on Mac. Got 99% there but failed.
It would be interesting if you did succeed to post instructions somewhere
Quote:Really I can't understand why basic settings which are essential for the piilot to function are missing from the web interface. It's obviously impossible to maintain this proliferation of different plugins on different platforms. Why not abandon the platform dependent plugins and scripts for now and focus on fixing the web interface which can work on any platform?
It is true the web interface works on any platform, but other interfaces have advantages as well. I do intend for the web interface to allow complete configuration like the others but it is not yet implemented.

Quote:It would be really really really helpful if you can post a new SD card image this week with the missing settings added to the web interface. Even if I somehow manage to set the slew with a borrowed client device from another boat it is very worrying that it could get reset again at sea and the pypilot would be bricked.

I can but what I'm working with might have other bugs, it's not a great time to make a release. I'll push an image for you to try anyway.
Reply
#10
Thanks Sean. It would be really great if you could update the SD image, or just advise how to update the files for the web interface myself over sftp and SSH?

Even better if you can include the port number setting for client mode in the web interface while you are at it. WiFi client mode is rather pointless when it's not possible to specify the port on which the server sends the NMEA stream. I could use wifi to output the heading and rudder if it could talk to the Vesper XB8000 as a client on port 39150, at least as a temporary solution until USB output is working. A page in the web interface to set which sentences to send and which to listen would be great too.

While there are minor benefits to having the plugin integrated with open cpn the important thing is to have a self-contained and functional stand alone autopilot which works out of the box for everyone, regardless of what platform they are on.

On that basis I think the LCD menus should include ALL settings too, the tinypilot should still function to steer the boat even if I have no other working device. The tinypilot can't steer the boat until slew, max current etc. are all set so they need to be accessible on the LCD.

If an opencpn plugin is a requirement then why not just frame the web interface in an opencpn window, then you only have one thing to maintain and no problem getting the UI to work properly in android? If you make it lynx browser compatible you can use it from command line too, no need for extra command line scripts. If you didn't have to maintain all those other interfaces then you'd have time to make the web interface really powerful.

I love working with Linux but don't happen to have a functional Linux device on board except Android ones and even if I did I don't have access to enough data or bandwidth to install an OS plus opencpn, plugins, updates etc on it. Just getting the new tinypilot image was a battle on WiFi ashore. I had to buy a lot of drinks! (Yeah ok no sympathy for that!) I standardised on Android for all the nav and instrumentation tablets on the boat. Watchmate for instruments and opencpn for nav. I chose Android because there are no cheap Linux tablets, let alone waterproof ones.
Reply


Forum Jump:


Users browsing this thread: 2 Guest(s)