From 3b9037c9c7879ccd19db14464da26a335cdeba36 Mon Sep 17 00:00:00 2001 From: drowe67 Date: Fri, 29 Mar 2024 07:40:38 +1030 Subject: datac14 freedv_api port --- src/freedv_api.c | 19 +++++++++++++------ 1 file changed, 13 insertions(+), 6 deletions(-) (limited to 'src/freedv_api.c') diff --git a/src/freedv_api.c b/src/freedv_api.c index 5172959..3ccf63d 100644 --- a/src/freedv_api.c +++ b/src/freedv_api.c @@ -125,7 +125,8 @@ struct freedv *freedv_open_advanced(int mode, struct freedv_advanced *adv) { FDV_MODE_ACTIVE(FREEDV_MODE_DATAC1, mode) || FDV_MODE_ACTIVE(FREEDV_MODE_DATAC3, mode) || FDV_MODE_ACTIVE(FREEDV_MODE_DATAC4, mode) || - FDV_MODE_ACTIVE(FREEDV_MODE_DATAC13, mode)) == false) + FDV_MODE_ACTIVE(FREEDV_MODE_DATAC13, mode) || + FDV_MODE_ACTIVE(FREEDV_MODE_DATAC14, mode)) == false) return NULL; /* set everything to zero just in case */ @@ -154,6 +155,7 @@ struct freedv *freedv_open_advanced(int mode, struct freedv_advanced *adv) { if (FDV_MODE_ACTIVE(FREEDV_MODE_DATAC3, mode)) freedv_ofdm_data_open(f); if (FDV_MODE_ACTIVE(FREEDV_MODE_DATAC4, mode)) freedv_ofdm_data_open(f); if (FDV_MODE_ACTIVE(FREEDV_MODE_DATAC13, mode)) freedv_ofdm_data_open(f); + if (FDV_MODE_ACTIVE(FREEDV_MODE_DATAC14, mode)) freedv_ofdm_data_open(f); varicode_decode_init(&f->varicode_dec_states, 1); @@ -235,7 +237,8 @@ void freedv_close(struct freedv *freedv) { FDV_MODE_ACTIVE(FREEDV_MODE_DATAC1, freedv->mode) || FDV_MODE_ACTIVE(FREEDV_MODE_DATAC3, freedv->mode) || FDV_MODE_ACTIVE(FREEDV_MODE_DATAC4, freedv->mode) || - FDV_MODE_ACTIVE(FREEDV_MODE_DATAC13, freedv->mode)) { + FDV_MODE_ACTIVE(FREEDV_MODE_DATAC13, freedv->mode) || + FDV_MODE_ACTIVE(FREEDV_MODE_DATAC14, freedv->mode)) { FREE(freedv->rx_syms); FREE(freedv->rx_amps); FREE(freedv->ldpc); @@ -266,7 +269,8 @@ static int is_ofdm_mode(struct freedv *f) { FDV_MODE_ACTIVE(FREEDV_MODE_DATAC1, f->mode) || FDV_MODE_ACTIVE(FREEDV_MODE_DATAC3, f->mode) || FDV_MODE_ACTIVE(FREEDV_MODE_DATAC4, f->mode) || - FDV_MODE_ACTIVE(FREEDV_MODE_DATAC13, f->mode); + FDV_MODE_ACTIVE(FREEDV_MODE_DATAC13, f->mode) || + FDV_MODE_ACTIVE(FREEDV_MODE_DATAC14, f->mode); } static int is_ofdm_data_mode(struct freedv *f) { @@ -274,7 +278,8 @@ static int is_ofdm_data_mode(struct freedv *f) { FDV_MODE_ACTIVE(FREEDV_MODE_DATAC1, f->mode) || FDV_MODE_ACTIVE(FREEDV_MODE_DATAC3, f->mode) || FDV_MODE_ACTIVE(FREEDV_MODE_DATAC4, f->mode) || - FDV_MODE_ACTIVE(FREEDV_MODE_DATAC13, f->mode); + FDV_MODE_ACTIVE(FREEDV_MODE_DATAC13, f->mode) || + FDV_MODE_ACTIVE(FREEDV_MODE_DATAC14, f->mode); } /*---------------------------------------------------------------------------*\ @@ -464,7 +469,8 @@ void freedv_rawdatacomptx(struct freedv *f, COMP mod_out[], FDV_MODE_ACTIVE(FREEDV_MODE_DATAC1, f->mode) || FDV_MODE_ACTIVE(FREEDV_MODE_DATAC3, f->mode) || FDV_MODE_ACTIVE(FREEDV_MODE_DATAC4, f->mode) || - FDV_MODE_ACTIVE(FREEDV_MODE_DATAC13, f->mode)) + FDV_MODE_ACTIVE(FREEDV_MODE_DATAC13, f->mode) || + FDV_MODE_ACTIVE(FREEDV_MODE_DATAC14, f->mode)) freedv_comptx_ofdm(f, mod_out); if (FDV_MODE_ACTIVE(FREEDV_MODE_FSK_LDPC, f->mode)) { @@ -1063,7 +1069,8 @@ int freedv_rawdatacomprx(struct freedv *f, unsigned char *packed_payload_bits, FDV_MODE_ACTIVE(FREEDV_MODE_DATAC1, f->mode) || FDV_MODE_ACTIVE(FREEDV_MODE_DATAC3, f->mode) || FDV_MODE_ACTIVE(FREEDV_MODE_DATAC4, f->mode) || - FDV_MODE_ACTIVE(FREEDV_MODE_DATAC13, f->mode)) + FDV_MODE_ACTIVE(FREEDV_MODE_DATAC13, f->mode) || + FDV_MODE_ACTIVE(FREEDV_MODE_DATAC14, f->mode)) rx_status = freedv_comp_short_rx_ofdm(f, (void *)demod_in, 0, 1.0f); if (FDV_MODE_ACTIVE(FREEDV_MODE_FSK_LDPC, f->mode)) { rx_status = freedv_rx_fsk_ldpc_data(f, demod_in); -- cgit v1.2.3