aadadf

Dependencies:   mbed-rtos mbed

Fork of cdms_rtos_v1_1_test by Team Fox

Committer:
pradeepvk2208
Date:
Sat Nov 07 12:06:40 2015 +0000
Revision:
1:c0c5ac8eac80
hey cdms_pl

Who changed what in which revision?

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