Message: LIN: Add wakeup request transmit

This commit is contained in:
Samuel Bejko
2026-11-04 13:30:36 -05:00
committed by Kyle Schwarz
parent ee6b846acc
commit 9f747df692
9 changed files with 228 additions and 0 deletions
+17
View File
@@ -118,6 +118,16 @@ bool HardwareLINPacket::EncodeFromMessage(LINMessage& message, std::vector<uint8
size |= 0x80u | 0x20u;
break;
}
case LINMessage::Type::LIN_WAKEUP_REQUEST:
{
if(!LINMessage::wakeupPulseWidthSteps(message)) {
report(APIEvent::Type::ParameterOutOfRange, APIEvent::Severity::Error);
return false;
}
// wakeup pulse only, one data byte for the pulse width
size = 0x04u | 0x80u | 0x10u;
break;
}
case LINMessage::Type::NOT_SET:
{
report(APIEvent::Type::RequiredParameterNull, APIEvent::Severity::Error);
@@ -145,6 +155,13 @@ bool HardwareLINPacket::EncodeFromMessage(LINMessage& message, std::vector<uint8
bytestream.push_back(message.checksum);
break;
}
case(LINMessage::Type::LIN_WAKEUP_REQUEST):
{
// data byte 0 is the pulse width in 50 us steps
// data bytes 1 to 7: future bits reserved for more LIN wake features
bytestream.push_back(static_cast<uint8_t>(LINMessage::wakeupPulseWidthSteps(message)));
break;
}
default:
break;
}