# I wonder how to define CAN message in the form of Cypal message

**URL:** <https://forum.opencyphal.org/t/i-wonder-how-to-define-can-message-in-the-form-of-cypal-message/2080>\
**Category:** Libcanard\
**Created:** [February 8, 2024, 6:57am UTC](https://forum.opencyphal.org/t/i-wonder-how-to-define-can-message-in-the-form-of-cypal-message/2080 "2024-02-08T06:57:10Z")\
**Posts on this page:** 2\
**Page:** 1

<div class="post-metadata">

**Author:** ![circletrain](https://forum.opencyphal.org/user_avatar/forum.opencyphal.org/circletrain/32/1525_2.png) [@circletrain](https://forum.opencyphal.org/u/circletrain)\
**Post date:** [February 8, 2024, 6:57am UTC](https://forum.opencyphal.org/t/i-wonder-how-to-define-can-message-in-the-form-of-cypal-message/2080/1 "2024-02-08T06:57:10Z")

</div>

Hello, I would like to create a Cypal message to receive CAN messages through libCanard. The message is sent in 8 bytes except for tail bytes from CAN, so how should I organize the message? If I receive it in the form of a classical CAN frame, will some messages not be excluded even if I organize the message as below?

uint8 A  
uint16 B  
uint8 C  
uint32 D

@extent 8 \* 8

When defined as above, the last 8 bytes part seems to be lost, so how should I define the message to prevent this?

---

<div class="post-metadata">

**Author:** ![pavel.kirienko](https://forum.opencyphal.org/user_avatar/forum.opencyphal.org/pavel.kirienko/32/9_2.png) [@pavel.kirienko](https://forum.opencyphal.org/u/pavel.kirienko)\
**Post date:** [February 8, 2024, 8:38am UTC](https://forum.opencyphal.org/t/i-wonder-how-to-define-can-message-in-the-form-of-cypal-message/2080/2 "2024-02-08T08:38:37Z")

</div>

Cyphal/CAN transfers over Classic CAN (i.e., non-FD) with more than 7 bytes of payload are multi-frame transfers, so your eighth byte will go in the second CAN frame. This is because one byte of the CAN payload is wasted on the tail byte.

It is not possible to receive raw CAN frames using the Cyphal stack.
