summaryrefslogtreecommitdiff
path: root/src/AccessoryCards/LoraCard03.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'src/AccessoryCards/LoraCard03.cpp')
-rw-r--r--src/AccessoryCards/LoraCard03.cpp53
1 files changed, 53 insertions, 0 deletions
diff --git a/src/AccessoryCards/LoraCard03.cpp b/src/AccessoryCards/LoraCard03.cpp
new file mode 100644
index 0000000..7e9f9ae
--- /dev/null
+++ b/src/AccessoryCards/LoraCard03.cpp
@@ -0,0 +1,53 @@
+/**********************************************************************
+ * 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);
+} \ No newline at end of file