From f13e498b07f525c9e74e735761efc3150ab45224 Mon Sep 17 00:00:00 2001 From: Harsh Sharma Date: Fri, 6 Nov 2020 09:23:42 -0600 Subject: Fixed spi path and fpga version functionality for mtcdt3 --- src/AccessoryCards/LoraCard15.cpp | 12 ++++++++++-- 1 file changed, 10 insertions(+), 2 deletions(-) (limited to 'src/AccessoryCards/LoraCard15.cpp') diff --git a/src/AccessoryCards/LoraCard15.cpp b/src/AccessoryCards/LoraCard15.cpp index 69efb6b..cb7dc64 100644 --- a/src/AccessoryCards/LoraCard15.cpp +++ b/src/AccessoryCards/LoraCard15.cpp @@ -19,8 +19,15 @@ Device::Lora15Card::Lora15Card(Device& d, const std::string ProductId, const std::string Port) : LoraCard(d, ProductId, Port) { int ret; - if ((productId.rfind("MTCDT3-", 0) == 0 || productId.rfind("MTLGA-", 0) == 0) && (port.back() == '2')) { - spiPath = "/dev/spidev1.0"; + std::string deviceProductId = ""; + /* Map the spi path to the device and card product id, with the default being spidev0.0 */ + MTS::System::readFile(PRODUCT_ID_PATH, deviceProductId); + if (deviceProductId.find("MTCDT3-") != std::string::npos) { + if (port.back() == '2') { + spiPath = "/dev/spidev1.2"; + } else { + spiPath = "/dev/spidev0.2"; + } } else if (productId.find("MTAC-LORA-") == 0) { if (port.back() == '2') { spiPath = "/dev/spidev32765.2"; @@ -37,6 +44,7 @@ Device::Lora15Card::Lora15Card(Device& d, const std::string ProductId, const std ret = spiRead(MTAC_FPGA_ADDRESS, &fpgaVersion); if (ret != 0) { printf("Could not read FPGA version"); + fpgaVersion = 255; } spiClose(); -- cgit v1.2.3