Libraries and Example of mbed parallel bus using I2C port expanders
Dependencies: HDSP253X mbed PCF8574_Bus
Keyboard.h@4:745fbbd5e4e5, 2011-08-23 (annotated)
- Committer:
- wim
- Date:
- Tue Aug 23 20:26:05 2011 +0000
- Revision:
- 4:745fbbd5e4e5
- Parent:
- 2:1dab1089c332
- Child:
- 5:38b853bb1afa
Test version for breadboard, using STANAG Edits
Who changed what in which revision?
User | Revision | Line number | New contents of line |
---|---|---|---|
wim |
2:1dab1089c332 | 1 | /* Keyboard - Keyboard and Fire Switch control |
wim |
2:1dab1089c332 | 2 | * |
wim |
2:1dab1089c332 | 3 | * Copyright (c) 2011 Wim Huiskamp |
wim |
2:1dab1089c332 | 4 | * |
wim |
2:1dab1089c332 | 5 | * Released under the MIT License: http://mbed.org/license/mit |
wim |
2:1dab1089c332 | 6 | * |
wim |
2:1dab1089c332 | 7 | * version 0.2 Initial Release |
wim |
2:1dab1089c332 | 8 | */ |
wim |
2:1dab1089c332 | 9 | #ifndef _KEYBOARD_H |
wim |
2:1dab1089c332 | 10 | #define _KEYBOARD_H |
wim |
2:1dab1089c332 | 11 | |
wim |
2:1dab1089c332 | 12 | /*****************************************************************************/ |
wim |
2:1dab1089c332 | 13 | /********************* DEFINITIONS FOR KEYBOARD ***************************/ |
wim |
2:1dab1089c332 | 14 | /*****************************************************************************/ |
wim |
2:1dab1089c332 | 15 | |
wim |
2:1dab1089c332 | 16 | // Definitions for Keyboard Latch |
wim |
2:1dab1089c332 | 17 | // NOTE: NEED TO CHECK THESE !!!! |
wim |
2:1dab1089c332 | 18 | #define D_KEYBOARD_NONE 0x00 |
wim |
2:1dab1089c332 | 19 | #define D_KEYBOARD_MODE 0x01 |
wim |
2:1dab1089c332 | 20 | #define D_KEYBOARD_EDIT_PATH 0x02 |
wim |
2:1dab1089c332 | 21 | #define D_KEYBOARD_BRIGHT 0x03 |
wim |
2:1dab1089c332 | 22 | #define D_KEYBOARD_NOTUSED_4 0x04 |
wim |
2:1dab1089c332 | 23 | #define D_KEYBOARD_GRAT_RT 0x05 |
wim |
2:1dab1089c332 | 24 | #define D_KEYBOARD_F_L_UP 0x06 |
wim |
2:1dab1089c332 | 25 | #define D_KEYBOARD_NOTUSED_7 0x07 |
wim |
2:1dab1089c332 | 26 | |
wim |
4:745fbbd5e4e5 | 27 | // Masks for keyboard codes, bit 4-7 not used |
wim |
4:745fbbd5e4e5 | 28 | #define D_KEYBOARD_MASK 0x0F |
wim |
2:1dab1089c332 | 29 | |
wim |
2:1dab1089c332 | 30 | //Enums for Keyboard codes |
wim |
2:1dab1089c332 | 31 | enum Key_Code { KEY_NONE, KEY_MODE, KEY_EDIT_PATH, KEY_BRIGHT, KEY_GRAT_RT, KEY_F_L_UP, KEY_FIRE }; |
wim |
2:1dab1089c332 | 32 | |
wim |
2:1dab1089c332 | 33 | |
wim |
2:1dab1089c332 | 34 | /** Create a Keyboard object connected to the proper busses |
wim |
2:1dab1089c332 | 35 | * |
wim |
2:1dab1089c332 | 36 | * @param PCF8574_DataBus data databus to connect to |
wim |
2:1dab1089c332 | 37 | * @param PCF8574_EnableBus enable enablebus to connect to |
wim |
2:1dab1089c332 | 38 | * @param MBED_ControlBus control controlbus to connect to |
wim |
2:1dab1089c332 | 39 | */ |
wim |
2:1dab1089c332 | 40 | class Keyboard { |
wim |
2:1dab1089c332 | 41 | public: |
wim |
2:1dab1089c332 | 42 | Keyboard(PCF8574_DataBus &databus, |
wim |
2:1dab1089c332 | 43 | PCF8574_EnableBus &enablebus, MBED_ControlBus &controlbus); |
wim |
2:1dab1089c332 | 44 | bool readable (); |
wim |
2:1dab1089c332 | 45 | Key_Code getkey(); |
wim |
2:1dab1089c332 | 46 | |
wim |
2:1dab1089c332 | 47 | protected: |
wim |
2:1dab1089c332 | 48 | PCF8574_DataBus &_databus; |
wim |
2:1dab1089c332 | 49 | PCF8574_EnableBus &_enablebus; |
wim |
2:1dab1089c332 | 50 | MBED_ControlBus &_controlbus; |
wim |
2:1dab1089c332 | 51 | bool _KeyReady; |
wim |
2:1dab1089c332 | 52 | Key_Code _KeyCode; |
wim |
2:1dab1089c332 | 53 | |
wim |
2:1dab1089c332 | 54 | uint8_t _read(); |
wim |
2:1dab1089c332 | 55 | void _init(); |
wim |
2:1dab1089c332 | 56 | }; |
wim |
2:1dab1089c332 | 57 | |
wim |
2:1dab1089c332 | 58 | |
wim |
2:1dab1089c332 | 59 | #endif |
wim |
2:1dab1089c332 | 60 | /*****************************************************************************/ |
wim |
2:1dab1089c332 | 61 | /****************************** END OF FILE ********************************/ |
wim |
2:1dab1089c332 | 62 | /*****************************************************************************/ |
wim |
2:1dab1089c332 | 63 |