@mrflibble (I like your username!) Yes, that's likely.
EDIT: Of course, it's unlikely that I'll be using the load below 10mA, however; it would be nice to have accuracy right down to 1mA.
FYI, I'm using two INA194s with .01 ohm resistors for current sensing; the output feeds into the op-amp (one IC and resistor per driver). I can put both current sense voltages through their own resistor (to get the average current sense voltage), and feed it into the ADC - I'll double it in software. A voltage divider will set the full scale current sense range.
I'm going to include a constant-voltage setting in hardware, as I can get the PSoC to act as an analog mux so all that is required is a few resistors (my plan is to divide the input voltage down and compare it to the set voltage using the op-amps). I did look into constant resistance / power modes in hardware briefly, but I don't know whether it would be worth the effort. I won't be limited for op-amps, though; the PSoC has two so I might be able to make use of them.
I put two MOVs which go at 200V or so (haven't chosen the parts yet) across the input for protection. I don't know what to do for protection against voltage above 100V but below 200V though... suggestions?
EDIT 2: For hardware constant-power, an AD633 multiplying load voltage and current would be fine. Constant resistance, which would require comparing either using a digipot (not much resolution) or doing V/I in hardware (difficult - I can't see how it could be done), is harder. I think constant-power would be more useful, anyway.