9#if defined(EXTRA_sx1272) && defined(EXTRA_lora)
11#include "AustralisConfig.h"
14#include "event_groups.h"
26static void SX1272_exec(
UART_t *uart,
char *flags);
27static void SX1272_help(
UART_t *uart);
29DEFINE_PROGRAM_HANDLE(
"sx1272", SX1272_exec, SX1272_help)
31static void SX1272_help(
UART_t *uart) {
32 uart->println(uart,
"NAME:");
33 uart->println(uart,
"\tsx1272\n");
34 uart->println(uart,
"USAGE:");
35 uart->println(uart,
"\tconfigure\n");
36 uart->println(uart,
"DESCRIPTION:");
37 uart->println(uart,
"\tProvides debug access to a SX1272 device associated with the LoRa publication\n");
38 uart->println(uart,
"\tconfigure");
39 uart->println(uart,
"\t Configure options for SX1272 transceiver.\n");
40 uart->println(uart,
"OPTIONS:");
41 uart->println(uart,
"\t-h, --help");
42 uart->println(uart,
"\t Print this help and exit");
52static void SX1272_exec(
UART_t *uart,
char *flags) {
55 int argOperationIdx = parser.addArg(
56 &parser,
"configure", 0, ARG_TYPE_STRING,
true
59 char *tokens[MAX_ARGS];
63 char *token = strtok(flags,
" ");
64 while (token != NULL && numTokens < MAX_ARGS) {
65 tokens[numTokens++] = token;
66 token = strtok(NULL,
" ");
70 parser.parseArgs(&parser, numTokens, tokens);
73 if (parser.error.status == PARSER_STATUS_ERROR) {
74 uart->println(uart, parser.error.msg);
81 if (transceiver == NULL) {
82 uart->println(uart,
"Error: No transceiver is available on the LoRa topic.");
86 if (parser.args[argOperationIdx].provided) {
89 transceiver->updateConfig(transceiver, &config);
SX1272 LoRa configuration struct.
Struct definition for SX1272. Provides the interface for API consumers to interact with the SX1272 Lo...
Struct definition for UART interface.