[hal] Add RobotController.getSerialNumber() (#4783)

This commit is contained in:
Ryan Blue
2022-12-09 00:58:55 -05:00
committed by GitHub
parent 69a66ec5ec
commit 5a52b51443
19 changed files with 292 additions and 0 deletions

View File

@@ -18,6 +18,9 @@
#include <FRC_NetworkCommunication/LoadOut.h>
#include <FRC_NetworkCommunication/UsageReporting.h>
#include <fmt/format.h>
#include <wpi/MemoryBuffer.h>
#include <wpi/StringExtras.h>
#include <wpi/fs.h>
#include <wpi/mutex.h>
#include <wpi/timestamp.h>
@@ -270,6 +273,20 @@ int64_t HAL_GetFPGARevision(int32_t* status) {
return global->readRevision(status);
}
size_t HAL_GetSerialNumber(char* buffer, size_t size) {
const char* serialNum = std::getenv("serialnum");
if (serialNum) {
std::strncpy(buffer, serialNum, size);
buffer[size - 1] = '\0';
return std::strlen(buffer);
} else {
if (size > 0) {
buffer[0] = '\0';
}
return 0;
}
}
uint64_t HAL_GetFPGATime(int32_t* status) {
hal::init::CheckInit();
if (!global) {