72 lines
1.6 KiB
C
Raw Normal View History

2025-05-20 01:20:32 +08:00
#include <stdio.h>
#include <stdint.h>
#include <string.h>
#include <stdarg.h>
#include <stdlib.h>
#include <unistd.h>
#include "../ucp/inc/ucp_api_jesd.h"
#include "../api/inc/ucp_api_rfic.h"
#include "adi_adrv9025Lib.h"
typedef struct ucp_rfic_cfg
{
uint64_t txLo;
uint64_t rxLo;
uint64_t auxLo;
uint16_t initAtt;
uint16_t initGain;
uint64_t sampleRate;
uint64_t bw;
uint16_t antNumb;
uint16_t enFdd;
uint16_t enOrx;
uint16_t en204C;
uint16_t enUcpLog;
int16_t calOrxGainIndex;
int16_t calChAttPara[4];
uint16_t padding;
} ucp_rfic_cfg_t;
extern ucp_rfic_cfg_t ucp_GetRficCfgInfo(void);
int32_t main(int32_t argc, char* argv[])
{
ucp_rfic_cfg_t rficConfig;
ucp_rfic_calPara_t calPara;
rficConfig = ucp_GetRficCfgInfo();
calPara.calOrxGainIndex = rficConfig.calOrxGainIndex;
calPara.calChAttPara[0] = rficConfig.calChAttPara[0];
calPara.calChAttPara[1] = rficConfig.calChAttPara[1];
calPara.calChAttPara[2] = rficConfig.calChAttPara[2];
calPara.calChAttPara[3] = rficConfig.calChAttPara[3];
UCP_API_RFIC_CellInit(rficConfig.sampleRate, rficConfig.bw, rficConfig.antNumb, rficConfig.enFdd, rficConfig.enOrx, rficConfig.en204C, rficConfig.enUcpLog);
UCP_API_RFIC_CellSetup(rficConfig.txLo, rficConfig.rxLo, rficConfig.initAtt, rficConfig.initGain, rficConfig.auxLo, rficConfig.enOrx, calPara);
if (argc < 2)
{
return 0;
}
if (!strcmp("tone", argv[1]))
{
UCP_API_GPIO_Tx();
adrv9025_tone(1);
}
if (!strcmp("rssi", argv[1]))
{
UCP_API_GPIO_Rx();
ad9025_rssi();
}
return 1;
}