seandepagnier / watchdog_pi

watchdog plugin for opencpn
GNU General Public License v3.0
10 stars 19 forks source link

O crash on Enable, after Commit Sept 5 2018 - Correct logic error - f79fdef #101

Closed rgleason closed 5 years ago

rgleason commented 5 years ago

Have tried my own compiles and from appveyor when it has compiled, working back to f79fdef.

rgleason commented 5 years ago

Don't think I should make a PR for ov50 until this is worked out.

rgleason commented 5 years ago

f79fdef has the exact same symptoms. The problem is that the XML file is not being saved properly and is corrupted somehow, causing reopening of Opencpn to crash. Then when the plugin is disabled in the opencpn.ini you can load O, but when the plugin is enabled again there is an instant crash.

Deleting the xml file each time solves the problem. This is the last xml that I created that was crashing. It looks ok to me. So I think there is possibly a read problem?

<?xml version="1.0" encoding="utf-8" ?>
<OpenCPNWatchdogConfiguration version="2.4" creator="Opencpn Watchdog plugin" author="Sean D&apos;Epagnier">
    <Alarm Type="Anchor" Latitude="52.5871" Longitude="5.0743" Radius="50" AutoSync="1" Enabled="1" GraphicsEnabled="0" Sound="1" SoundFile="C:\Program Files (x86)\OpenCPN 4.8.8\sounds/2bells.wav" Command="0" CommandFile="" MessageBox="0" NoData="1" Repeat="0" RepeatSeconds="60" Delay="0" AutoReset="1" />
    <Alarm Type="Course" Mode="Both" Tolerance="20" Course="0" GPSCourse="1" Enabled="1" GraphicsEnabled="0" Sound="1" SoundFile="C:\Program Files (x86)\OpenCPN 4.8.8\sounds/2bells.wav" Command="0" CommandFile="" MessageBox="0" NoData="1" Repeat="0" RepeatSeconds="60" Delay="0" AutoReset="1" />
    <Alarm Type="Speed" Mode="Underspeed" Speed="1" AverageTime="120" Enabled="1" GraphicsEnabled="0" Sound="1" SoundFile="C:\Program Files (x86)\OpenCPN 4.8.8\sounds/2bells.wav" Command="0" CommandFile="" MessageBox="0" NoData="1" Repeat="0" RepeatSeconds="60" Delay="0" AutoReset="1" />
    <Alarm Type="Wind" Mode="Underspeed" Value="5" Enabled="1" GraphicsEnabled="0" Sound="1" SoundFile="C:\Program Files (x86)\OpenCPN 4.8.8\sounds/2bells.wav" Command="0" CommandFile="" MessageBox="0" NoData="1" Repeat="0" RepeatSeconds="60" Delay="0" AutoReset="1" />
    <Alarm Type="Weather" Variable="Barometer" Value="1004" RatePeriod="3600" Enabled="1" GraphicsEnabled="0" Sound="1" SoundFile="C:\Program Files (x86)\OpenCPN 4.8.8\sounds/2bells.wav" Command="0" CommandFile="" MessageBox="0" NoData="1" Repeat="0" RepeatSeconds="60" Delay="0" AutoReset="1" />
    <Alarm Type="Deadman" Minutes="20" Enabled="1" GraphicsEnabled="0" Sound="1" SoundFile="C:\Program Files (x86)\OpenCPN 4.8.8\sounds/2bells.wav" Command="0" CommandFile="" MessageBox="0" NoData="1" Repeat="0" RepeatSeconds="60" Delay="0" AutoReset="1" />
    <Alarm Type="NMEAData" Sentences="$GPGGA" Seconds="10" Enabled="1" GraphicsEnabled="0" Sound="1" SoundFile="C:\Program Files (x86)\OpenCPN 4.8.8\sounds/2bells.wav" Command="0" CommandFile="" MessageBox="0" NoData="1" Repeat="0" RepeatSeconds="60" Delay="0" AutoReset="1" />
    <Alarm Type="Boundary" BoundaryType="3" BoundaryState="1" Mode="Time" CheckFrequency="7" TimeMinutes="20" Distance="3" BoundaryGUID="" BoundaryName="" BoundaryDescription="" GuardZoneGUID="" GuardZoneName="" Enabled="1" GraphicsEnabled="0" Sound="1" SoundFile="C:\Program Files (x86)\OpenCPN 4.8.8\sounds/2bells.wav" Command="0" CommandFile="" MessageBox="0" NoData="1" Repeat="0" RepeatSeconds="60" Delay="0" AutoReset="1" />
    <Alarm Type="pypilot" NoConnection="1" OverTemperature="1" OverCurrent="0" NoIMU="1" NoMotorController="1" NoRudderFeedback="0" NoMotorTemperature="0" DriverTimeout="1" EndOfTravel="0" LostMode="0" ServoSaturated="0" PowerConsumption="0" PowerConsumptionWatts="10" CourseError="0" CourseErrorDegrees="20" Host="192.168.14.1" Enabled="1" GraphicsEnabled="0" Sound="1" SoundFile="C:\Program Files (x86)\OpenCPN 4.8.8\sounds/2bells.wav" Command="0" CommandFile="" MessageBox="0" NoData="1" Repeat="0" RepeatSeconds="60" Delay="0" AutoReset="1" />
</OpenCPNWatchdogConfiguration>
rgleason commented 5 years ago

watchdog_pi.h has these lines

define MY_API_VERSION_MAJOR 1

define MY_API_VERSION_MINOR 13

This is using pi113 (1.13) = OpenCPN 4.1 <—wxWidgets 3.0.2 used

I've been using an opencpn.lib from 4.2.0 which is 125kb so this is not the problem.

rgleason commented 5 years ago

This is not longer current and can be closed.