Update to work with Grove

Dependencies:   DigitDisplay RangeFinder Pulse Grove_temperature FXOS8700Q

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?

UserRevisionLine numberNew 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