summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorChristian Daniel <cd@maintech.de>2013-01-10 19:11:06 +0100
committerChristian Daniel <cd@maintech.de>2013-01-10 19:11:06 +0100
commitb4e144f1503b73afdc999dad3eb2285565b8967a (patch)
tree2f436995ded5ff6d58edc3e1697a72a4ad9e542b
parentbc917000f5ce707dc3849d31c8c1e443893ddb78 (diff)
add direct register writing via console to e4k and fpga
-rw-r--r--firmware/osmosdr-radioapp/src/cmd_e4k.c19
-rw-r--r--firmware/osmosdr-radioapp/src/cmd_fpga.c20
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()