wiring system with many bus swiches

Dependencies:   MCUGearM mbed

Committer:
Info
Date:
Wed Mar 05 05:00:34 2014 +0000
Revision:
0:1fcf56bbda88
MCU Gear Hello world

Who changed what in which revision?

UserRevisionLine numberNew contents of line
Info 0:1fcf56bbda88 1 #include "mbed.h"
Info 0:1fcf56bbda88 2
Info 0:1fcf56bbda88 3 #include "MCUGearBaseM.h"
Info 0:1fcf56bbda88 4 #include "MCUGearM.h"
Info 0:1fcf56bbda88 5 #include "commonM.h"
Info 0:1fcf56bbda88 6
Info 0:1fcf56bbda88 7 Serial pc(USBTX, USBRX); // tx, rx Set BaudRate = 115200 in main()
Info 0:1fcf56bbda88 8
Info 0:1fcf56bbda88 9
Info 0:1fcf56bbda88 10 void setIOBank0(MCUGear *mcugear);
Info 0:1fcf56bbda88 11 void setIOBank1(MCUGear *mcugear);
Info 0:1fcf56bbda88 12 void setIOBank2(MCUGear *mcugear);
Info 0:1fcf56bbda88 13 void setIOBank3(MCUGear *mcugear);
Info 0:1fcf56bbda88 14 void setIOBank4(MCUGear *mcugear);
Info 0:1fcf56bbda88 15 void setIOBank5(MCUGear *mcugear);
Info 0:1fcf56bbda88 16 void setIOBank6(MCUGear *mcugear);
Info 0:1fcf56bbda88 17 void setIOBank7(MCUGear *mcugear);
Info 0:1fcf56bbda88 18
Info 0:1fcf56bbda88 19 DigitalOut myled(LED1);
Info 0:1fcf56bbda88 20
Info 0:1fcf56bbda88 21 MCUGear UniM(p28, p27, N_VDD_VDD_VDD); //2 Connector Universal Module
Info 0:1fcf56bbda88 22
Info 0:1fcf56bbda88 23 DigitalOut Dout1(p16);
Info 0:1fcf56bbda88 24 DigitalOut Dout2(p21);
Info 0:1fcf56bbda88 25 DigitalOut Dout3(p22);
Info 0:1fcf56bbda88 26 DigitalOut Dout4(p23);
Info 0:1fcf56bbda88 27 DigitalOut Dout5(p24);
Info 0:1fcf56bbda88 28
Info 0:1fcf56bbda88 29 DigitalIn Din1(p9);
Info 0:1fcf56bbda88 30 DigitalIn Din2(p10);
Info 0:1fcf56bbda88 31
Info 0:1fcf56bbda88 32 int main() {
Info 0:1fcf56bbda88 33
Info 0:1fcf56bbda88 34 int sw1 = 0;
Info 0:1fcf56bbda88 35 int sw2 = 0;
Info 0:1fcf56bbda88 36 int nowBank = 0;
Info 0:1fcf56bbda88 37
Info 0:1fcf56bbda88 38 initBase(); //initialize Baseboard
Info 0:1fcf56bbda88 39
Info 0:1fcf56bbda88 40 //set schematic select 0-7
Info 0:1fcf56bbda88 41 int location = UniM.detectModule(); //save location data in MCUGear class and you can check return data.Baseboard has 0-47 pin.
Info 0:1fcf56bbda88 42 printf("location = %d\n", &location);
Info 0:1fcf56bbda88 43
Info 0:1fcf56bbda88 44 startReg(0);
Info 0:1fcf56bbda88 45 setIOBank0(&UniM);//make schematic Bank0
Info 0:1fcf56bbda88 46 endReg(0);
Info 0:1fcf56bbda88 47
Info 0:1fcf56bbda88 48
Info 0:1fcf56bbda88 49 startReg(1);
Info 0:1fcf56bbda88 50 setIOBank1(&UniM);//make schematic Bank1
Info 0:1fcf56bbda88 51 endReg(1);
Info 0:1fcf56bbda88 52
Info 0:1fcf56bbda88 53 startReg(2);
Info 0:1fcf56bbda88 54 setIOBank2(&UniM);//make schematic Bank2
Info 0:1fcf56bbda88 55 endReg(2);
Info 0:1fcf56bbda88 56
Info 0:1fcf56bbda88 57 startReg(3);
Info 0:1fcf56bbda88 58 setIOBank3(&UniM);//make schematic Bank3
Info 0:1fcf56bbda88 59 endReg(3);
Info 0:1fcf56bbda88 60
Info 0:1fcf56bbda88 61 startReg(4);
Info 0:1fcf56bbda88 62 setIOBank4(&UniM);//make schematic Bank4
Info 0:1fcf56bbda88 63 endReg(4);
Info 0:1fcf56bbda88 64
Info 0:1fcf56bbda88 65 startReg(5);
Info 0:1fcf56bbda88 66 setIOBank5(&UniM);//make schematic Bank5
Info 0:1fcf56bbda88 67 endReg(5);
Info 0:1fcf56bbda88 68
Info 0:1fcf56bbda88 69 startReg(6);
Info 0:1fcf56bbda88 70 setIOBank6(&UniM);//make schematic Bank6
Info 0:1fcf56bbda88 71 endReg(6);
Info 0:1fcf56bbda88 72
Info 0:1fcf56bbda88 73 startReg(7);
Info 0:1fcf56bbda88 74 setIOBank7(&UniM);//make schematic Bank7
Info 0:1fcf56bbda88 75 endReg(7);
Info 0:1fcf56bbda88 76
Info 0:1fcf56bbda88 77 changeBank(0);//select Bank
Info 0:1fcf56bbda88 78
Info 0:1fcf56bbda88 79 while(1) {
Info 0:1fcf56bbda88 80
Info 0:1fcf56bbda88 81 UniM.connectModule();
Info 0:1fcf56bbda88 82 sw1 = Din1.read();
Info 0:1fcf56bbda88 83 sw2 = Din2.read();
Info 0:1fcf56bbda88 84 printf("sw1 = %d sw2 = %d\r\n",sw1,sw2);
Info 0:1fcf56bbda88 85
Info 0:1fcf56bbda88 86 Dout1 = 0;
Info 0:1fcf56bbda88 87 Dout2 = 1;
Info 0:1fcf56bbda88 88 Dout3 = 1;
Info 0:1fcf56bbda88 89 wait(0.3);
Info 0:1fcf56bbda88 90
Info 0:1fcf56bbda88 91 Dout1 = 1;
Info 0:1fcf56bbda88 92 Dout2 = 0;
Info 0:1fcf56bbda88 93 Dout3 = 1;
Info 0:1fcf56bbda88 94 wait(0.3);
Info 0:1fcf56bbda88 95
Info 0:1fcf56bbda88 96 Dout1 = 1;
Info 0:1fcf56bbda88 97 Dout2 = 1;
Info 0:1fcf56bbda88 98 Dout3 = 0;
Info 0:1fcf56bbda88 99 wait(0.3);
Info 0:1fcf56bbda88 100
Info 0:1fcf56bbda88 101 UniM.disconnectModule();
Info 0:1fcf56bbda88 102
Info 0:1fcf56bbda88 103 if(sw1==0){//chage Bank
Info 0:1fcf56bbda88 104 ++nowBank;
Info 0:1fcf56bbda88 105 if(nowBank >= 8){
Info 0:1fcf56bbda88 106 nowBank = 0;
Info 0:1fcf56bbda88 107 }
Info 0:1fcf56bbda88 108 changeBank(nowBank);
Info 0:1fcf56bbda88 109 printf("nowBank = %d\r\n",nowBank);
Info 0:1fcf56bbda88 110 }
Info 0:1fcf56bbda88 111
Info 0:1fcf56bbda88 112
Info 0:1fcf56bbda88 113 }
Info 0:1fcf56bbda88 114 }
Info 0:1fcf56bbda88 115
Info 0:1fcf56bbda88 116
Info 0:1fcf56bbda88 117 void setIOBank0(MCUGear *mcugear){
Info 0:1fcf56bbda88 118 mcugear->setWire(IO_MBED_P9, IO_REG_IN_DIR, 0);
Info 0:1fcf56bbda88 119 mcugear->setWire(IO_MBED_P10, IO_REG_IN_DIR, 1);
Info 0:1fcf56bbda88 120 }
Info 0:1fcf56bbda88 121
Info 0:1fcf56bbda88 122 void setIOBank1(MCUGear *mcugear){
Info 0:1fcf56bbda88 123 mcugear->setWire(IO_MBED_P10, IO_REG_IN_DIR, 0);
Info 0:1fcf56bbda88 124 mcugear->setWire(IO_MBED_P9, IO_REG_IN_DIR, 1);
Info 0:1fcf56bbda88 125 }
Info 0:1fcf56bbda88 126
Info 0:1fcf56bbda88 127 void setIOBank2(MCUGear *mcugear){
Info 0:1fcf56bbda88 128 mcugear->setWire(IO_MBED_P9, IO_REG_IN_DIR, 0);
Info 0:1fcf56bbda88 129 mcugear->setWire(IO_MBED_P10, IO_REG_IN_DIR, 1);
Info 0:1fcf56bbda88 130 mcugear->setWire(IO_MBED_P16, IO_REG_OUT_DIR, 4);
Info 0:1fcf56bbda88 131 mcugear->setWire(IO_MBED_P21, IO_REG_OUT_DIR, 3);
Info 0:1fcf56bbda88 132 mcugear->setWire(IO_MBED_P22, IO_REG_OUT_DIR, 2);
Info 0:1fcf56bbda88 133 }
Info 0:1fcf56bbda88 134
Info 0:1fcf56bbda88 135 void setIOBank3(MCUGear *mcugear){
Info 0:1fcf56bbda88 136 mcugear->setWire(IO_MBED_P10, IO_REG_IN_DIR, 0);
Info 0:1fcf56bbda88 137 mcugear->setWire(IO_MBED_P9, IO_REG_IN_DIR, 1);
Info 0:1fcf56bbda88 138 mcugear->setWire(IO_MBED_P16, IO_REG_OUT_DIR, 2);
Info 0:1fcf56bbda88 139 mcugear->setWire(IO_MBED_P21, IO_REG_OUT_DIR, 3);
Info 0:1fcf56bbda88 140 mcugear->setWire(IO_MBED_P22, IO_REG_OUT_DIR, 4);
Info 0:1fcf56bbda88 141 }
Info 0:1fcf56bbda88 142
Info 0:1fcf56bbda88 143 void setIOBank4(MCUGear *mcugear){
Info 0:1fcf56bbda88 144 mcugear->setWire(IO_MBED_P9, IO_REG_IN_DIR, 0);
Info 0:1fcf56bbda88 145 mcugear->setWire(IO_MBED_P10, IO_REG_IN_DIR, 1);
Info 0:1fcf56bbda88 146 mcugear->setWire(IO_MBED_P16, IO_REG_OUT_DIR, 4);
Info 0:1fcf56bbda88 147 mcugear->setWire(IO_MBED_P21, IO_REG_OUT_DIR, 3);
Info 0:1fcf56bbda88 148 mcugear->setWire(IO_MBED_P22, IO_REG_OUT_DIR, 2);
Info 0:1fcf56bbda88 149 }
Info 0:1fcf56bbda88 150
Info 0:1fcf56bbda88 151
Info 0:1fcf56bbda88 152 void setIOBank5(MCUGear *mcugear){
Info 0:1fcf56bbda88 153 mcugear->setWire(IO_MBED_P10, IO_REG_IN_DIR, 0);
Info 0:1fcf56bbda88 154 mcugear->setWire(IO_MBED_P9, IO_REG_IN_DIR, 1);
Info 0:1fcf56bbda88 155 mcugear->setWire(IO_MBED_P16, IO_REG_OUT_DIR, 2);
Info 0:1fcf56bbda88 156 mcugear->setWire(IO_MBED_P21, IO_REG_OUT_DIR, 3);
Info 0:1fcf56bbda88 157 mcugear->setWire(IO_MBED_P22, IO_REG_OUT_DIR, 4);
Info 0:1fcf56bbda88 158 }
Info 0:1fcf56bbda88 159
Info 0:1fcf56bbda88 160 void setIOBank6(MCUGear *mcugear){
Info 0:1fcf56bbda88 161 mcugear->setWire(IO_MBED_P9, IO_REG_IN_DIR, 0);
Info 0:1fcf56bbda88 162 mcugear->setWire(IO_MBED_P10, IO_REG_IN_DIR, 1);
Info 0:1fcf56bbda88 163 mcugear->setWire(IO_MBED_P16, IO_REG_OUT_DIR, 4);
Info 0:1fcf56bbda88 164 mcugear->setWire(IO_MBED_P21, IO_REG_OUT_DIR, 3);
Info 0:1fcf56bbda88 165 mcugear->setWire(IO_MBED_P22, IO_REG_OUT_DIR, 2);
Info 0:1fcf56bbda88 166 }
Info 0:1fcf56bbda88 167
Info 0:1fcf56bbda88 168 void setIOBank7(MCUGear *mcugear){
Info 0:1fcf56bbda88 169 mcugear->setWire(IO_MBED_P10, IO_REG_IN_DIR, 0);
Info 0:1fcf56bbda88 170 mcugear->setWire(IO_MBED_P9, IO_REG_IN_DIR, 1);
Info 0:1fcf56bbda88 171 mcugear->setWire(IO_MBED_P16, IO_REG_OUT_DIR, 2);
Info 0:1fcf56bbda88 172 mcugear->setWire(IO_MBED_P21, IO_REG_OUT_DIR, 3);
Info 0:1fcf56bbda88 173 mcugear->setWire(IO_MBED_P22, IO_REG_OUT_DIR, 4);
Info 0:1fcf56bbda88 174 }