AT Command Set mDot firmware with updated libmDot, to fix endian problem with joining LoRaWAN network
Dependencies: MTS-Serial libmDot mbed-rtos mbed-src
Fork of mDot_AT_firmware by
Diff: wakeup.h
- Revision:
- 0:e2b8246361bc
- Child:
- 1:e52ae6584f1c
--- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/wakeup.h Thu Jun 25 14:52:56 2015 +0000 @@ -0,0 +1,114 @@ +#ifndef __WAKEUP_H__ +#define __WAKEUP_H__ + +#include <inttypes.h> + +uint32_t RTC_ReadBackupRegister(uint32_t RTC_BKP_DR); + +void RTC_WriteBackupRegister(uint32_t RTC_BKP_DR, uint32_t Data); + +static RTC_HandleTypeDef RtcHandle; + +uint32_t wakeup_init(uint32_t seconds); + +void wakeup_clear(void); + + +#ifndef TM_WATCHDOG_H +#define TM_WATCHDOG_H 110 +/** + * * @addtogroup TM_STM32F4xx_Libraries + * * @{ + * */ + +/** + * * @defgroup TM_WATCHDOG + * * @brief Independent Watchdog timer for STM32F4xx - http://stm32f4-discovery.com/2014/07/library-20-independent-watchdog-timer-on-stm32f4xx/ + * * @{ + * * + * * \par Changelog + * * + * @verbatim + * Version 1.1 + * - March 10, 2015 + * - Support for STD/HAL drivers + * Version 1.0 + * - First release + * @endverbatim + * * + * * \par Dependencies + * * + * @verbatim + * - STM32F4xx + * - defines.h + * @endverbatim + * */ + +/** + * * @defgroup TM_WATCHDOG_Typedefs + * * @brief Library Typedefs + * * @{ + * */ + +/** + * * @brief Watchdog timeout settings + * */ +typedef enum { + TM_WATCHDOG_Timeout_5ms, /*!< System reset called every 5ms */ + TM_WATCHDOG_Timeout_10ms, /*!< System reset called every 10ms */ + TM_WATCHDOG_Timeout_15ms, /*!< System reset called every 15ms */ + TM_WATCHDOG_Timeout_30ms, /*!< System reset called every 30ms */ + TM_WATCHDOG_Timeout_60ms, /*!< System reset called every 60ms */ + TM_WATCHDOG_Timeout_120ms, /*!< System reset called every 120ms */ + TM_WATCHDOG_Timeout_250ms, /*!< System reset called every 250ms */ + TM_WATCHDOG_Timeout_500ms, /*!< System reset called every 500ms */ + TM_WATCHDOG_Timeout_1s, /*!< System reset called every 1s */ + TM_WATCHDOG_Timeout_2s, /*!< System reset called every 2s */ + TM_WATCHDOG_Timeout_4s /*!< System reset called every 4s */ +} TM_WATCHDOG_Timeout_t; + +/** + * * @} + * */ + +/** + * * @defgroup TM_WATCHDOG_Functions + * * @brief Library Functions + * * @{ + * */ + +/** + * * @brief Initialize Watchdog timer + * * @note After you initialize it, you can't disable it unless reset occur. + * * @param timeout. Timeout value when watchdog reset happen if not reset by user. + * * This parameter can be a value of @ref TM_WATCHDOG_Timeout_t enumeration + * * @retval Value if system was reset because of watchdog timer + * * - 1: Reset happen because of watchdog + * * - 0: Otherwise + * * + * */ +uint8_t TM_WATCHDOG_Init(uint16_t reloa); + +/** + * * @brief Reset Watchdog timer + * * @note This function have to be called periodically to reset watchdog timer, or your system will reset + * * @param None + * * @retval None + * */ +void TM_WATCHDOG_Reset(void); + +/** + * * @} + * */ + +/** + * * @} + * */ + +/** + * * @} + * */ + +#endif + +#endif // __WAKEUP_H__ \ No newline at end of file