Comments (2)
The document you are referring to, is very old and is not even a standard, but just a report from some tests done by FAA. It says: "To detect messages [did they mean "errors"?], undetected by ACARS, (...) the ground station had the capability to compute and append CRC codes to each message". So i guess that they added an extra CRC to each message as a double-check, and it used x^16+x^15+x^l3+x^5+x^3+x^1+1
, because: "The probability of an undetected error is greater if the polynomial applied at the transport layer is the same used at the link layer (CCITT).". So they wanted to minimize that probability.
ACARS decoder in libacars uses the la_crc16_ccitt
function, while la_crc16_arinc
is used only by the MIAM Core v2 decoder. MIAM v2 uses CRC16 with 0x1021 polynomial as well, but with a slightly different bit ordering, so it was easier for me to implement this as a separate table rather than rearrange the input bits to match the order expected by la_crc16_ccitt
. The name of this function comes from the fact that this CRC is defined in the ARINC Report 665. la_crc16_arinc665
would probably be a better name for it.
from libacars.
Thanks for the info.
la_crc16_arinc665 would probably be a better name for it.
The most widespread (used in different heades and catalogues) names for that one are CRC-16/IBM-3740
and CRC-16/CCITT-FALSE
.
from libacars.
Related Issues (15)
- undecoded messages HOT 2
- Buffer overflow in la_media_adv_parse() HOT 1
- Notes on building on a Mac ... HOT 1
- CPDLC encoding build failure HOT 3
- reassemble bug HOT 2
- Builds just fine on Raspberry Pi 3/armhf
- Assembling of CPDLC messages HOT 1
- JAERO shuts down after a couple of minutes when running with libacars 1.2.0 HOT 40
- Archival file format ...? HOT 1
- Support for sub label? HOT 6
- Shared lib calls exit HOT 2
- Unable to use on Arch Linux Arm HOT 1
- where is the development package HOT 1
- Media Advisory frame with too many available link indicators results in unterminated string HOT 2
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 libacars.