Browse Source

Code cleanup and improved documentation

nfactor-troky
Roy Badami 11 years ago
parent
commit
5d6167700a
  1. 67
      ASIC-README
  2. 31
      driver-avalon.c
  3. 3
      driver-avalon.h

67
ASIC-README

@ -108,7 +108,7 @@ ASIC SPECIFIC COMMANDS
--klondike-options <arg> Set klondike options clock:temp1:temp2:fan --klondike-options <arg> Set klondike options clock:temp1:temp2:fan
AVALON DEVICES AVALON AND BITBURNER DEVICES
Currently all known Avalon devices come with their own operating system and Currently all known Avalon devices come with their own operating system and
a preinstalled version of cgminer as part of the flash firmware, based on the a preinstalled version of cgminer as part of the flash firmware, based on the
@ -120,6 +120,9 @@ command, and adjust its fan control-temperature relationship with avalon-temp.
By default the avalon will also cut off when its temperature reaches 60 By default the avalon will also cut off when its temperature reaches 60
degrees. degrees.
All current BitBurner devices (BitBurner X, BitBurner XX and BitBurner Fury)
emulate Avalon devices, whether or not they use Avalon chips.
Avalon commands: Avalon commands:
--avalon-auto Adjust avalon overclock frequency dynamically for best hashrate --avalon-auto Adjust avalon overclock frequency dynamically for best hashrate
@ -181,8 +184,15 @@ Miners:
Most Avalons are 3 module devices, which come to 24 miners. 4 module devices Most Avalons are 3 module devices, which come to 24 miners. 4 module devices
would use 32 here. would use 32 here.
For BitBurner X and BitBurner XX devices you should use twice the number of
boards in the stack. e.g. for a two-board stack you would use 4. For
BitBurner Fury devices you should use the total number of BitFury chips in the
stack (i.e. 16 times the number of boards). e.g. for a two-board stack you
would use 32.
Asic count: Asic count:
Virtually all have 10, so don't change this. Virtually all have 10, so don't change this. BitBurner devices use 10 here
even if the boards have some other number of ASICs.
Timeout: Timeout:
This is how long the device will work on a work item before accepting new work This is how long the device will work on a work item before accepting new work
@ -202,16 +212,61 @@ Sample settings for valid different frequencies (last 2 values):
50:256 50:256
Frequency: Frequency:
This is the clock speed of the devices. Only specific values work, 256, 270, This is the clock speed of the devices. For Avalon devices, only specific
282 (default), 300, 325, 350 and 375. values work, 256, 270, 282 (default), 300, 325, 350 and 375. For BitBurner
devices, other values can be used.
Note that setting a value with an asterisk next to it will be using your Note that setting a value with an asterisk next to it will be using your
avalon outside its spec and you do so at your own risk. avalon outside its spec and you do so at your own risk.
The default frequency for BitBurner X and BitBurner XX boards is 282. The
default frequency for BitBurner Fury boards is 256. Overclocking is
possible - please consult the product documentation and/or manufacturer for
information on safe values. Values outside this range are used at your own
risk. Underclocking is also possible, at least with the X and XX boards.
eg:
--bitburner-fury-options <arg> Override avalon-options for BitBurner Fury boards baud:miners:asic:timeout:freq
This option takes the same format as --avalon-options. When specified, it
will be used for BitBurner Fury boards in preference to the values specified
in --avalon-options. (If not specified, BitBurner Fury boards will be
controlled by the values used in --avalon options.) See --avalon-options for
a detailed description of the fields.
This option is particularly useful when using a mixture of different BitBurner
devices as BitBurner Fury devices generally require significantly different
clock frequencies from Avalon-based devices. This option is only available
for boards with recent firmware that are recognized by cgminer as BBF.
eg: eg:
--bitburner-voltage <arg> Set BitBurner core voltage, in millivolts --bitburner-fury-voltage <arg> Set BitBurner Fury core voltage, in millivolts
Sets the core voltage for the BitBurner Fury boards. The default value is
900. Overvolting is possible - please consult the product documentation
and/or manufaturer about the safe range of values. Values outside this range
are used at your own risk.
This option is only available for boards with recent firmware that are
recognized by cgminer as BBF. For boards recognized as BTB, see
--bitburner-voltage
eg:
--bitburner-voltage <arg> Set BitBurner (Avalon) core voltage, in millivolts
Sets the core voltage for the Avalon-based BitBurner X and BitBurner XX
boards. The default value is 1200. Overvolting and undervolting is
possible - please consult the product documentation and/or the manufacturer
for information about the safe range. Values outside this range are used at
your own risk.
Older BitBurner Fury firmware emulates a BitBurner XX board and is identified
by cgminer as BTB. On these devices, --bitburner-voltage is used to control
the voltage of the BitBurner Fury board. The actual core voltage will be
300mV less than the requested voltage, so to run a BitBurner Fury board at
950mV use --bitburner-voltage 1250. The default value of 1200 therefore
corresponds to the default core voltage of 900mV.
Self evident.
If you use the full curses based interface with Avalons you will get this If you use the full curses based interface with Avalons you will get this
information: information:

