next up previous
Next: A.7 vc-comdev.setl Up: A. WEBeye Source Code Previous: A.5 vc-check.setl

  
A.6 vc-clear.setl

Called by parent program:
vc-send.setl     (Section A.38 [vc-send.setl])

Calls child programs:
vc-comdev.setl     (Section A.7 [vc-comdev.setl])
vc-comport.setl     (Section A.8 [vc-comport.setl])

Source code: *

const yhwh = `vc-clear.setl';
 
-- ``Clear'' the Canon
 
printa (stderryhwh, `begins');
 
com_dev := filter (`exec setl vc-comdev.setl');
com_port := val filter (`exec setl vc-comport.setl');
rts_lo_time := val (command_line(1) ? `150');  -- ms
mcr := 4;  -- modem control register
rts_bit := 2**1;
fd := fileno open (`/dev/port', `direct');
 
seek (fdcom_port + mcr);
mcr_val := abs getc (fd);
mcr_val bit_and:= bit_not rts_bit;
seek (fdcom_port + mcr);
putc (fdchar mcr_val);  -- put RTS low
select (omrts_lo_time);  -- delay rts_lo_time ms
 
seek (fdcom_port + mcr);
mcr_val := abs getc (fd);
mcr_val bit_or:= rts_bit;
seek (fdcom_port + mcr);
putc (fdchar mcr_val);  -- put RTS hi
select (om, 150);  -- give the Canon 150 ms to catch its breath
 
printa (stderryhwh, `ends');


next up previous
Next: A.7 vc-comdev.setl Up: A. WEBeye Source Code Previous: A.5 vc-check.setl
David Bacon
1999-12-10