void RFXX_PORT_INIT(void){ HI_SEL(); HI_SDI(); LOW_SCK(); //SET nFFS pin HI when using FIFO HI_DATA(); SEL_OUTPUT(); SDI_OUTPUT(); SDO_INPUT(); SCK_OUTPUT(); IRQ_IN(); DATA_OUT(); }
/*=============================================================================== 関数名 : gpio_busout 処理概要: dt10drv_write()関数実行時のポートHi/Lo出力部 ===============================================================================*/ static void gpio_busout( unsigned int addr, unsigned int data ) { CS_LOW; DATA_OUT(data >> 12); // bit15-12 CLK_LOW; DATA_OUT(data >> 8); // bit11-8 CLK_HI; DATA_OUT(data >> 4); // bit7-4 CLK_LOW; DATA_OUT(data); // bit3-0 CLK_HI; if( addr >= 0x00010000 ) { DATA_OUT(addr >> 20); // bit23-20 CLK_LOW; DATA_OUT(addr >> 16); // bit19-16 CLK_HI; }
chunk old_scramble(chunk DATA_IN) { static chunk COMMON_FRAME_1(7); static chunk COMMON_FRAME_2(0); chunk DATA_OUT(0); COMMON_FRAME_2[0 ] = COMMON_FRAME_1[0 ] ^ COMMON_FRAME_1[29]; COMMON_FRAME_2[1 ] = COMMON_FRAME_1[0 ] ^ COMMON_FRAME_1[1 ] ^ COMMON_FRAME_1[29]; COMMON_FRAME_2[2 ] = COMMON_FRAME_1[1 ] ^ COMMON_FRAME_1[2 ]; COMMON_FRAME_2[3 ] = COMMON_FRAME_1[2 ] ^ COMMON_FRAME_1[3 ]; COMMON_FRAME_2[4 ] = COMMON_FRAME_1[3 ] ^ COMMON_FRAME_1[4 ]; COMMON_FRAME_2[5 ] = COMMON_FRAME_1[4 ] ^ COMMON_FRAME_1[5 ]; COMMON_FRAME_2[6 ] = COMMON_FRAME_1[5 ] ^ COMMON_FRAME_1[6 ]; COMMON_FRAME_2[7 ] = COMMON_FRAME_1[6 ] ^ COMMON_FRAME_1[7 ]; COMMON_FRAME_2[8 ] = COMMON_FRAME_1[7 ] ^ COMMON_FRAME_1[8 ]; COMMON_FRAME_2[9 ] = COMMON_FRAME_1[8 ] ^ COMMON_FRAME_1[9 ]; COMMON_FRAME_2[10] = COMMON_FRAME_1[9 ] ^ COMMON_FRAME_1[10]; COMMON_FRAME_2[11] = COMMON_FRAME_1[10] ^ COMMON_FRAME_1[11]; COMMON_FRAME_2[12] = COMMON_FRAME_1[11] ^ COMMON_FRAME_1[12]; COMMON_FRAME_2[13] = COMMON_FRAME_1[12] ^ COMMON_FRAME_1[13]; COMMON_FRAME_2[14] = COMMON_FRAME_1[13] ^ COMMON_FRAME_1[14]; COMMON_FRAME_2[15] = COMMON_FRAME_1[14] ^ COMMON_FRAME_1[15]; COMMON_FRAME_2[16] = COMMON_FRAME_1[15] ^ COMMON_FRAME_1[16]; COMMON_FRAME_2[17] = COMMON_FRAME_1[16] ^ COMMON_FRAME_1[17]; COMMON_FRAME_2[18] = COMMON_FRAME_1[17] ^ COMMON_FRAME_1[18]; COMMON_FRAME_2[19] = COMMON_FRAME_1[18] ^ COMMON_FRAME_1[19]; COMMON_FRAME_2[20] = COMMON_FRAME_1[19] ^ COMMON_FRAME_1[20]; COMMON_FRAME_2[21] = COMMON_FRAME_1[20] ^ COMMON_FRAME_1[21]; COMMON_FRAME_2[22] = COMMON_FRAME_1[21] ^ COMMON_FRAME_1[22]; COMMON_FRAME_2[23] = COMMON_FRAME_1[22] ^ COMMON_FRAME_1[23]; COMMON_FRAME_2[24] = COMMON_FRAME_1[23] ^ COMMON_FRAME_1[24]; COMMON_FRAME_2[25] = COMMON_FRAME_1[24] ^ COMMON_FRAME_1[25]; COMMON_FRAME_2[26] = COMMON_FRAME_1[25] ^ COMMON_FRAME_1[26]; COMMON_FRAME_2[27] = COMMON_FRAME_1[26] ^ COMMON_FRAME_1[27]; COMMON_FRAME_2[28] = COMMON_FRAME_1[27] ^ COMMON_FRAME_1[28]; COMMON_FRAME_2[29] = COMMON_FRAME_1[28] ^ COMMON_FRAME_1[29]; DATA_OUT[0 ] = DATA_IN[0 ] ^ COMMON_FRAME_1[29]; DATA_OUT[1 ] = DATA_IN[1 ] ^ COMMON_FRAME_1[28]; DATA_OUT[2 ] = DATA_IN[2 ] ^ COMMON_FRAME_1[27]; DATA_OUT[3 ] = DATA_IN[3 ] ^ COMMON_FRAME_1[26]; DATA_OUT[4 ] = DATA_IN[4 ] ^ COMMON_FRAME_1[25]; DATA_OUT[5 ] = DATA_IN[5 ] ^ COMMON_FRAME_1[24]; DATA_OUT[6 ] = DATA_IN[6 ] ^ COMMON_FRAME_1[23]; DATA_OUT[7 ] = DATA_IN[7 ] ^ COMMON_FRAME_1[22]; DATA_OUT[8 ] = DATA_IN[8 ] ^ COMMON_FRAME_1[21]; DATA_OUT[9 ] = DATA_IN[9 ] ^ COMMON_FRAME_1[20]; DATA_OUT[10] = DATA_IN[10] ^ COMMON_FRAME_1[19]; DATA_OUT[11] = DATA_IN[11] ^ COMMON_FRAME_1[18]; DATA_OUT[12] = DATA_IN[12] ^ COMMON_FRAME_1[17]; DATA_OUT[13] = DATA_IN[13] ^ COMMON_FRAME_1[16]; DATA_OUT[14] = DATA_IN[14] ^ COMMON_FRAME_1[15]; DATA_OUT[15] = DATA_IN[15] ^ COMMON_FRAME_1[14]; DATA_OUT[16] = DATA_IN[16] ^ COMMON_FRAME_1[13]; DATA_OUT[17] = DATA_IN[17] ^ COMMON_FRAME_1[12]; DATA_OUT[18] = DATA_IN[18] ^ COMMON_FRAME_1[11]; DATA_OUT[19] = DATA_IN[19] ^ COMMON_FRAME_1[10]; DATA_OUT[20] = DATA_IN[20] ^ COMMON_FRAME_1[9 ]; DATA_OUT[21] = DATA_IN[21] ^ COMMON_FRAME_1[8 ]; DATA_OUT[22] = DATA_IN[22] ^ COMMON_FRAME_1[7 ]; DATA_OUT[23] = DATA_IN[23] ^ COMMON_FRAME_1[6 ]; DATA_OUT[24] = DATA_IN[24] ^ COMMON_FRAME_1[5 ]; DATA_OUT[25] = DATA_IN[25] ^ COMMON_FRAME_1[4 ]; DATA_OUT[26] = DATA_IN[26] ^ COMMON_FRAME_1[3 ]; DATA_OUT[27] = DATA_IN[27] ^ COMMON_FRAME_1[2 ]; DATA_OUT[28] = DATA_IN[28] ^ COMMON_FRAME_1[1 ]; DATA_OUT[29] = DATA_IN[29] ^ COMMON_FRAME_1[0 ] ^ COMMON_FRAME_1[29 ]; COMMON_FRAME_1 = COMMON_FRAME_2; return DATA_OUT; }
spp additive_scramble_RX(spp DATA_IN, int i) { static spp COMMON_FRAME_1_RX [4] = {7,7,7,7}; static spp COMMON_FRAME_2_RX [4] = {0,0,0,0}; spp DATA_OUT(0); COMMON_FRAME_2_RX[i][0 ] = COMMON_FRAME_1_RX[i][0 ] ^ COMMON_FRAME_1_RX[i][29]; COMMON_FRAME_2_RX[i][1 ] = COMMON_FRAME_1_RX[i][0 ] ^ COMMON_FRAME_1_RX[i][1 ] ^ COMMON_FRAME_1_RX[i][29]; COMMON_FRAME_2_RX[i][2 ] = COMMON_FRAME_1_RX[i][1 ] ^ COMMON_FRAME_1_RX[i][2 ]; COMMON_FRAME_2_RX[i][3 ] = COMMON_FRAME_1_RX[i][2 ] ^ COMMON_FRAME_1_RX[i][3 ]; COMMON_FRAME_2_RX[i][4 ] = COMMON_FRAME_1_RX[i][3 ] ^ COMMON_FRAME_1_RX[i][4 ]; COMMON_FRAME_2_RX[i][5 ] = COMMON_FRAME_1_RX[i][4 ] ^ COMMON_FRAME_1_RX[i][5 ]; COMMON_FRAME_2_RX[i][6 ] = COMMON_FRAME_1_RX[i][5 ] ^ COMMON_FRAME_1_RX[i][6 ]; COMMON_FRAME_2_RX[i][7 ] = COMMON_FRAME_1_RX[i][6 ] ^ COMMON_FRAME_1_RX[i][7 ]; COMMON_FRAME_2_RX[i][8 ] = COMMON_FRAME_1_RX[i][7 ] ^ COMMON_FRAME_1_RX[i][8 ]; COMMON_FRAME_2_RX[i][9 ] = COMMON_FRAME_1_RX[i][8 ] ^ COMMON_FRAME_1_RX[i][9 ]; COMMON_FRAME_2_RX[i][10] = COMMON_FRAME_1_RX[i][9 ] ^ COMMON_FRAME_1_RX[i][10]; COMMON_FRAME_2_RX[i][11] = COMMON_FRAME_1_RX[i][10] ^ COMMON_FRAME_1_RX[i][11]; COMMON_FRAME_2_RX[i][12] = COMMON_FRAME_1_RX[i][11] ^ COMMON_FRAME_1_RX[i][12]; COMMON_FRAME_2_RX[i][13] = COMMON_FRAME_1_RX[i][12] ^ COMMON_FRAME_1_RX[i][13]; COMMON_FRAME_2_RX[i][14] = COMMON_FRAME_1_RX[i][13] ^ COMMON_FRAME_1_RX[i][14]; COMMON_FRAME_2_RX[i][15] = COMMON_FRAME_1_RX[i][14] ^ COMMON_FRAME_1_RX[i][15]; COMMON_FRAME_2_RX[i][16] = COMMON_FRAME_1_RX[i][15] ^ COMMON_FRAME_1_RX[i][16]; COMMON_FRAME_2_RX[i][17] = COMMON_FRAME_1_RX[i][16] ^ COMMON_FRAME_1_RX[i][17]; COMMON_FRAME_2_RX[i][18] = COMMON_FRAME_1_RX[i][17] ^ COMMON_FRAME_1_RX[i][18]; COMMON_FRAME_2_RX[i][19] = COMMON_FRAME_1_RX[i][18] ^ COMMON_FRAME_1_RX[i][19]; COMMON_FRAME_2_RX[i][20] = COMMON_FRAME_1_RX[i][19] ^ COMMON_FRAME_1_RX[i][20]; COMMON_FRAME_2_RX[i][21] = COMMON_FRAME_1_RX[i][20] ^ COMMON_FRAME_1_RX[i][21]; COMMON_FRAME_2_RX[i][22] = COMMON_FRAME_1_RX[i][21] ^ COMMON_FRAME_1_RX[i][22]; COMMON_FRAME_2_RX[i][23] = COMMON_FRAME_1_RX[i][22] ^ COMMON_FRAME_1_RX[i][23]; COMMON_FRAME_2_RX[i][24] = COMMON_FRAME_1_RX[i][23] ^ COMMON_FRAME_1_RX[i][24]; COMMON_FRAME_2_RX[i][25] = COMMON_FRAME_1_RX[i][24] ^ COMMON_FRAME_1_RX[i][25]; COMMON_FRAME_2_RX[i][26] = COMMON_FRAME_1_RX[i][25] ^ COMMON_FRAME_1_RX[i][26]; COMMON_FRAME_2_RX[i][27] = COMMON_FRAME_1_RX[i][26] ^ COMMON_FRAME_1_RX[i][27]; COMMON_FRAME_2_RX[i][28] = COMMON_FRAME_1_RX[i][27] ^ COMMON_FRAME_1_RX[i][28]; COMMON_FRAME_2_RX[i][29] = COMMON_FRAME_1_RX[i][28] ^ COMMON_FRAME_1_RX[i][29]; DATA_OUT[0 ] = DATA_IN[0 ] ^ COMMON_FRAME_1_RX[i][29]; DATA_OUT[1 ] = DATA_IN[1 ] ^ COMMON_FRAME_1_RX[i][28]; DATA_OUT[2 ] = DATA_IN[2 ] ^ COMMON_FRAME_1_RX[i][27]; DATA_OUT[3 ] = DATA_IN[3 ] ^ COMMON_FRAME_1_RX[i][26]; DATA_OUT[4 ] = DATA_IN[4 ] ^ COMMON_FRAME_1_RX[i][25]; DATA_OUT[5 ] = DATA_IN[5 ] ^ COMMON_FRAME_1_RX[i][24]; DATA_OUT[6 ] = DATA_IN[6 ] ^ COMMON_FRAME_1_RX[i][23]; DATA_OUT[7 ] = DATA_IN[7 ] ^ COMMON_FRAME_1_RX[i][22]; DATA_OUT[8 ] = DATA_IN[8 ] ^ COMMON_FRAME_1_RX[i][21]; DATA_OUT[9 ] = DATA_IN[9 ] ^ COMMON_FRAME_1_RX[i][20]; DATA_OUT[10] = DATA_IN[10] ^ COMMON_FRAME_1_RX[i][19]; DATA_OUT[11] = DATA_IN[11] ^ COMMON_FRAME_1_RX[i][18]; DATA_OUT[12] = DATA_IN[12] ^ COMMON_FRAME_1_RX[i][17]; DATA_OUT[13] = DATA_IN[13] ^ COMMON_FRAME_1_RX[i][16]; DATA_OUT[14] = DATA_IN[14] ^ COMMON_FRAME_1_RX[i][15]; DATA_OUT[15] = DATA_IN[15] ^ COMMON_FRAME_1_RX[i][14]; DATA_OUT[16] = DATA_IN[16] ^ COMMON_FRAME_1_RX[i][13]; DATA_OUT[17] = DATA_IN[17] ^ COMMON_FRAME_1_RX[i][12]; DATA_OUT[18] = DATA_IN[18] ^ COMMON_FRAME_1_RX[i][11]; DATA_OUT[19] = DATA_IN[19] ^ COMMON_FRAME_1_RX[i][10]; DATA_OUT[20] = DATA_IN[20] ^ COMMON_FRAME_1_RX[i][9 ]; DATA_OUT[21] = DATA_IN[21] ^ COMMON_FRAME_1_RX[i][8 ]; DATA_OUT[22] = DATA_IN[22] ^ COMMON_FRAME_1_RX[i][7 ]; DATA_OUT[23] = DATA_IN[23] ^ COMMON_FRAME_1_RX[i][6 ]; DATA_OUT[24] = DATA_IN[24] ^ COMMON_FRAME_1_RX[i][5 ]; DATA_OUT[25] = DATA_IN[25] ^ COMMON_FRAME_1_RX[i][4 ]; DATA_OUT[26] = DATA_IN[26] ^ COMMON_FRAME_1_RX[i][3 ]; DATA_OUT[27] = DATA_IN[27] ^ COMMON_FRAME_1_RX[i][2 ]; DATA_OUT[28] = DATA_IN[28] ^ COMMON_FRAME_1_RX[i][1 ]; DATA_OUT[29] = DATA_IN[29] ^ COMMON_FRAME_1_RX[i][0 ] ^ COMMON_FRAME_1_RX[i][29 ]; COMMON_FRAME_1_RX[i] = COMMON_FRAME_2_RX[i]; return DATA_OUT; }