GithubHelp home page GithubHelp logo

opencpn-radar-pi / radar_pi Goto Github PK

View Code? Open in Web Editor NEW
71.0 21.0 40.0 105.48 MB

Radar plugin for OpenCPN with support for Navico and some Garmin and Raymarine radars

License: GNU General Public License v2.0

CMake 1.16% Makefile 0.02% Batchfile 0.20% Shell 1.23% C++ 25.92% C 70.99% Python 0.48%
opencpn reverse-engineering radar plugin

radar_pi's People

Contributors

ab2nkovs avatar bdbcat avatar chucksk avatar cowelld avatar douwefokkema avatar hakansv avatar hreuver0183 avatar keesverruijt avatar leamas avatar nohal avatar rasbats avatar samhoulder avatar seandepagnier avatar tkurki 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

Watchers

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

radar_pi's Issues

Garmin radar packet capture files needed

If you have a Garmin HD, xHD or Fantom radar we're interested in .pcap files.

To create one on Linux, use tcpdump. To create one on Microsoft Windows, use a tool such as ''Wireshark''.

To be really useful we'd like a number of files, preferably from people with a Garmin plotter.

Type 1 - radar on but idle

This file needs only be 10 seconds or so of the radar being there but in standby state.

Type 2 - power and zoom

  • Starting the radar from the plugin or Garmin chart plotter
  • Zooming out to the largest range.
  • Zooming back in to the smallest range.

Type 3 - controls

  • Change the gain / sea state etc from minimum to maximum, then select auto (if it exists.)

Create a separate file per control, and make sure you name it so that it can be recognised what control you were changing.

You can upload the files here in this issue. Please zip them, as they become a lot smaller that way. Also please tell us what radar type it is exactly.

Use of on and off buttons is not consistent with other buttons

A button shows the current value of a parameter. When you want to change that current value press the button, you toggle it or get a sub-menu to change the value. On and Off are an illogical exception, these buttons show the value you will get after you press it. For consistency better make one button toggling on/off.

GarminxHD : Gray areas when increasing range.

This refers to the PPI only. It looks like the plot memory is reset when you go to a lower range but not when you go to a higher. I have uploaded a recording, ice_video_20171112-174324.webm to my dropbox.

Linux build error

Hi. I've tried to build in Linux. Some errors occured:

