used in the Elixys Radiochemistry system for selecting subsystems
ChipSelectArray.h@0:9ba7adee8fce, 2013-10-30 (annotated)
- Committer:
- henryeherman
- Date:
- Wed Oct 30 07:03:11 2013 +0000
- Revision:
- 0:9ba7adee8fce
chip select using the 595 shift register, allowing endless number of periphreals
Who changed what in which revision?
User | Revision | Line number | New contents of line |
---|---|---|---|
henryeherman | 0:9ba7adee8fce | 1 | #ifndef CHIPSELECT_H |
henryeherman | 0:9ba7adee8fce | 2 | #define CHIPSELECT_H |
henryeherman | 0:9ba7adee8fce | 3 | #include "mbed.h" |
henryeherman | 0:9ba7adee8fce | 4 | #include "ShiftRegister.h" |
henryeherman | 0:9ba7adee8fce | 5 | |
henryeherman | 0:9ba7adee8fce | 6 | #define FIRST2LAST(X) (31 - (X)) |
henryeherman | 0:9ba7adee8fce | 7 | #define VALVCS0 ~(1U << FIRST2LAST(0)) |
henryeherman | 0:9ba7adee8fce | 8 | #define VALVCS1 ~(1U << FIRST2LAST(1)) |
henryeherman | 0:9ba7adee8fce | 9 | #define VALVCS2 ~(1U << FIRST2LAST(2)) |
henryeherman | 0:9ba7adee8fce | 10 | #define THERMCOUPLECS0 ~(1U << FIRST2LAST(3)) |
henryeherman | 0:9ba7adee8fce | 11 | #define THERMCOUPLECS1 ~(1U << FIRST2LAST(4)) |
henryeherman | 0:9ba7adee8fce | 12 | #define THERMCOUPLECS2 ~(1U << FIRST2LAST(5)) |
henryeherman | 0:9ba7adee8fce | 13 | #define THERMCOUPLECS3 ~(1U << FIRST2LAST(6)) |
henryeherman | 0:9ba7adee8fce | 14 | #define THERMCOUPLECS4 ~(1U << FIRST2LAST(7)) |
henryeherman | 0:9ba7adee8fce | 15 | #define THERMCOUPLECS5 ~(1U << FIRST2LAST(8)) |
henryeherman | 0:9ba7adee8fce | 16 | #define THERMCOUPLECS6 ~(1U << FIRST2LAST(9)) |
henryeherman | 0:9ba7adee8fce | 17 | #define THERMCOUPLECS7 ~(1U << FIRST2LAST(10)) |
henryeherman | 0:9ba7adee8fce | 18 | #define THERMCOUPLECS8 ~(1U << FIRST2LAST(11)) |
henryeherman | 0:9ba7adee8fce | 19 | #define HEATERCS ~(1U << FIRST2LAST(12)) |
henryeherman | 0:9ba7adee8fce | 20 | #define LIQUIDSENSORCS ~(1U << FIRST2LAST(13)) |
henryeherman | 0:9ba7adee8fce | 21 | #define POSITIONSENSORCS ~(1U << FIRST2LAST(14)) |
henryeherman | 0:9ba7adee8fce | 22 | #define SMCADCCS ~(1U << FIRST2LAST(15)) |
henryeherman | 0:9ba7adee8fce | 23 | #define SMCDACCS ~(1U << FIRST2LAST(16)) |
henryeherman | 0:9ba7adee8fce | 24 | #define RADCS0 ~(1U << FIRST2LAST(17)) |
henryeherman | 0:9ba7adee8fce | 25 | #define RADCS1 ~(1U << FIRST2LAST(18)) |
henryeherman | 0:9ba7adee8fce | 26 | #define RADCS2 ~(1U << FIRST2LAST(19)) |
henryeherman | 0:9ba7adee8fce | 27 | #define RADCS3 ~(1U << FIRST2LAST(20)) |
henryeherman | 0:9ba7adee8fce | 28 | #define RADCS4 ~(1U << FIRST2LAST(21)) |
henryeherman | 0:9ba7adee8fce | 29 | #define RADCS5 ~(1U << FIRST2LAST(22)) |
henryeherman | 0:9ba7adee8fce | 30 | #define RADCS6 ~(1U << FIRST2LAST(23)) |
henryeherman | 0:9ba7adee8fce | 31 | #define AUXCS0 ~(1U << FIRST2LAST(24)) |
henryeherman | 0:9ba7adee8fce | 32 | #define AUXCS1 ~(1U << FIRST2LAST(25)) |
henryeherman | 0:9ba7adee8fce | 33 | #define AUXCS2 ~(1U << FIRST2LAST(26)) |
henryeherman | 0:9ba7adee8fce | 34 | #define AUXCS3 ~(1U << FIRST2LAST(27)) |
henryeherman | 0:9ba7adee8fce | 35 | #define AUXCS4 ~(1U << FIRST2LAST(28)) |
henryeherman | 0:9ba7adee8fce | 36 | #define AUXCS5 ~(1U << FIRST2LAST(29)) |
henryeherman | 0:9ba7adee8fce | 37 | #define AUXCS6 ~(1U << FIRST2LAST(30)) |
henryeherman | 0:9ba7adee8fce | 38 | #define AUXCS7 ~(1U << FIRST2LAST(31)) |
henryeherman | 0:9ba7adee8fce | 39 | #define NONECS ~(0x00000000) |
henryeherman | 0:9ba7adee8fce | 40 | |
henryeherman | 0:9ba7adee8fce | 41 | |
henryeherman | 0:9ba7adee8fce | 42 | void unselect(void); |
henryeherman | 0:9ba7adee8fce | 43 | void selectvalve0(void); |
henryeherman | 0:9ba7adee8fce | 44 | void selectvalve1(void); |
henryeherman | 0:9ba7adee8fce | 45 | void selectvalve2(void); |
henryeherman | 0:9ba7adee8fce | 46 | void selecttc0(void); |
henryeherman | 0:9ba7adee8fce | 47 | void selecttc1(void); |
henryeherman | 0:9ba7adee8fce | 48 | void selecttc2(void); |
henryeherman | 0:9ba7adee8fce | 49 | void selecttc3(void); |
henryeherman | 0:9ba7adee8fce | 50 | void selecttc4(void); |
henryeherman | 0:9ba7adee8fce | 51 | void selecttc5(void); |
henryeherman | 0:9ba7adee8fce | 52 | void selecttc6(void); |
henryeherman | 0:9ba7adee8fce | 53 | void selecttc7(void); |
henryeherman | 0:9ba7adee8fce | 54 | void selecttc8(void); |
henryeherman | 0:9ba7adee8fce | 55 | void selectheater(void); |
henryeherman | 0:9ba7adee8fce | 56 | void selectliq(void); |
henryeherman | 0:9ba7adee8fce | 57 | void selectpos(void); |
henryeherman | 0:9ba7adee8fce | 58 | void selectsmcadc(void); |
henryeherman | 0:9ba7adee8fce | 59 | void selectsmddac(void); |
henryeherman | 0:9ba7adee8fce | 60 | void selectrad0(void); |
henryeherman | 0:9ba7adee8fce | 61 | void selectrad1(void); |
henryeherman | 0:9ba7adee8fce | 62 | void selectrad2(void); |
henryeherman | 0:9ba7adee8fce | 63 | void selectrad3(void); |
henryeherman | 0:9ba7adee8fce | 64 | void selectrad4(void); |
henryeherman | 0:9ba7adee8fce | 65 | void selectrad5(void); |
henryeherman | 0:9ba7adee8fce | 66 | void selectrad6(void); |
henryeherman | 0:9ba7adee8fce | 67 | void selectaux0(void); |
henryeherman | 0:9ba7adee8fce | 68 | void selectaux1(void); |
henryeherman | 0:9ba7adee8fce | 69 | void selectaux2(void); |
henryeherman | 0:9ba7adee8fce | 70 | void selectaux3(void); |
henryeherman | 0:9ba7adee8fce | 71 | void selectaux4(void); |
henryeherman | 0:9ba7adee8fce | 72 | void selectaux5(void); |
henryeherman | 0:9ba7adee8fce | 73 | void selectaux6(void); |
henryeherman | 0:9ba7adee8fce | 74 | void selectaux7(void); |
henryeherman | 0:9ba7adee8fce | 75 | |
henryeherman | 0:9ba7adee8fce | 76 | #endif //CHIPSELECT_H |