Code Monkey home page Code Monkey logo

Comments (6)

mihermans avatar mihermans commented on July 25, 2024

Like the message indicates, it misses the second part of the multipart message.
This message should start with !AIVDM,2,2,6..... in this case (the first digit indicates it is a multipart and the second digit if it is the first or second part of the message, the third digit indicates which messages belong together)

from pyais.

icoco avatar icoco commented on July 25, 2024

I use other way then no error report, the code below:
```
data = b'!AIVDM,2,1,6,A,55MwgS`00001L@?;OK80b022220l1@:44vT4,0*6B'
message = NMEAMessage(data)
decoded = message.decode()


@mihermans 
so, your meaning is the original data is wrong format ? 

from pyais.

M0r13n avatar M0r13n commented on July 25, 2024

@mihermans is totally right. The error is pretty clear: You are trying to decode a multi fragment message. Such messages are too big to fit into the 82 character maximum of NMEA 0183 messages. Therefore, long messages are fragmented into multiple fragments. In order to decode a fragmented message, all fragments need to be assembled before the message is decoded.

Imagine that you want to send a very big package to someone. Your package is too big to fit into a single parcel. Therefore, you split the package into multiple smaller packages. Each package can then be shipped in its own parcel. The receiver of the packages then needs to receive all packages before he can reassemble the original package. Otherwise the package would be incomplete.

In your case the message !AIVDM,2,1,6,A,55MwgS00001L@?;OK80b022220l1@:44vT4,0*6B starts with !AIVDM,2,1, which means that the message is fragmented into two (2) NMEA messages and you are trying to decode only the first (1) part of it. Instead you need to pass all parts to the decode() method.

I use other way then no error report, the code below:

This may not raise an exception. But it is still wrong. The decoded message is invalid, because half of it is missing.

from pyais.

icoco avatar icoco commented on July 25, 2024

so then, how to solve this issue ? sorry maybe my question is stupid :-|

from pyais.

M0r13n avatar M0r13n commented on July 25, 2024

This is not an issue. This is expected behavior. You need to pass both parts the decode function - not just the first

from pyais.

icoco avatar icoco commented on July 25, 2024

got it... thanks all

from pyais.

Related Issues (20)

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.