chunk new_scramble(chunk TX_DATA_IN) { static chunk TX_FEEDBACK(0); chunk TX_DATA_OUT(0); TX_DATA_OUT[ 0] = TX_DATA_IN[ 0] ^ TX_FEEDBACK[ 0] ^ TX_FEEDBACK[ 2]; TX_DATA_OUT[ 1] = TX_DATA_IN[ 1] ^ TX_FEEDBACK[ 1] ^ TX_FEEDBACK[ 3]; TX_DATA_OUT[ 2] = TX_DATA_IN[ 2] ^ TX_FEEDBACK[ 2] ^ TX_FEEDBACK[ 4]; TX_DATA_OUT[ 3] = TX_DATA_IN[ 3] ^ TX_FEEDBACK[ 3] ^ TX_FEEDBACK[ 5]; TX_DATA_OUT[ 4] = TX_DATA_IN[ 4] ^ TX_FEEDBACK[ 4] ^ TX_FEEDBACK[ 6]; TX_DATA_OUT[ 5] = TX_DATA_IN[ 5] ^ TX_FEEDBACK[ 5] ^ TX_FEEDBACK[ 7]; TX_DATA_OUT[ 6] = TX_DATA_IN[ 6] ^ TX_FEEDBACK[ 6] ^ TX_FEEDBACK[ 8]; TX_DATA_OUT[ 7] = TX_DATA_IN[ 7] ^ TX_FEEDBACK[ 7] ^ TX_FEEDBACK[ 9]; TX_DATA_OUT[ 8] = TX_DATA_IN[ 8] ^ TX_FEEDBACK[ 8] ^ TX_FEEDBACK[10]; TX_DATA_OUT[ 9] = TX_DATA_IN[ 9] ^ TX_FEEDBACK[ 9] ^ TX_FEEDBACK[11]; TX_DATA_OUT[10] = TX_DATA_IN[10] ^ TX_FEEDBACK[10] ^ TX_FEEDBACK[12]; TX_DATA_OUT[11] = TX_DATA_IN[11] ^ TX_FEEDBACK[11] ^ TX_FEEDBACK[13]; TX_DATA_OUT[12] = TX_DATA_IN[12] ^ TX_FEEDBACK[12] ^ TX_FEEDBACK[14]; TX_DATA_OUT[13] = TX_DATA_IN[13] ^ TX_FEEDBACK[13] ^ TX_FEEDBACK[15]; TX_DATA_OUT[14] = TX_DATA_IN[14] ^ TX_FEEDBACK[14] ^ TX_FEEDBACK[16]; TX_DATA_OUT[15] = TX_DATA_IN[15] ^ TX_FEEDBACK[15] ^ TX_FEEDBACK[17]; TX_DATA_OUT[16] = TX_DATA_IN[16] ^ TX_FEEDBACK[16] ^ TX_FEEDBACK[18]; TX_DATA_OUT[17] = TX_DATA_IN[17] ^ TX_FEEDBACK[17] ^ TX_FEEDBACK[19]; TX_DATA_OUT[18] = TX_DATA_IN[18] ^ TX_FEEDBACK[18] ^ TX_FEEDBACK[20]; TX_DATA_OUT[19] = TX_DATA_IN[19] ^ TX_FEEDBACK[19] ^ TX_FEEDBACK[21]; TX_DATA_OUT[20] = TX_DATA_IN[20] ^ TX_FEEDBACK[20] ^ TX_FEEDBACK[22]; TX_DATA_OUT[21] = TX_DATA_IN[21] ^ TX_FEEDBACK[21] ^ TX_FEEDBACK[23]; TX_DATA_OUT[22] = TX_DATA_IN[22] ^ TX_FEEDBACK[22] ^ TX_FEEDBACK[24]; TX_DATA_OUT[23] = TX_DATA_IN[23] ^ TX_FEEDBACK[23] ^ TX_FEEDBACK[25]; TX_DATA_OUT[24] = TX_DATA_IN[24] ^ TX_FEEDBACK[24] ^ TX_FEEDBACK[26]; TX_DATA_OUT[25] = TX_DATA_IN[25] ^ TX_FEEDBACK[25] ^ TX_FEEDBACK[27]; TX_DATA_OUT[26] = TX_DATA_IN[26] ^ TX_FEEDBACK[26] ^ TX_FEEDBACK[28]; TX_DATA_OUT[27] = TX_DATA_IN[27] ^ TX_FEEDBACK[27] ^ TX_FEEDBACK[29]; TX_DATA_OUT[28] = TX_DATA_IN[28] ^ TX_FEEDBACK[28] ^ TX_DATA_IN [ 0] ^ TX_FEEDBACK[0] ^ TX_FEEDBACK[2]; TX_DATA_OUT[29] = TX_DATA_IN[29] ^ TX_FEEDBACK[29] ^ TX_DATA_IN [ 1] ^ TX_FEEDBACK[1] ^ TX_FEEDBACK[3]; TX_FEEDBACK = TX_DATA_OUT; return TX_DATA_OUT; //COMMON_FRAME }
spp Karol_scramble_TX(spp TX_DATA_IN, int i) { static spp TX_FEEDBACK [4] = {0,0,0,0}; spp TX_DATA_OUT(0); TX_DATA_OUT[ 0] = TX_DATA_IN[ 0] ^ TX_FEEDBACK[i][ 0] ^ TX_FEEDBACK[i][ 2]; TX_DATA_OUT[ 1] = TX_DATA_IN[ 1] ^ TX_FEEDBACK[i][ 1] ^ TX_FEEDBACK[i][ 3]; TX_DATA_OUT[ 2] = TX_DATA_IN[ 2] ^ TX_FEEDBACK[i][ 2] ^ TX_FEEDBACK[i][ 4]; TX_DATA_OUT[ 3] = TX_DATA_IN[ 3] ^ TX_FEEDBACK[i][ 3] ^ TX_FEEDBACK[i][ 5]; TX_DATA_OUT[ 4] = TX_DATA_IN[ 4] ^ TX_FEEDBACK[i][ 4] ^ TX_FEEDBACK[i][ 6]; TX_DATA_OUT[ 5] = TX_DATA_IN[ 5] ^ TX_FEEDBACK[i][ 5] ^ TX_FEEDBACK[i][ 7]; TX_DATA_OUT[ 6] = TX_DATA_IN[ 6] ^ TX_FEEDBACK[i][ 6] ^ TX_FEEDBACK[i][ 8]; TX_DATA_OUT[ 7] = TX_DATA_IN[ 7] ^ TX_FEEDBACK[i][ 7] ^ TX_FEEDBACK[i][ 9]; TX_DATA_OUT[ 8] = TX_DATA_IN[ 8] ^ TX_FEEDBACK[i][ 8] ^ TX_FEEDBACK[i][10]; TX_DATA_OUT[ 9] = TX_DATA_IN[ 9] ^ TX_FEEDBACK[i][ 9] ^ TX_FEEDBACK[i][11]; TX_DATA_OUT[10] = TX_DATA_IN[10] ^ TX_FEEDBACK[i][10] ^ TX_FEEDBACK[i][12]; TX_DATA_OUT[11] = TX_DATA_IN[11] ^ TX_FEEDBACK[i][11] ^ TX_FEEDBACK[i][13]; TX_DATA_OUT[12] = TX_DATA_IN[12] ^ TX_FEEDBACK[i][12] ^ TX_FEEDBACK[i][14]; TX_DATA_OUT[13] = TX_DATA_IN[13] ^ TX_FEEDBACK[i][13] ^ TX_FEEDBACK[i][15]; TX_DATA_OUT[14] = TX_DATA_IN[14] ^ TX_FEEDBACK[i][14] ^ TX_FEEDBACK[i][16]; TX_DATA_OUT[15] = TX_DATA_IN[15] ^ TX_FEEDBACK[i][15] ^ TX_FEEDBACK[i][17]; TX_DATA_OUT[16] = TX_DATA_IN[16] ^ TX_FEEDBACK[i][16] ^ TX_FEEDBACK[i][18]; TX_DATA_OUT[17] = TX_DATA_IN[17] ^ TX_FEEDBACK[i][17] ^ TX_FEEDBACK[i][19]; TX_DATA_OUT[18] = TX_DATA_IN[18] ^ TX_FEEDBACK[i][18] ^ TX_FEEDBACK[i][20]; TX_DATA_OUT[19] = TX_DATA_IN[19] ^ TX_FEEDBACK[i][19] ^ TX_FEEDBACK[i][21]; TX_DATA_OUT[20] = TX_DATA_IN[20] ^ TX_FEEDBACK[i][20] ^ TX_FEEDBACK[i][22]; TX_DATA_OUT[21] = TX_DATA_IN[21] ^ TX_FEEDBACK[i][21] ^ TX_FEEDBACK[i][23]; TX_DATA_OUT[22] = TX_DATA_IN[22] ^ TX_FEEDBACK[i][22] ^ TX_FEEDBACK[i][24]; TX_DATA_OUT[23] = TX_DATA_IN[23] ^ TX_FEEDBACK[i][23] ^ TX_FEEDBACK[i][25]; TX_DATA_OUT[24] = TX_DATA_IN[24] ^ TX_FEEDBACK[i][24] ^ TX_FEEDBACK[i][26]; TX_DATA_OUT[25] = TX_DATA_IN[25] ^ TX_FEEDBACK[i][25] ^ TX_FEEDBACK[i][27]; TX_DATA_OUT[26] = TX_DATA_IN[26] ^ TX_FEEDBACK[i][26] ^ TX_FEEDBACK[i][28]; TX_DATA_OUT[27] = TX_DATA_IN[27] ^ TX_FEEDBACK[i][27] ^ TX_FEEDBACK[i][29]; TX_DATA_OUT[28] = TX_DATA_IN[28] ^ TX_FEEDBACK[i][28] ^ TX_DATA_IN [ 0] ^ TX_FEEDBACK[i][0] ^ TX_FEEDBACK[i][2]; TX_DATA_OUT[29] = TX_DATA_IN[29] ^ TX_FEEDBACK[i][29] ^ TX_DATA_IN [ 1] ^ TX_FEEDBACK[i][1] ^ TX_FEEDBACK[i][3]; TX_FEEDBACK[i] = TX_DATA_OUT; return TX_DATA_OUT; //COMMON_FRAME }