Oops.. my fault on the . instead of -> thing. I thought I had recompiled before pushing apparently not. The COORDS thing is apparently a windows namespace collision issue I fixed as well. For png files.. I overlooked that one.. so all of these things should be _ok_ now in git.
As far as the isnan thing is concerned.. It seems on some systems you need _isnan, normally you need isnan. On my system _isnan is not defined, but both isnan and __isnan are. It is best not to use underscore preceeded names unless you really have to or are writing a system library as these are often functions built into the compiler and calling them directly can be very unportable.
Is this windows specific? can someone confirm? Then we can guard it with #ifdef __MSVC__ #else #endif to fix it once and for all.
It's good to have testers who can quickly hack around these errors, and still get on with testing.
As far as the next revision goes.. I have planned:
-- Direct audio capture with spectrum analyzer (make tuning frequency and bfo really easy)
-- skew correction
-- polar->mercator conversion. What different formats are most common? This is really not that difficult to do it just requires a little math. Should it be selected with a pole position and curvature coefficient (visually adjust until lines are flat) or some other way?
-- warp button to center of selected current fax (if possible for an opencpnplugin to do this, if not.. another patch to opencpncore will be needed)
-- save fax list images between sessions (note the last update saves the coordinate sets but not the image list)
-- More advanced filters for removing noise from an image and at least making the noise transparent not black
I still need to find a suitable library for direct audio capture on all platforms.
Then for the next revision (after that) there are mostly questions to be answered:
Is there any need to display multiple fax images at once?
Would it be useful to align coordinate sets with image sets? By this I mean.. normally you get a bunch of images in a 6-12 hour period and the order and location of each image is pretty much known. This way you could have a coordinate set defined for each radio frequency and (assuming phasing is detected and there are not skew problems) you could with one action grab all the weather fax images at once and have them all placed correctly and aligned. Then pre-defined coordinate sets for each station could be included (people would have to send them in to add them to the main distribution somehow), and the user interaction minimized. So opening an audio file captured from the radio would be much like opening a grib file, only you would select the radio frequency you used and the time you started receiving from a list.
Software radio.. Does anyone know of a suitable software radio (that can go low enough) for weather fax? It would be great to support this hardware since the cost is low.. so far the ones I have found go down to 22mhz which is still too high.
As far as the isnan thing is concerned.. It seems on some systems you need _isnan, normally you need isnan. On my system _isnan is not defined, but both isnan and __isnan are. It is best not to use underscore preceeded names unless you really have to or are writing a system library as these are often functions built into the compiler and calling them directly can be very unportable.
Is this windows specific? can someone confirm? Then we can guard it with #ifdef __MSVC__ #else #endif to fix it once and for all.
Microsoft Visual C++ 2010 recognizes only _isnan. Not isnan nor __isnan
Oops.. my fault on the . instead of -> thing. I thought I had recompiled before pushing apparently not. The COORDS thing is apparently a windows namespace collision issue I fixed as well. For png files.. I overlooked that one.. so all of these things should be _ok_ now in git.
latest git compiled and I can display png images
Quote:
As far as the next revision goes.. I have planned:
-- Direct audio capture with spectrum analyzer (make tuning frequency and bfo really easy)
-- skew correction
-- polar->mercator conversion. What different formats are most common? This is really not that difficult to do it just requires a little math. Should it be selected with a pole position and curvature coefficient (visually adjust until lines are flat) or some other way?
I will post images of what I can find...
Quote:
-- warp button to center of selected current fax (if possible for an opencpn plugin to do this, if not.. another patch to opencpn core will be needed)
probably not in the current release candidate cycle... I would hold off and wait for the next beta cycle
Quote:
-- save fax list images between sessions (note the last update saves the coordinate sets but not the image list)
I would like this very much!
Quote:
Is there any need to display multiple fax images at once?
Would it be useful to align coordinate sets with image sets? By this I mean.. normally you get a bunch of images in a 6-12 hour period and the order and location of each image is pretty much known. This way you could have a coordinate set defined for each radio frequency and (assuming phasing is detected and there are not skew problems) you could with one action grab all the weather fax images at once and have them all placed correctly and aligned. Then pre-defined coordinate sets for each station could be included (people would have to send them in to add them to the main distribution somehow), and the user interaction minimized. So opening an audio file captured from the radio would be much like opening a grib file, only you would select the radio frequency you used and the time you started receiving from a list.
this would be very useful, not just for faxes received via audio. There are other means to get images for weatherfaxes (SSB+PACTOR+email, SAT-phone, even WIFI/Internet while waiting for the next weather-window to set sail).
As far as the isnan thing is concerned.. It seems on some systems you need _isnan, normally you need isnan. On my system _isnan is not defined, but both isnan and __isnan are. It is best not to use underscore preceeded names unless you really have to or are writing a system library as these are often functions built into the compiler and calling them directly can be very unportable.
Is this windows specific? can someone confirm? Then we can guard it with #ifdef __MSVC__ #else #endif to fix it once and for all.
The user interface for setting coords and lat long is improved. Thankyou.
I have some ideas to make it more intuitive I think.
1. Have the weatherfax image or wav open with the coords (0,0) marked with a "0" at the upper left corner, and an "X" at the (500, 800 -for example) corner. I am pretty sure the program can determine the image size or has that available.
2. Then have a note to drag the "0" and "X" markers to nearest Long Lat and then to complete the respective fields. (Drag and release left button to located the "X" or "O"
3. For Coord Set 1 show an "O" identifier.
4. For Coord Set 2 show an "X" identifier.
These are great plans Sean. Incredible. Will next test the Lease on Life's 3rd file then git clone again. Thanks.
After running MS VC++2010 Express Debug Build it did not seem to create a new weatherfax_pi.dll in C:\..\Navigation\opencpn-git\build\plugins\weatherfax_pi\Release it is still dated the 18th and it is Feb 19th. Puzzled why it compiled without failure.
Code:
1>------ Build started: Project: ZERO_CHECK, Configuration: Release Win32 ------
2>------ Build started: Project: NMEA0183, Configuration: Release Win32 ------
3>------ Build started: Project: i18n, Configuration: Release Win32 ------
4>------ Build started: Project: dashboard-i18n, Configuration: Release Win32 ------
5>------ Build started: Project: weatherfax-i18n, Configuration: Release Win32 ------
6>------ Build started: Project: grib-i18n, Configuration: Release Win32 ------
3> i18n: Done.
7>------ Skipped Build: Project: dashboard-pot-update, Configuration: Release Win32 ------
7>Project not selected to build for this solution configuration
8>------ Skipped Build: Project: grib-po-update, Configuration: Release Win32 ------
8>Project not selected to build for this solution configuration
9>------ Skipped Build: Project: po-update, Configuration: Release Win32 ------
9>Project not selected to build for this solution configuration
10>------ Skipped Build: Project: pot-update, Configuration: Release Win32 ------
10>Project not selected to build for this solution configuration
11>------ Skipped Build: Project: weatherfax-po-update, Configuration: Release Win32 ------
11>Project not selected to build for this solution configuration
12>------ Skipped Build: Project: weatherfax-pot-update, Configuration: Release Win32 ------
12>Project not selected to build for this solution configuration
13>------ Skipped Build: Project: dashboard-po-update, Configuration: Release Win32 ------
13>Project not selected to build for this solution configuration
14>------ Skipped Build: Project: grib-pot-update, Configuration: Release Win32 ------
14>Project not selected to build for this solution configuration
2> NMEA0183.vcxproj -> C:\Data-Dart\Up-Soft\Navigation\opencpn-git\build\Release\NMEA0183.lib
4> dashboard-i18n: Done.
5> weatherfax-i18n: Done.
6> grib-i18n: Done.
15>------ Skipped Build: Project: dummy, Configuration: Release Win32 ------
15>Project not selected to build for this solution configuration
16>------ Build started: Project: grib_pi, Configuration: Release Win32 ------
16> grib_pi.vcxproj -> C:\Data-Dart\Up-Soft\Navigation\opencpn-git\build\plugins\grib_pi\Release\grib_pi.dll
17>------ Build started: Project: ALL_BUILD, Configuration: Release Win32 ------
17> Build all projects
18>------ Skipped Build: Project: PACKAGE, Configuration: Release Win32 ------
18>Project not selected to build for this solution configuration
19>------ Skipped Build: Project: INSTALL, Configuration: Release Win32 ------
19>Project not selected to build for this solution configuration
========== Build: 8 succeeded, 0 failed, 6 up-to-date, 11 skipped ==========
I tried it anyway, copied release dll of the same date and time to Opencpn 3.1.1405 plugins and got this image!! Hurrah.
Deleted weatherfax_pi directory under opencpn-git/plugins directory.
Run Cmd
git clone git://github.com/seandepagnier/weatherfax_pi.git
Build as normally:
cd ..
cd build
cmake ..
cmake --build .
253 warnings
0 errors.
Below are images of the whole file, if needed for the errors.
Okay. It made a new weatherfax_pi.dll and I copied that from build/release/plugin directory to Opencpn3.1.1405 plugin directory. Then tried it.
It worked with wav and gif files. decoded wav files (wav files that are not 16 bit it does not decode) I can give some examples later.
I find it hard to get the lat long of the wav files, hard to discern these in the fax.
The double slider is nice one for contrast line heaviness and the other for white opacity I think.
Did not have time right now to mess around with the plugin, will do later.