EE445M RTOS
Taken at the University of Texas Spring 2015
blinker.cpp
Go to the documentation of this file.
1 /* -*- mode: c++; c-basic-offset: 4; -*- */
2 /* Created by Hershal Bhave on <2015-03-15 Sun> */
3 /* Revision History: Look in git FGT */
4 
5 #include "blinker.hpp"
6 #include "ctlsysctl.hpp"
7 
9 
11  set_base(port_base);
12 }
13 
14 blinker::blinker(port_t port_base, port_t output_pins) {
15 
16  set_base(port_base);
17 
18  ctlsys::enable_periph(port_base);
19  GPIOPinTypeGPIOOutput(port_base, output_pins);
20 }
21 
22 void blinker::set_base(port_t port_base) {
23  this->port_base = port_base;
24 }
25 
27  GPIOPinWrite(port_base, pin, pin);
28 }
29 
31  GPIOPinWrite(port_base, pin, 0);
32 }
33 
35  GPIOPinWrite(port_base, pin, pin ^ GPIOPinRead(port_base, pin));
36 }
37 
38 void blinker::blink(pin_t pin) {
39  GPIOPinWrite(port_base, pin, pin ^ GPIOPinRead(port_base, pin));
40  GPIOPinWrite(port_base, pin, pin ^ GPIOPinRead(port_base, pin));
41 }
uint32_t port_base
Definition: blinker.hpp:34
blinker()
Definition: blinker.cpp:8
uint32_t pin_t
uint32_t port_t
virtual void turn_off(pin_t pin)
Definition: blinker.cpp:30
virtual void blink(pin_t pin)
Definition: blinker.cpp:38
virtual void set_base(port_t port)
Definition: blinker.cpp:22
virtual void turn_on(pin_t pin)
Definition: blinker.cpp:26
virtual void toggle(pin_t pin)
Definition: blinker.cpp:34
static void enable_periph(uint32_t sys_periph)
Definition: ctlsysctl.hpp:24