42 static inline uint8_t
BIT(uint8_t A,
45 return (uint8_t)((A >> B) & 0x01U);
64 parity = (uint8_t)(((
BIT(PID, 0U) ^
BIT(PID, 1U) ^
BIT(PID, 2U) ^
BIT(PID, 4U)) << 6U) |
65 ((0xFFU ^ (
BIT(PID, 1U) ^
BIT(PID, 3U) ^
BIT(PID, 4U) ^
BIT(PID, 5U))) << 7U));
71 if ((PID & 0xC0U) != parity)
80 retVal = (uint8_t)(PID & 0x3FU);
87 retVal = (uint8_t)(PID | parity);
111 if ((0x3CU != PID) && (0x7DU != PID) && (0xFEU != PID) && (0xBFU != PID))
122 for (length = sizeBuffer; 0U < length; length--)
127 if (checksum > 0xFFU)
134 return (uint8_t)(~checksum);
uint8_t LIN_DRV_ProcessParity(uint8_t PID, uint8_t typeAction)
Makes or checks parity bits. If action is checking parity, the function returns ID value if parity bi...
static uint8_t BIT(uint8_t A, uint8_t B)
uint8_t LIN_DRV_MakeChecksumByte(const uint8_t *buffer, uint8_t sizeBuffer, uint8_t PID)
Makes the checksum byte for a frame.