diff options
Diffstat (limited to 'libs/Timer/include/Timer.h')
-rw-r--r-- | libs/Timer/include/Timer.h | 112 |
1 files changed, 112 insertions, 0 deletions
diff --git a/libs/Timer/include/Timer.h b/libs/Timer/include/Timer.h new file mode 100644 index 0000000..a443bb6 --- /dev/null +++ b/libs/Timer/include/Timer.h @@ -0,0 +1,112 @@ +//////////////////////////////////////////////////////////////////////////////// +/// +/// @file Timer.h +/// +/// @project +/// +/// @brief Timer Support Routines +/// +//////////////////////////////////////////////////////////////////////////////// +/// +//////////////////////////////////////////////////////////////////////////////// +/// +/// @copyright Copyright (c) 2020, Evan Lojewski +/// @cond +/// +/// All rights reserved. +/// +/// Redistribution and use in source and binary forms, with or without +/// modification, are permitted provided that the following conditions are met: +/// 1. Redistributions of source code must retain the above copyright notice, +/// this list of conditions and the following disclaimer. +/// 2. Redistributions in binary form must reproduce the above copyright notice, +/// this list of conditions and the following disclaimer in the documentation +/// and/or other materials provided with the distribution. +/// 3. Neither the name of the copyright holder nor the +/// names of its contributors may be used to endorse or promote products +/// derived from this software without specific prior written permission. +/// +//////////////////////////////////////////////////////////////////////////////// +/// +/// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" +/// AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE +/// IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE +/// ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE +/// LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR +/// CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF +/// SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS +/// INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN +/// CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) +/// ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE +/// POSSIBILITY OF SUCH DAMAGE. +/// @endcond +//////////////////////////////////////////////////////////////////////////////// +#ifndef TIMER_H +#define TIMER_H + +#include <types.h> + +/** + * @fn uint32_t Timer_getCurrentTime10Hz(void); + * + * @brief Returns the current time for the 10Hz timer. + * + * @returns The current 10Hz time + */ +uint32_t Timer_getCurrentTime10Hz(void); + +/** + * @fn bool Timer_didTimeElapsed10Hz(uint32_t startTime, uint32_t checkTime); + * + * @brief DEtermines if the specified time has elapsed. + * + * @param startTime The start time to compare with + * @param checkTime The delta minimum time required to elapse. + * + * @returns true if the time has elapsed, false otherwise. + */ +bool Timer_didTimeElapsed10Hz(uint32_t startTime, uint32_t checkTime); + +/** + * @fn uint32_t Timer_getCurrentTime1KHz(void); + * + * @brief Returns the current time for the 1KHz timer. + * + * @returns The current 1KHz time + */ +uint32_t Timer_getCurrentTime1KHz(void); + +/** + * @fn bool Timer_didTimeElapsed1KHz(uint32_t startTime, uint32_t checkTime); + * + * @brief DEtermines if the specified time has elapsed. + * + * @param startTime The start time to compare with + * @param checkTime The delta minimum time required to elapse. + * + * @returns true if the time has elapsed, false otherwise. + */ +bool Timer_didTimeElapsed1KHz(uint32_t startTime, uint32_t checkTime); + +/** + * @fn uint32_t Timer_getCurrentTime1MHz(void); + * + * @brief Returns the current time for the 1MHz timer. + * + * @returns The current 1MHz time + */ +uint32_t Timer_getCurrentTime1MHz(void); + +/** + * @fn bool Timer_didTimeElapsed1MHz(uint32_t startTime, uint32_t checkTime); + * + * @brief DEtermines if the specified time has elapsed. + * + * @param startTime The start time to compare with + * @param checkTime The delta minimum time required to elapse. + * + * @returns true if the time has elapsed, false otherwise. + */ +bool Timer_didTimeElapsed1MHz(uint32_t startTime, uint32_t checkTime); + +#endif /* TIMER_H */ |