Library to drive DogM16x text displays
DogM16x.h@4:a6c719e188f1, 2011-02-28 (annotated)
- Committer:
- FrankWeissenborn
- Date:
- Mon Feb 28 06:44:16 2011 +0000
- Revision:
- 4:a6c719e188f1
- Parent:
- 3:fb071acba88f
Added license information and copyright
Who changed what in which revision?
User | Revision | Line number | New contents of line |
---|---|---|---|
FrankWeissenborn | 4:a6c719e188f1 | 1 | /* mbed audio player |
FrankWeissenborn | 4:a6c719e188f1 | 2 | * Copyright (c) 2010, 2011 Frank Weissenborn |
FrankWeissenborn | 4:a6c719e188f1 | 3 | * |
FrankWeissenborn | 4:a6c719e188f1 | 4 | * Permission is hereby granted, free of charge, to any person obtaining a copy |
FrankWeissenborn | 4:a6c719e188f1 | 5 | * of this software and associated documentation files (the "Software"), to deal |
FrankWeissenborn | 4:a6c719e188f1 | 6 | * in the Software without restriction, including without limitation the rights |
FrankWeissenborn | 4:a6c719e188f1 | 7 | * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell |
FrankWeissenborn | 4:a6c719e188f1 | 8 | * copies of the Software, and to permit persons to whom the Software is |
FrankWeissenborn | 4:a6c719e188f1 | 9 | * furnished to do so, subject to the following conditions: |
FrankWeissenborn | 4:a6c719e188f1 | 10 | * |
FrankWeissenborn | 4:a6c719e188f1 | 11 | * The above copyright notice and this permission notice shall be included in |
FrankWeissenborn | 4:a6c719e188f1 | 12 | * all copies or substantial portions of the Software. |
FrankWeissenborn | 4:a6c719e188f1 | 13 | * |
FrankWeissenborn | 4:a6c719e188f1 | 14 | * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR |
FrankWeissenborn | 4:a6c719e188f1 | 15 | * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, |
FrankWeissenborn | 4:a6c719e188f1 | 16 | * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE |
FrankWeissenborn | 4:a6c719e188f1 | 17 | * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER |
FrankWeissenborn | 4:a6c719e188f1 | 18 | * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, |
FrankWeissenborn | 4:a6c719e188f1 | 19 | * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN |
FrankWeissenborn | 4:a6c719e188f1 | 20 | * THE SOFTWARE. |
FrankWeissenborn | 4:a6c719e188f1 | 21 | */ |
FrankWeissenborn | 4:a6c719e188f1 | 22 | |
FrankWeissenborn | 0:c8d5f35830ce | 23 | #ifndef __DOGM16X_H |
FrankWeissenborn | 0:c8d5f35830ce | 24 | #define __DOGM16X_H |
FrankWeissenborn | 0:c8d5f35830ce | 25 | |
FrankWeissenborn | 0:c8d5f35830ce | 26 | #include "defines.h" |
FrankWeissenborn | 0:c8d5f35830ce | 27 | #include "mbed.h" |
FrankWeissenborn | 0:c8d5f35830ce | 28 | |
FrankWeissenborn | 0:c8d5f35830ce | 29 | |
FrankWeissenborn | 0:c8d5f35830ce | 30 | typedef enum DogM16x_LINE |
FrankWeissenborn | 0:c8d5f35830ce | 31 | { |
FrankWeissenborn | 0:c8d5f35830ce | 32 | DogM16x_LINE_ONE = 0, /*!< Line 1 */ |
FrankWeissenborn | 0:c8d5f35830ce | 33 | DogM16x_LINE_TWO = 1, /*!< Line 2 */ |
FrankWeissenborn | 0:c8d5f35830ce | 34 | DogM16x_LINE_THREE = 2, /*!< Line 3; if exist */ |
FrankWeissenborn | 0:c8d5f35830ce | 35 | } DogM16x_LINE; |
FrankWeissenborn | 0:c8d5f35830ce | 36 | |
FrankWeissenborn | 0:c8d5f35830ce | 37 | typedef enum DogM16x_TYPE |
FrankWeissenborn | 0:c8d5f35830ce | 38 | { |
FrankWeissenborn | 1:7557380ce11e | 39 | DogM16x_DogM161 = 0, /*!< DogM161 Display */ |
FrankWeissenborn | 1:7557380ce11e | 40 | DogM16x_DogM162 = 1, /*!< DogM162 Display */ |
FrankWeissenborn | 1:7557380ce11e | 41 | DogM16x_DogM163 = 2, /*!< DogM163 Display */ |
FrankWeissenborn | 0:c8d5f35830ce | 42 | } DogM16x_TYPE; |
FrankWeissenborn | 0:c8d5f35830ce | 43 | |
FrankWeissenborn | 0:c8d5f35830ce | 44 | class DogM16x { |
FrankWeissenborn | 0:c8d5f35830ce | 45 | public: |
FrankWeissenborn | 0:c8d5f35830ce | 46 | DogM16x(PinName db0, PinName db1, PinName db2, PinName db3, PinName rw, PinName rs, PinName enable, PinName reset, DogM16x_TYPE); |
FrankWeissenborn | 0:c8d5f35830ce | 47 | void Clear(); |
FrankWeissenborn | 0:c8d5f35830ce | 48 | void SetPosition(unsigned char x, DogM16x_LINE line); |
FrankWeissenborn | 0:c8d5f35830ce | 49 | void WriteCharacter(char character); |
FrankWeissenborn | 0:c8d5f35830ce | 50 | void WriteCharacter(char character, unsigned char x, DogM16x_LINE line); |
FrankWeissenborn | 3:fb071acba88f | 51 | void WriteString(const char* string); |
FrankWeissenborn | 3:fb071acba88f | 52 | void WriteString(const char* string, unsigned char x, DogM16x_LINE line); |
FrankWeissenborn | 3:fb071acba88f | 53 | void WriteStringCompleteLine(const char* string, DogM16x_LINE line); |
FrankWeissenborn | 3:fb071acba88f | 54 | void WriteStringCompleteLine(const char* string, unsigned char x, DogM16x_LINE line); |
FrankWeissenborn | 0:c8d5f35830ce | 55 | |
FrankWeissenborn | 0:c8d5f35830ce | 56 | |
FrankWeissenborn | 0:c8d5f35830ce | 57 | private: |
FrankWeissenborn | 0:c8d5f35830ce | 58 | BusOut _d; |
FrankWeissenborn | 0:c8d5f35830ce | 59 | DigitalOut _rw; |
FrankWeissenborn | 0:c8d5f35830ce | 60 | DigitalOut _rs; |
FrankWeissenborn | 0:c8d5f35830ce | 61 | DigitalOut _enable; |
FrankWeissenborn | 0:c8d5f35830ce | 62 | DigitalOut _reset; |
FrankWeissenborn | 0:c8d5f35830ce | 63 | DogM16x_TYPE _type; |
FrankWeissenborn | 0:c8d5f35830ce | 64 | |
FrankWeissenborn | 1:7557380ce11e | 65 | unsigned char _xpos; |
FrankWeissenborn | 1:7557380ce11e | 66 | unsigned char _ypos; |
FrankWeissenborn | 1:7557380ce11e | 67 | |
FrankWeissenborn | 0:c8d5f35830ce | 68 | void Init(); |
FrankWeissenborn | 0:c8d5f35830ce | 69 | void WriteCommandByte(int cmd); |
FrankWeissenborn | 0:c8d5f35830ce | 70 | void WriteDataByte(int cmd); |
FrankWeissenborn | 0:c8d5f35830ce | 71 | void SetData(int data); |
FrankWeissenborn | 0:c8d5f35830ce | 72 | }; |
FrankWeissenborn | 0:c8d5f35830ce | 73 | |
FrankWeissenborn | 0:c8d5f35830ce | 74 | |
FrankWeissenborn | 0:c8d5f35830ce | 75 | #endif |