FreeCalypso > hg > vband-misc
diff dhf/efr-dhf-hexout.c @ 34:307fe06fabec
dhf: generate EFR hex DHF in C form
author | Mychaela Falconia <falcon@freecalypso.org> |
---|---|
date | Tue, 14 May 2024 03:36:31 +0000 |
parents | baf74dff5368 |
children |
line wrap: on
line diff
--- a/dhf/efr-dhf-hexout.c Mon May 13 22:49:21 2024 +0000 +++ b/dhf/efr-dhf-hexout.c Tue May 14 03:36:31 2024 +0000 @@ -12,27 +12,40 @@ #include <tw_amr.h> static void -emit_one_frame(params, name) +emit_one_frame(params, filename, cname) const int16_t *params; - char *name; + char *filename, *cname; { uint8_t efr_rtp[EFR_RTP_FRAME_LEN]; + FILE *outf; unsigned n; EFR_params2frame(params, efr_rtp); - printf("%s:\n\n", name); + outf = fopen(filename, "w"); + if (!outf) { + perror(filename); + exit(1); + } + fputs("#include <stdint.h>\n\n", outf); + fprintf(outf, "const uint8_t %s[31] = {\n", cname); for (n = 0; n < EFR_RTP_FRAME_LEN; n++) { - printf("0x%02X,", efr_rtp[n]); + fprintf(outf, "0x%02X,", efr_rtp[n]); if (n == 15 || n == 30) - putchar('\n'); + putc('\n', outf); } - putchar('\n'); + fputs("};\n", outf); + fclose(outf); } main(argc, argv) char **argv; { - emit_one_frame(amr_dhf_gsmefr, "EFR DHF"); - emit_one_frame(amr_dhf_mr122, "MR122 DHF"); + if (argc != 3) { + fprintf(stderr, "usage: %s efr-dhf-out mr122-dhf-out\n", + argv[0]); + exit(1); + } + emit_one_frame(amr_dhf_gsmefr, argv[1], "efr_dhf_bytes"); + emit_one_frame(amr_dhf_mr122, argv[2], "mr122_dhf_bytes"); exit(0); }