31
driver-avalon.c

@ -797,24 +797,25 @@ static bool avalon_detect_one(libusb_device *dev, struct usb_find_devices *found
info->asic_count = asic_count; info->asic_count = asic_count;
info->timeout = timeout; info->timeout = timeout;
info->frequency = frequency; info->frequency = frequency;
} else if (usb_ident(avalon) == IDENT_BTB) {
info->baud = AVALON_IO_SPEED;
info->miner_count = BITBURNER_XX_DEFAULT_MINER_NUM;
info->asic_count = BITBURNER_DEFAULT_ASIC_NUM;
info->timeout = AVALON_DEFAULT_TIMEOUT;
info->frequency = AVALON_DEFAULT_FREQUENCY;
} else if (usb_ident(avalon) == IDENT_BBF) {
info->baud = AVALON_IO_SPEED;
info->miner_count = BITBURNER_FURY_DEFAULT_MINER_NUM;
info->asic_count = BITBURNER_DEFAULT_ASIC_NUM;
info->timeout = BITBURNER_FURY_DEFAULT_TIMEOUT;
info->frequency = BITBURNER_FURY_DEFAULT_FREQUENCY;
} else { } else {
info->baud = AVALON_IO_SPEED; info->baud = AVALON_IO_SPEED;
info->miner_count = AVALON_DEFAULT_MINER_NUM;
info->asic_count = AVALON_DEFAULT_ASIC_NUM; info->asic_count = AVALON_DEFAULT_ASIC_NUM;
info->timeout = AVALON_DEFAULT_TIMEOUT; switch (usb_ident(avalon)) {
info->frequency = AVALON_DEFAULT_FREQUENCY; case IDENT_BTB:
info->miner_count = BITBURNER_XX_DEFAULT_MINER_NUM;
info->timeout = AVALON_DEFAULT_TIMEOUT;
info->frequency = AVALON_DEFAULT_FREQUENCY;
break;
case IDENT_BBF:
info->miner_count = BITBURNER_FURY_DEFAULT_MINER_NUM;
info->timeout = BITBURNER_FURY_DEFAULT_TIMEOUT;
info->frequency = BITBURNER_FURY_DEFAULT_FREQUENCY;
break;
default:
info->miner_count = AVALON_DEFAULT_MINER_NUM;
info->timeout = AVALON_DEFAULT_TIMEOUT;
info->frequency = AVALON_DEFAULT_FREQUENCY;
}
} }
info->fan_pwm = AVALON_DEFAULT_FAN_MIN_PWM; info->fan_pwm = AVALON_DEFAULT_FAN_MIN_PWM;

3
driver-avalon.h

@ -55,9 +55,10 @@
#define AVALON_MAX_MINER_NUM 0x100 #define AVALON_MAX_MINER_NUM 0x100
#define AVALON_DEFAULT_ASIC_NUM 0xA #define AVALON_DEFAULT_ASIC_NUM 0xA
/* Default values for *_MINER_NUM are for a full stack of 8 boards, but they
will work acceptably for smaller stacks, too */
#define BITBURNER_XX_DEFAULT_MINER_NUM 16 #define BITBURNER_XX_DEFAULT_MINER_NUM 16
#define BITBURNER_FURY_DEFAULT_MINER_NUM 128 #define BITBURNER_FURY_DEFAULT_MINER_NUM 128
#define BITBURNER_DEFAULT_ASIC_NUM 10
#define BITBURNER_FURY_DEFAULT_FREQUENCY 256 #define BITBURNER_FURY_DEFAULT_FREQUENCY 256
#define BITBURNER_FURY_DEFAULT_TIMEOUT 50 #define BITBURNER_FURY_DEFAULT_TIMEOUT 50

Loading…
Cancel
Save