opencpn-radar-pi / radar_pi Goto Github PK
View Code? Open in Web Editor NEWRadar plugin for OpenCPN with support for Navico and some Garmin and Raymarine radars
License: GNU General Public License v2.0
Radar plugin for OpenCPN with support for Navico and some Garmin and Raymarine radars
License: GNU General Public License v2.0
Currently the menu is shown when the radar is transmitting.
This should be that it is shown when the radar is detected.
When changing value the new value in % is shown a short wile and then changes to Auto High.
The button Auto seem to have no effect.
You see the main dialog but with the 'transmit' sizer (which should be hidden when the radar is not transmitting) visible for one update cycle. The next refresh cycle will remove it again, showing as a visible artifact for a sub-second.
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.
This file needs only be 10 seconds or so of the radar being there but in standby state.
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.
Is this what we want ? If so why not others ? Gain for instance.
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.
There should be 2 buttons so you can chose to have one or the other or both active.
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.
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
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.
The Interference Rejection can only be on or off.
plus and minus can be take away.
Button should change Off/On depending on state.
This function is called Cross Talk Rejection on the Garmin plotter.
In commit 8e7ed30 the head up radar window is showing a wrong heading for the 4G radar. see picture.
In this picture trails are green, radar is single color.
Heading is 0, radar window showing 240. Overlay is OK.
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.
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.
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.
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.)
The header says it all.
Port the code from gradar_pi.
Hans has already committed a few items for this.
Timed Transmit = 5 min and Runtime = 30 sec.
Radar sits in Standby and never goes to transmit.
Scan speed Fast and Slow works fine but I have a hard time figuring out what the Auto button is used for.
When activating it the value Slow or Fast disappears. To get it back you need to toggle + or -.
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
Standby time is set to 0:40 minutes instead of 5 minutes and 1:40 instead of 10 minutes. (Debug code left over??)
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
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", showing the radar selection window with the previously checked radars. Also radar settings of previously checked radar should be kept (guard zones).
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
ARPA targets detected in a guard zone will get lost after the Tx period ends. Targets might pass without an alarm through the guard zone.
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.
Side lob suppression: Auto option is missing. When in Auto the status is though viewed correct. (Achieved after set to Auto using BR24radar_pi)
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.
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"));
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.
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.
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.
You must be able to correct the angle of the radar if it is not set perfectly to the boats centerline.
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.
... not for all radars simultaneously.
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?
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.
A declarative, efficient, and flexible JavaScript library for building user interfaces.
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
An Open Source Machine Learning Framework for Everyone
The Web framework for perfectionists with deadlines.
A PHP framework for web artisans
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
Some thing interesting about web. New door for the world.
A server is a program made to process requests and deliver data to clients.
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
Some thing interesting about visualization, use data art
Some thing interesting about game, make everyone happy.
We are working to build community through open source technology. NB: members must have two-factor auth.
Open source projects and samples from Microsoft.
Google ❤️ Open Source for everyone.
Alibaba Open Source for everyone
Data-Driven Documents codes.
China tencent open source team.