diff options
Diffstat (limited to 'src/AccessoryCards')
-rw-r--r-- | src/AccessoryCards/AccessoryCardLora.cpp | 22 | ||||
-rw-r--r-- | src/AccessoryCards/AcessoryCard.cpp | 21 | ||||
-rw-r--r-- | src/AccessoryCards/Gpiob.cpp | 25 | ||||
-rw-r--r-- | src/AccessoryCards/LoraCard.cpp | 23 | ||||
-rw-r--r-- | src/AccessoryCards/LoraCard15.cpp (renamed from src/AccessoryCards/AccessoryCardLora15.cpp) | 71 | ||||
-rw-r--r-- | src/AccessoryCards/LoraCard21.cpp | 24 | ||||
-rw-r--r-- | src/AccessoryCards/LoraCard21Ext.cpp | 24 | ||||
-rw-r--r-- | src/AccessoryCards/Mfser.cpp | 29 |
8 files changed, 193 insertions, 46 deletions
diff --git a/src/AccessoryCards/AccessoryCardLora.cpp b/src/AccessoryCards/AccessoryCardLora.cpp deleted file mode 100644 index 13bbab5..0000000 --- a/src/AccessoryCards/AccessoryCardLora.cpp +++ /dev/null @@ -1,22 +0,0 @@ -#include "AccessoryCardLora.h" - -AccessoryCardLora::AccessoryCardLora(std::string ProductId, std::string Port) { - port = Port; - productId = ProductId; - spiPath = "/dev/spidev0.0"; - if ((productId.find("MTCDT3-") == 0) && (port.back() == '2')) { - spiPath = "/dev/spidev1.0"; - } else if (productId.find("MTAC-LORA-G") == 0) { - spiPath = "/dev/spidev32766.2"; - } else if (productId.find("MTAC-LORA-") == 0) { - if (port.back() == '2') { - spiPath = "/dev/spidev32765.2"; - } else { - spiPath = "/dev/spidev32766.2"; - } - } -} - -std::string AccessoryCardLora::getPath() { - return spiPath; -} diff --git a/src/AccessoryCards/AcessoryCard.cpp b/src/AccessoryCards/AcessoryCard.cpp new file mode 100644 index 0000000..16589b0 --- /dev/null +++ b/src/AccessoryCards/AcessoryCard.cpp @@ -0,0 +1,21 @@ +/********************************************************************** +* 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::AccessoryCard::AccessoryCard(Device& d) : device(d) { +} diff --git a/src/AccessoryCards/Gpiob.cpp b/src/AccessoryCards/Gpiob.cpp new file mode 100644 index 0000000..3a87c8a --- /dev/null +++ b/src/AccessoryCards/Gpiob.cpp @@ -0,0 +1,25 @@ +/********************************************************************** +* 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::Gpiob::Gpiob(Device& d) : AccessoryCard(d) { + capabilityList["adc"] = true; + capabilityList["din"] = true; + capabilityList["dout"] = true; + capabilityList["gpio"] = true; +}
\ No newline at end of file diff --git a/src/AccessoryCards/LoraCard.cpp b/src/AccessoryCards/LoraCard.cpp new file mode 100644 index 0000000..ba50aa7 --- /dev/null +++ b/src/AccessoryCards/LoraCard.cpp @@ -0,0 +1,23 @@ +/********************************************************************** +* 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::LoraCard::LoraCard(Device& d, const std::string productId, const std::string port) : AccessoryCard(d) { + spiPath = "/dev/spidev0.0"; + device.capabilityList["lora"] = true; +}
\ No newline at end of file diff --git a/src/AccessoryCards/AccessoryCardLora15.cpp b/src/AccessoryCards/LoraCard15.cpp index ee99622..df5c969 100644 --- a/src/AccessoryCards/AccessoryCardLora15.cpp +++ b/src/AccessoryCards/LoraCard15.cpp @@ -1,9 +1,51 @@ -#include "AccessoryCardLora15.h" +/********************************************************************** +* 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::Lora15Card::Lora15Card(Device& d, const std::string productId, const std::string port) : LoraCard(d, productId, port) { + int ret; + fpgaVersion = 255; + if ((productId.find("MTCDT3-") == 0) && (port.back() == '2')) { + spiPath = "/dev/spidev1.0"; + } else if (productId.find("MTAC-LORA-") == 0) { + if (port.back() == '2') { + spiPath = "/dev/spidev32765.2"; + } else { + spiPath = "/dev/spidev32766.2"; + } + } + ret = spiOpen(spiPath.c_str()); + if (ret != 0) { + printf("Could not open SPI port %s", spiPath.c_str()); + return; + } + /* detect if the gateway has an FPGA with SPI mux header support */ + ret = spiRead(MTAC_FPGA_ADDRESS, &fpgaVersion); + if (ret != 0) { + printf("Could not read FPGA version"); + } -AccessoryCardLora15::AccessoryCardLora15(std::string ProductId, std::string Port) : AccessoryCardLora(ProductId, Port) { + spiClose(); + spi_target_ptr = NULL; + device.accessoryCard.AddMember("fpgaVersion", fpgaVersion, device.accessoryCardsAlloc); } -int AccessoryCardLora15::spiOpen(const char *spidev) { +int Device::Lora15Card::spiOpen(const char *spidev) { int *spi_device = NULL; int dev; int a = 0, b = 0; @@ -70,7 +112,7 @@ int AccessoryCardLora15::spiOpen(const char *spidev) { spi_target_ptr = (void *)spi_device; return 0; } -int AccessoryCardLora15::spiRead(uint8_t address, uint8_t *data) { +int Device::Lora15Card::spiRead(uint8_t address, uint8_t *data) { int spi_device; uint8_t out_buf[3]; uint8_t in_buf[ARRAY_SIZE(out_buf)]; @@ -104,7 +146,7 @@ int AccessoryCardLora15::spiRead(uint8_t address, uint8_t *data) { } } -int AccessoryCardLora15::spiClose() { +int Device::Lora15Card::spiClose() { int spi_device; int a; @@ -120,23 +162,4 @@ int AccessoryCardLora15::spiClose() { } else { return 0; } -} - -uint8_t AccessoryCardLora15::getFPGAVersion() { - int ret; - uint8_t u = 255; - ret = spiOpen(getPath().c_str()); - if (ret != 0) { - printf("Could not open SPI port %s", getPath().c_str()); - return u; - } - /* detect if the gateway has an FPGA with SPI mux header support */ - ret = spiRead(MTAC_FPGA_ADDRESS, &u); - if (ret != 0) { - printf("Could not read FPGA version"); - } - - spiClose(); - spi_target_ptr = NULL; - return u; }
\ No newline at end of file diff --git a/src/AccessoryCards/LoraCard21.cpp b/src/AccessoryCards/LoraCard21.cpp new file mode 100644 index 0000000..70bec11 --- /dev/null +++ b/src/AccessoryCards/LoraCard21.cpp @@ -0,0 +1,24 @@ +/********************************************************************** +* 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::Lora21Card::Lora21Card(Device& d, const std::string productId, const std::string port): LoraCard(d, productId, port) { + spiPath = "/dev/spidev32766.2"; + MTS::System::cmd(LORA_2_1_FPGA_VERSION, fpgaVersion); + device.accessoryCard.AddMember("fpgaVersion", std::stoi(fpgaVersion), device.accessoryCardsAlloc); +}
\ No newline at end of file diff --git a/src/AccessoryCards/LoraCard21Ext.cpp b/src/AccessoryCards/LoraCard21Ext.cpp new file mode 100644 index 0000000..b7531c7 --- /dev/null +++ b/src/AccessoryCards/LoraCard21Ext.cpp @@ -0,0 +1,24 @@ +/********************************************************************** +* 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::Lora21ExtCard::Lora21ExtCard(Device& d, const std::string productId, const std::string port): Lora21Card(d, productId, port) { + MTS::System::cmd(LORA_2_1_EXT_FPGA_VERSION, fpgaVersion2); + device.accessoryCard.AddMember("fpgaVersion2", std::stoi(fpgaVersion2), device.accessoryCardsAlloc); + +}
\ No newline at end of file diff --git a/src/AccessoryCards/Mfser.cpp b/src/AccessoryCards/Mfser.cpp new file mode 100644 index 0000000..ac6bb26 --- /dev/null +++ b/src/AccessoryCards/Mfser.cpp @@ -0,0 +1,29 @@ +/********************************************************************** +* 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::Mfser::Mfser(Device& d, const std::string port) : AccessoryCard(d) { + capabilityList["rs232"] = true; + capabilityList["rs422"] = true; + capabilityList["rs485"] = true; + capabilityList["serial"] = true; + if (!fileExists("/dev/ext_serial") && port.size() > 0) { + std::string temp; + MTS::System::cmd(std::string("ln -s /dev/ttyAP") + port.back() + " /dev/ext_serial", temp); + } +}
\ No newline at end of file |