I hope the NF* variants have a unique identifier on USB to make them easy to distinguish on USB.
The nanofury currently nicely identifies itself as:
iProduct 2 NanoFury NF1 v0.7
Managing variant devices is much easier when some forethought goes into it by the hardware devs thanks
I can send you my code if you like. I modified cgminer 4.2.3 for NFx already.
I get the number of chips by finding "NFx" where x is for chips, i.e. NF1 for 1 chip, NF2 for 2,
NF3 for 3,...NF5 for 5, NF6 for 6...and so on...
The freq of all chips are the same. I have no idea to add an optional to set different freq for each
chip. As the picture I showed that is tested on "NF3".
https://dl.dropboxusercontent.com/u/23682587/DSC_0226.JPGhttps://dl.dropboxusercontent.com/u/23682587/DSC_0227.JPGLater, I will show NF5...
First - CONGRATS! :-) Nicely done!
And that's exactly why those 3 extra test points are there and how they were meant to be used
Oh - and I think that's the first case when I see someone adding a 40mm fan
(which was another one of the other design considerations)
Just a word of caution - I see that you're powering the 3rd chip from the same power regulator - be aware that the regulator is rated for 6Amps so if you push the chips a bit too much you may exhaust it. (nothing scary is going to happen - just some serious voltage ripples which will mess with bitfury's internal clock generator and you'll see very low hashing speed and lots of errors)
As for the NFx numbering - that is correct, the "x" was meant to indicate the number of chips. This is all part of the "product string", which is a customizable element.
Luke's bfgminer looks for the text "NanoFury" and that's how it decides to do any further tests with that USB device. There is also an additional test that checks the device (a hardware check). The NFx part is not mandatory for bfgminer, but I've been adding it anyways for consistency.
I've been using the
https://github.com/nanofury/NanoFury_Init program for setting the "product string".
The product string can be up to 25 characters long, and I've been adding manufacturer-specific identifiers after the NFx part (e.g. "NanoFury NF2 v0.5 by MLM").
I don't know if any of those strings have been used by cgminer and how it detects the devices (although I could probably take a look at the code and figure it out).
There is one addition that I've asked Luke to add but it is not there yet - I want to add a "default speed" indicator, which will be in the form of "/N" after the NFx part - e.g.
"NanoFury NF2/t" where the letter will represent the default speed, calculated by the formula 30+modifier, where upper-case letters are negative (@=0, A=-1, B=-2, etc) and lowercase are positive (a=+1, b=+2, c=+3, etc), and in this case t=20 so that's default speed 30+20=50 bits.
And the speed designator can be one for all chips, or one for each chip - e.g. if I have 2 chips and if the first should default to 48 bits and the second to 50 the example would be "NanoFury NF2/rt" ("r" is 18+30=48 bits for the first chip, "t" is 20+30=50 bits for the second).
I realize that this has a limitation and will work for individual settings of up to 12 chips, but for anything with that many chips it may just be sufficient to have one default speed for all chips.
Also, there will be one more hardware change specific to the NF6 design - I need an inverse PWRON signal (where ON=0 and OFF=1 or input state) and I need the signal inverted so that I don't have to put an extra transistor (and the signal that is currently in the code is not inverse = ON=1 and OFF=0).
Currently there is no power control and all chips start working and consuming power the moment you plug them in the USB
And that will probably be the only notable difference in v0.2 of the board (plus moving some stuff around).
@simoncc - I know I'm repeating what's already said but could you please share your multi-chip version of the code?
I'll be messing with Luke's code tomorrow and want to try cgminer as well