multiplexer

Dependents:   Motorteststand

Committer:
HMFK03LST1
Date:
Mon Dec 14 17:31:24 2015 +0000
Revision:
0:2fd218b3f449
first

Who changed what in which revision?

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