92 lines
3.9 KiB
C
92 lines
3.9 KiB
C
/***************************************************************************
|
|
* Copyright (C) 2020 - 2025 by Federico Amedeo Izzo IU2NUO, *
|
|
* Niccolò Izzo IU2KIN *
|
|
* Frederik Saraci IU2NRO *
|
|
* Silvano Seva IU2KWO *
|
|
* *
|
|
* This program is free software; you can redistribute it and/or modify *
|
|
* it under the terms of the GNU General Public License as published by *
|
|
* the Free Software Foundation; either version 3 of the License, or *
|
|
* (at your option) any later version. *
|
|
* *
|
|
* This program is distributed in the hope that it will be useful, *
|
|
* but WITHOUT ANY WARRANTY; without even the implied warranty of *
|
|
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the *
|
|
* GNU General Public License for more details. *
|
|
* *
|
|
* You should have received a copy of the GNU General Public License *
|
|
* along with this program; if not, see <http://www.gnu.org/licenses/> *
|
|
***************************************************************************/
|
|
|
|
#ifndef CALIBINFO_GDX_H
|
|
#define CALIBINFO_GDX_H
|
|
|
|
#include <datatypes.h>
|
|
#include <stdint.h>
|
|
|
|
/**
|
|
* \brief Calibration data for GDx platforms.
|
|
*/
|
|
typedef struct
|
|
{
|
|
uint16_t _DigitalRxGainNarrowband; // 0x000 IF Gain, RX Fine
|
|
uint16_t _DigitalTxGainNarrowband; // 0x002 IF Gain, TX Fine
|
|
uint16_t _DigitalRxGainWideband; // 0x004 IF Gain, RX Coarse
|
|
uint16_t _DigitalTxGainWideband; // 0x006 IF Gain, TX Coarse
|
|
uint16_t modBias; // 0x008
|
|
uint8_t mod2Offset; // 0x00A
|
|
uint8_t txLowPower[16]; // 0x00B - 0x02A
|
|
uint8_t txHighPower[16]; // 0x00B - 0x02A
|
|
uint8_t analogSqlThresh[8]; // 0x03F
|
|
|
|
uint8_t noise1_HighTsh_Wb; // 0x047
|
|
uint8_t noise1_LowTsh_Wb; // 0x048
|
|
uint8_t noise2_HighTsh_Wb; // 0x049
|
|
uint8_t noise2_LowTsh_Wb; // 0x04A
|
|
uint8_t rssi_HighTsh_Wb; // 0x04B
|
|
uint8_t rssi_LowTsh_Wb; // 0x04C
|
|
|
|
uint8_t noise1_HighTsh_Nb; // 0x04D
|
|
uint8_t noise1_LowTsh_Nb; // 0x04E
|
|
uint8_t noise2_HighTsh_Nb; // 0x04F
|
|
uint8_t noise2_LowTsh_Nb; // 0x050
|
|
uint8_t rssi_HighTsh_Nb; // 0x051
|
|
uint8_t rssi_LowTsh_Nb; // 0x052
|
|
|
|
uint8_t RSSILowerThreshold; // 0x053
|
|
uint8_t RSSIUpperThreshold; // 0x054
|
|
|
|
uint8_t mod1Amplitude[8]; // 0x055
|
|
|
|
uint8_t digAudioGain; // 0x05D
|
|
|
|
uint8_t txDev_DTMF; // 0x05E
|
|
uint8_t txDev_tone; // 0x05F
|
|
uint8_t txDev_CTCSS_wb; // 0x060
|
|
uint8_t txDev_CTCSS_nb; // 0x061
|
|
uint8_t txDev_DCS_wb; // 0x062
|
|
uint8_t txDev_DCS_nb; // 0x063
|
|
|
|
uint8_t PA_drv; // 0x064
|
|
uint8_t PGA_gain; // 0x065
|
|
uint8_t analogMicGain; // 0x066
|
|
uint8_t rxAGCgain; // 0x067
|
|
|
|
uint16_t mixGainWideband; // 0x068
|
|
uint16_t mixGainNarrowband; // 0x06A
|
|
uint8_t rxDacGain; // 0x06C
|
|
uint8_t rxVoiceGain; // 0x06D
|
|
}
|
|
bandCalData_t;
|
|
|
|
typedef struct
|
|
{
|
|
bandCalData_t data[2]; // Calibration data for VHF (index 0) and UHF (index 1) bands
|
|
freq_t vhfCalPoints[8]; // VHF calibration points for both TX power and mod1Amplitude
|
|
freq_t uhfPwrCalPoints[16]; // UHF calibration points for TX power
|
|
freq_t uhfCalPoints[8]; // UHF calibration points for mod1Amplitude
|
|
}
|
|
gdxCalibration_t;
|
|
|
|
#endif /* CALIBINFO_GDX_H */
|