Browse Source

using usb_ident

nfactor-troky
Chris Chua 12 years ago
parent
commit
782206ceca
  1. 17
      driver-avalon.c

17
driver-avalon.c

@ -52,11 +52,6 @@ bool opt_avalon_auto;
static int option_offset = -1; static int option_offset = -1;
struct device_drv avalon_drv; struct device_drv avalon_drv;
static int avalon_is_bitburner(struct cgpu_info *avalon)
{
return strcmp(avalon->drv->name, "BTB") == 0;
}
static int avalon_init_task(struct avalon_task *at, static int avalon_init_task(struct avalon_task *at,
uint8_t reset, uint8_t ff, uint8_t fan, uint8_t reset, uint8_t ff, uint8_t fan,
uint8_t timeout, uint8_t asic_num, uint8_t timeout, uint8_t asic_num,
@ -612,7 +607,7 @@ static void bitburner_set_core_voltage(struct cgpu_info *avalon, int core_voltag
uint8_t buf[2]; uint8_t buf[2];
int err; int err;
if (avalon_is_bitburner(avalon)) { if (usb_ident(avalon) == IDENT_BTB) {
buf[0] = (uint8_t)core_voltage; buf[0] = (uint8_t)core_voltage;
buf[1] = (uint8_t)(core_voltage >> 8); buf[1] = (uint8_t)(core_voltage >> 8);
err = usb_transfer_data(avalon, FTDI_TYPE_OUT, BITBURNER_REQUEST, err = usb_transfer_data(avalon, FTDI_TYPE_OUT, BITBURNER_REQUEST,
@ -635,7 +630,7 @@ static int bitburner_get_core_voltage(struct cgpu_info *avalon)
int err; int err;
int amount; int amount;
if (avalon_is_bitburner(avalon)) { if (usb_ident(avalon) == IDENT_BTB) {
err = usb_transfer_read(avalon, FTDI_TYPE_IN, BITBURNER_REQUEST, err = usb_transfer_read(avalon, FTDI_TYPE_IN, BITBURNER_REQUEST,
BITBURNER_VALUE, BITBURNER_INDEX_GET_VOLTAGE, BITBURNER_VALUE, BITBURNER_INDEX_GET_VOLTAGE,
(char *)buf, sizeof(buf), &amount, (char *)buf, sizeof(buf), &amount,
@ -723,7 +718,7 @@ static bool avalon_detect_one(libusb_device *dev, struct usb_find_devices *found
avalon->device_path, info->miner_count, info->asic_count, info->timeout, avalon->device_path, info->miner_count, info->asic_count, info->timeout,
info->frequency); info->frequency);
if (avalon_is_bitburner(avalon) && if (usb_ident(avalon) == IDENT_BTB &&
opt_bitburner_core_voltage != BITBURNER_DEFAULT_CORE_VOLTAGE) opt_bitburner_core_voltage != BITBURNER_DEFAULT_CORE_VOLTAGE)
bitburner_set_core_voltage(avalon, opt_bitburner_core_voltage); bitburner_set_core_voltage(avalon, opt_bitburner_core_voltage);
@ -1184,7 +1179,7 @@ static void avalon_update_temps(struct cgpu_info *avalon, struct avalon_info *in
info->temp_sum += avalon->temp; info->temp_sum += avalon->temp;
applog(LOG_DEBUG, "Avalon: temp_index: %d, temp_count: %d, temp_old: %d", applog(LOG_DEBUG, "Avalon: temp_index: %d, temp_count: %d, temp_old: %d",
info->temp_history_index, info->temp_history_count, info->temp_old); info->temp_history_index, info->temp_history_count, info->temp_old);
if (avalon_is_bitburner(avalon)) { if (usb_ident(avalon) == IDENT_BTB) {
info->core_voltage = bitburner_get_core_voltage(avalon); info->core_voltage = bitburner_get_core_voltage(avalon);
} }
if (info->temp_history_index == info->temp_history_count) { if (info->temp_history_index == info->temp_history_count) {
@ -1206,7 +1201,7 @@ static void get_avalon_statline_before(char *buf, size_t bufsiz, struct cgpu_inf
struct avalon_info *info = avalon->device_data; struct avalon_info *info = avalon->device_data;
int lowfan = 10000; int lowfan = 10000;
if (avalon_is_bitburner(avalon)) { if (usb_ident(avalon) == IDENT_BTB) {
tailsprintf(buf, bufsiz, "%2d/%3dC %4dmV | ", info->temp0, info->temp2, info->core_voltage); tailsprintf(buf, bufsiz, "%2d/%3dC %4dmV | ", info->temp0, info->temp2, info->core_voltage);
} else { } else {
/* Find the lowest fan speed of the ASIC cooling fans. */ /* Find the lowest fan speed of the ASIC cooling fans. */
@ -1293,7 +1288,7 @@ static int64_t avalon_scanhash(struct thr_info *thr)
/* Check for nothing but consecutive bad results or consistently less /* Check for nothing but consecutive bad results or consistently less
* results than we should be getting and reset the FPGA if necessary */ * results than we should be getting and reset the FPGA if necessary */
if (!avalon_is_bitburner(avalon)) { if (usb_ident(avalon) != IDENT_BTB) {
if (avalon->results < -miner_count && !info->reset) { if (avalon->results < -miner_count && !info->reset) {
applog(LOG_ERR, "%s%d: Result return rate low, resetting!", applog(LOG_ERR, "%s%d: Result return rate low, resetting!",
avalon->drv->name, avalon->device_id); avalon->drv->name, avalon->device_id);

Loading…
Cancel
Save