Simple 6-LED bar library. Provides some useful functions.
Simple 6 leds bar library. It allows you to control individual leds, and provides masks.
6LedBar.cpp
- Committer:
- kryksyh
- Date:
- 2017-05-21
- Revision:
- 4:ecb39b6f0e18
- Parent:
- 1:248129e96f43
File content as of revision 4:ecb39b6f0e18:
#include "6LedBar.h" LedBar::LedBar(PinName p0, PinName p1, PinName p2, PinName p3, PinName p4, PinName p5) : l0(p0), l1(p1), l2(p2), l3(p3), l4(p4), l5(p5) { m_leds[0] = &l0; m_leds[1] = &l1; m_leds[2] = &l2; m_leds[3] = &l3; m_leds[4] = &l4; m_leds[5] = &l5; } void LedBar::on(int n) { if(n < LEDS_COUNT) { *(m_leds[n]) = 1; } } void LedBar::off(int n) { if(n < LEDS_COUNT) { *(m_leds[n]) = 0; } } void LedBar::toggle(int n) { if(n < LEDS_COUNT) { *(m_leds[n]) = ! (*m_leds[n]); } } void LedBar::on_mask(int m) { for(int i = 0; i < LEDS_COUNT; i++) { if(m & (1 << i)) { on(i); } } } void LedBar::off_mask(int m) { for(int i = 0; i < LEDS_COUNT; i++) { if(m & (1 << i)) { off(i); } } } void LedBar::toggle_mask(int m) { for(int i = 0; i < LEDS_COUNT; i++) { if(m & (1 << i)) { toggle(i); } } } void LedBar::set_mask(int m) { for(int i = 0; i < LEDS_COUNT; i++) { if(m & (1 << i)) { on(i); } else { off(i); } } }