On Tuesday, November 03, 2015 at 06:32:12 PM, Oliver Hartkopp wrote:

[...]

> It looks like you need to shift the stuff in user space every time.
> 
> So you might better think of something like this:
> 
>     struct a429_frame {
>             __u32   label;   /* ARINC 429 label */
>             __u8    length;  /* always set to 8 */
>             __u8    __pad;   /* padding */
>             __u8    __res0;  /* reserved / padding */
>             __u8    __res1;  /* reserved / padding */
>             __u32   data __attribute__((aligned(8)));
>             __u8    p;       /* p */
>             __u8    ssm;     /* ssm */
>             __u8    sdi;     /* sdi */
>             __u8    __end;   /* padding */
>     };

You don't want to interpret those P(arity)/SSM/SDI bits, since they differ
depending on whatever the remote party sends. That's why I decided to just
make those into 3-bytes of data and let the userland application deal with
it as seen fit. Besides, the ARINC "FTP" really uses those 3 bytes as plain
data.

> Good thing would be that you can directly see the content in logfiles and
> you can easily modify the content on the fly by can-gw.
> 
> Of course the arinc netdevice driver would have to take care to do the
> correct rx/tx whatever. But routing and processing arinc content through
> the CAN stack does not seem to be a bad idea IMO.

Pretty much, yeah.

Best regards,
Marek Vasut
--
To unsubscribe from this list: send the line "unsubscribe netdev" in
the body of a message to majord...@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html

Reply via email to