Fix header bit translation

This commit is contained in:
Stefano Calabretti
2022-02-19 12:59:05 +01:00
parent e26751d5d4
commit 7190dbcdf9
5 changed files with 37 additions and 16 deletions
+8 -4
View File
@@ -9,7 +9,7 @@ static MmrCanScsEntry* clearEntry(MmrCanHeader header);
static MmrCanScsEntry* findEntry(MmrCanHeader header);
static TimerRange getCurrentTime();
static HalStatus sendScs(CanHandle *hcan, MmrCanHeader header);
HalStatus sendScs(CanHandle *hcan, MmrCanHeader header);
static MmrCanScsCheckResult checkScs(MmrCanScsEntry *entry);
@@ -62,6 +62,10 @@ HalStatus MMR_CAN_HandleNextScs(CanHandle *hcan) {
static int counter = 0;
MmrCanScsEntry *entry = &__scsEntries[counter++ % MMR_CAN_SCS_ENTRIES_COUNT];
if (MMR_CAN_HeaderToBits(entry->header) == 0) {
return HAL_OK;
}
switch (checkScs(entry)) {
case MMR_CAN_SCS_CHECK_ERROR: return HAL_ERROR;
case MMR_CAN_SCS_CHECK_OK: return HAL_OK;
@@ -134,14 +138,14 @@ MmrCanScsEntry* clearEntry(MmrCanHeader header) {
}
MmrCanScsEntry* findEntry(MmrCanHeader header) {
uint32_t *target = MMR_CAN_HeaderToBits(&header);
uint32_t target = MMR_CAN_HeaderToBits(header);
uint32_t i = 0;
for (; i < MMR_CAN_SCS_ENTRIES_COUNT; i++) {
MmrCanScsEntry *entry = __scsEntries + i;
uint32_t *curr = MMR_CAN_HeaderToBits(&entry->header);
uint32_t curr = MMR_CAN_HeaderToBits(entry->header);
if (*curr == *target) {
if (curr == target) {
return entry;
}
}