Non puoi selezionare più di 25 argomenti Gli argomenti devono iniziare con una lettera o un numero, possono includere trattini ('-') e possono essere lunghi fino a 35 caratteri.
 
 
 
 

83 righe
2.5 KiB

  1. /*******************************************************************************
  2. * *
  3. * Copyright 2010 Rheinmetall Canada Inc. *
  4. * *
  5. * No part of this document may be reproduced, stored in *
  6. * a retrieval system, or transmitted, in any form or by any means, *
  7. * electronic, mechanical, photocopying, recording, or otherwise, *
  8. * without the prior written permission of Rheinmetall Canada Inc. *
  9. * *
  10. *******************************************************************************/
  11. /*
  12. Description:
  13. This is a template file for standard C header file.
  14. */
  15. /* ************************************************************************** */
  16. /* Revision:
  17. 000 20100616 HCAM
  18. Original version.
  19. ### YYYYMMDD Initial, Bug Identification
  20. Change description.
  21. */
  22. #ifndef TIMER_H
  23. #define TIMER_H
  24. /* ************************************************************************** */
  25. /* Includes */
  26. #include "define.h"
  27. /* ************************************************************************** */
  28. /* Defines */
  29. /* ************************************************************************** */
  30. /* Type definitions */
  31. typedef enum
  32. {
  33. HEARTBEAT_LED_TMR = 0,
  34. SLEEP_FCN_TIMER,
  35. WIFI_RECONNECT_TIMER,
  36. WIFI_TICK_TIMER,
  37. SYSLOG_TX_TIMER,
  38. BOOTLOADER_FLASH_POLL_TIMER,
  39. BUREAU_VOLUME_TRANSDUCER_TIMER,
  40. CUISINE_VOLUME_TRANSDUCER_TIMER,
  41. CONSOLE_IF_CONNECT_TIMER,
  42. PUSHBTN_DEBOUNCE_TIMER,
  43. LED_EFFECT_TIMER,
  44. TIMER_MAX_ID
  45. }eTimerID;
  46. typedef struct
  47. {
  48. unsigned int uiStart;
  49. unsigned int uiMillisecCounter;
  50. unsigned int uiSecondCounter;
  51. unsigned int uiPeriodMillisec;
  52. unsigned int uiPeriodSecond;
  53. bool bRunning;
  54. } stTimer;
  55. /* ************************************************************************** */
  56. /* Prototypes */
  57. void TimerInit(void);
  58. int IsMilliSecTimerExpired(eTimerID p_eTimerID);
  59. int IsSecTimerExpired(eTimerID p_eTimerID);
  60. int IsTimerExpired(eTimerID p_eTimerID);
  61. void TimerStart(eTimerID p_eTimerID, unsigned int p_uiPeriod);
  62. void TimerStartSeconds(eTimerID p_eTimerID, unsigned int p_uiPeriod);
  63. void TimerStop(eTimerID p_eTimerID);
  64. void TimerReset(eTimerID p_eTimerID);
  65. bool IsTimerRunning(eTimerID p_eTimerID);
  66. void Sleep(unsigned int millisecs);
  67. #endif
  68. //EOF