20171208
Dependencies: mbed simple-demo-76 LoRaWAN-lib_20171208 SX1276Lib_20171208
Fork of simple-demo-76 by
system/timer.h
- Committer:
- mluis
- Date:
- 2016-05-13
- Revision:
- 5:1e9f6a365854
- Parent:
- 1:352f608c3337
- Child:
- 7:3173f0508a98
File content as of revision 5:1e9f6a365854:
/* / _____) _ | | ( (____ _____ ____ _| |_ _____ ____| |__ \____ \| ___ | (_ _) ___ |/ ___) _ \ _____) ) ____| | | || |_| ____( (___| | | | (______/|_____)_|_|_| \__)_____)\____)_| |_| (C)2013 Semtech Description: Timer objects and scheduling management License: Revised BSD License, see LICENSE.TXT file include in the project Maintainer: Miguel Luis and Gregory Cristian */ #ifndef __TIMER_H__ #define __TIMER_H__ #include "mbed.h" /*! * \brief Timer object description */ typedef struct TimerEvent_s { uint32_t value; void ( *Callback )( void ); Ticker Timer; }TimerEvent_t; /*! * \brief Timer time variable definition */ #ifndef TimerTime_t typedef uint32_t TimerTime_t; #endif /*! * \brief Inializes the timer used to get current time. * * \remark Current time corresponds to the time since system startup */ void TimerTimeCounterInit( void ); /*! * \brief Initializes the timer object * * \remark TimerSetValue function must be called before starting the timer. * this function initializes timestamp and reload value at 0. * * \param [IN] obj Structure containing the timer object parameters * \param [IN] callback Function callback called at the end of the timeout */ void TimerInit( TimerEvent_t *obj, void ( *callback )( void ) ); /*! * \brief Starts and adds the timer object to the list of timer events * * \param [IN] obj Structure containing the timer object parameters */ void TimerStart( TimerEvent_t *obj ); /*! * \brief Stops and removes the timer object from the list of timer events * * \param [IN] obj Structure containing the timer object parameters */ void TimerStop( TimerEvent_t *obj ); /*! * \brief Resets the timer object * * \param [IN] obj Structure containing the timer object parameters */ void TimerReset( TimerEvent_t *obj ); /*! * \brief Set timer new timeout value * * \param [IN] obj Structure containing the timer object parameters * \param [IN] value New timer timeout value */ void TimerSetValue( TimerEvent_t *obj, uint32_t value ); /*! * \brief Read the current time * * \retval time returns current time */ TimerTime_t TimerGetCurrentTime( void ); /*! * \brief Return the Time elapsed since a fix moment in Time * * \param [IN] savedTime fix moment in Time * \retval time returns elapsed time */ TimerTime_t TimerGetElapsedTime( TimerTime_t savedTime ); /*! * \brief Return the Time elapsed since a fix moment in Time * * \param [IN] eventInFuture fix moment in the future * \retval time returns difference between now and future event */ TimerTime_t TimerGetFutureTime( TimerTime_t eventInFuture ); #endif // __TIMER_H__