Commit 48d4a3c5 authored by Tristan Gingold's avatar Tristan Gingold

wr2rf.c: fix ext-ref command

parent 115b1544
......@@ -1905,32 +1905,28 @@ ext_ref (struct libwr2rf_dev *dev, int argc, char **argv)
{
unsigned addr = WR2RF_VME_REGS_INIT + WR2RF_INIT_REGS_PIN_CTRL;
unsigned v = 0;
unsigned i;
if (argc == 3) {
if (strcmp (argv[1], "10m_in") == 0)
v = libwr2rf_read16 (dev, addr);
for (i = 1; i < argc; i++) {
if (strcmp (argv[i], "10m_in") == 0)
v = v & ~WR2RF_INIT_REGS_PIN_CTRL_EXT_10M_DIR;
else if (strcmp (argv[1], "10m_out") == 0)
else if (strcmp (argv[i], "10m_out") == 0)
v = v | WR2RF_INIT_REGS_PIN_CTRL_EXT_10M_DIR;
else {
goto usage;
}
if (strcmp (argv[1], "pps_in") == 0)
else if (strcmp (argv[i], "pps_in") == 0)
v = v & ~WR2RF_INIT_REGS_PIN_CTRL_EXT_PPS_DIR;
else if (strcmp (argv[1], "pps_out") == 0)
else if (strcmp (argv[i], "pps_out") == 0)
v = v | WR2RF_INIT_REGS_PIN_CTRL_EXT_PPS_DIR;
else {
goto usage;
printf ("usage: ext-ref {10m_in|10m_out|pps_in|pps_out}\n");
return;
}
libwr2rf_write16 (dev, addr, v);
}
v = libwr2rf_read16 (dev, addr);
printf ("ext-10m dir: %01x (0:in, 1:out)\n", !!(v & WR2RF_INIT_REGS_PIN_CTRL_EXT_10M_DIR) );
printf ("ext-pps dir: %01x (0:in, 1:out)\n", !!(v & WR2RF_INIT_REGS_PIN_CTRL_EXT_PPS_DIR) );
return;
usage:
printf ("usage: ext-ref [10m_in|10m_out] [pps_in|pps_out]\n");
}
static void
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment