Libraries and Example of mbed parallel bus using I2C port expanders
Dependencies: HDSP253X mbed PCF8574_Bus
MBED_ControlBus.h@2:1dab1089c332, 2011-08-20 (annotated)
- Committer:
- wim
- Date:
- Sat Aug 20 12:49:44 2011 +0000
- Revision:
- 2:1dab1089c332
- Child:
- 4:745fbbd5e4e5
First commit, testloop
Who changed what in which revision?
User | Revision | Line number | New contents of line |
---|---|---|---|
wim |
2:1dab1089c332 | 1 | /* MBED_ControlBus - Use the MBED Port pins for controlling the Bus |
wim |
2:1dab1089c332 | 2 | * Copyright (c) 2011 Wim Huiskamp |
wim |
2:1dab1089c332 | 3 | * |
wim |
2:1dab1089c332 | 4 | * Released under the MIT License: http://mbed.org/license/mit |
wim |
2:1dab1089c332 | 5 | * |
wim |
2:1dab1089c332 | 6 | * version 0.2 Initial Release |
wim |
2:1dab1089c332 | 7 | */ |
wim |
2:1dab1089c332 | 8 | #ifndef _MBED_CONTROLBUS_H |
wim |
2:1dab1089c332 | 9 | #define _MBED_CONTROLBUS_H |
wim |
2:1dab1089c332 | 10 | |
wim |
2:1dab1089c332 | 11 | //Enums for Control Bus |
wim |
2:1dab1089c332 | 12 | #include "BusEnums.h" |
wim |
2:1dab1089c332 | 13 | |
wim |
2:1dab1089c332 | 14 | //Debounce and Edge detecting stuff |
wim |
2:1dab1089c332 | 15 | #include "PinDetect.h" |
wim |
2:1dab1089c332 | 16 | |
wim |
2:1dab1089c332 | 17 | /** Create an MBED_ControlBus object connected to the specified Pins |
wim |
2:1dab1089c332 | 18 | * |
wim |
2:1dab1089c332 | 19 | * @param PinName WR the Write pin |
wim |
2:1dab1089c332 | 20 | * @param PinName RD the Read pin |
wim |
2:1dab1089c332 | 21 | * @param PinName DTR the databuffer Transmit/Receive direction pin |
wim |
2:1dab1089c332 | 22 | * @param PinName CDBUF the databuffer enable pin |
wim |
2:1dab1089c332 | 23 | * @param PinName CDINT the Keyboard interrupt pin |
wim |
2:1dab1089c332 | 24 | * @param PinName FIRE the Manual Fire Unit pin |
wim |
2:1dab1089c332 | 25 | */ |
wim |
2:1dab1089c332 | 26 | class MBED_ControlBus { |
wim |
2:1dab1089c332 | 27 | public: |
wim |
2:1dab1089c332 | 28 | MBED_ControlBus(PinName WR, PinName RD, PinName DTR, PinName CDBUF, PinName CDINT, PinName FIRE); |
wim |
2:1dab1089c332 | 29 | void WR (Bit_Level wr_level); |
wim |
2:1dab1089c332 | 30 | void RD (Bit_Level rd_level); |
wim |
2:1dab1089c332 | 31 | void busdir (Bus_Dir buf_dir); |
wim |
2:1dab1089c332 | 32 | void busctrl (Bus_Ena buf_ena, Bus_Dir buf_dir); |
wim |
2:1dab1089c332 | 33 | Bit_Level CDINT (); |
wim |
2:1dab1089c332 | 34 | Bit_Level FIRE (); |
wim |
2:1dab1089c332 | 35 | protected: |
wim |
2:1dab1089c332 | 36 | DigitalOut _WR; // Write pin |
wim |
2:1dab1089c332 | 37 | DigitalOut _RD; // Read pin |
wim |
2:1dab1089c332 | 38 | DigitalOut _DTR; // Databuffer Transmit/Receive direction pin |
wim |
2:1dab1089c332 | 39 | DigitalOut _CDBUF; // Databuffer enable pin |
wim |
2:1dab1089c332 | 40 | |
wim |
2:1dab1089c332 | 41 | //Plain digital input pin |
wim |
2:1dab1089c332 | 42 | // DigitalIn _CDINT; // Keyboard interrupt pin |
wim |
2:1dab1089c332 | 43 | // DigitalIn _FIRE; // Fire interrupt pin |
wim |
2:1dab1089c332 | 44 | |
wim |
2:1dab1089c332 | 45 | //Plain digital interrupt pin |
wim |
2:1dab1089c332 | 46 | // InterruptIn _CDINT; // Keyboard interrupt pin |
wim |
2:1dab1089c332 | 47 | // InterruptIn _FIRE; // Fire interrupt pin |
wim |
2:1dab1089c332 | 48 | |
wim |
2:1dab1089c332 | 49 | //Debounced and Edge detected input pin (Andy Kirkmans's Lib |
wim |
2:1dab1089c332 | 50 | PinDetect _CDINT; // Keyboard interrupt pin |
wim |
2:1dab1089c332 | 51 | PinDetect _FIRE; // Fire interrupt pin |
wim |
2:1dab1089c332 | 52 | |
wim |
2:1dab1089c332 | 53 | bool _CDINT_detected; |
wim |
2:1dab1089c332 | 54 | bool _FIRE_detected; |
wim |
2:1dab1089c332 | 55 | |
wim |
2:1dab1089c332 | 56 | void _CDINT_activated(); |
wim |
2:1dab1089c332 | 57 | void _CDINT_deactivated(); |
wim |
2:1dab1089c332 | 58 | void _CDINT_init(); |
wim |
2:1dab1089c332 | 59 | |
wim |
2:1dab1089c332 | 60 | void _FIRE_activated(); |
wim |
2:1dab1089c332 | 61 | void _FIRE_deactivated(); |
wim |
2:1dab1089c332 | 62 | void _FIRE_init(); |
wim |
2:1dab1089c332 | 63 | |
wim |
2:1dab1089c332 | 64 | void _init(); |
wim |
2:1dab1089c332 | 65 | }; |
wim |
2:1dab1089c332 | 66 | |
wim |
2:1dab1089c332 | 67 | #endif |