EE445M RTOS
Taken at the University of Texas Spring 2015
timerpp.hpp
Go to the documentation of this file.
1 /* -*- mode: c++; c-basic-offset: 4; -*- */
2 /* Created by Hershal Bhave and Eric Crosson 2015-04-19 */
3 /* Revision history: Look in Git FGT */
4 #ifndef __timerpp__
5 #define __timerpp__
6 
7 #include <stdint.h>
8 #include <stdbool.h>
9 
10 #include "interruptable.hpp"
11 
12 #include "driverlib/pin_map.h"
13 #include "driverlib/timer.h"
14 #include "driverlib/sysctl.h"
15 
20 typedef uint8_t timer_t;
21 typedef uint32_t subtimer_t;
22 typedef uint32_t reload_t;
23 
24 const uint32_t TIMER_DEFAULT_PRIORITY = 0;
25 
26 class timer : public interruptable {
27 private:
30 
32  uint32_t base;
33 
36 
39 
42  uint32_t configuration;
43 
46  uint32_t interrupt;
47 
48 public:
49 
50  timer();
51  timer(timer_t timer_id, subtimer_t timer_subtimer,
52  uint32_t timer_configuration, reload_t timer_load_val,
53  uint32_t timer_interrupt, bool timer_start = false);
54 
56  virtual void start();
57 
59  virtual void stop();
60 
62  virtual uint32_t ack();
63 
64  virtual uint32_t get();
65 
66  const subtimer_t get_subtimer();
67 
68  const uint32_t get_base();
69 
71  void reload(void);
72  void load(uint32_t load_value);
73 };
74 
75 #endif
76 
77 /* End Doxygen group
78  * @}
79  */
80 
81 /* Local Variables: */
82 /* firestarter: (compile "make -k -j32 -C ~/workspace/ee445m-labs/build/") */
83 /* End: */
void load(uint32_t load_value)
Definition: timerpp.cpp:47
void reload(void)
Definition: timerpp.cpp:42
uint8_t timer_t
Definition: timerpp.hpp:20
timer()
Definition: timerpp.cpp:10
const uint32_t get_base()
Definition: timerpp.cpp:109
reload_t reload_value
Definition: timerpp.hpp:38
const uint32_t TIMER_DEFAULT_PRIORITY
Definition: timerpp.hpp:24
uint32_t configuration
Definition: timerpp.hpp:42
uint32_t interrupt
Definition: timerpp.hpp:46
virtual uint32_t ack()
Definition: timerpp.cpp:74
virtual void start()
Definition: timerpp.cpp:62
uint32_t subtimer_t
Definition: timerpp.hpp:21
timer_t id
Definition: timerpp.hpp:29
uint32_t base
Definition: timerpp.hpp:32
subtimer_t subtimer
Definition: timerpp.hpp:35
const subtimer_t get_subtimer()
Definition: timerpp.cpp:105
uint32_t reload_t
Definition: timerpp.hpp:22
virtual void stop()
Definition: timerpp.cpp:68