Libraries and Example of mbed parallel bus using I2C port expanders

Dependencies:   HDSP253X mbed PCF8574_Bus

Revision:
6:aaefa04f06be
Parent:
5:38b853bb1afa
Child:
7:8680b8b718c8
--- a/Keyboard.cpp	Fri Aug 26 20:35:11 2011 +0000
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,164 +0,0 @@
-/* Keyboard - Keyboard and Fire Switch control
- * Copyright (c) 2011 Wim Huiskamp
- *
- * Released under the MIT License: http://mbed.org/license/mit
- *
- * version 0.2 Initial Release
-*/
-#include "mbed.h"
-#include "PCF8574_DataBus.h"
-#include "PCF8574_EnableBus.h"
-#include "MBED_ControlBus.h"
-#include "Keyboard.h"
-
-
-/** Create a Keyboard object connected to the specified buses
- *
- * @param  PCF8574_DataBus databus to connect to 
- * @param  PCF8574_EnableBus enable enablebus to connect to 
- * @param  MBED_ControlBus control controlbus to connect to 
-*/
-Keyboard::Keyboard (PCF8574_DataBus &databus, PCF8574_EnableBus &enablebus, MBED_ControlBus &controlbus) : 
-                                     _databus(databus), _enablebus(enablebus), _controlbus(controlbus) {
-   _init();
-}    
-
-/** Init Keyboard
- * @param
- * @returns 
- */
-void Keyboard::_init(void)
-{
-   _KeyReady = false;  
-   _KeyCode = KEY_NONE;        
-}
-
-
-/** Check Keypressed or Fire switch pressed
- *
- * @param none
- * @returns bool keypressed 
-*/
-bool Keyboard::readable () {
-  uint8_t data = 0;
-
-  // Init to No keypressed
-  _KeyReady = false;
-  
-  if (_controlbus.CDINT() == HIGH) {
-    // CDA Key pressed  
-    _KeyReady = true;
-        
-    // Get the switchvalue and decode it
-    _KeyCode = getswitch();
-  }
-
-  if (_controlbus.FIRE() == HIGH) {
-    // Manual Fire Key pressed  
-    _KeyReady = true;
-        
-    _KeyCode = KEY_FIRE;
-  }
-
-  return _KeyReady;
-}
-
-
-/** Read keycode
- *
- * @param none
- * @returns keycode 
-*/
-Key_Code Keyboard::getkey() {
-  
-  if (_KeyReady) {
-    _KeyReady = false;  
-    return _KeyCode;  
-  }
-  else {
-    return KEY_NONE;
-  }
-}
-
-
-/** Get keycode for pressed switch
- *
- * @param none
- * @returns keycode 
-*/
-Key_Code Keyboard::getswitch() {
-  uint8_t data = 0;
-  Key_Code code;
-
-  // Get the switchvalue and decode it
-  data = _read() & D_KEYBOARD_MASK;       
-  switch (data) {
-    case D_KEYBOARD_MODE:      code = KEY_MODE;
-                               break;
-    case D_KEYBOARD_EDIT_PATH: code = KEY_EDIT_PATH;
-                               break;
-    case D_KEYBOARD_BRIGHT:    code = KEY_BRIGHT;
-                               break;                               
-    case D_KEYBOARD_GRAT_RT:   code = KEY_GRAT_RT;
-                               break;
-    case D_KEYBOARD_F_L_UP:    code = KEY_F_L_UP;
-                               break;
-    default:                   code = KEY_NONE;
-                               break;                               
-  }
-   
-  return code;
-}
-
-
-/** Read switch value
- *
- * @param none
- * @returns switch register value 
-*/
-uint8_t Keyboard::_read() {
-    uint8_t data = 0;
-
-    // Switch databus to inputs
-    _databus.busdir(READ);        
-    // Switch databus buffer to inputs
-    _controlbus.busdir(READ);      
-    
-    
-    // Set CE low and wait
-    _enablebus.chipselect(CS_SWITCH, LOW);
-    wait_ms(1.0);
-
-    // Set RD low and wait
-    _controlbus.RD(LOW);
-    wait_ms(1.0);
-    
-    // Read the data byte from databus
-    data = _databus.read();
-
-    // set RD high and wait
-    _controlbus.RD(HIGH);
-    wait_ms(1.0);
-
-    // Set CE high and wait
-    _enablebus.chipselect(CS_SWITCH, HIGH);
-    wait_ms(1.0);
-
-    // Switch databus buffer back to outputs
-    _controlbus.busdir(WRITE);        
-    // Switch databus to outputs
-    _databus.busdir(WRITE);   
-    
-    // Return read data to caller
-    return data;
-}
-
-
-
-
-
-
-
-
-
-