Library to drive DogM16x text displays

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?

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