lele

Dependencies:   mbed

Committer:
krishanprajapat
Date:
Fri Jul 31 12:52:23 2015 +0000
Revision:
1:90fd52655154
Parent:
0:984643af7d81
bro working fine and Sframe and EoS is also done , so put peace;

Who changed what in which revision?

UserRevisionLine numberNew contents of line
krishanprajapat 0:984643af7d81 1 void interleave( unsigned char *input, unsigned char *output ){
krishanprajapat 0:984643af7d81 2
krishanprajapat 0:984643af7d81 3 unsigned int outState = 0;
krishanprajapat 0:984643af7d81 4 unsigned int outByte = 0;
krishanprajapat 0:984643af7d81 5
krishanprajapat 0:984643af7d81 6 for( unsigned int i = 0 ; i < 36 ; ++i ){
krishanprajapat 0:984643af7d81 7 for(unsigned int j = 0 ; j < 30 ; ++j){
krishanprajapat 0:984643af7d81 8 unsigned int x = j*36+i;
krishanprajapat 0:984643af7d81 9 unsigned char tempBit = ((input[x >> 3]) >> (7-(x % 8))) & 1;
krishanprajapat 0:984643af7d81 10 switch(outState){
krishanprajapat 0:984643af7d81 11 case 0:
krishanprajapat 0:984643af7d81 12 outState = 1;
krishanprajapat 0:984643af7d81 13 output[outByte] = tempBit << 7;
krishanprajapat 0:984643af7d81 14 break;
krishanprajapat 0:984643af7d81 15 case 1:
krishanprajapat 0:984643af7d81 16 outState = 2;
krishanprajapat 0:984643af7d81 17 output[outByte] += tempBit << 6;
krishanprajapat 0:984643af7d81 18 break;
krishanprajapat 0:984643af7d81 19 case 2:
krishanprajapat 0:984643af7d81 20 outState = 3;
krishanprajapat 0:984643af7d81 21 output[outByte] += tempBit << 5;
krishanprajapat 0:984643af7d81 22 break;
krishanprajapat 0:984643af7d81 23 case 3:
krishanprajapat 0:984643af7d81 24 outState = 4;
krishanprajapat 0:984643af7d81 25 output[outByte] += tempBit << 4;
krishanprajapat 0:984643af7d81 26 break;
krishanprajapat 0:984643af7d81 27 case 4:
krishanprajapat 0:984643af7d81 28 outState = 5;
krishanprajapat 0:984643af7d81 29 output[outByte] += tempBit << 3;
krishanprajapat 0:984643af7d81 30 break;
krishanprajapat 0:984643af7d81 31 case 5:
krishanprajapat 0:984643af7d81 32 outState = 6;
krishanprajapat 0:984643af7d81 33 output[outByte] += tempBit << 2;
krishanprajapat 0:984643af7d81 34 break;
krishanprajapat 0:984643af7d81 35 case 6:
krishanprajapat 0:984643af7d81 36 outState = 7;
krishanprajapat 0:984643af7d81 37 output[outByte] += tempBit << 1;
krishanprajapat 0:984643af7d81 38 break;
krishanprajapat 0:984643af7d81 39 case 7:
krishanprajapat 0:984643af7d81 40 outState = 0;
krishanprajapat 0:984643af7d81 41 output[outByte] += tempBit;
krishanprajapat 0:984643af7d81 42 ++outByte;
krishanprajapat 0:984643af7d81 43 break;
krishanprajapat 0:984643af7d81 44 }
krishanprajapat 0:984643af7d81 45 }
krishanprajapat 0:984643af7d81 46 for(unsigned int j = 0 ; j < 2 ; ++j){
krishanprajapat 0:984643af7d81 47 switch(outState){
krishanprajapat 0:984643af7d81 48 case 0:
krishanprajapat 0:984643af7d81 49 output[outByte] = 0;
krishanprajapat 0:984643af7d81 50 outState = 1;
krishanprajapat 0:984643af7d81 51 break;
krishanprajapat 0:984643af7d81 52 case 1:
krishanprajapat 0:984643af7d81 53 outState = 2;
krishanprajapat 0:984643af7d81 54 break;
krishanprajapat 0:984643af7d81 55 case 2:
krishanprajapat 0:984643af7d81 56 outState = 3;
krishanprajapat 0:984643af7d81 57 break;
krishanprajapat 0:984643af7d81 58 case 3:
krishanprajapat 0:984643af7d81 59 outState = 4;
krishanprajapat 0:984643af7d81 60 break;
krishanprajapat 0:984643af7d81 61 case 4:
krishanprajapat 0:984643af7d81 62 outState = 5;
krishanprajapat 0:984643af7d81 63 break;
krishanprajapat 0:984643af7d81 64 case 5:
krishanprajapat 0:984643af7d81 65 outState = 6;
krishanprajapat 0:984643af7d81 66 break;
krishanprajapat 0:984643af7d81 67 case 6:
krishanprajapat 0:984643af7d81 68 outState = 7;
krishanprajapat 0:984643af7d81 69 break;
krishanprajapat 0:984643af7d81 70 case 7:
krishanprajapat 0:984643af7d81 71 outState = 0;
krishanprajapat 0:984643af7d81 72 ++outByte;
krishanprajapat 0:984643af7d81 73 break;
krishanprajapat 0:984643af7d81 74 }
krishanprajapat 0:984643af7d81 75 }
krishanprajapat 0:984643af7d81 76 }
krishanprajapat 0:984643af7d81 77 }