[ 35%] Building CXX object CMakeFiles/radar_pi.dir/src/RadarFactory.cpp.o
In file included from /home/pi/Builds/radar_pi/src/RadarType.h:81:0,
from /home/pi/Builds/radar_pi/src/RadarFactory.cpp:33:
/home/pi/Builds/radar_pi/src/garminhd/garminhdtype.h:48:1: error: macro "DEFINE_RADAR" requires 8 arguments, but only 7 given
)
^
In file included from /home/pi/Builds/radar_pi/src/RadarType.h:82:0,
from /home/pi/Builds/radar_pi/src/RadarFactory.cpp:33:
/home/pi/Builds/radar_pi/src/garminxhd/garminxhdtype.h:48:1: error: macro "DEFINE_RADAR" requires 8 arguments, but only 7 given
)
^
In file included from /home/pi/Builds/radar_pi/src/RadarType.h:84:0,
from /home/pi/Builds/radar_pi/src/RadarFactory.cpp:33:
/home/pi/Builds/radar_pi/src/navico/br24type.h:36:1: error: macro "DEFINE_RADAR" requires 8 arguments, but only 7 given
)
^
In file included from /home/pi/Builds/radar_pi/src/RadarType.h:86:0,
from /home/pi/Builds/radar_pi/src/RadarFactory.cpp:33:
/home/pi/Builds/radar_pi/src/navico/br4gatype.h:38:1: error: macro "DEFINE_RADAR" requires 8 arguments, but only 7 given
)
^
In file included from /home/pi/Builds/radar_pi/src/RadarType.h:87:0,
from /home/pi/Builds/radar_pi/src/RadarFactory.cpp:33:
/home/pi/Builds/radar_pi/src/navico/br4gbtype.h:40:1: error: macro "DEFINE_RADAR" requires 8 arguments, but only 7 given
)
^
In file included from /home/pi/Builds/radar_pi/src/RadarType.h:89:0,
from /home/pi/Builds/radar_pi/src/RadarFactory.cpp:33:
/home/pi/Builds/radar_pi/src/navico/haloatype.h:38:1: error: macro "DEFINE_RADAR" requires 8 arguments, but only 7 given
)
^
In file included from /home/pi/Builds/radar_pi/src/RadarType.h:90:0,
from /home/pi/Builds/radar_pi/src/RadarFactory.cpp:33:
/home/pi/Builds/radar_pi/src/navico/halobtype.h:38:1: error: macro "DEFINE_RADAR" requires 8 arguments, but only 7 given
)
^
In file included from /home/pi/Builds/radar_pi/src/RadarType.h:94:0,
from /home/pi/Builds/radar_pi/src/RadarFactory.cpp:33:
/home/pi/Builds/radar_pi/src/emulator/emulatortype.h:37:1: error: macro "DEFINE_RADAR" requires 8 arguments, but only 7 given
)
^
In file included from /home/pi/Builds/radar_pi/src/RadarType.h:81:0,
from /home/pi/Builds/radar_pi/src/RadarFactory.cpp:33:
/home/pi/Builds/radar_pi/src/garminhd/garminhdtype.h:41:1: error: ‘DEFINE_RADAR’ does not name a type
DEFINE_RADAR(RT_GARMIN_HD, /* Type /
^
In file included from /home/pi/Builds/radar_pi/src/RadarType.h:82:0,
from /home/pi/Builds/radar_pi/src/RadarFactory.cpp:33:
/home/pi/Builds/radar_pi/src/garminxhd/garminxhdtype.h:41:1: error: ‘DEFINE_RADAR’ does not name a type
DEFINE_RADAR(RT_GARMIN_XHD, /
Type /
^
In file included from /home/pi/Builds/radar_pi/src/RadarType.h:84:0,
from /home/pi/Builds/radar_pi/src/RadarFactory.cpp:33:
/home/pi/Builds/radar_pi/src/navico/br24type.h:29:1: error: ‘DEFINE_RADAR’ does not name a type
DEFINE_RADAR(RT_BR24, /
Type /
^
In file included from /home/pi/Builds/radar_pi/src/RadarType.h:86:0,
from /home/pi/Builds/radar_pi/src/RadarFactory.cpp:33:
/home/pi/Builds/radar_pi/src/navico/br4gatype.h:31:1: error: ‘DEFINE_RADAR’ does not name a type
DEFINE_RADAR(RT_4GA, /
Type /
^
In file included from /home/pi/Builds/radar_pi/src/RadarType.h:87:0,
from /home/pi/Builds/radar_pi/src/RadarFactory.cpp:33:
/home/pi/Builds/radar_pi/src/navico/br4gbtype.h:33:1: error: ‘DEFINE_RADAR’ does not name a type
DEFINE_RADAR(RT_4GB, /
Type /
^
In file included from /home/pi/Builds/radar_pi/src/RadarType.h:89:0,
from /home/pi/Builds/radar_pi/src/RadarFactory.cpp:33:
/home/pi/Builds/radar_pi/src/navico/haloatype.h:31:1: error: ‘DEFINE_RADAR’ does not name a type
DEFINE_RADAR(RT_HaloA, /
Type /
^
In file included from /home/pi/Builds/radar_pi/src/RadarType.h:90:0,
from /home/pi/Builds/radar_pi/src/RadarFactory.cpp:33:
/home/pi/Builds/radar_pi/src/navico/halobtype.h:31:1: error: ‘DEFINE_RADAR’ does not name a type
DEFINE_RADAR(RT_HaloB, /
Type /
^
In file included from /home/pi/Builds/radar_pi/src/RadarType.h:94:0,
from /home/pi/Builds/radar_pi/src/RadarFactory.cpp:33:
/home/pi/Builds/radar_pi/src/emulator/emulatortype.h:30:1: error: ‘DEFINE_RADAR’ does not name a type
DEFINE_RADAR(RT_EMULATOR, /
Type */
^
CMakeFiles/radar_pi.dir/build.make:302: recipe for target 'CMakeFiles/radar_pi.dir/src/RadarFactory.cpp.o' failed
make[2]: *** [CMakeFiles/radar_pi.dir/src/RadarFactory.cpp.o] Error 1
CMakeFiles/Makefile2:67: recipe for target 'CMakeFiles/radar_pi.dir/all' failed
make[1]: *** [CMakeFiles/radar_pi.dir/all] Error 2
Makefile:149: recipe for target 'all' failed
make: *** [all] Error 2

Crash when starting with no radars selected

When starting the pi without radars selected (reset radars) O crashes when clicking "Radar control.." in the context menu. Only way to get out of this is accessing preferences from the O tools plugin menu and add a radar.

Radar window showing a wrong heading

In commit 8e7ed30 the head up radar window is showing a wrong heading for the 4G radar. see picture.
headup

In this picture trails are green, radar is single color.
Heading is 0, radar window showing 240. Overlay is OK.

GarminxHD : Timed Transmit state goes to Transmit.

Activating Time Transmit starts the radar after 10 seconds but after 5 seconds into the transmission the state goes to Transmit.
The menu starts counting down the time until Standby but after 5 seconds it says Power Status Transmit. The Runtime button disappears and you have to stop it with Standby.
Obviously it changes state where it should not.
I am trying to penetrate the code to use the built in timed transmit in the Garmin.
It would surprise me it this error is not present in the Navico radar as well.

Navico: Noise rejection is always "Off"

Noise rejection has Off-Low-High. Neither Low nor High is working. When activated there’s a short glint of Low/High but it’s reset to “Off” within a second.
Note: It may fixed be commit "Issue #24. Remove 'Off' button from controls that only have values." I'll check.

GarminxHD : Rain and Sea clutter can't be set to 0.

When setting these to 0 they change to 1 automatically after 1 second or so.
If using -10 it will show 10 after the same time as above.
This is only something wrong in the displayed value.
Locking on the Garmin plotter these are off.

Navico BR24: Can't switch to Range Auto

At program start I've Range: Auto.
I can change to a static range e.g. 1 NM but if I use the Auto button after that the status is not changed to Auto but the static range remains.
Upon next program start the Auto is back.
(I'm in the boat now and can test any change.)

GarminxHD : Refresh rate does not work.

When pushing + or - nothing happens.
When pushing Auto the shown value disappears and can not be retrieved.
You have to restart OpenCPN.
Same thing with Transparency

BR24/Emulator: Large movement trails reset > False calculation?

Trails sometimes disappear due to MARGIN(=100) overleap. Are the calculations in Trailbuffer.cpp row ~300 correct? It's not checked by debug so I can't say what's happening. Pls have a look.
Log file examples:
1:08:50 PM: radar_pi: Navico BR24 Large movement trails reset

9:14:09 AM: radar_pi: offset lat too large 684
9:14:09 AM: radar_pi: Emulator Large movement trails reset
9:14:09 AM: radar_pi: Emulator Large movement trails reset
9:14:11 AM: radar_pi: Emulator Large movement trails reset
9:14:12 AM: radar_pi: Emulator Large movement trails reset
9:14:15 AM: radar_pi: Emulator Large movement trails reset
9:14:16 AM: radar_pi: Emulator Large movement trails reset
9:14:17 AM: radar_pi: Emulator Large movement trails reset
9:14:19 AM: radar_pi: Emulator Large movement trails reset
9:14:22 AM: radar_pi: Emulator Large movement trails reset

9:56:49 AM: radar_pi: offset lon too large 3342386
9:56:49 AM: radar_pi: offset lat too large 2883662
9:56:49 AM: radar_pi: Emulator Large movement trails reset

GarminxHD : Timed Transmit menu does not work correctly.

Timed Transmit says "5 min" and when you push + nothing happens. Pushing - setts Timed Transmit to off.
To get it back to "5 min" you have to go into Runtime and change value.
The push buttons ar named + and - but change the runtime value bu 10 sec.
Either let the runtime change by 1 sec. or label the pushbuttons +10 and -10.
I would prefer the later.

"Reset radar types" should be "Set radar types"

"Reset radar types" should be "Set radar types", showing the radar selection window with the previously checked radars. Also radar settings of previously checked radar should be kept (guard zones).

GarminxHD : Opencpn crashes when started and radar is already transmitting .

Don't know if this helps.
Problemsignatur:
Problemhändelsens namn: APPCRASH
Programnamn: opencpn.exe
Programversion: 4.8.0.0
Programtidsstämpel: 59c69762
Namn på felmodul: radar_pi.dll
Modulens version: 0.0.0.0
Tidsstämpel för felmodul: 5a037e1d
Undantagskod: c0000005
Undantagsförskjutning: 00035b8b
OS-version: 6.1.7601.2.1.0.256.48
Språkvariant-ID: 1053
Ytterligare information 1: 0a9e
Ytterligare information 2: 0a9e372d3b4ad19135b953a78882e789
Ytterligare information 3: 0a9e
Ytterligare information 4: 0a9e372d3b4ad19135b953a78882e789

Navico: Auto Gain and Sea Clutter info

Auto gain and Auto sea clutter status is showing last manual value only. If there are no response from radar to view we better hide the values when in Auto.

Visible gain would be nice.

It would be nice if we could have the gain value displayed somewhere in the PPI.
Also, I would be happy to have a "warning" displayed if Rain or Sea clutter are turned on.
It can be dangerous if you are unaware that you have these on and ships are attenuated below level of detection. This may be later issue, enhancement.

True trails flip to opposite side

After trailing for a while, the true trails flip to the opposite side of the image. On the image: ship moving N at 5 kn, so do all the targets.

trails

TIME: Log flooding

Do we need this TimeEvent? to log a couple of times every second?
void radar_pi::OnTimerNotify(wxTimerEvent &event) {
if (m_settings.show) { // Is radar enabled?
LOG_INFO(wxT("radar_pi: TIMER"));

Marker is set closer to PPI center than mouse pointer.

I find it difficult to set the cursor on a target. It ends up a little bit closer to the center than expected.
A small error in distance calculation ? The difference seem to be linear. I.e. the further out from the center the larger the distance from mouse pointer.

GarminxHD : Gain value takes long time to come up with correct value in the menu.

Radar is powered on. It has a gain value of something. lets say 40%.
Starting up OpenCPN, Commanding transmit, Go into the menu for setting gain.
There it shows 0% Gain. After a while it might present the correct value 40 % but not always.
I have been waiting over 1 minute and nothing has happend.
I you wait in Standby for a while the value might be correct.
It you change the value with + the value is sent to radar setting it to 1%.
It looks like the gain status is not always read and loaded into the present value at init.

Inconsistent Radar Standby, Transmit and Back button.

From the start menu, when you press "Radar Standby" you expect the radar to start transmitting but this does not happen. You enter a new menu with the same button "Radar Standby". In this menu at the top there is a "<<BACK" button that you would expect to get you back to the previous menu. Pressing this button does not get you back. It gets you further down the menu hierarchy.
To get back you must press "Radar Transmit" button and this does not set the radar in standby. To do that you have to press the new "Radar Transmit" button.
I know that the text on the buttons represent current state but what is then the "<<BACK" state.
I fear that trying to fix all these anomalies will take to much energy right now and we will not get it right anyway.
For instance, I don't like the fact that you have to start transmitting to get access to functions like No transmit zone, Antenna position and Bearing alignment but I can live with that for now.

"Hide radar" context menu not needed

The "Hide radar" context menu is not not needed and can be removed. If you don't want to see radar just switch off radar or turn overlay off and close the PPI window and menu (in this case both ARPA and trails continue to be recorded). The (irritating) warning info box "radar not seen" should only be shown when trying to switch on radar and should have a "close" button.

Timed transmit should use Garmin hardware feature

When timed transmit is used it should use the Garmin xHD builtin functionality.

It should send the appropriate values. What I don't really understand yet is what we should send at which time. The spreadsheet says there are two messages 0x943 SetStandbyMinutes and 0x944 SetTransmitMinutes.

Do we send SetStandbyMinutes "x" once when we want the radar to stop in x minutes and then once it standby do we sent SetTransmitMinutes "y" once and then it it will start after "y" minutes? Does the radar give feedback on this?

GarminxHD : Range setting does not work for release build.

When building for debug and running in VS2013 the range controls does work.
It does not mater if you try to operate range with + and - in the PPI or you do it through
the menus.
I built the release as a package and installed it.
Checking with Wireshark reveals command is never sent.
To catch this you probably need to instrument the code.

GarminxHD : Does ARPA really work?

I have no experience with ARPA but I am a bit confused when I look at the display.
The ship I put the cursor on is said to do 9.44 knots. I know that ship is at anchor.
There are other ARPA targets where there are no echoes.

arpa

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.