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