diff options
Diffstat (limited to 'src/AccessoryCards')
-rw-r--r-- | src/AccessoryCards/Mtac15Fpga.cpp | 27 |
1 files changed, 15 insertions, 12 deletions
diff --git a/src/AccessoryCards/Mtac15Fpga.cpp b/src/AccessoryCards/Mtac15Fpga.cpp index fda3737..ed30fe3 100644 --- a/src/AccessoryCards/Mtac15Fpga.cpp +++ b/src/AccessoryCards/Mtac15Fpga.cpp @@ -684,7 +684,18 @@ Mtac15Fpga::Mtac15Fpga(std::string inputFile, std::string forcedPath) { } std::string hwVersion = deviceInfo["hardwareVersion"].GetString(); - if (deviceInfo.HasMember("accessoryCards") && + if (hwVersion.find("MTCAP") != std::string::npos) { + hardwareType = HARDWARE_MTCAP; + port = "lora"; + if (inputFile.empty()) { + input_file = MTCAP_DEFAULT_FILE; + } else { + input_file = inputFile; + } + spiPath = LORA_1_5_MTCAP_SPI; + getFpgaVersion(); + spiPath = LORA_1_5_MTCAP_SPI_FPGA; + } else if (deviceInfo.HasMember("accessoryCards") && deviceInfo["accessoryCards"].IsArray() && deviceInfo["accessoryCards"].Size() > 0) { rapidjson::SizeType acCardCount = deviceInfo["accessoryCards"].Size(); @@ -692,8 +703,6 @@ Mtac15Fpga::Mtac15Fpga(std::string inputFile, std::string forcedPath) { hardwareType = HARDWARE_MTCDT3; } else if (hwVersion.find("MTCDT") != std::string::npos) { hardwareType = HARDWARE_MTCDT; - } else if (hwVersion.find("MTCAP") != std::string::npos) { - hardwareType = HARDWARE_MTCAP; } else { return; } @@ -749,15 +758,6 @@ Mtac15Fpga::Mtac15Fpga(std::string inputFile, std::string forcedPath) { } getFpgaVersion(); - } else if (hwVersion.find("MTCAP") != std::string::npos) { - hardwareType = HARDWARE_MTCAP; - if (inputFile.empty()) { - input_file = MTCAP_DEFAULT_FILE; - } else { - input_file = inputFile; - } - spiPath = "/dev/spidev0.0"; - getFpgaVersion(); } else { printError("No accessory cards installed/invalid hardware"); exitHandler(99); @@ -845,6 +845,9 @@ int Mtac15Fpga::upgradeFpga() { } sleep(5); printInfo("Reading New FPGA configuration"); + if (hardwareType == HARDWARE_MTCAP) { + spiPath = LORA_1_5_MTCAP_SPI; + } ret = getFpgaVersion(); if (ret != 0) { return ret; |