Commit 6ace1cb2 authored by Tristan Gingold's avatar Tristan Gingold

api: add start-as-stop flag

parent a732bcb7
......@@ -1057,39 +1057,39 @@ libwr2rf_vtu_dump_by_addr(struct libwr2rf_dev *dev, unsigned addr)
v = libwr2rf_read16(dev, addr + TRIGUNIT_REGS_CONFIGOFFLINE);
printf ("configoffline: 0x%04x\n", v);
printf (" mode: 0x%04x (%s)\n",
printf (" mode: 0x%04x (%s)\n",
(unsigned)(v & TRIGUNIT_REGS_CONFIGOFFLINE_MODE_MASK),
libwr2rf_vtu_get_mode((v & TRIGUNIT_REGS_CONFIGOFFLINE_MODE_MASK) >> TRIGUNIT_REGS_CONFIGOFFLINE_MODE_SHIFT));
printf (" htswitchingenable: 0x%04x\n",
printf (" htswitchingenable: 0x%04x\n",
(unsigned)(v & TRIGUNIT_REGS_CONFIGOFFLINE_HTSWITCHINGENABLE));
printf (" valid: 0x%04x\n",
printf (" valid: 0x%04x\n",
(unsigned)(v & TRIGUNIT_REGS_CONFIGOFFLINE_VALID));
v64 = libwr2rf_be_read64(dev, addr + TRIGUNIT_REGS_BVALUEOFFLINE);
printf ("bvalueoffline: %lu\n", v64);
printf (" bvalueoffline: %lu\n", v64);
v64 = libwr2rf_be_read64(dev, addr + TRIGUNIT_REGS_HTVALUEOFFLINE);
printf ("htvalueoffline: %lu\n", v64);
printf (" htvalueoffline: %lu\n", v64);
v64 = libwr2rf_be_read64(dev, addr + TRIGUNIT_REGS_WVALUEOFFLINE);
printf ("wvalueoffline: %lu\n", v64);
printf (" wvalueoffline: %lu\n", v64);
v = libwr2rf_read16(dev, addr + TRIGUNIT_REGS_CONFIGONLINE);
printf ("configonline: 0x%04x\n", v);
printf (" mode: 0x%04x (%s)\n",
printf (" mode: 0x%04x (%s)\n",
(unsigned)(v & TRIGUNIT_REGS_CONFIGONLINE_MODE_MASK),
libwr2rf_vtu_get_mode((v & TRIGUNIT_REGS_CONFIGONLINE_MODE_MASK) >> TRIGUNIT_REGS_CONFIGONLINE_MODE_SHIFT));
printf (" htswitchingenable: 0x%04x\n",
printf (" htswitchingenable: 0x%04x\n",
(unsigned)(v & TRIGUNIT_REGS_CONFIGONLINE_HTSWITCHINGENABLE));
v64 = libwr2rf_be_read64(dev, addr + TRIGUNIT_REGS_BVALUEONLINE);
printf ("bvalueonline: %lu\n", v64);
printf (" bvalueonline: %lu\n", v64);
v64 = libwr2rf_be_read64(dev, addr + TRIGUNIT_REGS_HTVALUEONLINE);
printf ("htvalueonline: %lu\n", v64);
printf (" htvalueonline: %lu\n", v64);
v64 = libwr2rf_be_read64(dev, addr + TRIGUNIT_REGS_WVALUEONLINE);
printf ("wvalueonline: %lu\n", v64);
printf (" wvalueonline: %lu\n", v64);
v = libwr2rf_read16(dev, addr + TRIGUNIT_REGS_TRIGODELAY);
printf ("trigodelay: 0x%04x\n",
......@@ -1313,7 +1313,8 @@ int libwr2rf_vtu_fault_read(struct libwr2rf_dev *dev, unsigned id,
return 0;
}
#if LIBWR2RF_VTU_FLAGS_FORCE_VALID_OFFLINE != TRIGUNIT_REGS_FLAGS_FORCEVALIDOFFLINE
#if (LIBWR2RF_VTU_FLAGS_FORCE_VALID_OFFLINE != TRIGUNIT_REGS_FLAGS_FORCEVALIDOFFLINE) \
|| (LIBWR2RF_VTU_FLAGS_START_AS_STOP != TRIGUNIT_REGS_FLAGS_STARTASSTOP)
#error "incorrect constant"
#endif
int libwr2rf_vtu_set_flags(struct libwr2rf_dev *dev, unsigned id,
......
......@@ -338,6 +338,7 @@ int libwr2rf_vtu_fault_read(struct libwr2rf_dev *dev, unsigned id,
/* Set flags of vtu ID. */
#define LIBWR2RF_VTU_FLAGS_FORCE_VALID_OFFLINE 0x1 /* Params always valid */
#define LIBWR2RF_VTU_FLAGS_START_AS_STOP 0x2 /* Implicit stop on start */
int libwr2rf_vtu_set_flags(struct libwr2rf_dev *dev, unsigned id,
unsigned flags);
......
......@@ -3192,7 +3192,8 @@ vtu (struct libwr2rf_dev *dev, int argc, char **argv)
if (argc == 2) {
libwr2rf_vtu_dump_by_addr(dev, addr);
printf ("vtu diag:\n");
printf ("\n"
"vtu diag:\n");
disp_vtudiag(dev, addr + TRIGUNIT_REGS_TRIGDIAG);
}
else if (argc >= 3 && strcmp(argv[2], "diag") == 0) {
......@@ -4067,7 +4068,7 @@ api_vtu_flags (struct libwr2rf_dev *dev, int argc, char **argv)
unsigned i;
if (argc < 2) {
printf ("usage: %s VTU-ID [force-valid]\n", argv[0]);
printf ("usage: %s VTU-ID [force-valid] [start-as-stop]\n", argv[0]);
return;
}
id = parse_api_vtu (argv[1]);
......@@ -4078,6 +4079,8 @@ api_vtu_flags (struct libwr2rf_dev *dev, int argc, char **argv)
for (i = 2; i < argc; i++)
if (!strcmp(argv[i], "force-valid"))
flags |= LIBWR2RF_VTU_FLAGS_FORCE_VALID_OFFLINE;
else if (!strcmp(argv[i], "start-as-stop"))
flags |= LIBWR2RF_VTU_FLAGS_START_AS_STOP;
else {
printf ("unknown vtu flag '%s'\n", argv[i]);
break;
......
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