diff --git a/src/modulator.c b/src/modulator.c index 678e5f3..a76977f 100644 --- a/src/modulator.c +++ b/src/modulator.c @@ -78,13 +78,13 @@ void init_rds_modulator(RDSModulator* rdsMod, RDSEncoder* enc) { } } -float get_rds_sample(RDSModulator* rdsMod, bool rds2) { +float get_rds_sample(RDSModulator* rdsMod) { uint16_t idx; float *cur_waveform; float sample; if (rdsMod->sample_count == SAMPLES_PER_BIT) { if (rdsMod->bit_pos == BITS_PER_GROUP) { - get_rds_bits(rdsMod->enc, rdsMod->bit_buffer, rds2); + get_rds_bits(rdsMod->enc, rdsMod->bit_buffer); rdsMod->bit_pos = 0; } @@ -112,11 +112,5 @@ float get_rds_sample(RDSModulator* rdsMod, bool rds2) { rdsMod->sample_buffer[rdsMod->out_sample_index++] = 0; if (rdsMod->out_sample_index == SAMPLE_BUFFER_SIZE) rdsMod->out_sample_index = 0; - float out = sample*rdsMod->params.level; - if (rdsMod->params.rdsgen == 0) { - out = 0; - } else if (rdsMod->params.rdsgen == 1 && rds2) { - out = 0; - } - return out; + return sample*rdsMod->params.level*rdsMod->params.rdsgen; } diff --git a/src/modulator.h b/src/modulator.h index 11edd59..7d129ee 100644 --- a/src/modulator.h +++ b/src/modulator.h @@ -29,4 +29,4 @@ void Modulator_saveToFile(RDSModulatorParameters *emp, const char *option); void Modulator_loadFromFile(RDSModulatorParameters *emp); int modulatorsaved(); void init_rds_modulator(RDSModulator* rdsMod, RDSEncoder* enc); -float get_rds_sample(RDSModulator* rdsMod, bool rds2); +float get_rds_sample(RDSModulator* rdsMod); diff --git a/src/rds.c b/src/rds.c index ea55b39..8dcc631 100644 --- a/src/rds.c +++ b/src/rds.c @@ -546,14 +546,8 @@ static uint8_t get_rds_custom_groups(RDSEncoder* enc, uint16_t *blocks) { return 0; } -static void get_rds_group(RDSEncoder* enc, uint16_t *blocks, bool rds2) { +static void get_rds_group(RDSEncoder* enc, uint16_t *blocks) { blocks[0] = enc->data[enc->program].pi; - if(rds2) blocks[0] = 0; // tunneling - // if(rds2 && !enc->encoder_data.rds2_mode) blocks[0] = 0; // tunneling - // else if(rds2 && enc->encoder_data.rds2_mode) { - // // TODO: add rds2 only stuff - // goto group_coded; - // } blocks[1] = 0; blocks[2] = 0; blocks[3] = 0; @@ -732,9 +726,9 @@ group_coded: } } -void get_rds_bits(RDSEncoder* enc, uint8_t *bits, bool rds2) { +void get_rds_bits(RDSEncoder* enc, uint8_t *bits) { static uint16_t out_blocks[GROUP_LENGTH]; - get_rds_group(enc, out_blocks, rds2); + get_rds_group(enc, out_blocks); add_checkwords(out_blocks, bits); } diff --git a/src/rds.h b/src/rds.h index f63c38d..60bf685 100644 --- a/src/rds.h +++ b/src/rds.h @@ -333,7 +333,7 @@ int rdssaved(); void reset_rds_state(RDSEncoder* enc, uint8_t program); void set_rds_defaults(RDSEncoder* enc, uint8_t program); void init_rds_encoder(RDSEncoder* enc); -void get_rds_bits(RDSEncoder* enc, uint8_t *bits, bool rds2); +void get_rds_bits(RDSEncoder* enc, uint8_t *bits); void set_rds_rt1(RDSEncoder* enc, char *rt1); void set_rds_rt2(RDSEncoder* enc, char *rt2); void set_rds_dps1(RDSEncoder* enc, char *dps1); diff --git a/src/rds95.c b/src/rds95.c index 80758f1..161f81c 100644 --- a/src/rds95.c +++ b/src/rds95.c @@ -12,7 +12,6 @@ #include "ascii_cmd.h" #define RDS_DEVICE "RDS" -#define RDS2_DEVICE "RDS2" #define NUM_MPX_FRAMES 512 @@ -56,9 +55,6 @@ int main(int argc, char **argv) { char control_pipe[51] = "\0"; pa_simple *rds1_device; - #ifdef RDS2_DEVICE - pa_simple *rds2_device = NULL; - #endif pa_sample_spec format; pa_buffer_attr buffer; @@ -117,23 +113,6 @@ int main(int argc, char **argv) { fprintf(stderr, "Error: cannot open sound device.\n"); goto exit; } - #ifdef RDS2_DEVICE - rds2_device = pa_simple_new( - NULL, - "rds95", - PA_STREAM_PLAYBACK, - RDS2_DEVICE, - "RDS2 Generator", - &format, - NULL, - &buffer, - NULL - ); - if(rds2_device == NULL) { - fprintf(stderr, "Error: cannot open RDS2 sound device.\n"); - goto exit; - } - #endif RDSEncoder rdsEncoder; RDSModulator rdsModulator; @@ -161,28 +140,16 @@ int main(int argc, char **argv) { int pulse_error; float rds1_buffer[NUM_MPX_FRAMES]; - #ifdef RDS2_DEVICE - float rds2_buffer[NUM_MPX_FRAMES]; - #endif while(!stop_rds) { for (uint16_t i = 0; i < NUM_MPX_FRAMES; i++) { - rds1_buffer[i] = get_rds_sample(&rdsModulator, false); - #ifdef RDS2_DEVICE - rds2_buffer[i] = get_rds_sample(&rdsModulator, true); - #endif + rds1_buffer[i] = get_rds_sample(&rdsModulator); } if (pa_simple_write(rds1_device, rds1_buffer, sizeof(rds1_buffer), &pulse_error) != 0) { fprintf(stderr, "Error: could not play audio. (%s : %d)\n", pa_strerror(pulse_error), pulse_error); break; } - #ifdef RDS2_DEVICE - if (pa_simple_write(rds2_device, rds2_buffer, sizeof(rds2_buffer), &pulse_error) != 0) { - fprintf(stderr, "Error: could not play audio. RDS2 (%s : %d)\n", pa_strerror(pulse_error), pulse_error); - break; - } - #endif } exit: @@ -193,9 +160,6 @@ exit: pthread_attr_destroy(&attr); pa_simple_free(rds1_device); - #ifdef RDS2_DEVICE - pa_simple_free(rds2_device); - #endif return 0; } \ No newline at end of file