mirror of
https://github.com/radio95-rnt/rds95.git
synced 2026-02-27 12:53:53 +01:00
33 lines
784 B
C
33 lines
784 B
C
#pragma once
|
|
#include "common.h"
|
|
#include "rds.h"
|
|
#include "waveforms.h"
|
|
|
|
#pragma pack(1)
|
|
typedef struct
|
|
{
|
|
float level;
|
|
uint8_t rdsgen : 2;
|
|
} RDSModulatorParameters;
|
|
|
|
typedef struct {
|
|
uint8_t bit_buffer[BITS_PER_GROUP];
|
|
uint8_t bit_pos : 7;
|
|
float sample_buffer[SAMPLE_BUFFER_SIZE];
|
|
uint8_t prev_output : 1;
|
|
uint8_t cur_output : 1;
|
|
uint8_t cur_bit : 1;
|
|
uint8_t sample_count;
|
|
uint16_t in_sample_index;
|
|
uint16_t out_sample_index;
|
|
RDSModulatorParameters params;
|
|
RDSEncoder* enc;
|
|
} RDSModulator;
|
|
#pragma pack()
|
|
|
|
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);
|