multiplexer
CD4052.cpp@0:2fd218b3f449, 2015-12-14 (annotated)
- Committer:
- HMFK03LST1
- Date:
- Mon Dec 14 17:31:24 2015 +0000
- Revision:
- 0:2fd218b3f449
first
Who changed what in which revision?
User | Revision | Line number | New contents of line |
---|---|---|---|
HMFK03LST1 | 0:2fd218b3f449 | 1 | #include "CD4052.h" |
HMFK03LST1 | 0:2fd218b3f449 | 2 | |
HMFK03LST1 | 0:2fd218b3f449 | 3 | /** Create a new interface for an CD4052 |
HMFK03LST1 | 0:2fd218b3f449 | 4 | * |
HMFK03LST1 | 0:2fd218b3f449 | 5 | * @param LB is the pin for the lower Selector Byte |
HMFK03LST1 | 0:2fd218b3f449 | 6 | * @param HB is the pin for the lower Selector Byte |
HMFK03LST1 | 0:2fd218b3f449 | 7 | * @param X is the pin for X - Group connected to MC |
HMFK03LST1 | 0:2fd218b3f449 | 8 | * @param Y is the pin for Y - Group connected to MC |
HMFK03LST1 | 0:2fd218b3f449 | 9 | */ |
HMFK03LST1 | 0:2fd218b3f449 | 10 | CD4052::CD4052(PinName _LB, PinName _HB, PinName _X, PinName _Y):LB(_LB),HB(_HB),X(_X),Y(_Y) |
HMFK03LST1 | 0:2fd218b3f449 | 11 | { |
HMFK03LST1 | 0:2fd218b3f449 | 12 | channel(0); |
HMFK03LST1 | 0:2fd218b3f449 | 13 | } |
HMFK03LST1 | 0:2fd218b3f449 | 14 | |
HMFK03LST1 | 0:2fd218b3f449 | 15 | /** sets Channel |
HMFK03LST1 | 0:2fd218b3f449 | 16 | * |
HMFK03LST1 | 0:2fd218b3f449 | 17 | * @param cha Number of Channel to Set |
HMFK03LST1 | 0:2fd218b3f449 | 18 | * |
HMFK03LST1 | 0:2fd218b3f449 | 19 | */ |
HMFK03LST1 | 0:2fd218b3f449 | 20 | void CD4052::channel(char cha) |
HMFK03LST1 | 0:2fd218b3f449 | 21 | { |
HMFK03LST1 | 0:2fd218b3f449 | 22 | LB = cha&0x01; |
HMFK03LST1 | 0:2fd218b3f449 | 23 | HB = cha&0x02; |
HMFK03LST1 | 0:2fd218b3f449 | 24 | } |
HMFK03LST1 | 0:2fd218b3f449 | 25 | |
HMFK03LST1 | 0:2fd218b3f449 | 26 | /** read Channel X as integer |
HMFK03LST1 | 0:2fd218b3f449 | 27 | */ |
HMFK03LST1 | 0:2fd218b3f449 | 28 | unsigned int CD4052::x_i(void) |
HMFK03LST1 | 0:2fd218b3f449 | 29 | { |
HMFK03LST1 | 0:2fd218b3f449 | 30 | return X.read_u16(); |
HMFK03LST1 | 0:2fd218b3f449 | 31 | } |
HMFK03LST1 | 0:2fd218b3f449 | 32 | |
HMFK03LST1 | 0:2fd218b3f449 | 33 | /** read Channel X as integer |
HMFK03LST1 | 0:2fd218b3f449 | 34 | */ |
HMFK03LST1 | 0:2fd218b3f449 | 35 | unsigned int CD4052::y_i(void) |
HMFK03LST1 | 0:2fd218b3f449 | 36 | { |
HMFK03LST1 | 0:2fd218b3f449 | 37 | return Y.read_u16(); |
HMFK03LST1 | 0:2fd218b3f449 | 38 | } |
HMFK03LST1 | 0:2fd218b3f449 | 39 | |
HMFK03LST1 | 0:2fd218b3f449 | 40 | /** read Channel X as float |
HMFK03LST1 | 0:2fd218b3f449 | 41 | */ |
HMFK03LST1 | 0:2fd218b3f449 | 42 | float CD4052::x_f(void) |
HMFK03LST1 | 0:2fd218b3f449 | 43 | { |
HMFK03LST1 | 0:2fd218b3f449 | 44 | return X.read(); |
HMFK03LST1 | 0:2fd218b3f449 | 45 | } |
HMFK03LST1 | 0:2fd218b3f449 | 46 | |
HMFK03LST1 | 0:2fd218b3f449 | 47 | /** read Channel X as float |
HMFK03LST1 | 0:2fd218b3f449 | 48 | */ |
HMFK03LST1 | 0:2fd218b3f449 | 49 | float CD4052::y_f(void) |
HMFK03LST1 | 0:2fd218b3f449 | 50 | { |
HMFK03LST1 | 0:2fd218b3f449 | 51 | return Y.read(); |
HMFK03LST1 | 0:2fd218b3f449 | 52 | } |
HMFK03LST1 | 0:2fd218b3f449 | 53 | |
HMFK03LST1 | 0:2fd218b3f449 | 54 | /** read Channel X as Bool |
HMFK03LST1 | 0:2fd218b3f449 | 55 | */ |
HMFK03LST1 | 0:2fd218b3f449 | 56 | bool CD4052::x_d(void) |
HMFK03LST1 | 0:2fd218b3f449 | 57 | { |
HMFK03LST1 | 0:2fd218b3f449 | 58 | if (X.read_u16()>>8) |
HMFK03LST1 | 0:2fd218b3f449 | 59 | return 1; |
HMFK03LST1 | 0:2fd218b3f449 | 60 | else |
HMFK03LST1 | 0:2fd218b3f449 | 61 | return 0 ; |
HMFK03LST1 | 0:2fd218b3f449 | 62 | } |
HMFK03LST1 | 0:2fd218b3f449 | 63 | |
HMFK03LST1 | 0:2fd218b3f449 | 64 | /** read Channel X as Bool |
HMFK03LST1 | 0:2fd218b3f449 | 65 | */ |
HMFK03LST1 | 0:2fd218b3f449 | 66 | bool CD4052::y_d(void) |
HMFK03LST1 | 0:2fd218b3f449 | 67 | { |
HMFK03LST1 | 0:2fd218b3f449 | 68 | if (Y.read_u16()>>8) |
HMFK03LST1 | 0:2fd218b3f449 | 69 | return 1; |
HMFK03LST1 | 0:2fd218b3f449 | 70 | else |
HMFK03LST1 | 0:2fd218b3f449 | 71 | return 0; |
HMFK03LST1 | 0:2fd218b3f449 | 72 | } |