diff options
author | Christian Daniel <cd@maintech.de> | 2013-01-10 19:11:06 +0100 |
---|---|---|
committer | Christian Daniel <cd@maintech.de> | 2013-01-10 19:11:06 +0100 |
commit | b4e144f1503b73afdc999dad3eb2285565b8967a (patch) | |
tree | 2f436995ded5ff6d58edc3e1697a72a4ad9e542b | |
parent | bc917000f5ce707dc3849d31c8c1e443893ddb78 (diff) |
add direct register writing via console to e4k and fpga
-rw-r--r-- | firmware/osmosdr-radioapp/src/cmd_e4k.c | 19 | ||||
-rw-r--r-- | firmware/osmosdr-radioapp/src/cmd_fpga.c | 20 |
2 files changed, 34 insertions, 5 deletions
diff --git a/firmware/osmosdr-radioapp/src/cmd_e4k.c b/firmware/osmosdr-radioapp/src/cmd_e4k.c index 56ce50c..3c18d33 100644 --- a/firmware/osmosdr-radioapp/src/cmd_e4k.c +++ b/firmware/osmosdr-radioapp/src/cmd_e4k.c @@ -41,17 +41,28 @@ static void e4kTune(int argc, const char* argv[]) } } +static void e4kSetReg(int argc, const char* argv[]) +{ + if(argc != 2) { + printf("E4K: please supply register number and value\n"); + return; + } + u32 reg = atoi(argv[0]); + u32 val = atoi(argv[1]); + e4k_setReg(&g_e4kCtx, reg, val); +} + CONSOLE_CMD_BEGIN(g_e4kTuneParameters) CONSOLE_CMD_PARAM(PTUnsigned, "frequency in kHz") CONSOLE_CMD_END() -CONSOLE_CMD_BEGIN(g_e4kIQOfsParameters) - CONSOLE_CMD_PARAM(PTSigned, "I offset"), - CONSOLE_CMD_PARAM(PTSigned, "Q offset") +CONSOLE_CMD_BEGIN(g_e4kSetRegParameters) + CONSOLE_CMD_PARAM(PTUnsigned, "register"), + CONSOLE_CMD_PARAM(PTUnsigned, "value") CONSOLE_CMD_END() CONSOLE_GROUP_BEGIN(g_e4kGroup) CONSOLE_GROUP_CMD("dump", "dump tuner registers", NULL, &e4kDump), CONSOLE_GROUP_CMD("tune", "set frequency in kHz", g_e4kTuneParameters, &e4kTune), - CONSOLE_GROUP_CMD("iqofs", "set I/Q offset", g_e4kIQOfsParameters, NULL) + CONSOLE_GROUP_CMD("sreg", "set E4K register", g_e4kSetRegParameters, &e4kSetReg) CONSOLE_GROUP_END() diff --git a/firmware/osmosdr-radioapp/src/cmd_fpga.c b/firmware/osmosdr-radioapp/src/cmd_fpga.c index 65ef9fb..68f43f0 100644 --- a/firmware/osmosdr-radioapp/src/cmd_fpga.c +++ b/firmware/osmosdr-radioapp/src/cmd_fpga.c @@ -68,11 +68,29 @@ static void fpgaFFT(int argc, const char* argv[]) #endif // defined(BOARD_SAMPLE_SOURCE_SSC) } +static void fpgaSetReg(int argc, const char* argv[]) +{ + if(argc != 2) { + printf("FPGA: please supply register number and value\n"); + return; + } + u32 reg = atoi(argv[0]); + u32 val = atoi(argv[1]); + void sdrfpga_regWrite(u8 reg, u32 val); + sdrfpga_regWrite(reg, val); +} + +CONSOLE_CMD_BEGIN(g_fpgaSetRegParameters) + CONSOLE_CMD_PARAM(PTUnsigned, "register"), + CONSOLE_CMD_PARAM(PTUnsigned, "value") +CONSOLE_CMD_END() + CONSOLE_GROUP_BEGIN(g_fpgaGroup) CONSOLE_GROUP_CMD("pps", "PPS frequency reference", NULL, &fpgaPPS), CONSOLE_GROUP_CMD("start", "start sampling", NULL, &fpgaStart), CONSOLE_GROUP_CMD("stop", "stop sampling", NULL, &fpgaStop), CONSOLE_GROUP_CMD("stats", "print sampling statistics", NULL, &fpgaStats), - CONSOLE_GROUP_CMD("fft", "calculate and display FFT of input", NULL, &fpgaFFT) + CONSOLE_GROUP_CMD("fft", "calculate and display FFT of input", NULL, &fpgaFFT), + CONSOLE_GROUP_CMD("sreg", "set FPGA register", g_fpgaSetRegParameters, &fpgaSetReg) CONSOLE_GROUP_END() |