fun write(is_cmd: Bool, cmd: Int)
do
en.write(false)
rs.write(not is_cmd)
# high byte
var hb = once [16,32,64,128]
for i in [0..4[ do
var b = hb[i]
var r = b & cmd != 0
var d = ds[i]
d.write(r)
end
pulse_enable
if is_cmd then
# wait 5ms
5.bcm2835_delay
else
# wait 200us
200.bcm2835_delay_micros
end
# low byte
var lb = once [1,2,4,8]
for i in [0..4[ do
var b = lb[i]
var r = b & cmd != 0
var d = ds[i]
d.write(r)
end
pulse_enable
if is_cmd then
# wait 5ms
5.bcm2835_delay
else
# wait 200us
200.bcm2835_delay_micros
end
end
lib/bcm2835/bcm2835.nit:372,2--414,4