/********************************************************************** * COPYRIGHT 2020 MULTI-TECH SYSTEMS, INC. * * ALL RIGHTS RESERVED BY AND FOR THE EXCLUSIVE BENEFIT OF * MULTI-TECH SYSTEMS, INC. * * MULTI-TECH SYSTEMS, INC. - CONFIDENTIAL AND PROPRIETARY * INFORMATION AND/OR TRADE SECRET. * * NOTICE: ALL CODE, PROGRAM, INFORMATION, SCRIPT, INSTRUCTION, * DATA, AND COMMENT HEREIN IS AND SHALL REMAIN THE CONFIDENTIAL * INFORMATION AND PROPERTY OF MULTI-TECH SYSTEMS, INC. * USE AND DISCLOSURE THEREOF, EXCEPT AS STRICTLY AUTHORIZED IN A * WRITTEN AGREEMENT SIGNED BY MULTI-TECH SYSTEMS, INC. IS PROHIBITED. * ***********************************************************************/ #include "Device.h" Device::Lora03Card::Lora03Card(Device &d) : LoraCard(d, std::regex("(MTAC-003)(.*)|(MTCAP3-003)(.*)")) {} void Device::Lora03Card::AddToDeviceInfo(const std::string Port, const std::string ProductID) { LoraCard::AddToDeviceInfo(Port, ProductID); /* Map the spi path to the port/hw version */ std::string deviceHwVersion = ""; MTS::System::readFile(HW_VERSION_PATH, deviceHwVersion); if (deviceHwVersion.find("MTCAP3") != std::string::npos) { spiPath = "/dev/spidev1.0"; spiPath1261 = "/dev/spidev1.1"; tmp102 = 0x48; } else if (Port.back() == '2') { spiPath = "/dev/spidev1.0"; spiPath1261 = "/dev/spidev1.1"; tmp102 = 0x49; } else { spiPath = "/dev/spidev0.0"; spiPath1261 = "/dev/spidev0.1"; tmp102 = 0x48; } device.accessoryCard.AddMember( "spiPath", rapidjson::Value().SetString(spiPath.c_str(), device.acAlloc), device.acAlloc); device.accessoryCard.AddMember( "spiPath1261", rapidjson::Value().SetString(spiPath1261.c_str(), device.acAlloc), device.acAlloc); device.accessoryCard.AddMember("tmp102", tmp102, device.acAlloc); }