Back after a lot of calculations... maybe I am wrong but I've the impression that swapping pins 2 & 3 nothing changes other than the polarity of Vref:
Vout = [V(+IN) – V(-IN)] x gain
So if you tie Vref to pin 2 instead of pin 3, Vout will be a negative voltage (assuming negative supply).
wow, is my face red. i took an old shortcut and it bit me - adding an inverting stage behind an opamp often let's you just swap input pins, and i assumed, without thinking it through, that just swapping 2&3 would do the job..

:Rats. I'm old enough to know better.

I extend my apology.
Eternal vigilance ...
Soo,, much chagrined - This time i did my algebra.
What i missed before is that to swap that internal opamp's input pins ,
i'd have to swap pins 1&5 in addition to swapping 2&3.
That'd leaves us as follows:
Pin 2 = +2.5 volts, Vref
Pin 3 = 0v
Pin 1 = Vhall + I
o*R1
Pin 5 = Vhall
NOW internal opamp sees at his Inverting input: (Vpin5 + Vpin2)/2
or, Inverting = (Vhall + Vref) /2
and at his Noninverting input: (Vpin1 + Vpin3)/2
or, Non-inverting =(Vhall + I
o*R1 +0)/2
Equating those yields
(Vhall + Vref) /2 = (Vhall + I
o*R1 +0)/2 ;
(Vhall + Vref ) = ( Vhall + I
o*R1)
or,
Vref = I
o*R1 ;;
I
o = Vref/R1 which is what we want.
Now sanity check for direction of feedback:
with a PNP driver and both pairs of those pins swapped
IF I
o increases by Δi,
Non-Inverting input goes up by (Rhall + R1) * Δi
but Inverting input goes up by just Rhall * Δi
inputs now see difference R1*Δi , with Non-inverting more positive
Since Non-inverting input is now greater than Noninverting, AD8276's pin 6 moves positive
which moves PNP's base positive, nearer emitter shutting it off, restoring balance.
So a PNP could work if you need one.
I remember waking up in middle of night thinking i should check on this, but for some reason didn't get it done.
You are right. I didnt finish my thinkling and caused you extra work.
_____________________________________________________________
Now to your question -
Let say I want to drive 300mA but keep the same conditions, I would have to increase Vref or decrease R1.
If I change Vref to Vref = Io * R1 = 0.3*25 = 7.5V, this is outside the range of AD8276 on a 5V supply.
Indeed everything is supplied by +5, your ADR3426 would be hard pressed to deliver 7.5.
Your circuit as you drew it will keep I = Vref/R1
so as you said
The other option is to change R1. So for example, I could change R1 to 10 Ohms, that means Vref = 1V gives 100mA and 3V gives 300mA, and I think it meets all the input range limitations...
Agreed.
The internal opamp's inputs need to be kept 1.5V below supply, ie 3.5 volts.
So Pin 5 must stay below 7 Volts, okay there.
And (pin 1 + pin3)/2 must stay below 7 volts, okay again because Rhall is only 2 ohms and i think you're planning on less than an amp though it.
For the AD8276/AD8277 to measure correctly, the input voltages at the input nodes of the internal op amp must stay below 1.5 V of the positive supply rail and can exceed the negative supply rail by 0.1 V.
AD8276 datasheet page 14
And you can't go negative with just a +5 supply.
Then a TIP120 has a Vbe(on) of 2.5V... Why not use a regular NPN BJT like the 2N1711?
It has a Vbe(sat) of 1.3V (max) with IC = 150 mA & IB = 15 mA
The 15ma Ib worries me. That's a heavy load for your AD9276.
Note his datasheet says , page 4 "output characteristics", short circiut current limit is 10ma. Graphs of output voltage page 9 figs 19-21 have 1kΩ as lowest load. I don't think he's intended to deliver much current.
But with minimum hfe of 100 at 150 ma it
should work...
But... Just in case;;
The TIP125 datasheet
http://www.fairchildsemi.com/ds/TI/TIP125.pdf
fig 2 page 3
shows Vce of ~0.75 volt
and Vbe of ~1.25 volt
when Ic = 250*Ib.
That would place Mr AD8276 in the enviable position of sinking very modest current(~ a milliamp) with output voltage well above mid-supply, about 4.25 volts.
With the 2N1711 he could have to source 15ma at (Vhall + VRef +Vbe) = 0.2 + 2.5 + 1.3 = 4.0 volts.
That leaves only one volt room to +supply. That's right at his limit, see fig 21 of AD8276 datasheet.
We should get a cross-check from Yungman on this point.
That's my thoughts.
Let me know how it looks to you.
Thanks for catching my error in previous post. If this one looks cross-threaded anywhere please challenge me on it. You know i'd much rather admit my mistakes than have them cause you aggravation.
Thank you , kind sir !