summaryrefslogtreecommitdiff
path: root/src/AccessoryCards/LoraCard15.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'src/AccessoryCards/LoraCard15.cpp')
-rw-r--r--src/AccessoryCards/LoraCard15.cpp12
1 files changed, 10 insertions, 2 deletions
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();