123 lines
4.1 KiB
C
123 lines
4.1 KiB
C
#include "stdio.h"
|
|
#include "stdint.h"
|
|
|
|
int main(int argc,char *argv[])
|
|
{
|
|
FILE* fp;
|
|
uint8_t i;
|
|
int start_tone,end_tone;
|
|
int start_index,end_index;
|
|
int start_bit,end_bit;
|
|
int start_dw,end_dw;
|
|
uint32_t tone_mask_table[48];
|
|
fp = fopen("tone_mask.h","w+");
|
|
|
|
//scanf("%d%d",&start_tone,&end_tone);
|
|
start_tone = atoi(argv[1]);
|
|
end_tone = atoi(argv[2]);
|
|
|
|
start_index = start_tone >> 5;
|
|
end_index = end_tone >> 5;
|
|
start_bit = start_tone & 0x1f;
|
|
end_bit = end_tone & 0x1f;
|
|
start_dw = 0xffffffff << start_bit;
|
|
end_dw = 0xffffffff >> (31 - end_bit);
|
|
|
|
fprintf(fp, "#ifndef TONEMASK_H");
|
|
fputc('\n', fp);
|
|
fprintf(fp, "#define TONEMASK_H");
|
|
fputc('\n', fp);
|
|
fprintf(fp, "#include \"hw_tonemask.h\"");
|
|
fputc('\n', fp);
|
|
fprintf(fp, "plc_tonemask_table all_mask_tone_mask_table = {");
|
|
fputc('\n', fp);
|
|
fprintf(fp, " {");
|
|
fputc('\n', fp);
|
|
|
|
for(i = 0; i < 48; i++)
|
|
{
|
|
if(i < start_index || i > end_index)
|
|
tone_mask_table[i] = 0x00000000;
|
|
if(i == start_index && i != end_index)
|
|
tone_mask_table[i] = start_dw;
|
|
if(i == end_index && i != start_index)
|
|
tone_mask_table[i] = end_dw;
|
|
if(i == end_index && i == start_index)
|
|
tone_mask_table[i] = start_dw & end_dw;
|
|
if(i > start_index && i < end_index)
|
|
tone_mask_table[i] = 0xffffffff;
|
|
|
|
if(i % 4 == 0)
|
|
fprintf(fp, " ");
|
|
fprintf(fp, "0x%08x,", tone_mask_table[i]);
|
|
if(((i + 1) % 4) == 0)
|
|
fputc('\n', fp);
|
|
else
|
|
fputc(' ', fp);
|
|
//printf("0x%08x ",tone_mask_table[i]);
|
|
}
|
|
|
|
fprintf(fp, " }");
|
|
fputc('\n', fp);
|
|
fputc('}', fp);
|
|
fputc(';', fp);
|
|
fputc('\n', fp);
|
|
fputc('\n', fp);
|
|
fputc('\n', fp);
|
|
|
|
|
|
|
|
fprintf(fp, "plc_band_table_t all_mask_band_table = {\n");
|
|
fprintf(fp, " 0, // valid_tone_number, 1536 max\n");
|
|
fprintf(fp, " 0, // resv0\n");
|
|
fprintf(fp, " 0, // start tone\n");
|
|
fprintf(fp, " 0, // resv1\n");
|
|
fprintf(fp, " 0, // end tone\n");
|
|
fprintf(fp, " 0, // resv2\n");
|
|
fprintf(fp, " { // TMI\n");
|
|
fprintf(fp, " { 0, 0, 0, 0 }, // DW0\n");
|
|
fprintf(fp, " { 0, 0, 0, 0 }, // DW1\n");
|
|
fprintf(fp, " { 0, 0, 0, 0 }, // DW2\n");
|
|
fprintf(fp, " { 0, 0, 0, 0 }, // DW3\n");
|
|
fprintf(fp, " { 0, 0, 0, 0 }, // DW4\n");
|
|
fprintf(fp, " { 0, 0, 0, 0 }, // DW5\n");
|
|
fprintf(fp, " { 0, 0, 0, 0 }, // DW6\n");
|
|
fprintf(fp, " { 0, 0, 0, 0 }, // DW7\n");
|
|
fprintf(fp, " { 0, 0, 0, 0 }, // DW8\n");
|
|
fprintf(fp, " { 0, 0, 0, 0 }, // DW9\n");
|
|
fprintf(fp, " { 0, 0, 0, 0 }, // DW10\n");
|
|
fprintf(fp, " { 0, 0, 0, 0 }, // DW11\n");
|
|
fprintf(fp, " { 0, 0, 0, 0 }, // DW12\n");
|
|
fprintf(fp, " { 0, 0, 0, 0 }, // DW13\n");
|
|
fprintf(fp, " { 0, 0, 0, 0 }, // DW14\n");
|
|
fprintf(fp, " },\n");
|
|
fprintf(fp, " { // ext TMI\n");
|
|
fprintf(fp, " { 0, 0, 0, 0 }, // DW0\n");
|
|
fprintf(fp, " { 0, 0, 0, 0 }, // DW1\n");
|
|
fprintf(fp, " { 0, 0, 0, 0 }, // DW2\n");
|
|
fprintf(fp, " { 0, 0, 0, 0 }, // DW3\n");
|
|
fprintf(fp, " { 0, 0, 0, 0 }, // DW4\n");
|
|
fprintf(fp, " { 0, 0, 0, 0 }, // DW5\n");
|
|
fprintf(fp, " { 0, 0, 0, 0 }, // DW6\n");
|
|
fprintf(fp, " { 0, 0, 0, 0 }, // DW7\n");
|
|
fprintf(fp, " { 0, 0, 0, 0 }, // DW8\n");
|
|
fprintf(fp, " { 0, 0, 0, 0 }, // DW9\n");
|
|
fprintf(fp, " { 0, 0, 0, 0 }, // DW10\n");
|
|
fprintf(fp, " { 0, 0, 0, 0 }, // DW11\n");
|
|
fprintf(fp, " { 0, 0, 0, 0 }, // DW12\n");
|
|
fprintf(fp, " { 0, 0, 0, 0 }, // DW13\n");
|
|
fprintf(fp, " { 0, 0, 0, 0 }, // DW14\n");
|
|
fprintf(fp, " },\n");
|
|
fprintf(fp, " 0, // resv 3\n");
|
|
fprintf(fp, " 0, // resv 4\n");
|
|
fprintf(fp, "};\n");
|
|
fputc('\n', fp);
|
|
fputc('\n', fp);
|
|
fputc('\n', fp);
|
|
|
|
fprintf(fp, "#endif");
|
|
fputc('\n', fp);
|
|
|
|
fclose(fp);
|
|
return 0;
|
|
} |