Issue
I want to drive the ez-Inkjet from my controller, how do I do that ?
The best is you buy a GT controller from us, which has below already nicely implemented. But, if you want to do it yourself, it is not that complicated but you will probably need to come here.
Below gives you an overview of how it is done. We can provide examples for code, for bitmaps.
To print, an inkjet needs information to be printed (see below), a shaft encoder (the inkjet has shaft encoder inputs), and a print-go that comes from a photocell. Here we only handle the information, the shaft encoder and photocell we assume you know.
Principle
Communication to a server (ez_jet.exe) through tcp/ip sockets. The structure is a command, 3 parameters and a string.
After some initialization commands, like product length, your program has to generate a bitmap (.bmp) and you tell the inkjet over tcp/ip where to load the bitmap from.
Procedure
Open tcp/ip socket: below you see the 3 main commands
#define EZTCP_IP_PORT 10061
*sock = socket( AF_INET, SOCK_STREAM, 0);
setsockopt (*sock, IPPROTO_TCP, TCP_NODELAY, (char *) &init, sizeof (BOOL)))
connect( *sock, (struct sockaddr *) &baseAddr, sizeof (baseAddr) )
Initialize:
send.cmd = EZCMD_GET_HEAD_MAC;
send_msg_tcpip( &send, sizeof( send), __LINE__);
send.cmd = EZCMD_CONFIG_RES;
send.par1 = Inkjet.cfg.l_seriesRes; // 600 dpi
send.par2 = (int)( x + 0.49); // ticks per inch
send.cmd = EZCMD_CONFIG_LONG;
send.par1 = ProdLen*1000; // Paper width in µm
send.cmd = EZCMD_CONFIG_WIDE;
send.par1 = 54144; // Paper width in µm
send.cmd = EZCMD_CONFIG_WAVEFORM;
send.par1 = Inkjet.cfg.dropSize;
send.cmd = EZCMD_CONFIG_DIRECTION;
send.par1 = Encoder.cfg.reverse;
send.par2 = Inkjet.cfg.turnBackwards[0];
send.cmd = EZCMD_CONFIG_FLIP;
send.par1 = flipHorizontal;
send.par2 = flipVertical;
send.cmd = EZCMD_CONFIG_HEAD_OFFSET; // offset between 4 rows
send.par1 = i;
send.par2 = Inkjet.cfg.ez_offset[i];
send.cmd = EZCMD_CONFIG_VOLT_OFFSET; // offset to regular
send.par1 =Inkjet.cfg.ez_volt_all;
send.cmd = EZCMD_CONFIG_TEMPERATURE; // ink temperature
send.par1 = 0;
send.par2 = Inkjet.cfg.ez_temp;
In Production
send.cmd = EZCMD_PRINT_PAGE;
send.par1 = recordNo;
strncpy( send.string, “d:/temp/bmp-1.bmp”);
send.cmd = EZCMD_GET_STATUS;
send.par1 = 0; // 1=complete, 0=ok/nok
Example Bitmap: see zip
Please see Ricoh gen 5 data sheet
eZ-Inkjet: