diff --git a/API-README b/API-README index b205c90b..a71b694f 100644 --- a/API-README +++ b/API-README @@ -400,7 +400,14 @@ miner.php - an example web page to access the API Feature Changelog for external applications using the API: -API V1.23 +API V1.24 + +Modified API commands: + 'pools' - add 'Best Share' + +---------- + +API V1.23 (cgminer v2.10.2) Added API commands: 'pgaset' - with: MMQ opt=clock val=160 to 230 (and a multiple of 2) diff --git a/api.c b/api.c index 1d29dbb9..3561c7ab 100644 --- a/api.c +++ b/api.c @@ -133,7 +133,7 @@ static const char SEPARATOR = '|'; #define SEPSTR "|" static const char GPUSEP = ','; -static const char *APIVERSION = "1.23"; +static const char *APIVERSION = "1.24"; static const char *DEAD = "Dead"; #if defined(HAVE_OPENCL) || defined(HAVE_AN_FPGA) static const char *SICK = "Sick"; @@ -1993,6 +1993,7 @@ static void poolstatus(struct io_data *io_data, __maybe_unused SOCKETTYPE c, __m else root = api_add_const(root, "Stratum URL", BLANK, false); root = api_add_bool(root, "Has GBT", &(pool->has_gbt), false); + root = api_add_uint64(root, "Best Share", &(pool->best_diff), true); root = print_data(root, buf, isjson, isjson && (i > 0)); io_add(io_data, buf); diff --git a/cgminer.c b/cgminer.c index 876abeda..0c2d8c2c 100644 --- a/cgminer.c +++ b/cgminer.c @@ -2349,6 +2349,8 @@ static uint64_t share_diff(const struct work *work) best_diff = ret; suffix_string(best_diff, best_share, 0); } + if (ret > work->pool->best_diff) + work->pool->best_diff = ret; mutex_unlock(&control_lock); return ret; } @@ -3933,6 +3935,10 @@ void zero_stats(void) total_diff1 = 0; memset(best_share, 0, 8); suffix_string(best_diff, best_share, 0); + found_blocks = 0; + total_diff_accepted = 0; + total_diff_rejected = 0; + total_diff_stale = 0; for (i = 0; i < total_pools; i++) { struct pool *pool = pools[i]; @@ -3944,6 +3950,13 @@ void zero_stats(void) pool->discarded_work = 0; pool->getfail_occasions = 0; pool->remotefail_occasions = 0; + pool->last_share_time = 0; + pool->diff1 = 0; + pool->diff_accepted = 0; + pool->diff_rejected = 0; + pool->diff_stale = 0; + pool->last_share_diff = 0; + pool->best_diff = 0; } mutex_lock(&hash_lock); @@ -3955,6 +3968,11 @@ void zero_stats(void) cgpu->rejected = 0; cgpu->hw_errors = 0; cgpu->utility = 0.0; + cgpu->last_share_pool_time = 0; + cgpu->diff1 = 0; + cgpu->diff_accepted = 0; + cgpu->diff_rejected = 0; + cgpu->last_share_diff = 0; } mutex_unlock(&hash_lock); } diff --git a/miner.h b/miner.h index 4d47c3cc..d892ed03 100644 --- a/miner.h +++ b/miner.h @@ -924,6 +924,7 @@ struct pool { time_t last_share_time; double last_share_diff; + uint64_t best_diff; struct cgminer_stats cgminer_stats; struct cgminer_pool_stats cgminer_pool_stats;