mirror of
https://github.com/meshtastic/firmware.git
synced 2025-06-15 09:32:08 +00:00
[Add] LR1110, LR1120 and LR1121 to linux native Portduino (#5496)
* Update main.cpp * Update PortduinoGlue.h * Update PortduinoGlue.cpp * Update PortduinoGlue.cpp * Update PortduinoGlue.cpp * Update main.cpp
This commit is contained in:
parent
10e10450cf
commit
e4f53677fc
47
src/main.cpp
47
src/main.cpp
@ -858,6 +858,51 @@ void setup()
|
|||||||
LOG_INFO("SX1280 init success");
|
LOG_INFO("SX1280 init success");
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
} else if (settingsMap[use_lr1110]) {
|
||||||
|
if (!rIf) {
|
||||||
|
LOG_DEBUG("Activate lr1110 radio on SPI port %s", settingsStrings[spidev].c_str());
|
||||||
|
LockingArduinoHal *RadioLibHAL = new LockingArduinoHal(SPI, spiSettings);
|
||||||
|
rIf = new LR1110Interface((LockingArduinoHal *)RadioLibHAL, settingsMap[cs], settingsMap[irq], settingsMap[reset],
|
||||||
|
settingsMap[busy]);
|
||||||
|
if (!rIf->init()) {
|
||||||
|
LOG_WARN("No LR1110 radio");
|
||||||
|
delete rIf;
|
||||||
|
rIf = NULL;
|
||||||
|
exit(EXIT_FAILURE);
|
||||||
|
} else {
|
||||||
|
LOG_INFO("LR1110 init success");
|
||||||
|
}
|
||||||
|
}
|
||||||
|
} else if (settingsMap[use_lr1120]) {
|
||||||
|
if (!rIf) {
|
||||||
|
LOG_DEBUG("Activate lr1120 radio on SPI port %s", settingsStrings[spidev].c_str());
|
||||||
|
LockingArduinoHal *RadioLibHAL = new LockingArduinoHal(SPI, spiSettings);
|
||||||
|
rIf = new LR1120Interface((LockingArduinoHal *)RadioLibHAL, settingsMap[cs], settingsMap[irq], settingsMap[reset],
|
||||||
|
settingsMap[busy]);
|
||||||
|
if (!rIf->init()) {
|
||||||
|
LOG_WARN("No LR1120 radio");
|
||||||
|
delete rIf;
|
||||||
|
rIf = NULL;
|
||||||
|
exit(EXIT_FAILURE);
|
||||||
|
} else {
|
||||||
|
LOG_INFO("LR1120 init success");
|
||||||
|
}
|
||||||
|
}
|
||||||
|
} else if (settingsMap[use_lr1121]) {
|
||||||
|
if (!rIf) {
|
||||||
|
LOG_DEBUG("Activate lr1121 radio on SPI port %s", settingsStrings[spidev].c_str());
|
||||||
|
LockingArduinoHal *RadioLibHAL = new LockingArduinoHal(SPI, spiSettings);
|
||||||
|
rIf = new LR1121Interface((LockingArduinoHal *)RadioLibHAL, settingsMap[cs], settingsMap[irq], settingsMap[reset],
|
||||||
|
settingsMap[busy]);
|
||||||
|
if (!rIf->init()) {
|
||||||
|
LOG_WARN("No LR1121 radio");
|
||||||
|
delete rIf;
|
||||||
|
rIf = NULL;
|
||||||
|
exit(EXIT_FAILURE);
|
||||||
|
} else {
|
||||||
|
LOG_INFO("LR1121 init success");
|
||||||
|
}
|
||||||
|
}
|
||||||
} else if (settingsMap[use_sx1268]) {
|
} else if (settingsMap[use_sx1268]) {
|
||||||
if (!rIf) {
|
if (!rIf) {
|
||||||
LOG_DEBUG("Activate sx1268 radio on SPI port %s", settingsStrings[spidev].c_str());
|
LOG_DEBUG("Activate sx1268 radio on SPI port %s", settingsStrings[spidev].c_str());
|
||||||
@ -1218,4 +1263,4 @@ void loop()
|
|||||||
mainDelay.delay(delayMsec);
|
mainDelay.delay(delayMsec);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
#endif
|
#endif
|
||||||
|
@ -272,6 +272,9 @@ bool loadConfig(const char *configPath)
|
|||||||
settingsMap[use_sx1262] = false;
|
settingsMap[use_sx1262] = false;
|
||||||
settingsMap[use_rf95] = false;
|
settingsMap[use_rf95] = false;
|
||||||
settingsMap[use_sx1280] = false;
|
settingsMap[use_sx1280] = false;
|
||||||
|
settingsMap[use_lr1110] = false;
|
||||||
|
settingsMap[use_lr1120] = false;
|
||||||
|
settingsMap[use_lr1121] = false;
|
||||||
settingsMap[use_sx1268] = false;
|
settingsMap[use_sx1268] = false;
|
||||||
|
|
||||||
if (yamlConfig["Lora"]["Module"] && yamlConfig["Lora"]["Module"].as<std::string>("") == "sx1262") {
|
if (yamlConfig["Lora"]["Module"] && yamlConfig["Lora"]["Module"].as<std::string>("") == "sx1262") {
|
||||||
@ -280,6 +283,12 @@ bool loadConfig(const char *configPath)
|
|||||||
settingsMap[use_rf95] = true;
|
settingsMap[use_rf95] = true;
|
||||||
} else if (yamlConfig["Lora"]["Module"] && yamlConfig["Lora"]["Module"].as<std::string>("") == "sx1280") {
|
} else if (yamlConfig["Lora"]["Module"] && yamlConfig["Lora"]["Module"].as<std::string>("") == "sx1280") {
|
||||||
settingsMap[use_sx1280] = true;
|
settingsMap[use_sx1280] = true;
|
||||||
|
} else if (yamlConfig["Lora"]["Module"] && yamlConfig["Lora"]["Module"].as<std::string>("") == "lr1110") {
|
||||||
|
settingsMap[use_lr1110] = true;
|
||||||
|
} else if (yamlConfig["Lora"]["Module"] && yamlConfig["Lora"]["Module"].as<std::string>("") == "lr1120") {
|
||||||
|
settingsMap[use_lr1120] = true;
|
||||||
|
} else if (yamlConfig["Lora"]["Module"] && yamlConfig["Lora"]["Module"].as<std::string>("") == "lr1121") {
|
||||||
|
settingsMap[use_lr1121] = true;
|
||||||
} else if (yamlConfig["Lora"]["Module"] && yamlConfig["Lora"]["Module"].as<std::string>("") == "sx1268") {
|
} else if (yamlConfig["Lora"]["Module"] && yamlConfig["Lora"]["Module"].as<std::string>("") == "sx1268") {
|
||||||
settingsMap[use_sx1268] = true;
|
settingsMap[use_sx1268] = true;
|
||||||
}
|
}
|
||||||
@ -415,4 +424,4 @@ bool loadConfig(const char *configPath)
|
|||||||
static bool ends_with(std::string_view str, std::string_view suffix)
|
static bool ends_with(std::string_view str, std::string_view suffix)
|
||||||
{
|
{
|
||||||
return str.size() >= suffix.size() && str.compare(str.size() - suffix.size(), suffix.size(), suffix) == 0;
|
return str.size() >= suffix.size() && str.compare(str.size() - suffix.size(), suffix.size(), suffix) == 0;
|
||||||
}
|
}
|
||||||
|
@ -16,6 +16,9 @@ enum configNames {
|
|||||||
ch341Quirk,
|
ch341Quirk,
|
||||||
use_rf95,
|
use_rf95,
|
||||||
use_sx1280,
|
use_sx1280,
|
||||||
|
use_lr1110,
|
||||||
|
use_lr1120,
|
||||||
|
use_lr1121,
|
||||||
use_sx1268,
|
use_sx1268,
|
||||||
user,
|
user,
|
||||||
gpiochip,
|
gpiochip,
|
||||||
@ -67,4 +70,4 @@ extern std::map<configNames, std::string> settingsStrings;
|
|||||||
extern std::ofstream traceFile;
|
extern std::ofstream traceFile;
|
||||||
int initGPIOPin(int pinNum, std::string gpioChipname);
|
int initGPIOPin(int pinNum, std::string gpioChipname);
|
||||||
bool loadConfig(const char *configPath);
|
bool loadConfig(const char *configPath);
|
||||||
static bool ends_with(std::string_view str, std::string_view suffix);
|
static bool ends_with(std::string_view str, std::string_view suffix);
|
||||||
|
Loading…
Reference in New Issue
Block a user