Q:
Dear Philippe,
it is more usual to use hexadecimal values then octal and I think there 
are still errors in power set bits. These are in hex:

const unsigned char state[]={0,0x04,0x24,0x20};	// these are ok
const unsigned char powerset[]={0x1b,0x16,0x09,0x00};	// ???

I think that 0x16 may be 0x12 (0x04 means that you may change also PH1 oring powerset with state).

I have to test some steppers and just one will be used in a final application (not with a PC) that
will be the electronic board to control a thermal printer. At the moment I was searching for L6219
datasheet and some applications note to make a protoboard to connect with a PC parallel port to test
the stepper part of 3 different thermal head printers.
Best regards,
Massimo Manca, Micron Engineering

A:
Massimo
If you want to use hex it's very awkward in this case, because the signals 
of 1 coil are grouped with 3 bits and with hex you group 4 signals.

Ph I1 I0	Octal
D2 D1 D0	Value	Comment
0  0  0		0	phase off, power 0
0  0  1		1	phase off, power 1/3
0  1  0		2	phase off, power 2/3
0  1  1		3	phase off, power 3/3
1  0  0		4	phase on, power 0
1  0  1		5	phase on, power 1/3
1  1  0		6	phase on, power 2/3
1  1  1		7	phase on, power 3/3

The powerbits are the 2 left most, so 3 octal gives maximum, 2 octal 
gives power 2/3, 1 octal gives power 1/3. So the octal number 
corresponds to the power value number divided by 3. The on/off phase bit 
is the 3th bit and gives value 4 octal ored with the powerbits of that 
coil and labeled in stepper.c as "state".  

0033 just means that the first coil and the second have both max power 
     3/3 and 3/3.
0012 would mean coil 1 would be 2/3 and coil 2 would be 1/3. 
0011|0040 would mean power of both coils are set to 1/3 and the phase of 
          coil 2 is on and coil 1 is off.

If you use hex, you have to add the state of the 2nd coil group at that 
moment and you made a lot of mistakes with the translation into hex, 
so leave them octal for simplicity!
I hope you understand the octal way better now.
 
Q: Is it neccessary to use 6 wires from the parallel port to control 1 motor?
A: The power bits of both coils are always the same in the 
program because only full stepping is used.
You can make the wiring easier by connecting 
the power pins I01 to I02 and I11 to I12 together. D3 and D4 can be 
skipped. You can wire Ph2 to D3 then, but of course you must change the 
state[] and powerset[]. I leave it as an excercise for you the find 
out the proper octal or hex numbers :-)
Of course if you want to experiment with half and micro stepping you will
need the 6 bits.

Q:
Hello Phillippe,

First of all, thank you for the wonderful information you've placed online
regarding the Linux Stepper Project.  I'm planning on using a slightly
modified version of your circuit for an art project over the next few days,
and was wondering if you could answer a question I have about your circuit
design (http://telin.ugent.be/~ps/stepper/circuit_stepper.pdf):

In the upper righthand corner (please see attached image), connected to
VREF1 and VREF2, you have two resistors labeled 2k5 and 2k7.  What do these
mean -- 2 kilo-ohm resistors?  One 2 x 10^5 ohm and one 2 x 10^7 ohm
resistor?  Sorry, I don't know this notation.

One more question... across the 2k5 resistor you have drawn a diagonal line
leading to what looks like a ground... what does this indicate?

Thanks so much for your help!
John Berry
A:
Hello John
Happy you're interested in the project as well. 1 kilo ohm = 1000 ohm, so 2k7,
2.7k, 2.7e3, 2.7*10^3 is all the same as 2700 ohm!
The  2k5 resistor is a potentiometer or user-adjustable resistance. The
symbol that looks like connected to the ground is just the tap to change, so
it is not connected to the ground! The symbols are standard european.

If you have succeeded in your art project, send me a picture or link I can
refer to in the stepper homepage :-)