refactor: merge protocol cores as SETProtocol

This commit is contained in:
2026-09-01 09:58:09 +03:00
parent 5504104cc5
commit 19becd7b8c
56 changed files with 1256 additions and 359 deletions

View File

@@ -0,0 +1,22 @@
#include "pcan_id.h"
uint32_t pcan_id_pack(const pcan_id_t *id)
{
return ((uint32_t)(id->priority & 0x1U) << 28)
| ((uint32_t)(id->route & 0x1U) << 27)
| ((uint32_t)(id->device_type & 0x7U) << 24)
| ((uint32_t)(id->device_id & 0xFU) << 20)
| ((uint32_t)(id->msg_type & 0xFU) << 16)
| ((uint32_t)id->msg_body);
}
void pcan_id_unpack(uint32_t raw, pcan_id_t *id)
{
raw &= PCAN_ID_MASK;
id->msg_body = (uint16_t)(raw & 0xFFFFU);
id->msg_type = (uint8_t)((raw >> 16) & 0xFU);
id->device_id = (uint8_t)((raw >> 20) & 0xFU);
id->device_type = (uint8_t)((raw >> 24) & 0x7U);
id->route = (uint8_t)((raw >> 27) & 0x1U);
id->priority = (uint8_t)((raw >> 28) & 0x1U);
}