|
@@ -2067,10 +2067,9 @@ static void adj_width(int var, int *length)
|
|
|
|
|
|
|
|
static int dev_width;
|
|
static int dev_width;
|
|
|
|
|
|
|
|
-static void curses_print_devstatus(int thr_id)
|
|
|
|
|
|
|
+static void curses_print_devstatus(struct cgpu_info *cgpu, int count)
|
|
|
{
|
|
{
|
|
|
static int awidth = 1, rwidth = 1, hwwidth = 1, uwidth = 1;
|
|
static int awidth = 1, rwidth = 1, hwwidth = 1, uwidth = 1;
|
|
|
- struct cgpu_info *cgpu;
|
|
|
|
|
char logline[256];
|
|
char logline[256];
|
|
|
char displayed_hashes[16], displayed_rolling[16];
|
|
char displayed_hashes[16], displayed_rolling[16];
|
|
|
uint64_t dh64, dr64;
|
|
uint64_t dh64, dr64;
|
|
@@ -2078,14 +2077,12 @@ static void curses_print_devstatus(int thr_id)
|
|
|
if (opt_compact)
|
|
if (opt_compact)
|
|
|
return;
|
|
return;
|
|
|
|
|
|
|
|
- cgpu = get_thr_cgpu(thr_id);
|
|
|
|
|
-
|
|
|
|
|
- if (cgpu->cgminer_id >= start_devices || devcursor + cgpu->cgminer_id > LINES - 2)
|
|
|
|
|
|
|
+ if (count >= start_devices || devcursor + count > LINES - 2)
|
|
|
return;
|
|
return;
|
|
|
|
|
|
|
|
cgpu->utility = cgpu->accepted / total_secs * 60;
|
|
cgpu->utility = cgpu->accepted / total_secs * 60;
|
|
|
|
|
|
|
|
- wmove(statuswin,devcursor + cgpu->cgminer_id, 0);
|
|
|
|
|
|
|
+ wmove(statuswin,devcursor + count, 0);
|
|
|
wprintw(statuswin, " %s %*d: ", cgpu->drv->name, dev_width, cgpu->device_id);
|
|
wprintw(statuswin, " %s %*d: ", cgpu->drv->name, dev_width, cgpu->device_id);
|
|
|
logline[0] = '\0';
|
|
logline[0] = '\0';
|
|
|
cgpu->drv->get_statline_before(logline, cgpu);
|
|
cgpu->drv->get_statline_before(logline, cgpu);
|
|
@@ -6431,10 +6428,28 @@ static void *watchdog_thread(void __maybe_unused *userdata)
|
|
|
|
|
|
|
|
#ifdef HAVE_CURSES
|
|
#ifdef HAVE_CURSES
|
|
|
if (curses_active_locked()) {
|
|
if (curses_active_locked()) {
|
|
|
|
|
+ struct cgpu_info *cgpu;
|
|
|
|
|
+ int count;
|
|
|
|
|
+
|
|
|
change_logwinsize();
|
|
change_logwinsize();
|
|
|
curses_print_status();
|
|
curses_print_status();
|
|
|
- for (i = 0; i < mining_threads; i++)
|
|
|
|
|
- curses_print_devstatus(i);
|
|
|
|
|
|
|
+ count = 0;
|
|
|
|
|
+ for (i = 0; i < mining_threads; i++) {
|
|
|
|
|
+ cgpu = get_thr_cgpu(i);
|
|
|
|
|
+#ifndef USE_USBUTILS
|
|
|
|
|
+ if (cgpu)
|
|
|
|
|
+#else
|
|
|
|
|
+ if (cgpu && !cgpu->usbinfo.nodev)
|
|
|
|
|
+#endif
|
|
|
|
|
+ curses_print_devstatus(cgpu, count++);
|
|
|
|
|
+ }
|
|
|
|
|
+#ifdef USE_USBUTILS
|
|
|
|
|
+ for (i = 0; i < mining_threads; i++) {
|
|
|
|
|
+ cgpu = get_thr_cgpu(i);
|
|
|
|
|
+ if (cgpu && cgpu->usbinfo.nodev)
|
|
|
|
|
+ curses_print_devstatus(cgpu, count++);
|
|
|
|
|
+ }
|
|
|
|
|
+#endif
|
|
|
touchwin(statuswin);
|
|
touchwin(statuswin);
|
|
|
wrefresh(statuswin);
|
|
wrefresh(statuswin);
|
|
|
touchwin(logwin);
|
|
touchwin(logwin);
|