52 lines
1.4 KiB
C
52 lines
1.4 KiB
C
|
/*
|
||
|
* Copyright (c) 2022 Intellinium <giuliano.franchetto@intellinium.com>
|
||
|
*
|
||
|
* SPDX-License-Identifier: Apache-2.0
|
||
|
*/
|
||
|
|
||
|
#ifndef ZEPHYR_SUBSYS_LORAWAN_NVM_H_
|
||
|
#define ZEPHYR_SUBSYS_LORAWAN_NVM_H_
|
||
|
|
||
|
#include <stdint.h>
|
||
|
|
||
|
/**
|
||
|
* @brief Hook function called when an interrupt related to NVM
|
||
|
* is received from the LoRaWAN stack.
|
||
|
*
|
||
|
* @note This function should not be called directly by the application
|
||
|
*
|
||
|
* @param flags OR'ed flags received with the interrupt
|
||
|
*
|
||
|
* @see LORAMAC_NVM_NOTIFY_FLAG_NONE
|
||
|
* @see LORAMAC_NVM_NOTIFY_FLAG_CRYPTO
|
||
|
* @see LORAMAC_NVM_NOTIFY_FLAG_MAC_GROUP1
|
||
|
* @see LORAMAC_NVM_NOTIFY_FLAG_MAC_GROUP2
|
||
|
* @see LORAMAC_NVM_NOTIFY_FLAG_SECURE_ELEMENT
|
||
|
* @see LORAMAC_NVM_NOTIFY_FLAG_REGION_GROUP1
|
||
|
* @see LORAMAC_NVM_NOTIFY_FLAG_REGION_GROUP2
|
||
|
* @see LORAMAC_NVM_NOTIFY_FLAG_CLASS_B
|
||
|
*/
|
||
|
void lorawan_nvm_data_mgmt_event(uint16_t flags);
|
||
|
|
||
|
/**
|
||
|
* @brief Restores all the relevant LoRaWAN data from the Non-Volatile Memory.
|
||
|
*
|
||
|
* @note This function should only be called if a NVM has been enabled, and
|
||
|
* not directly by the application.
|
||
|
*
|
||
|
* @return 0 on success, or a negative error code otherwise
|
||
|
*/
|
||
|
int lorawan_nvm_data_restore(void);
|
||
|
|
||
|
/**
|
||
|
* @brief Initializes the NVM backend
|
||
|
*
|
||
|
* @note This function shall be called before any other
|
||
|
* NVM back functions.
|
||
|
*
|
||
|
* @return 0 on success, or a negative error code otherwise
|
||
|
*/
|
||
|
int lorawan_nvm_init(void);
|
||
|
|
||
|
#endif /* ZEPHYR_SUBSYS_LORAWAN_NVM_H_ */
|