43 lines
898 B
C
43 lines
898 B
C
|
|
/** @file
|
||
|
|
* @brief armando, strato modem
|
||
|
|
*
|
||
|
|
* Lo strato modem e' diviso nella sezione modulator (tx) e demodulator (rx) e scambia dati:
|
||
|
|
* - in basso con adc/dac/gpio
|
||
|
|
* in rx con ADCBuffer
|
||
|
|
* in tx con DACBuffer
|
||
|
|
* - in alto con lo strato phy:
|
||
|
|
* in rx con rx_symbol_buffer e rx_symbol_buffer_index
|
||
|
|
* in tx con tx_symbol_buffer e tx_symbol_buffer_index
|
||
|
|
*
|
||
|
|
* La configurazione dello strato e' definita dalla struttura modulation
|
||
|
|
*/
|
||
|
|
|
||
|
|
#ifndef MODEM_H
|
||
|
|
#define MODEM_H
|
||
|
|
|
||
|
|
#include <stdint.h>
|
||
|
|
|
||
|
|
#ifdef __XC16
|
||
|
|
#include <dsp.h>
|
||
|
|
#endif
|
||
|
|
|
||
|
|
#include "modem_types.h"
|
||
|
|
|
||
|
|
#include "modulator.h"
|
||
|
|
#include "demodulator.h"
|
||
|
|
#include "preamble.h"
|
||
|
|
|
||
|
|
// protoz
|
||
|
|
void modem_set_up(void);
|
||
|
|
void modem_init(void);
|
||
|
|
|
||
|
|
void DAC_ADC_loopback(void);
|
||
|
|
|
||
|
|
// todo
|
||
|
|
int pll_frequency_servo(fractional frequency_error);
|
||
|
|
|
||
|
|
void modem_process_sample_buffer(fractional *buffer);
|
||
|
|
|
||
|
|
void modem_set_up_predelay(void);
|
||
|
|
|
||
|
|
#endif
|