Steve, Mike,I just shared a spreadsheet illustrating the encoding/decoding of two different ARINC429 messages, you should have received the link through Google.The data portion of both messages is 12 bits long, but have different maximum values or ranges. Both messages admit positive and negative values.Encoding of floats in ARINC429 follows a few simple rules:
- a maximum value and number of bits are established for the data;
- the most significant bit represents one half of the maximum value;
- the value of each successive bit is one half of the previous;
- negative values are represented in two's complement. The sign is contained elsewhere in the 32 bit word and is not included in the data shown. I am showing the binary values for both positive and negative values for each of the two messages. I produced the twos complement values by hand, having not figured out how to do that automatically in a spreadsheet (bitwise binary addition).
In an ideal world, we would like to be able to specify in DFDL the maximum value (float) and number of bits for each message, and the encoding and decoding would be performed the same way for all messages, based on these two parameters.If anything is unclear, please let me know. I most appreciate your help with this.Sincerely,Roger------------------------------------------------------------ -- Roger Champagne, P.Eng., Ph. D.Professeur agrégé, Département de génie logiciel et des TIAssociate Professor, Department of Software and IT EngineeringÉcole de technologie supérieure1100, rue Notre-Dame Ouest, Montréal, Québec, H3C 1K3, CanadaBureau / Office : A-4499Téléphone / Phone : +1 514 396 8825 -- Télécopieur / Fax : +1 514 396 8405On 25 April 2017 at 05:46, Steve Hanson <smh@uk.ibm.com> wrote:Roger
Please can you supply a couple of concrete examples - for each, the ARINC 429 message, what the bits mean, and what you want to appear in the infoset.
Regards
Steve HansonIBM Hybrid Integration, Hursley, UK
Architect, IBM DFDL
Co-Chair, OGF DFDL Working Group
smh@uk.ibm.com
tel:+44-1962-815848
mob:+44-7717-378890
From: "Champagne, Roger" <roger.champagne@etsmtl.net>
To: Steve Hanson/UK/IBM@IBMGB
Cc: smhdfdl@gmail.com, mbeckerle.dfdl@gmail.com
Date: 23/04/2017 15:50
Subject: Re: My understanding of binary encodings in DFDL
Steve,
Thanks for the swift reply.
I am a DFDL newbie, so not familiar with the concepts you propose. As there are hundreds of ARINC 429 messages, and each has its own range of values and number of bits, I am guessing this is a bit complicated.
Ideally, we would be able to specify the number of bits, plus one of either range of values or value of most/least significant bit, and that would be it. If this is not directly supported but can be done through other means such as expression language, that would be great.
Otherwise, this is kind of a show stopper for us. We should have caught this sooner.
Sincerely,
Roger
------------------------------------------------------------ http://etsmtl.ca/Professe--
Roger Champagne, P.Eng., Ph. D.
Professeur agrégé, Département de génie logiciel et des TI
Associate Professor, Department of Software and IT Engineering
École de technologie supérieure
1100, rue Notre-Dame Ouest, Montréal, Québec, H3C 1K3, Canada
Bureau / Office : A-4499
Téléphone / Phone : +1 514 396 8825 -- Télécopieur / Fax : +1 514 396 8405
Web:urs/rchampagne
Le 23 avr. 2017 3:13 AM, "Steve Hanson" <smh@uk.ibm.com> a écrit :
Hi Michael
Thanks for reaching out. Direct contact is fine but better to post to the DFDL mailing list dfdl-wg@ogf.org.
DFDL supports binary integers of arbitrary length, but not binary floats.
Could you treat the mantissa and exponent as integers inside a hidden group, then use inputValueCalc to fabricate a float using the DFDL expression language?
Michael has more experience with calculated values and may be able to offer more advice.
Regards
Steve Hanson
IBM Hybrid Integration, Hursley, UK
Architect, IBM DFDL
Co-Chair, OGF DFDL Working Group
smh@uk.ibm.com
tel:+44-1962-815848
mob:+44-7717-378890
From: "Champagne, Roger" <roger.champagne@etsmtl.net>
To: mbeckerle.dfdl@gmail.com, smhdfdl@gmail.com
Date: 22/04/2017 22:24
Subject: My understanding of binary encodings in DFDL
Michael, Steve,
I am not sure this is the proper way to proceed, but I figured I would give it a try. Please redirect me to the proper channel if relevant.
I am working on an avionics project where we are trying to describe ARINC429 messages in DFDL. After a couple of months of a student working on this and requesting my assistance, I realize DFDL is perhaps not a good match for our needs.
My understanding, based on section 13.8 of the specification, is that for floating-point values represented in binary, only two encodings are supported in DFDL: IEEE 754 and IBM 390 HEX. In both cases, the data must be exactly 32 bits (4 bytes) long.
Question 1: Is this assumption exact?
The reason I ask is that ARINC429 messages typically consist in a single 32 bit word. The message data is a subset of the 32 bits, and has variable length (up to 18 bits), based on the nature of the message. The way the data is encoded is different for each message, based of the range of values for that message and the number of bits it uses. We are try to represent these messages in DFDL.
Question 2: If my assumption is correct, are there any plans to support in DFDL binary encodings of arbitrary length, based on the knowledge of number of bits and range of admissible values?
I can supply more details if required, I tried to keep this initial message short.
Thanks for any light you can shed on this matter.
Most sincerely,
Roger
------------------------------------------------------------ --
Roger Champagne, P.Eng., Ph. D.
Professeur agrégé, Département de génie logiciel et des TI
Associate Professor, Department of Software and IT Engineering
École de technologie supérieure
1100, rue Notre-Dame Ouest, Montréal, Québec, H3C 1K3, Canada
Bureau / Office : A-4499
Téléphone / Phone : +1 514 396 8825 -- Télécopieur / Fax : +1 514 396 8405
Web: http://etsmtl.ca/Professeurs/rchampagne
Unless stated otherwise above:
IBM United Kingdom Limited - Registered in England and Wales with number 741598.
Registered office: PO Box 41, North Harbour, Portsmouth, Hampshire PO6 3AU
Unless stated otherwise above:
IBM United Kingdom Limited - Registered in England and Wales with number 741598.
Registered office: PO Box 41, North Harbour, Portsmouth, Hampshire PO6 3AU