mirror of
https://github.com/GOSTSec/sgminer
synced 2025-02-05 19:44:21 +00:00
using usb_ident
This commit is contained in:
parent
b8cdaea8bb
commit
782206ceca
@ -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…
x
Reference in New Issue
Block a user