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 MultiTech

Committer:
ruairisdad
Date:
Fri Aug 07 19:22:28 2015 +0000
Revision:
3:321cf5e5b89b
Parent:
1:e52ae6584f1c
AT command firmware with updated libmDot to fix endian problem when connecting to LoRaWAN Gateways

Who changed what in which revision?

UserRevisionLine numberNew contents of line
mfiore 0:e2b8246361bc 1 #ifndef __WAKEUP_H__
mfiore 0:e2b8246361bc 2 #define __WAKEUP_H__
mfiore 0:e2b8246361bc 3
mfiore 0:e2b8246361bc 4 #include <inttypes.h>
mfiore 0:e2b8246361bc 5
mfiore 0:e2b8246361bc 6 uint32_t RTC_ReadBackupRegister(uint32_t RTC_BKP_DR);
mfiore 0:e2b8246361bc 7
mfiore 0:e2b8246361bc 8 void RTC_WriteBackupRegister(uint32_t RTC_BKP_DR, uint32_t Data);
mfiore 0:e2b8246361bc 9
mfiore 0:e2b8246361bc 10 static RTC_HandleTypeDef RtcHandle;
mfiore 0:e2b8246361bc 11
mfiore 0:e2b8246361bc 12 uint32_t wakeup_init(uint32_t seconds);
mfiore 0:e2b8246361bc 13
mfiore 0:e2b8246361bc 14 void wakeup_clear(void);
mfiore 0:e2b8246361bc 15
mfiore 0:e2b8246361bc 16
mfiore 0:e2b8246361bc 17 #ifndef TM_WATCHDOG_H
mfiore 0:e2b8246361bc 18 #define TM_WATCHDOG_H 110
mfiore 0:e2b8246361bc 19 /**
mfiore 0:e2b8246361bc 20 * * @addtogroup TM_STM32F4xx_Libraries
mfiore 0:e2b8246361bc 21 * * @{
mfiore 0:e2b8246361bc 22 * */
mfiore 0:e2b8246361bc 23
mfiore 0:e2b8246361bc 24 /**
mfiore 0:e2b8246361bc 25 * * @defgroup TM_WATCHDOG
mfiore 0:e2b8246361bc 26 * * @brief Independent Watchdog timer for STM32F4xx - http://stm32f4-discovery.com/2014/07/library-20-independent-watchdog-timer-on-stm32f4xx/
mfiore 0:e2b8246361bc 27 * * @{
mfiore 0:e2b8246361bc 28 * *
mfiore 0:e2b8246361bc 29 * * \par Changelog
mfiore 0:e2b8246361bc 30 * *
mfiore 0:e2b8246361bc 31 * @verbatim
mfiore 0:e2b8246361bc 32 * Version 1.1
mfiore 0:e2b8246361bc 33 * - March 10, 2015
mfiore 0:e2b8246361bc 34 * - Support for STD/HAL drivers
mfiore 0:e2b8246361bc 35 * Version 1.0
mfiore 0:e2b8246361bc 36 * - First release
mfiore 0:e2b8246361bc 37 * @endverbatim
mfiore 0:e2b8246361bc 38 * *
mfiore 0:e2b8246361bc 39 * * \par Dependencies
mfiore 0:e2b8246361bc 40 * *
mfiore 0:e2b8246361bc 41 * @verbatim
mfiore 0:e2b8246361bc 42 * - STM32F4xx
mfiore 0:e2b8246361bc 43 * - defines.h
mfiore 0:e2b8246361bc 44 * @endverbatim
mfiore 0:e2b8246361bc 45 * */
mfiore 0:e2b8246361bc 46
mfiore 0:e2b8246361bc 47 /**
mfiore 0:e2b8246361bc 48 * * @defgroup TM_WATCHDOG_Typedefs
mfiore 0:e2b8246361bc 49 * * @brief Library Typedefs
mfiore 0:e2b8246361bc 50 * * @{
mfiore 0:e2b8246361bc 51 * */
mfiore 0:e2b8246361bc 52
mfiore 0:e2b8246361bc 53 /**
mfiore 0:e2b8246361bc 54 * * @brief Watchdog timeout settings
mfiore 0:e2b8246361bc 55 * */
mfiore 0:e2b8246361bc 56 typedef enum {
mfiore 0:e2b8246361bc 57 TM_WATCHDOG_Timeout_5ms, /*!< System reset called every 5ms */
mfiore 0:e2b8246361bc 58 TM_WATCHDOG_Timeout_10ms, /*!< System reset called every 10ms */
mfiore 0:e2b8246361bc 59 TM_WATCHDOG_Timeout_15ms, /*!< System reset called every 15ms */
mfiore 0:e2b8246361bc 60 TM_WATCHDOG_Timeout_30ms, /*!< System reset called every 30ms */
mfiore 0:e2b8246361bc 61 TM_WATCHDOG_Timeout_60ms, /*!< System reset called every 60ms */
mfiore 0:e2b8246361bc 62 TM_WATCHDOG_Timeout_120ms, /*!< System reset called every 120ms */
mfiore 0:e2b8246361bc 63 TM_WATCHDOG_Timeout_250ms, /*!< System reset called every 250ms */
mfiore 0:e2b8246361bc 64 TM_WATCHDOG_Timeout_500ms, /*!< System reset called every 500ms */
mfiore 0:e2b8246361bc 65 TM_WATCHDOG_Timeout_1s, /*!< System reset called every 1s */
mfiore 0:e2b8246361bc 66 TM_WATCHDOG_Timeout_2s, /*!< System reset called every 2s */
mfiore 0:e2b8246361bc 67 TM_WATCHDOG_Timeout_4s /*!< System reset called every 4s */
mfiore 0:e2b8246361bc 68 } TM_WATCHDOG_Timeout_t;
mfiore 0:e2b8246361bc 69
mfiore 0:e2b8246361bc 70 /**
mfiore 0:e2b8246361bc 71 * * @}
mfiore 0:e2b8246361bc 72 * */
mfiore 0:e2b8246361bc 73
mfiore 0:e2b8246361bc 74 /**
mfiore 0:e2b8246361bc 75 * * @defgroup TM_WATCHDOG_Functions
mfiore 0:e2b8246361bc 76 * * @brief Library Functions
mfiore 0:e2b8246361bc 77 * * @{
mfiore 0:e2b8246361bc 78 * */
mfiore 0:e2b8246361bc 79
mfiore 0:e2b8246361bc 80 /**
mfiore 0:e2b8246361bc 81 * * @brief Initialize Watchdog timer
mfiore 0:e2b8246361bc 82 * * @note After you initialize it, you can't disable it unless reset occur.
mfiore 0:e2b8246361bc 83 * * @param timeout. Timeout value when watchdog reset happen if not reset by user.
mfiore 0:e2b8246361bc 84 * * This parameter can be a value of @ref TM_WATCHDOG_Timeout_t enumeration
mfiore 0:e2b8246361bc 85 * * @retval Value if system was reset because of watchdog timer
mfiore 0:e2b8246361bc 86 * * - 1: Reset happen because of watchdog
mfiore 0:e2b8246361bc 87 * * - 0: Otherwise
mfiore 0:e2b8246361bc 88 * *
mfiore 0:e2b8246361bc 89 * */
mfiore 0:e2b8246361bc 90 uint8_t TM_WATCHDOG_Init(uint16_t reloa);
mfiore 0:e2b8246361bc 91
mfiore 0:e2b8246361bc 92 /**
mfiore 0:e2b8246361bc 93 * * @brief Reset Watchdog timer
mfiore 0:e2b8246361bc 94 * * @note This function have to be called periodically to reset watchdog timer, or your system will reset
mfiore 0:e2b8246361bc 95 * * @param None
mfiore 0:e2b8246361bc 96 * * @retval None
mfiore 0:e2b8246361bc 97 * */
mfiore 0:e2b8246361bc 98 void TM_WATCHDOG_Reset(void);
mfiore 0:e2b8246361bc 99
mfiore 0:e2b8246361bc 100 /**
mfiore 0:e2b8246361bc 101 * * @}
mfiore 0:e2b8246361bc 102 * */
mfiore 0:e2b8246361bc 103
mfiore 0:e2b8246361bc 104 /**
mfiore 0:e2b8246361bc 105 * * @}
mfiore 0:e2b8246361bc 106 * */
mfiore 0:e2b8246361bc 107
mfiore 0:e2b8246361bc 108 /**
mfiore 0:e2b8246361bc 109 * * @}
mfiore 0:e2b8246361bc 110 * */
mfiore 0:e2b8246361bc 111
mfiore 0:e2b8246361bc 112 #endif
mfiore 0:e2b8246361bc 113
Mike Fiore 1:e52ae6584f1c 114 #endif // __WAKEUP_H__