Browse Source

AP_HAL_Linux: RPI-CM4 detection

gps-1.3.1
HefnySco 3 years ago committed by Lucas De Marchi
parent
commit
88f4eb6017
  1. 11
      libraries/AP_HAL_Linux/Util_RPI.cpp

11
libraries/AP_HAL_Linux/Util_RPI.cpp

@ -36,10 +36,19 @@ int UtilRPI::_check_rpi_version() @@ -36,10 +36,19 @@ int UtilRPI::_check_rpi_version()
char buffer[MAX_SIZE_LINE];
int hw;
memset(buffer, 0, MAX_SIZE_LINE);
FILE *f = fopen("/sys/firmware/devicetree/base/model", "r");
if (f != nullptr && fgets(buffer, MAX_SIZE_LINE, f) != nullptr) {
int ret = sscanf(buffer + 12, "%d", &_rpi_version);
fclose(f);
int ret = strncmp(buffer, "Raspberry Pi Compute Module 4", 28);
if (ret == 0) {
_rpi_version = 4; // compute module 4 e.g. Raspberry Pi Compute Module 4 Rev 1.0.
printf("%s. (intern: %d)\n", buffer, _rpi_version);
return _rpi_version;
}
ret = sscanf(buffer + 12, "%d", &_rpi_version);
if (ret != EOF) {
if (_rpi_version > 3) {
_rpi_version = 4;

Loading…
Cancel
Save