PropWare
C++ objects and CMake build system for Parallax Propeller
|
Flexible port that can have any pin enabled or disabled. Pins are independent of each other. More...
#include <port.h>
Public Types | |
enum | Mask { P0 = BIT_0, P1 = BIT_1, P2 = BIT_2, P3 = BIT_3, P4 = BIT_4, P5 = BIT_5, P6 = BIT_6, P7 = BIT_7, P8 = BIT_8, P9 = BIT_9, P10 = BIT_10, P11 = BIT_11, P12 = BIT_12, P13 = BIT_13, P14 = BIT_14, P15 = BIT_15, P16 = BIT_16, P17 = BIT_17, P18 = BIT_18, P19 = BIT_19, P20 = BIT_20, P21 = BIT_21, P22 = BIT_22, P23 = BIT_23, P24 = BIT_24, P25 = BIT_25, P26 = BIT_26, P27 = BIT_27, P28 = BIT_28, P29 = BIT_29, P30 = BIT_30, P31 = BIT_31, NULL_PIN = 0 } |
enum | Dir { IN = 0, OUT = -1 } |
Public Member Functions | |
Port () | |
Instantiate a NULL instance. | |
Port (const uint32_t portMask) | |
Port (const uint32_t portMask, const PropWare::Port::Dir direction) | |
void | set_mask (const uint32_t mask) |
Set the mask for this port. More... | |
uint32_t | get_mask () const |
Return the full pin mask of all pins in the port. More... | |
void | add_pins (const uint32_t mask) |
Add pins to the current mask. More... | |
void | set_dir (const PropWare::Port::Dir direction) const |
Set port as either input or output. More... | |
PropWare::Port::Dir | get_dir () const |
Determine the direction this port is currently set to. More... | |
void | set_dir_out () const |
Set the port for output. | |
void | set_dir_in () const |
Set the port for input. | |
void | set () const |
Set selected output port high (set all pins to 1) More... | |
void | high () const |
void | on () const |
void | clear () const |
Clear selected output port (set it to 0) More... | |
void | low () const |
void | off () const |
void | toggle () const |
Toggle the output value of a port. More... | |
void | write_fast (const uint32_t value) const |
Allow easy writing to a port w/o destroying data elsewhere in the port; No shift is performed to align data with the desired output pins. More... | |
uint32_t | read_fast () const |
Allow easy reading of only selected pins from a port. More... | |
Static Public Member Functions | |
static uint8_t | convert (Port::Mask mask) |
Determine which pin number based on a pin mask. More... | |
static Port::Mask | convert (const uint8_t pinNum) |
Return a PropWare::Pin::Mask type based on a pin number. More... | |
static void | flash_port (const uint32_t pinMask, uint32_t iterations=10) |
Great for quick debugging to ensure a line of code is executed, this will quickly flash a given set of pins a specific number of times. More... | |
Flexible port that can have any pin enabled or disabled. Pins are independent of each other.
enum PropWare::Port::Dir |
enum PropWare::Port::Mask |
Bit-mask of GPIO pins
PropWare::Port::Port | ( | const uint32_t | portMask | ) |
PropWare::Port::Port | ( | const uint32_t | portMask, |
const PropWare::Port::Dir | direction | ||
) |
[in] | portMask | Each bit set high represents a Pin on the port |
[in] | direction | One of PropWare::Port::OUT or PropWare::Port::IN |
Definition at line 160 of file port.h.
void PropWare::Port::add_pins | ( | const uint32_t | mask | ) |
void PropWare::Port::clear | ( | void | ) | const |
Clear selected output port (set it to 0)
Definition at line 256 of file port.h.
|
static |
Determine which pin number based on a pin mask.
[in] | mask | Value with only a single bit set high representing Propeller pin (i.e.: 0x80 would be pin 7) |
Definition at line 95 of file port.h.
|
static |
Return a PropWare::Pin::Mask type based on a pin number.
[in] | pinNum | PinNum number |
|
static |
Great for quick debugging to ensure a line of code is executed, this will quickly flash a given set of pins a specific number of times.
[in] | pinMask | Pins that should be flashed |
[in] | iterations | Number of times that the pins should flicker on and back off again |
Definition at line 129 of file port.h.
PropWare::Port::Dir PropWare::Port::get_dir | ( | ) | const |
Determine the direction this port is currently set to.
uint32_t PropWare::Port::get_mask | ( | ) | const |
void PropWare::Port::high | ( | void | ) | const |
void PropWare::Port::low | ( | void | ) | const |
Definition at line 263 of file port.h.
void PropWare::Port::off | ( | ) | const |
Definition at line 270 of file port.h.
void PropWare::Port::on | ( | ) | const |
uint32_t PropWare::Port::read_fast | ( | ) | const |
void PropWare::Port::set | ( | ) | const |
Set selected output port high (set all pins to 1)
Definition at line 233 of file port.h.
void PropWare::Port::set_dir | ( | const PropWare::Port::Dir | direction | ) | const |
Set port as either input or output.
[in] | direction | I/O direction to set selected pins; must be one of PropWare::Port::IN or PropWare::Port::OUT |
Definition at line 198 of file port.h.
void PropWare::Port::set_mask | ( | const uint32_t | mask | ) |
void PropWare::Port::toggle | ( | void | ) | const |
Toggle the output value of a port.
Definition at line 279 of file port.h.
void PropWare::Port::write_fast | ( | const uint32_t | value | ) | const |