used in the Elixys Radiochemistry system for selecting subsystems
ChipSelectArray.cpp@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 | #include "ChipSelectArray.h" |
henryeherman | 0:9ba7adee8fce | 2 | |
henryeherman | 0:9ba7adee8fce | 3 | DigitalOut cssck(P1_20); |
henryeherman | 0:9ba7adee8fce | 4 | DigitalOut csdat(P1_24); |
henryeherman | 0:9ba7adee8fce | 5 | DigitalOut cslatch(P1_21); |
henryeherman | 0:9ba7adee8fce | 6 | DigitalOut csclr(P1_22); |
henryeherman | 0:9ba7adee8fce | 7 | DigitalOut csoe(P1_25); |
henryeherman | 0:9ba7adee8fce | 8 | ShiftRegister shiftreg(cssck, csdat, cslatch, csclr, csoe); |
henryeherman | 0:9ba7adee8fce | 9 | |
henryeherman | 0:9ba7adee8fce | 10 | void unselect() { |
henryeherman | 0:9ba7adee8fce | 11 | shiftreg.write((unsigned int)NONECS, 32); |
henryeherman | 0:9ba7adee8fce | 12 | } |
henryeherman | 0:9ba7adee8fce | 13 | |
henryeherman | 0:9ba7adee8fce | 14 | void selectvalve0(void) { |
henryeherman | 0:9ba7adee8fce | 15 | shiftreg.write((unsigned int)VALVCS0, 32); |
henryeherman | 0:9ba7adee8fce | 16 | } |
henryeherman | 0:9ba7adee8fce | 17 | |
henryeherman | 0:9ba7adee8fce | 18 | void selectvalve1(void) { |
henryeherman | 0:9ba7adee8fce | 19 | shiftreg.write((unsigned int)VALVCS1, 32); |
henryeherman | 0:9ba7adee8fce | 20 | } |
henryeherman | 0:9ba7adee8fce | 21 | |
henryeherman | 0:9ba7adee8fce | 22 | void selectvalve2(void) { |
henryeherman | 0:9ba7adee8fce | 23 | shiftreg.write((unsigned int)VALVCS2, 32); |
henryeherman | 0:9ba7adee8fce | 24 | } |
henryeherman | 0:9ba7adee8fce | 25 | |
henryeherman | 0:9ba7adee8fce | 26 | void selecttc0() { |
henryeherman | 0:9ba7adee8fce | 27 | shiftreg.write((unsigned int)THERMCOUPLECS0, 32); |
henryeherman | 0:9ba7adee8fce | 28 | } |
henryeherman | 0:9ba7adee8fce | 29 | |
henryeherman | 0:9ba7adee8fce | 30 | void selecttc1() { |
henryeherman | 0:9ba7adee8fce | 31 | shiftreg.write((unsigned int)THERMCOUPLECS1, 32); |
henryeherman | 0:9ba7adee8fce | 32 | } |
henryeherman | 0:9ba7adee8fce | 33 | |
henryeherman | 0:9ba7adee8fce | 34 | void selecttc2() { |
henryeherman | 0:9ba7adee8fce | 35 | shiftreg.write((unsigned int)THERMCOUPLECS2, 32); |
henryeherman | 0:9ba7adee8fce | 36 | } |
henryeherman | 0:9ba7adee8fce | 37 | |
henryeherman | 0:9ba7adee8fce | 38 | void selecttc3(void) { |
henryeherman | 0:9ba7adee8fce | 39 | shiftreg.write((unsigned int)THERMCOUPLECS3, 32); |
henryeherman | 0:9ba7adee8fce | 40 | } |
henryeherman | 0:9ba7adee8fce | 41 | |
henryeherman | 0:9ba7adee8fce | 42 | void selecttc4() { |
henryeherman | 0:9ba7adee8fce | 43 | shiftreg.write((unsigned int)THERMCOUPLECS4, 32); |
henryeherman | 0:9ba7adee8fce | 44 | } |
henryeherman | 0:9ba7adee8fce | 45 | |
henryeherman | 0:9ba7adee8fce | 46 | void selecttc5() { |
henryeherman | 0:9ba7adee8fce | 47 | shiftreg.write((unsigned int)THERMCOUPLECS5, 32); |
henryeherman | 0:9ba7adee8fce | 48 | } |
henryeherman | 0:9ba7adee8fce | 49 | |
henryeherman | 0:9ba7adee8fce | 50 | void selecttc6() { |
henryeherman | 0:9ba7adee8fce | 51 | shiftreg.write((unsigned int)THERMCOUPLECS6, 32); |
henryeherman | 0:9ba7adee8fce | 52 | } |
henryeherman | 0:9ba7adee8fce | 53 | |
henryeherman | 0:9ba7adee8fce | 54 | void selecttc7() { |
henryeherman | 0:9ba7adee8fce | 55 | shiftreg.write((unsigned int)THERMCOUPLECS7, 32); |
henryeherman | 0:9ba7adee8fce | 56 | } |
henryeherman | 0:9ba7adee8fce | 57 | |
henryeherman | 0:9ba7adee8fce | 58 | void selecttc8() { |
henryeherman | 0:9ba7adee8fce | 59 | shiftreg.write((unsigned int)THERMCOUPLECS8, 32); |
henryeherman | 0:9ba7adee8fce | 60 | } |
henryeherman | 0:9ba7adee8fce | 61 | |
henryeherman | 0:9ba7adee8fce | 62 | void selectheater(void) { |
henryeherman | 0:9ba7adee8fce | 63 | shiftreg.write((unsigned int)HEATERCS, 32); |
henryeherman | 0:9ba7adee8fce | 64 | } |
henryeherman | 0:9ba7adee8fce | 65 | |
henryeherman | 0:9ba7adee8fce | 66 | void selectliq(void) { |
henryeherman | 0:9ba7adee8fce | 67 | shiftreg.write((unsigned int)LIQUIDSENSORCS, 32); |
henryeherman | 0:9ba7adee8fce | 68 | } |
henryeherman | 0:9ba7adee8fce | 69 | |
henryeherman | 0:9ba7adee8fce | 70 | void selectpos(void) { |
henryeherman | 0:9ba7adee8fce | 71 | shiftreg.write((unsigned int)POSITIONSENSORCS, 32); |
henryeherman | 0:9ba7adee8fce | 72 | } |
henryeherman | 0:9ba7adee8fce | 73 | |
henryeherman | 0:9ba7adee8fce | 74 | void selectsmcadc(void) { |
henryeherman | 0:9ba7adee8fce | 75 | shiftreg.write((unsigned int)SMCADCCS, 32); |
henryeherman | 0:9ba7adee8fce | 76 | } |
henryeherman | 0:9ba7adee8fce | 77 | |
henryeherman | 0:9ba7adee8fce | 78 | void selectsmddac(void) { |
henryeherman | 0:9ba7adee8fce | 79 | shiftreg.write((unsigned int)SMCDACCS, 32); |
henryeherman | 0:9ba7adee8fce | 80 | } |
henryeherman | 0:9ba7adee8fce | 81 | |
henryeherman | 0:9ba7adee8fce | 82 | void selectrad0(void) { |
henryeherman | 0:9ba7adee8fce | 83 | shiftreg.write((unsigned int)RADCS0, 32); |
henryeherman | 0:9ba7adee8fce | 84 | } |
henryeherman | 0:9ba7adee8fce | 85 | |
henryeherman | 0:9ba7adee8fce | 86 | void selectrad1(void) { |
henryeherman | 0:9ba7adee8fce | 87 | shiftreg.write((unsigned int)RADCS1, 32); |
henryeherman | 0:9ba7adee8fce | 88 | } |
henryeherman | 0:9ba7adee8fce | 89 | |
henryeherman | 0:9ba7adee8fce | 90 | void selectrad2(void) { |
henryeherman | 0:9ba7adee8fce | 91 | shiftreg.write((unsigned int)RADCS2, 32); |
henryeherman | 0:9ba7adee8fce | 92 | } |
henryeherman | 0:9ba7adee8fce | 93 | |
henryeherman | 0:9ba7adee8fce | 94 | void selectrad3(void) { |
henryeherman | 0:9ba7adee8fce | 95 | shiftreg.write((unsigned int)RADCS3, 32); |
henryeherman | 0:9ba7adee8fce | 96 | } |
henryeherman | 0:9ba7adee8fce | 97 | |
henryeherman | 0:9ba7adee8fce | 98 | void selectrad4(void) { |
henryeherman | 0:9ba7adee8fce | 99 | shiftreg.write((unsigned int)RADCS4, 32); |
henryeherman | 0:9ba7adee8fce | 100 | } |
henryeherman | 0:9ba7adee8fce | 101 | |
henryeherman | 0:9ba7adee8fce | 102 | void selectrad5(void) { |
henryeherman | 0:9ba7adee8fce | 103 | shiftreg.write((unsigned int)RADCS5, 32); |
henryeherman | 0:9ba7adee8fce | 104 | } |
henryeherman | 0:9ba7adee8fce | 105 | |
henryeherman | 0:9ba7adee8fce | 106 | void selectrad6(void) { |
henryeherman | 0:9ba7adee8fce | 107 | shiftreg.write((unsigned int)RADCS6, 32); |
henryeherman | 0:9ba7adee8fce | 108 | } |
henryeherman | 0:9ba7adee8fce | 109 | |
henryeherman | 0:9ba7adee8fce | 110 | void selectaux0(void) { |
henryeherman | 0:9ba7adee8fce | 111 | shiftreg.write((unsigned int)AUXCS0, 32); |
henryeherman | 0:9ba7adee8fce | 112 | } |
henryeherman | 0:9ba7adee8fce | 113 | |
henryeherman | 0:9ba7adee8fce | 114 | void selectaux1(void) { |
henryeherman | 0:9ba7adee8fce | 115 | shiftreg.write((unsigned int)AUXCS1, 32); |
henryeherman | 0:9ba7adee8fce | 116 | } |
henryeherman | 0:9ba7adee8fce | 117 | |
henryeherman | 0:9ba7adee8fce | 118 | void selectaux2(void) { |
henryeherman | 0:9ba7adee8fce | 119 | shiftreg.write((unsigned int)AUXCS2, 32); |
henryeherman | 0:9ba7adee8fce | 120 | } |
henryeherman | 0:9ba7adee8fce | 121 | |
henryeherman | 0:9ba7adee8fce | 122 | void selectaux3(void) { |
henryeherman | 0:9ba7adee8fce | 123 | shiftreg.write((unsigned int)AUXCS3, 32); |
henryeherman | 0:9ba7adee8fce | 124 | } |
henryeherman | 0:9ba7adee8fce | 125 | |
henryeherman | 0:9ba7adee8fce | 126 | void selectaux4(void) { |
henryeherman | 0:9ba7adee8fce | 127 | shiftreg.write((unsigned int)AUXCS4, 32); |
henryeherman | 0:9ba7adee8fce | 128 | } |
henryeherman | 0:9ba7adee8fce | 129 | |
henryeherman | 0:9ba7adee8fce | 130 | void selectaux5(void) { |
henryeherman | 0:9ba7adee8fce | 131 | shiftreg.write((unsigned int)AUXCS5, 32); |
henryeherman | 0:9ba7adee8fce | 132 | } |
henryeherman | 0:9ba7adee8fce | 133 | |
henryeherman | 0:9ba7adee8fce | 134 | void selectaux6(void) { |
henryeherman | 0:9ba7adee8fce | 135 | shiftreg.write((unsigned int)AUXCS6, 32); |
henryeherman | 0:9ba7adee8fce | 136 | } |
henryeherman | 0:9ba7adee8fce | 137 | |
henryeherman | 0:9ba7adee8fce | 138 | void selectaux7(void){ |
henryeherman | 0:9ba7adee8fce | 139 | shiftreg.write((unsigned int)AUXCS7, 32); |
henryeherman | 0:9ba7adee8fce | 140 | } |