mirror of https://github.com/ARMmbed/mbed-os.git
Doxygen corrections
Adding group identidier so that LoRaWANInterface class goes to the class hierarchy section rather than data-structures. Adding missing documentation for a couple of public functions. Adding \code and \endcode modifiers for the example code in the documentation. Adding compile time NO_DOXYGEN flag for the implementations of the LoRaPHY Class. Adding documentation for some of the private structures.pull/9219/head
parent
2b95fd3e3a
commit
5fb383c27a
|
@ -1,7 +1,7 @@
|
|||
/**
|
||||
* @file
|
||||
*
|
||||
* @brief Implementation of LoRaWANBase
|
||||
* @brief A LoRaWAN network interface
|
||||
*
|
||||
* Copyright (c) 2017, Arm Limited and affiliates.
|
||||
* SPDX-License-Identifier: Apache-2.0
|
||||
|
|
|
@ -15,6 +15,11 @@
|
|||
* limitations under the License.
|
||||
*/
|
||||
|
||||
/** @addtogroup LoRaWAN
|
||||
* Mbed OS LoRaWAN Stack
|
||||
* @{
|
||||
*/
|
||||
|
||||
#ifndef LORAWANINTERFACE_H_
|
||||
#define LORAWANINTERFACE_H_
|
||||
|
||||
|
@ -25,8 +30,12 @@
|
|||
#include "LoRaRadio.h"
|
||||
#include "lorawan_types.h"
|
||||
|
||||
// Forward declaration of LoRaPHY class
|
||||
class LoRaPHY;
|
||||
|
||||
/** LoRaWANInterface Class
|
||||
* A network interface for LoRaWAN
|
||||
*/
|
||||
class LoRaWANInterface {
|
||||
|
||||
public:
|
||||
|
@ -341,8 +350,7 @@ public:
|
|||
* LORAWAN_STATUS_PORT_INVALID if trying to send to an invalid port (e.g. to 0)
|
||||
* LORAWAN_STATUS_PARAMETER_INVALID if NULL data pointer is given or flags are invalid.
|
||||
*/
|
||||
int16_t send(uint8_t port, const uint8_t *data,
|
||||
uint16_t length, int flags);
|
||||
int16_t send(uint8_t port, const uint8_t *data, uint16_t length, int flags);
|
||||
|
||||
/** Receives a message from the Network Server on a specific port.
|
||||
*
|
||||
|
@ -409,34 +417,37 @@ public:
|
|||
*
|
||||
* An example of using this API with a latch onto 'lorawan_events' could be:
|
||||
*
|
||||
* LoRaWANInterface lorawan(radio);
|
||||
* lorawan_app_callbacks_t cbs;
|
||||
* static void my_event_handler();
|
||||
*\code
|
||||
* LoRaWANInterface lorawan(radio);
|
||||
* lorawan_app_callbacks_t cbs;
|
||||
* static void my_event_handler();
|
||||
*
|
||||
* int main()
|
||||
* {
|
||||
* lorawan.initialize();
|
||||
* cbs.lorawan_events = mbed::callback(my_event_handler);
|
||||
* lorawan.add_app_callbacks(&cbs);
|
||||
* lorawan.connect();
|
||||
* }
|
||||
* int main()
|
||||
* {
|
||||
* lorawan.initialize();
|
||||
* cbs.lorawan_events = mbed::callback(my_event_handler);
|
||||
* lorawan.add_app_callbacks(&cbs);
|
||||
* lorawan.connect();
|
||||
* }
|
||||
*
|
||||
* static void my_event_handler(lorawan_event_t event)
|
||||
* {
|
||||
* switch(event) {
|
||||
* case CONNECTED:
|
||||
* //do something
|
||||
* break;
|
||||
* case DISCONNECTED:
|
||||
* //do something
|
||||
* break;
|
||||
* case TX_DONE:
|
||||
* //do something
|
||||
* break;
|
||||
* default:
|
||||
* break;
|
||||
* }
|
||||
* }
|
||||
* static void my_event_handler(lorawan_event_t event)
|
||||
* {
|
||||
* switch(event) {
|
||||
* case CONNECTED:
|
||||
* //do something
|
||||
* break;
|
||||
* case DISCONNECTED:
|
||||
* //do something
|
||||
* break;
|
||||
* case TX_DONE:
|
||||
* //do something
|
||||
* break;
|
||||
* default:
|
||||
* break;
|
||||
* }
|
||||
* }
|
||||
*
|
||||
*\endcode
|
||||
*
|
||||
* @param callbacks A pointer to the structure containing application callbacks.
|
||||
*
|
||||
|
@ -523,18 +534,35 @@ public:
|
|||
*/
|
||||
lorawan_status_t cancel_sending(void);
|
||||
|
||||
/** Provides exclusive access to the stack.
|
||||
*
|
||||
* Use only if the stack is being run in it's own separate thread.
|
||||
*/
|
||||
void lock(void)
|
||||
{
|
||||
_lw_stack.lock();
|
||||
}
|
||||
|
||||
/** Releases exclusive access to the stack.
|
||||
*
|
||||
* Use only if the stack is being run in it's own separate thread.
|
||||
*/
|
||||
void unlock(void)
|
||||
{
|
||||
_lw_stack.unlock();
|
||||
}
|
||||
|
||||
private:
|
||||
/** ScopedLock object
|
||||
*
|
||||
* RAII style exclusive access
|
||||
*/
|
||||
typedef mbed::ScopedLock<LoRaWANInterface> Lock;
|
||||
|
||||
/** LoRaWANStack object
|
||||
*
|
||||
* Handle for the LoRaWANStack class
|
||||
*/
|
||||
LoRaWANStack _lw_stack;
|
||||
|
||||
/** PHY object if created by LoRaWANInterface
|
||||
|
@ -546,3 +574,4 @@ private:
|
|||
};
|
||||
|
||||
#endif /* LORAWANINTERFACE_H_ */
|
||||
/** @}*/
|
||||
|
|
|
@ -53,6 +53,9 @@
|
|||
|
||||
class LoRaPHY;
|
||||
|
||||
/** LoRaWANStack Class
|
||||
* A controller layer for LoRaWAN MAC and PHY
|
||||
*/
|
||||
class LoRaWANStack: private mbed::NonCopyable<LoRaWANStack> {
|
||||
|
||||
public:
|
||||
|
|
|
@ -56,6 +56,9 @@
|
|||
|
||||
#include "platform/ScopedLock.h"
|
||||
|
||||
/** LoRaMac Class
|
||||
* Implementation of LoRaWAN MAC layer
|
||||
*/
|
||||
class LoRaMac {
|
||||
|
||||
public:
|
||||
|
|
|
@ -51,6 +51,9 @@
|
|||
|
||||
class LoRaMac;
|
||||
|
||||
/** LoRaMacCommand Class
|
||||
* Helper class for LoRaMac layer to handle any MAC commands
|
||||
*/
|
||||
class LoRaMacCommand {
|
||||
|
||||
public:
|
||||
|
|
|
@ -40,6 +40,9 @@
|
|||
#include "LoRaRadio.h"
|
||||
#include "lora_phy_ds.h"
|
||||
|
||||
/** LoRaPHY Class
|
||||
* Parent class for LoRa regional PHY implementations
|
||||
*/
|
||||
class LoRaPHY : private mbed::NonCopyable<LoRaPHY> {
|
||||
|
||||
public:
|
||||
|
|
|
@ -32,6 +32,8 @@
|
|||
#ifndef MBED_OS_LORAPHY_AS923_H_
|
||||
#define MBED_OS_LORAPHY_AS923_H_
|
||||
|
||||
#if !(DOXYGEN_ONLY)
|
||||
|
||||
#include "LoRaPHY.h"
|
||||
|
||||
/*!
|
||||
|
@ -46,7 +48,6 @@
|
|||
|
||||
#define AS923_CHANNEL_MASK_SIZE 1
|
||||
|
||||
|
||||
class LoRaPHYAS923 : public LoRaPHY {
|
||||
|
||||
public:
|
||||
|
@ -68,4 +69,5 @@ private:
|
|||
uint16_t default_channel_mask[AS923_CHANNEL_MASK_SIZE];
|
||||
};
|
||||
|
||||
#endif /* DOXYGEN_ONLY*/
|
||||
#endif /* MBED_OS_LORAPHY_AS923_H_ */
|
||||
|
|
|
@ -33,6 +33,8 @@
|
|||
|
||||
#define MBED_OS_LORAPHY_AU915_H_
|
||||
|
||||
#if !(DOXYGEN_ONLY)
|
||||
|
||||
#include "LoRaPHY.h"
|
||||
|
||||
// Definitions
|
||||
|
@ -48,7 +50,6 @@
|
|||
|
||||
#define AU915_CHANNEL_MASK_SIZE 5
|
||||
|
||||
|
||||
class LoRaPHYAU915 : public LoRaPHY {
|
||||
|
||||
public:
|
||||
|
@ -126,4 +127,6 @@ private:
|
|||
uint16_t default_channel_mask[AU915_CHANNEL_MASK_SIZE];
|
||||
};
|
||||
|
||||
#endif /* DOXYGEN_ONLY*/
|
||||
#endif /* MBED_OS_LORAPHY_AU915_H_ */
|
||||
|
||||
|
|
|
@ -32,6 +32,8 @@
|
|||
#ifndef MBED_OS_LORAPHY_CN470_H_
|
||||
#define MBED_OS_LORAPHY_CN470_H_
|
||||
|
||||
#if !(DOXYGEN_ONLY)
|
||||
|
||||
#include "LoRaPHY.h"
|
||||
|
||||
// Definitions
|
||||
|
@ -94,4 +96,5 @@ private:
|
|||
uint16_t default_channel_mask[CN470_CHANNEL_MASK_SIZE];
|
||||
};
|
||||
|
||||
#endif /* DOXYGEN_ONLY*/
|
||||
#endif /* MBED_OS_LORAPHY_CN470_H_ */
|
||||
|
|
|
@ -32,6 +32,8 @@
|
|||
#ifndef MBED_OS_LORAPHY_CN779_H_
|
||||
#define MBED_OS_LORAPHY_CN779_H_
|
||||
|
||||
#if !(DOXYGEN_ONLY)
|
||||
|
||||
#include "LoRaPHY.h"
|
||||
|
||||
#define CN779_MAX_NB_CHANNELS 16
|
||||
|
@ -70,4 +72,5 @@ private:
|
|||
uint16_t default_channel_mask[CN779_CHANNEL_MASK_SIZE];
|
||||
};
|
||||
|
||||
#endif /* DOXYGEN_ONLY*/
|
||||
#endif /* MBED_OS_LORAPHY_CN779_H_ */
|
||||
|
|
|
@ -32,6 +32,8 @@
|
|||
#ifndef MBED_OS_LORAPHY_EU433_H_
|
||||
#define MBED_OS_LORAPHY_EU433_H_
|
||||
|
||||
#if !(DOXYGEN_ONLY)
|
||||
|
||||
#include "LoRaPHY.h"
|
||||
|
||||
/*!
|
||||
|
@ -76,5 +78,5 @@ private:
|
|||
uint16_t default_channel_mask[EU433_CHANNEL_MASK_SIZE];
|
||||
};
|
||||
|
||||
|
||||
#endif /* DOXYGEN_ONLY*/
|
||||
#endif /* MBED_OS_LORAPHY_EU433_H_ */
|
||||
|
|
|
@ -32,6 +32,8 @@
|
|||
#ifndef MBED_OS_LORAPHY_EU868_H_
|
||||
#define MBED_OS_LORAPHY_EU868_H_
|
||||
|
||||
#if !(DOXYGEN_ONLY)
|
||||
|
||||
#include "LoRaPHY.h"
|
||||
|
||||
/*!
|
||||
|
@ -79,4 +81,5 @@ private:
|
|||
uint16_t default_channel_mask[EU868_CHANNEL_MASK_SIZE];
|
||||
};
|
||||
|
||||
#endif /* DOXYGEN_ONLY*/
|
||||
#endif /* MBED_OS_LORAPHY_EU868_H_ */
|
||||
|
|
|
@ -32,8 +32,9 @@
|
|||
#ifndef MBED_OS_LORAPHY_IN865_H_
|
||||
#define MBED_OS_LORAPHY_IN865_H_
|
||||
|
||||
#include "LoRaPHY.h"
|
||||
#if !(DOXYGEN_ONLY)
|
||||
|
||||
#include "LoRaPHY.h"
|
||||
|
||||
/*!
|
||||
* LoRaMac maximum number of channels
|
||||
|
@ -79,4 +80,5 @@ private:
|
|||
uint16_t default_channel_mask[IN865_CHANNEL_MASK_SIZE];
|
||||
};
|
||||
|
||||
#endif /* DOXYGEN_ONLY */
|
||||
#endif /* MBED_OS_LORAPHY_IN865_H_ */
|
||||
|
|
|
@ -32,6 +32,8 @@
|
|||
#ifndef MBED_OS_LORAPHY_KR920_H_
|
||||
#define MBED_OS_LORAPHY_KR920_H_
|
||||
|
||||
#if !(DOXYGEN_ONLY)
|
||||
|
||||
#include "LoRaPHY.h"
|
||||
|
||||
/*!
|
||||
|
@ -92,5 +94,6 @@ private:
|
|||
uint16_t default_channel_mask[KR920_CHANNEL_MASK_SIZE];
|
||||
};
|
||||
|
||||
#endif /* DOXYGEN_ONLY */
|
||||
#endif // MBED_OS_LORAPHY_KR920_H_
|
||||
|
||||
|
|
|
@ -32,6 +32,8 @@
|
|||
#ifndef MBED_OS_LORAPHYUS_915_H_
|
||||
#define MBED_OS_LORAPHYUS_915_H_
|
||||
|
||||
#if !(DOXYGEN_ONLY)
|
||||
|
||||
#include "LoRaPHY.h"
|
||||
|
||||
/*!
|
||||
|
@ -129,4 +131,5 @@ private:
|
|||
uint16_t default_channel_mask[US915_CHANNEL_MASK_SIZE];
|
||||
};
|
||||
|
||||
#endif /* DOXYGEN_ONLY */
|
||||
#endif /* MBED_OS_LORAPHY_US915_H_ */
|
||||
|
|
|
@ -480,21 +480,29 @@ typedef struct continuous_wave_mode_params_s {
|
|||
uint16_t timeout;
|
||||
} cw_mode_params_t;
|
||||
|
||||
/*!
|
||||
* Template for a table
|
||||
*/
|
||||
typedef struct {
|
||||
void *table;
|
||||
uint8_t size;
|
||||
} loraphy_table_t;
|
||||
|
||||
/*!
|
||||
* Contains information regarding channel configuration of
|
||||
* a given PHY
|
||||
*/
|
||||
typedef struct {
|
||||
|
||||
uint8_t channel_list_size;
|
||||
uint8_t mask_size;
|
||||
|
||||
uint16_t *mask;
|
||||
uint16_t *default_mask;
|
||||
channel_params_t *channel_list;
|
||||
} loraphy_channels_t;
|
||||
|
||||
/*!
|
||||
* Global configuration parameters of a given PHY
|
||||
*/
|
||||
typedef struct {
|
||||
bool duty_cycle_enabled;
|
||||
bool accept_tx_param_setup_req;
|
||||
|
|
|
@ -1040,6 +1040,9 @@ typedef struct {
|
|||
int timer_id;
|
||||
} timer_event_t;
|
||||
|
||||
/*!
|
||||
* A composite structure containing device identifiers and security keys
|
||||
*/
|
||||
typedef struct {
|
||||
/*!
|
||||
* Device IEEE EUI
|
||||
|
@ -1070,6 +1073,9 @@ typedef struct {
|
|||
|
||||
} loramac_keys;
|
||||
|
||||
/*!
|
||||
* A composite structure containing all the timers used in the LoRaWAN operation
|
||||
*/
|
||||
typedef struct {
|
||||
/*!
|
||||
* Aggregated duty cycle management
|
||||
|
@ -1107,6 +1113,9 @@ typedef struct {
|
|||
|
||||
} lorawan_timers;
|
||||
|
||||
/*!
|
||||
* Global MAC layer configuration parameters
|
||||
*/
|
||||
typedef struct {
|
||||
|
||||
/*!
|
||||
|
|
Loading…
Reference in New Issue