Comments (19)
References:
/1/ Nexus, from http://www.nexusmarine.se/wp-content/uploads/2011/11/NMEA-HPC-Compas.pdf
/2/ Airmar, from http://www.airmartechnology.com/uploads/installguide/GCR200UserManual.pdf
[["PTCH","deg","navigation.attitude_pitch"],
["PIT","deg","navigation.attitude_pitch"],// ref /1/
["ROLL","deg","navigation.attitude_roll"],
["ROL","deg","navigation.attitude_roll"]];// ref /1/
["WCHR","deg",""],//relative wind chill, ref /2/
["WCHT","deg",""]];*///theoretical wind chill, ref /2/
from nmea0183-signalk.
From http://www.cruisersforum.com/forums/f13/openplotter-project-152754-31.html
$YXXDR,C,7,C*54 - also from the nasa, outside temperature
$OPXDR,C,17.4,C,ENGT_55
$OPXDR,P,1.0004,B,AIRP,C,17.1,C,AIRT_45
Temperatures
$WIXDR,C,022.0,C,,_52
$YXXDR,C,20,C_61
Airmar device at http://www.airmartechnology.com/uploads/installguide/PB100TechnicalManual_rev1.007.pdf offers a format for their WIXDR sentence like this:
$WIXDR,<1>,<2>,<3>,<4>,<5>,<6>,<7>,<8>,<9>,<10>,<11>,<12>,<13>,<14>,<15>,<16>*hh
from nmea0183-signalk.
// Cruzpro YXXDR sentence
//from Cruzpro - The fields in the YXXDR sentence are always from the same "critical" functions, in order:
//RPM
//Battery #1 Volts
//Depth
//Oil Pressure
//Engine Temperature
from nmea0183-signalk.
from nmea0183-signalk.
I started work on this in my own fork of the repo: tkurki@0162913
In case anybody wants to help I can add you as collaborator, like I already added @joabakk and @fabdrol in case they can pitch in.
from nmea0183-signalk.
The "official" sources for nmea 0183 sentences tend to repeat what Airmar notes in their manual. If you add a "compliant" example, I can help populate. I think it's valid to reference as many of these as possible, because there is bound to be conflicts over XDR
from nmea0183-signalk.
https://github.com/sailoog/openplotter/blob/master/i2c.py
from nmea0183-signalk.
See #58
from nmea0183-signalk.
How about a user configurable XDR translation controlled from a plugin? I have some old date from a self made compass, and for sure I won't use that format any more. But I'd like to get that data into use.
For some special cases where XDR is output, it may be easier to configure than to have a plethora of sensor codes in the parser.
Not even sure it is possible to control the parser that way, but an idea at least
from nmea0183-signalk.
Writing a new XDR mapping in javascript is not too many lines of code.
Trying to make the same thing via a universal, configurable engine would take a lot more effort, with maybe very little gain.
I would rather create a system where you can add XDR mappings as javascript files added to a directory.
from nmea0183-signalk.
I follow you @tkurki. I'm just such a fan of the plugin mechanism, so I think of that for every purpose. I'll tweak your code to suit my one time need and we can keep it alive until someone takes up the ball.
from nmea0183-signalk.
I wrote an XDR handler for the java server. Its not simple, and the whole XDR format is basically "I'll send what suits me and you work it out". Some awful stuff in there. It was never meant to be shared, just a way to send proprietary data over an existing protocol.
I did mine using external mappings, but each new XDR was just as much work as adding custom code, so I favour @tkurki - just write a convertor for each XDR. That allows for all the weirdness you will find in that rabbit hole.
from nmea0183-signalk.
Funny thing @rob42 I just discovered I was trying to decode your NMEA XDR from FreeIMU... I wondered where I got that reference
from nmea0183-signalk.
:-) The FreeIMU XDR was an attempt to send the roll, pitch,yaw data in NMEA!
https://github.com/rob42/FreeIMU-20121106_1323/blob/master/FreeBoardIMU/FreeBoardIMU.ino
Much simpler in the new SignalkIMU https://github.com/SignalK/signalk-imu which just sends the signalk data directly!
from nmea0183-signalk.
The FreeIMU code predates signalk
from nmea0183-signalk.
Any efforts to add XDR will in future be most appreciated by OCPN users.
Comments about its use here: https://opencpn.org/wiki/dokuwiki/doku.php?id=opencpn:opencpn_user_manual:advanced_features:nmea_sentences
Please scroll down to find XDR and used Transducer Name.
The Transducer Name opaqueness may be solved if SignaKl only let it pass and let the user sort accordingly. Transducer type "C" can for example use several names for different sensors.
What may be handy is a flag for numbers of passed quadruples?
from nmea0183-signalk.
Have you tried the plugin https://www.npmjs.com/package/xdr-parser-plugin, available in the server's Appstore?
One option is to create a "OCPN XDR Plugin" that would parse the same XDRs that O already understands. Or preconfiguration for xdr-parser-plugin for O's sentences.
from nmea0183-signalk.
No, but I'll check.
It may not be a common solution to be distributed together with OCPN. For OpenPlotter it may do though?
from nmea0183-signalk.
@tkurki
I've tried the xdr-parser-plugin and it works rather good. Thanks. The shot shows the result when using both MDA and XDR for the same sensor.
So I look forward to a common SignalK implementation using similar methods as the plugin.
from nmea0183-signalk.
Related Issues (20)
- Tiny typo errors HOT 1
- Empty in certain nmea0183 strings prevents parsing HOT 3
- Datagram 25 trip calculation: factor for W should probably be 4096 HOT 1
- VDM, callsign and imo data are not pushed to SK HOT 4
- BWC not recognized HOT 5
- DSC Distress Alerts HOT 6
- callsignVhf not according to the spec HOT 8
- timestamp handling: use only data from NMEA sentences HOT 4
- COG value differently parsed from RMC and VTG sentences
- Depth sentences don't generate output with empty incoming data fields
- HDG sentence incorrectly parsed HOT 1
- APB and BOD sentences not decoded according to SignalK spec HOT 8
- RMB parser stores next waypoint position to incorrect SignalK field HOT 1
- Is error detection too aggressive? HOT 2
- AIS VDM to support meteorological data
- Propulsion HOT 3
- Seatalk 0x25 total log incorrect
- Сalculating velocity vectors by NMEA protocol HOT 1
- Relative humidity value is % rather than ratio.
- sensors.ais.class = "BASE" appears under vessels context
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
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.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from nmea0183-signalk.