Browse Source

cointerra: Update to latest BFGMiner

Luke Dashjr 11 years ago
parent
commit
695368d78d
1 changed files with 10 additions and 2 deletions
  1. 10 2
      driver-cointerra.c

+ 10 - 2
driver-cointerra.c

@@ -19,6 +19,9 @@
 #include "lowl-usb.h"
 #include "lowl-usb.h"
 #include <math.h>
 #include <math.h>
 
 
+static const unsigned cointerra_desired_roll = 60;
+static const unsigned long cointerra_latest_result_usecs = (10 * 1000000);
+
 BFG_REGISTER_DRIVER(cointerra_drv)
 BFG_REGISTER_DRIVER(cointerra_drv)
 
 
 static const char *cointerra_hdr = "ZZ";
 static const char *cointerra_hdr = "ZZ";
@@ -897,6 +900,7 @@ static bool cta_fill(struct cgpu_info *cointerra)
 {
 {
 	struct cointerra_info *info = cointerra->device_data;
 	struct cointerra_info *info = cointerra->device_data;
 	bool ret = true;
 	bool ret = true;
+	struct timeval tv_now, tv_latest;
 	char buf[CTA_MSG_SIZE];
 	char buf[CTA_MSG_SIZE];
 	struct work *work = NULL;
 	struct work *work = NULL;
 	unsigned short nroll_limit;
 	unsigned short nroll_limit;
@@ -939,7 +943,11 @@ static bool cta_fill(struct cgpu_info *cointerra)
 	flip12(swab, &work->data[64]);
 	flip12(swab, &work->data[64]);
 	memcpy(buf + CTA_WORK_DATA, swab, 12);
 	memcpy(buf + CTA_WORK_DATA, swab, 12);
 
 
-	nroll_limit = htole16(work->drv_rolllimit);
+	timer_set_now(&tv_now);
+	timer_set_delay(&tv_latest, &tv_now, cointerra_latest_result_usecs);
+	nroll_limit = max(0, work_ntime_range(work, &tv_now, &tv_latest, cointerra_desired_roll));
+	
+	nroll_limit = htole16(nroll_limit);
 	memcpy(buf + CTA_WORK_NROLL, &nroll_limit, 2);
 	memcpy(buf + CTA_WORK_NROLL, &nroll_limit, 2);
 
 
 	memcpy(buf + CTA_WORK_DIFFBITS, &diffbits, 1);
 	memcpy(buf + CTA_WORK_DIFFBITS, &diffbits, 1);
@@ -1324,5 +1332,5 @@ struct device_drv cointerra_drv = {
 	.flush_work = cta_wake,
 	.flush_work = cta_wake,
 	.get_api_stats = cta_api_stats,
 	.get_api_stats = cta_api_stats,
 	.thread_shutdown = cta_shutdown,
 	.thread_shutdown = cta_shutdown,
-	// TODO .zero_stats = cta_zero_stats,
+	.zero_stats = cta_zero_stats,
 };
 };