TELECOMMAND MANAGER V1
Dependencies: mbed SLCD mbed-rtos
interleave.h@16:de2224dd9a0d, 2015-09-17 (annotated)
- Committer:
- shreeshas95
- Date:
- Thu Sep 17 13:54:08 2015 +0000
- Revision:
- 16:de2224dd9a0d
- Parent:
- 13:7b27a8e9cbb4
DUMMY program to demostrate the problems
Who changed what in which revision?
User | Revision | Line number | New contents of line |
---|---|---|---|
shreeshas95 | 13:7b27a8e9cbb4 | 1 | void interleave( unsigned char *input, unsigned char *output ){ |
shreeshas95 | 13:7b27a8e9cbb4 | 2 | |
shreeshas95 | 13:7b27a8e9cbb4 | 3 | unsigned int outState = 0; |
shreeshas95 | 13:7b27a8e9cbb4 | 4 | unsigned int outByte = 0; |
shreeshas95 | 13:7b27a8e9cbb4 | 5 | |
shreeshas95 | 13:7b27a8e9cbb4 | 6 | for( unsigned int i = 0 ; i < 36 ; ++i ){ |
shreeshas95 | 13:7b27a8e9cbb4 | 7 | for(unsigned int j = 0 ; j < 30 ; ++j){ |
shreeshas95 | 13:7b27a8e9cbb4 | 8 | unsigned int x = j*36+i; |
shreeshas95 | 13:7b27a8e9cbb4 | 9 | unsigned char tempBit = ((input[x >> 3]) >> (7-(x % 8))) & 1; |
shreeshas95 | 13:7b27a8e9cbb4 | 10 | switch(outState){ |
shreeshas95 | 13:7b27a8e9cbb4 | 11 | case 0: |
shreeshas95 | 13:7b27a8e9cbb4 | 12 | outState = 1; |
shreeshas95 | 13:7b27a8e9cbb4 | 13 | output[outByte] = tempBit << 7; |
shreeshas95 | 13:7b27a8e9cbb4 | 14 | break; |
shreeshas95 | 13:7b27a8e9cbb4 | 15 | case 1: |
shreeshas95 | 13:7b27a8e9cbb4 | 16 | outState = 2; |
shreeshas95 | 13:7b27a8e9cbb4 | 17 | output[outByte] += tempBit << 6; |
shreeshas95 | 13:7b27a8e9cbb4 | 18 | break; |
shreeshas95 | 13:7b27a8e9cbb4 | 19 | case 2: |
shreeshas95 | 13:7b27a8e9cbb4 | 20 | outState = 3; |
shreeshas95 | 13:7b27a8e9cbb4 | 21 | output[outByte] += tempBit << 5; |
shreeshas95 | 13:7b27a8e9cbb4 | 22 | break; |
shreeshas95 | 13:7b27a8e9cbb4 | 23 | case 3: |
shreeshas95 | 13:7b27a8e9cbb4 | 24 | outState = 4; |
shreeshas95 | 13:7b27a8e9cbb4 | 25 | output[outByte] += tempBit << 4; |
shreeshas95 | 13:7b27a8e9cbb4 | 26 | break; |
shreeshas95 | 13:7b27a8e9cbb4 | 27 | case 4: |
shreeshas95 | 13:7b27a8e9cbb4 | 28 | outState = 5; |
shreeshas95 | 13:7b27a8e9cbb4 | 29 | output[outByte] += tempBit << 3; |
shreeshas95 | 13:7b27a8e9cbb4 | 30 | break; |
shreeshas95 | 13:7b27a8e9cbb4 | 31 | case 5: |
shreeshas95 | 13:7b27a8e9cbb4 | 32 | outState = 6; |
shreeshas95 | 13:7b27a8e9cbb4 | 33 | output[outByte] += tempBit << 2; |
shreeshas95 | 13:7b27a8e9cbb4 | 34 | break; |
shreeshas95 | 13:7b27a8e9cbb4 | 35 | case 6: |
shreeshas95 | 13:7b27a8e9cbb4 | 36 | outState = 7; |
shreeshas95 | 13:7b27a8e9cbb4 | 37 | output[outByte] += tempBit << 1; |
shreeshas95 | 13:7b27a8e9cbb4 | 38 | break; |
shreeshas95 | 13:7b27a8e9cbb4 | 39 | case 7: |
shreeshas95 | 13:7b27a8e9cbb4 | 40 | outState = 0; |
shreeshas95 | 13:7b27a8e9cbb4 | 41 | output[outByte] += tempBit; |
shreeshas95 | 13:7b27a8e9cbb4 | 42 | ++outByte; |
shreeshas95 | 13:7b27a8e9cbb4 | 43 | break; |
shreeshas95 | 13:7b27a8e9cbb4 | 44 | } |
shreeshas95 | 13:7b27a8e9cbb4 | 45 | } |
shreeshas95 | 13:7b27a8e9cbb4 | 46 | for(unsigned int j = 0 ; j < 2 ; ++j){ |
shreeshas95 | 13:7b27a8e9cbb4 | 47 | switch(outState){ |
shreeshas95 | 13:7b27a8e9cbb4 | 48 | case 0: |
shreeshas95 | 13:7b27a8e9cbb4 | 49 | output[outByte] = 0; |
shreeshas95 | 13:7b27a8e9cbb4 | 50 | outState = 1; |
shreeshas95 | 13:7b27a8e9cbb4 | 51 | break; |
shreeshas95 | 13:7b27a8e9cbb4 | 52 | case 1: |
shreeshas95 | 13:7b27a8e9cbb4 | 53 | outState = 2; |
shreeshas95 | 13:7b27a8e9cbb4 | 54 | break; |
shreeshas95 | 13:7b27a8e9cbb4 | 55 | case 2: |
shreeshas95 | 13:7b27a8e9cbb4 | 56 | outState = 3; |
shreeshas95 | 13:7b27a8e9cbb4 | 57 | break; |
shreeshas95 | 13:7b27a8e9cbb4 | 58 | case 3: |
shreeshas95 | 13:7b27a8e9cbb4 | 59 | outState = 4; |
shreeshas95 | 13:7b27a8e9cbb4 | 60 | break; |
shreeshas95 | 13:7b27a8e9cbb4 | 61 | case 4: |
shreeshas95 | 13:7b27a8e9cbb4 | 62 | outState = 5; |
shreeshas95 | 13:7b27a8e9cbb4 | 63 | break; |
shreeshas95 | 13:7b27a8e9cbb4 | 64 | case 5: |
shreeshas95 | 13:7b27a8e9cbb4 | 65 | outState = 6; |
shreeshas95 | 13:7b27a8e9cbb4 | 66 | break; |
shreeshas95 | 13:7b27a8e9cbb4 | 67 | case 6: |
shreeshas95 | 13:7b27a8e9cbb4 | 68 | outState = 7; |
shreeshas95 | 13:7b27a8e9cbb4 | 69 | break; |
shreeshas95 | 13:7b27a8e9cbb4 | 70 | case 7: |
shreeshas95 | 13:7b27a8e9cbb4 | 71 | outState = 0; |
shreeshas95 | 13:7b27a8e9cbb4 | 72 | ++outByte; |
shreeshas95 | 13:7b27a8e9cbb4 | 73 | break; |
shreeshas95 | 13:7b27a8e9cbb4 | 74 | } |
shreeshas95 | 13:7b27a8e9cbb4 | 75 | } |
shreeshas95 | 13:7b27a8e9cbb4 | 76 | } |
shreeshas95 | 13:7b27a8e9cbb4 | 77 | } |