[hal] Initial CAN implementation for SystemCore (#7514)

This commit is contained in:
Thad House
2024-12-08 12:01:28 -08:00
committed by GitHub
parent 220f4e1ba4
commit 41d4826694
6 changed files with 275 additions and 14 deletions

View File

@@ -9,6 +9,7 @@
#include <wpi/DenseMap.h>
#include <wpi/mutex.h>
#include <wpi/timestamp.h>
#include "HALInitializer.h"
#include "hal/CAN.h"
@@ -58,12 +59,7 @@ static int32_t CreateCANId(CANStorage* storage, int32_t apiId) {
extern "C" {
uint32_t HAL_GetCANPacketBaseTime(void) {
timespec t;
clock_gettime(CLOCK_MONOTONIC, &t);
// Convert t to milliseconds
uint64_t ms = t.tv_sec * 1000ull + t.tv_nsec / 1000000ull;
return ms & 0xFFFFFFFF;
return wpi::Now() / 1000;
}
HAL_CANHandle HAL_InitializeCAN(HAL_CANManufacturer manufacturer,