Pradeep Kotipalli
/
cdms_rtos_v1_1_test_sat
aadadf
Fork of cdms_rtos_v1_1_test by
PL_SC_RECEIVE.cpp@1:c0c5ac8eac80, 2015-11-07 (annotated)
- Committer:
- pradeepvk2208
- Date:
- Sat Nov 07 12:06:40 2015 +0000
- Revision:
- 1:c0c5ac8eac80
hey cdms_pl
Who changed what in which revision?
User | Revision | Line number | New contents of line |
---|---|---|---|
pradeepvk2208 | 1:c0c5ac8eac80 | 1 | #include "PL_SC_RECEIVE.h" |
pradeepvk2208 | 1:c0c5ac8eac80 | 2 | #include "pinconfig.h" |
pradeepvk2208 | 1:c0c5ac8eac80 | 3 | |
pradeepvk2208 | 1:c0c5ac8eac80 | 4 | |
pradeepvk2208 | 1:c0c5ac8eac80 | 5 | I2C master( PIN32, PIN31); |
pradeepvk2208 | 1:c0c5ac8eac80 | 6 | SPISlave device(PIN17,PIN16,PIN15,PIN67); |
pradeepvk2208 | 1:c0c5ac8eac80 | 7 | |
pradeepvk2208 | 1:c0c5ac8eac80 | 8 | |
pradeepvk2208 | 1:c0c5ac8eac80 | 9 | |
pradeepvk2208 | 1:c0c5ac8eac80 | 10 | //InterruptIn PYLD_SPI_Interrupt(PTD2); |
pradeepvk2208 | 1:c0c5ac8eac80 | 11 | DigitalOut flash(LED4); |
pradeepvk2208 | 1:c0c5ac8eac80 | 12 | |
pradeepvk2208 | 1:c0c5ac8eac80 | 13 | int payloadBins = 2500; |
pradeepvk2208 | 1:c0c5ac8eac80 | 14 | float Stability_delay = 0.005228 ;// 0.005228 |
pradeepvk2208 | 1:c0c5ac8eac80 | 15 | |
pradeepvk2208 | 1:c0c5ac8eac80 | 16 | Serial pl(USBTX, USBRX); |
pradeepvk2208 | 1:c0c5ac8eac80 | 17 | |
pradeepvk2208 | 1:c0c5ac8eac80 | 18 | |
pradeepvk2208 | 1:c0c5ac8eac80 | 19 | |
pradeepvk2208 | 1:c0c5ac8eac80 | 20 | void payloadProcess() { |
pradeepvk2208 | 1:c0c5ac8eac80 | 21 | |
pradeepvk2208 | 1:c0c5ac8eac80 | 22 | |
pradeepvk2208 | 1:c0c5ac8eac80 | 23 | //wait(Stability_delay); // wait after interrupt for stability |
pradeepvk2208 | 1:c0c5ac8eac80 | 24 | unsigned short scienceRawPacket[payloadBins]; |
pradeepvk2208 | 1:c0c5ac8eac80 | 25 | |
pradeepvk2208 | 1:c0c5ac8eac80 | 26 | for(int i=0; i<payloadBins;i++){ |
pradeepvk2208 | 1:c0c5ac8eac80 | 27 | |
pradeepvk2208 | 1:c0c5ac8eac80 | 28 | |
pradeepvk2208 | 1:c0c5ac8eac80 | 29 | |
pradeepvk2208 | 1:c0c5ac8eac80 | 30 | while(!device.receive()); // blocking statement --> waiting for data from Payload |
pradeepvk2208 | 1:c0c5ac8eac80 | 31 | scienceRawPacket[i] = device.read(); // Read byte from master |
pradeepvk2208 | 1:c0c5ac8eac80 | 32 | |
pradeepvk2208 | 1:c0c5ac8eac80 | 33 | } |
pradeepvk2208 | 1:c0c5ac8eac80 | 34 | // serial feedback |
pradeepvk2208 | 1:c0c5ac8eac80 | 35 | pl.printf("Packet recieved\r\n"); |
pradeepvk2208 | 1:c0c5ac8eac80 | 36 | /* for(int i=0;i<payloadBins;i++){ |
pradeepvk2208 | 1:c0c5ac8eac80 | 37 | pl.printf("%d\t",scienceRawPacket[i]); |
pradeepvk2208 | 1:c0c5ac8eac80 | 38 | scienceRawPacket[i] = 0; |
pradeepvk2208 | 1:c0c5ac8eac80 | 39 | } |
pradeepvk2208 | 1:c0c5ac8eac80 | 40 | pl.printf("\r\n");*/ |
pradeepvk2208 | 1:c0c5ac8eac80 | 41 | |
pradeepvk2208 | 1:c0c5ac8eac80 | 42 | } |
pradeepvk2208 | 1:c0c5ac8eac80 | 43 | int dt3,pia = 0; |
pradeepvk2208 | 1:c0c5ac8eac80 | 44 | bool f = 1; |
pradeepvk2208 | 1:c0c5ac8eac80 | 45 | char rdata[140],ta2; |
pradeepvk2208 | 1:c0c5ac8eac80 | 46 | void readds() |
pradeepvk2208 | 1:c0c5ac8eac80 | 47 | { |
pradeepvk2208 | 1:c0c5ac8eac80 | 48 | |
pradeepvk2208 | 1:c0c5ac8eac80 | 49 | //wait(Stability_delay); |
pradeepvk2208 | 1:c0c5ac8eac80 | 50 | flash = !flash; |
pradeepvk2208 | 1:c0c5ac8eac80 | 51 | |
pradeepvk2208 | 1:c0c5ac8eac80 | 52 | |
pradeepvk2208 | 1:c0c5ac8eac80 | 53 | |
pradeepvk2208 | 1:c0c5ac8eac80 | 54 | //while(!f) |
pradeepvk2208 | 1:c0c5ac8eac80 | 55 | //{ |
pradeepvk2208 | 1:c0c5ac8eac80 | 56 | f= master.read(addr1,rdata,135); |
pradeepvk2208 | 1:c0c5ac8eac80 | 57 | //} |
pradeepvk2208 | 1:c0c5ac8eac80 | 58 | // master.start(); |
pradeepvk2208 | 1:c0c5ac8eac80 | 59 | //for(int i = 0;i<26;i++) |
pradeepvk2208 | 1:c0c5ac8eac80 | 60 | //{ |
pradeepvk2208 | 1:c0c5ac8eac80 | 61 | |
pradeepvk2208 | 1:c0c5ac8eac80 | 62 | // master.write(addr2); |
pradeepvk2208 | 1:c0c5ac8eac80 | 63 | |
pradeepvk2208 | 1:c0c5ac8eac80 | 64 | // rdata[i] = master.read(1); |
pradeepvk2208 | 1:c0c5ac8eac80 | 65 | //wait_us(20); |
pradeepvk2208 | 1:c0c5ac8eac80 | 66 | |
pradeepvk2208 | 1:c0c5ac8eac80 | 67 | |
pradeepvk2208 | 1:c0c5ac8eac80 | 68 | // } |
pradeepvk2208 | 1:c0c5ac8eac80 | 69 | |
pradeepvk2208 | 1:c0c5ac8eac80 | 70 | // master.stop(); |
pradeepvk2208 | 1:c0c5ac8eac80 | 71 | /* |
pradeepvk2208 | 1:c0c5ac8eac80 | 72 | for(pia = 0 ;pia<26;pia ++) |
pradeepvk2208 | 1:c0c5ac8eac80 | 73 | { |
pradeepvk2208 | 1:c0c5ac8eac80 | 74 | master.read(addr1,&rdata[pia],1); |
pradeepvk2208 | 1:c0c5ac8eac80 | 75 | } |
pradeepvk2208 | 1:c0c5ac8eac80 | 76 | */ |
pradeepvk2208 | 1:c0c5ac8eac80 | 77 | // dt3 = master.read(1); |
pradeepvk2208 | 1:c0c5ac8eac80 | 78 | |
pradeepvk2208 | 1:c0c5ac8eac80 | 79 | |
pradeepvk2208 | 1:c0c5ac8eac80 | 80 | } |
pradeepvk2208 | 1:c0c5ac8eac80 | 81 | |
pradeepvk2208 | 1:c0c5ac8eac80 | 82 | int loop=1; |
pradeepvk2208 | 1:c0c5ac8eac80 | 83 | char *writedata = new char; |
pradeepvk2208 | 1:c0c5ac8eac80 | 84 | char data = 1,data1 = 2, data2 = 3, test[136] ; |
pradeepvk2208 | 1:c0c5ac8eac80 | 85 | |
pradeepvk2208 | 1:c0c5ac8eac80 | 86 | |
pradeepvk2208 | 1:c0c5ac8eac80 | 87 | void FUNC_MASTER_WRITE(void) |
pradeepvk2208 | 1:c0c5ac8eac80 | 88 | { |
pradeepvk2208 | 1:c0c5ac8eac80 | 89 | |
pradeepvk2208 | 1:c0c5ac8eac80 | 90 | for (dt3 = 0;dt3 <135 ; dt3++) |
pradeepvk2208 | 1:c0c5ac8eac80 | 91 | { |
pradeepvk2208 | 1:c0c5ac8eac80 | 92 | test [dt3] = dt3 ; |
pradeepvk2208 | 1:c0c5ac8eac80 | 93 | } |
pradeepvk2208 | 1:c0c5ac8eac80 | 94 | int data5 = pl.getc(); |
pradeepvk2208 | 1:c0c5ac8eac80 | 95 | loop=1; |
pradeepvk2208 | 1:c0c5ac8eac80 | 96 | |
pradeepvk2208 | 1:c0c5ac8eac80 | 97 | |
pradeepvk2208 | 1:c0c5ac8eac80 | 98 | master.frequency(100000); |
pradeepvk2208 | 1:c0c5ac8eac80 | 99 | *writedata = data1; |
pradeepvk2208 | 1:c0c5ac8eac80 | 100 | while(loop) |
pradeepvk2208 | 1:c0c5ac8eac80 | 101 | { |
pradeepvk2208 | 1:c0c5ac8eac80 | 102 | |
pradeepvk2208 | 1:c0c5ac8eac80 | 103 | bool check = (bool)master.write(addr,test,135); |
pradeepvk2208 | 1:c0c5ac8eac80 | 104 | // bool check = (bool)master.write(addr,&test[3],1,false); |
pradeepvk2208 | 1:c0c5ac8eac80 | 105 | // check = (bool)master.write(addr,&test[4],1); |
pradeepvk2208 | 1:c0c5ac8eac80 | 106 | |
pradeepvk2208 | 1:c0c5ac8eac80 | 107 | //wait_us(10); |
pradeepvk2208 | 1:c0c5ac8eac80 | 108 | |
pradeepvk2208 | 1:c0c5ac8eac80 | 109 | //check = (bool)master.write(addr,&data1,1); |
pradeepvk2208 | 1:c0c5ac8eac80 | 110 | // check = (bool)master.write(addr,&data1,1); |
pradeepvk2208 | 1:c0c5ac8eac80 | 111 | //check = (bool)master.write(addr,&data2,1); |
pradeepvk2208 | 1:c0c5ac8eac80 | 112 | //bool check = master.write(addr,test,3); |
pradeepvk2208 | 1:c0c5ac8eac80 | 113 | |
pradeepvk2208 | 1:c0c5ac8eac80 | 114 | // while(!test); |
pradeepvk2208 | 1:c0c5ac8eac80 | 115 | |
pradeepvk2208 | 1:c0c5ac8eac80 | 116 | // readds(); |
pradeepvk2208 | 1:c0c5ac8eac80 | 117 | /* |
pradeepvk2208 | 1:c0c5ac8eac80 | 118 | master.start(); |
pradeepvk2208 | 1:c0c5ac8eac80 | 119 | master.write(addr1); |
pradeepvk2208 | 1:c0c5ac8eac80 | 120 | |
pradeepvk2208 | 1:c0c5ac8eac80 | 121 | for( pia = 0 ; pia<2 ; pia++) |
pradeepvk2208 | 1:c0c5ac8eac80 | 122 | { |
pradeepvk2208 | 1:c0c5ac8eac80 | 123 | |
pradeepvk2208 | 1:c0c5ac8eac80 | 124 | master.write(test[pia]); |
pradeepvk2208 | 1:c0c5ac8eac80 | 125 | //wait_us(2); |
pradeepvk2208 | 1:c0c5ac8eac80 | 126 | |
pradeepvk2208 | 1:c0c5ac8eac80 | 127 | |
pradeepvk2208 | 1:c0c5ac8eac80 | 128 | } |
pradeepvk2208 | 1:c0c5ac8eac80 | 129 | |
pradeepvk2208 | 1:c0c5ac8eac80 | 130 | |
pradeepvk2208 | 1:c0c5ac8eac80 | 131 | |
pradeepvk2208 | 1:c0c5ac8eac80 | 132 | |
pradeepvk2208 | 1:c0c5ac8eac80 | 133 | for( pia = 2 ; pia<13 ; pia++) |
pradeepvk2208 | 1:c0c5ac8eac80 | 134 | { |
pradeepvk2208 | 1:c0c5ac8eac80 | 135 | |
pradeepvk2208 | 1:c0c5ac8eac80 | 136 | master.write(test[pia]); |
pradeepvk2208 | 1:c0c5ac8eac80 | 137 | //wait_us(2); |
pradeepvk2208 | 1:c0c5ac8eac80 | 138 | |
pradeepvk2208 | 1:c0c5ac8eac80 | 139 | |
pradeepvk2208 | 1:c0c5ac8eac80 | 140 | } |
pradeepvk2208 | 1:c0c5ac8eac80 | 141 | master.stop(); |
pradeepvk2208 | 1:c0c5ac8eac80 | 142 | |
pradeepvk2208 | 1:c0c5ac8eac80 | 143 | */ |
pradeepvk2208 | 1:c0c5ac8eac80 | 144 | /* |
pradeepvk2208 | 1:c0c5ac8eac80 | 145 | master.start(); |
pradeepvk2208 | 1:c0c5ac8eac80 | 146 | bool check1 = master.write(addr1); |
pradeepvk2208 | 1:c0c5ac8eac80 | 147 | // wait_us(10); |
pradeepvk2208 | 1:c0c5ac8eac80 | 148 | bool check2 = master.write(1); |
pradeepvk2208 | 1:c0c5ac8eac80 | 149 | //wait_us(10); |
pradeepvk2208 | 1:c0c5ac8eac80 | 150 | check2 = master.write(2); |
pradeepvk2208 | 1:c0c5ac8eac80 | 151 | master.write(3); |
pradeepvk2208 | 1:c0c5ac8eac80 | 152 | master.write(4); |
pradeepvk2208 | 1:c0c5ac8eac80 | 153 | master.write(5); |
pradeepvk2208 | 1:c0c5ac8eac80 | 154 | master.write(6); |
pradeepvk2208 | 1:c0c5ac8eac80 | 155 | master.write(7); |
pradeepvk2208 | 1:c0c5ac8eac80 | 156 | //wait_us(10); |
pradeepvk2208 | 1:c0c5ac8eac80 | 157 | master.write(8); |
pradeepvk2208 | 1:c0c5ac8eac80 | 158 | master.write(9); |
pradeepvk2208 | 1:c0c5ac8eac80 | 159 | master.write(10); |
pradeepvk2208 | 1:c0c5ac8eac80 | 160 | master.write(11); |
pradeepvk2208 | 1:c0c5ac8eac80 | 161 | master.write(12); |
pradeepvk2208 | 1:c0c5ac8eac80 | 162 | master.write(13); |
pradeepvk2208 | 1:c0c5ac8eac80 | 163 | |
pradeepvk2208 | 1:c0c5ac8eac80 | 164 | master.stop(); |
pradeepvk2208 | 1:c0c5ac8eac80 | 165 | |
pradeepvk2208 | 1:c0c5ac8eac80 | 166 | */ |
pradeepvk2208 | 1:c0c5ac8eac80 | 167 | |
pradeepvk2208 | 1:c0c5ac8eac80 | 168 | |
pradeepvk2208 | 1:c0c5ac8eac80 | 169 | loop = 0; |
pradeepvk2208 | 1:c0c5ac8eac80 | 170 | } |
pradeepvk2208 | 1:c0c5ac8eac80 | 171 | } |
pradeepvk2208 | 1:c0c5ac8eac80 | 172 | |
pradeepvk2208 | 1:c0c5ac8eac80 | 173 | void FCTN_CDMS_PL_INIT() |
pradeepvk2208 | 1:c0c5ac8eac80 | 174 | {device.format(16,0); // SPI format --> 16 bits, mode = 0 |
pradeepvk2208 | 1:c0c5ac8eac80 | 175 | device.frequency(1000000); |
pradeepvk2208 | 1:c0c5ac8eac80 | 176 | master.frequency(400000); } |
pradeepvk2208 | 1:c0c5ac8eac80 | 177 |