Library for the LED Bar by Seeed Studio http://www.seeedstudio.com/depot/Grove-LED-Bar-p-1178.html

Dependents:   SensorExamples-mDS-Ethernet SensorNotifyLED SensorNotifyLED Seeed_Grove_Shield_LED_Bar ... more

Committer:
screamer
Date:
Wed Jul 30 10:27:21 2014 +0000
Revision:
0:edcb13b58b4f
Initial revision

Who changed what in which revision?

UserRevisionLine numberNew contents of line
screamer 0:edcb13b58b4f 1 /*
screamer 0:edcb13b58b4f 2 LED bar library V1.0
screamer 0:edcb13b58b4f 3 2010 Copyright (c) Seeed Technology Inc. All right reserved.
screamer 0:edcb13b58b4f 4
screamer 0:edcb13b58b4f 5 Original Author: LG
screamer 0:edcb13b58b4f 6 Modify: Loovee, 2014-2-26
screamer 0:edcb13b58b4f 7 User can choose which Io to be used.
screamer 0:edcb13b58b4f 8
screamer 0:edcb13b58b4f 9 This library is free software; you can redistribute it and/or
screamer 0:edcb13b58b4f 10 modify it under the terms of the GNU Lesser General Public
screamer 0:edcb13b58b4f 11 License as published by the Free Software Foundation; either
screamer 0:edcb13b58b4f 12 version 2.1 of the License, or (at your option) any later version.
screamer 0:edcb13b58b4f 13
screamer 0:edcb13b58b4f 14 This library is distributed in the hope that it will be useful,
screamer 0:edcb13b58b4f 15 but WITHOUT ANY WARRANTY; without even the implied warranty of
screamer 0:edcb13b58b4f 16 MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
screamer 0:edcb13b58b4f 17 Lesser General Public License for more details.
screamer 0:edcb13b58b4f 18
screamer 0:edcb13b58b4f 19 You should have received a copy of the GNU Lesser General Public
screamer 0:edcb13b58b4f 20 License along with this library; if not, write to the Free Software
screamer 0:edcb13b58b4f 21 Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA
screamer 0:edcb13b58b4f 22 */
screamer 0:edcb13b58b4f 23
screamer 0:edcb13b58b4f 24 #include "mbed.h"
screamer 0:edcb13b58b4f 25
screamer 0:edcb13b58b4f 26 #ifndef LED_Bar_H
screamer 0:edcb13b58b4f 27 #define LED_Bar_H
screamer 0:edcb13b58b4f 28
screamer 0:edcb13b58b4f 29 #define CMDMODE 0x0000 // Work on 8-bit mode
screamer 0:edcb13b58b4f 30 #define ON 0x00ff // 8-bit 1 data
screamer 0:edcb13b58b4f 31 #define SHUT 0x0000 // 8-bit 0 data
screamer 0:edcb13b58b4f 32
screamer 0:edcb13b58b4f 33 /**
screamer 0:edcb13b58b4f 34 * The LED_Bar interface
screamer 0:edcb13b58b4f 35 */
screamer 0:edcb13b58b4f 36 class LED_Bar
screamer 0:edcb13b58b4f 37 {
screamer 0:edcb13b58b4f 38
screamer 0:edcb13b58b4f 39 public:
screamer 0:edcb13b58b4f 40 LED_Bar(PinName pinClk, PinName pinDta);
screamer 0:edcb13b58b4f 41
screamer 0:edcb13b58b4f 42 /**
screamer 0:edcb13b58b4f 43 * Set led single bit, a bit contrl a led
screamer 0:edcb13b58b4f 44 * @param index_bits which bit. if 0x05, then led 0 and led 3 will on, the others will off
screamer 0:edcb13b58b4f 45 */
screamer 0:edcb13b58b4f 46 void ledIndexBit(unsigned int index_bits);
screamer 0:edcb13b58b4f 47
screamer 0:edcb13b58b4f 48 /**
screamer 0:edcb13b58b4f 49 * Set level, frm 0 to 10.
screamer 0:edcb13b58b4f 50 * @param level Level 0 means all leds off while level 5 means 5led on and the other will off
screamer 0:edcb13b58b4f 51 */
screamer 0:edcb13b58b4f 52 void setLevel(int level);
screamer 0:edcb13b58b4f 53
screamer 0:edcb13b58b4f 54 /**
screamer 0:edcb13b58b4f 55 * Control a single led
screamer 0:edcb13b58b4f 56 * @param num which led
screamer 0:edcb13b58b4f 57 * @param st 1: on 0: off
screamer 0:edcb13b58b4f 58 */
screamer 0:edcb13b58b4f 59 void setSingleLed(int num, int st);
screamer 0:edcb13b58b4f 60
screamer 0:edcb13b58b4f 61 private:
screamer 0:edcb13b58b4f 62 /**
screamer 0:edcb13b58b4f 63 * Pin for clock
screamer 0:edcb13b58b4f 64 */
screamer 0:edcb13b58b4f 65 DigitalOut __pinClk;
screamer 0:edcb13b58b4f 66
screamer 0:edcb13b58b4f 67 /**
screamer 0:edcb13b58b4f 68 * Pin for data
screamer 0:edcb13b58b4f 69 */
screamer 0:edcb13b58b4f 70 DigitalOut __pinDta;
screamer 0:edcb13b58b4f 71
screamer 0:edcb13b58b4f 72 /**
screamer 0:edcb13b58b4f 73 * LED State
screamer 0:edcb13b58b4f 74 */
screamer 0:edcb13b58b4f 75 unsigned int __led_state;
screamer 0:edcb13b58b4f 76
screamer 0:edcb13b58b4f 77 void send16bitData(unsigned int data);
screamer 0:edcb13b58b4f 78 void latchData(void);
screamer 0:edcb13b58b4f 79
screamer 0:edcb13b58b4f 80 };
screamer 0:edcb13b58b4f 81
screamer 0:edcb13b58b4f 82 #endif