used in the Elixys Radiochemistry system for selecting subsystems

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?

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