This commit is contained in:
Stefano Calabretti
2022-05-31 10:04:05 +02:00
parent bf81796125
commit 772d87b3db
5 changed files with 145 additions and 8 deletions
+17 -8
View File
@@ -5,6 +5,7 @@
#define MAILBOXES_COUNT 3
static MmrCanHeader buildDefaultHeader(MmrCan *can, MmrCanMessageId msgId);
static CanTxHeader buildTxHeader(MmrCan *can, MmrCanPacket *packet);
static CanMailbox *getNextMailbox(MmrCan *can);
@@ -15,10 +16,12 @@ HalStatus MMR_CAN_SendString(MmrCan *can, MmrCanMessageId msgId, const char *dat
return MMR_CAN_SendRaw(can, msgId, &data, len);
}
HalStatus MMR_CAN_SendInt(MmrCan *can, MmrCanMessageId msgId, int data) {
return MMR_CAN_SendRaw(can, msgId, &data, sizeof(data))
}
HalStatus MMR_CAN_SendFloat(MmrCan *can, MmrCanMessageId msgId, float data) {
return MMR_CAN_SendRaw(can, msgId, &data, sizeof(data));
}
@@ -39,13 +42,8 @@ HalStatus MMR_CAN_SendRaw(
HalStatus MMR_CAN_SendPacket(MmrCan *can, MmrCanPacket packet) {
CanTxHeader txHeader = {
.ExtId = MMR_CAN_HeaderToBits(packet.header),
.IDE = CAN_ID_EXT,
.RTR = CAN_RTR_DATA,
.DLC = packet->length,
.TransmitGlobalTime = DISABLE,
};
CanTxHeader txHeader =
buildTxHeader(can, &packet);
return HAL_CAN_AddTxMessage(
can->handle,
@@ -56,7 +54,7 @@ HalStatus MMR_CAN_SendPacket(MmrCan *can, MmrCanPacket packet) {
}
MmrCanHeader buildDefaultHeader(MmrCan *can, MmrCanMessageId msgId) {
static MmrCanHeader buildDefaultHeader(MmrCan *can, MmrCanMessageId msgId) {
return (MmrCanHeader){
.messageId = msgId,
.senderId = can->id,
@@ -66,6 +64,17 @@ MmrCanHeader buildDefaultHeader(MmrCan *can, MmrCanMessageId msgId) {
}
static CanTxHeader buildTxHeader(MmrCan *can, MmrCanPacket *packet) {
return (CanTxHeader){
.ExtId = MMR_CAN_HeaderToBits(packet->header),
.IDE = CAN_ID_EXT,
.RTR = CAN_RTR_DATA,
.DLC = packet->length,
.TransmitGlobalTime = DISABLE,
};
}
static CanMailbox *getNextMailbox(MmrCan *can) {
can->currentMailbox++;
can->currentMailbox %= MAILBOXES_COUNT;