2019-07-22 | Paul Boddie | raw annotate files changeset graph | Introduced interrupt-driven writing to I2C bus devices. Changed the setting of the read threshold to be driven by the read request queuing method, also handling limitations on issuing read requests, possibly due to unprocessed requests (such as writes, if the reads are performed soon enough afterwards) preventing the desired number of requests from being issued. Introduced a convenience function for writing to the example program, handling failure conditions slightly better (employing negative result codes). |
1 # this is a configuration to start 'ex_ci20_cpm' 2 3 local L4 = require("L4"); 4 5 local l = L4.default_loader; 6 7 local io_buses = 8 { 9 cpm = l:new_channel(); 10 }; 11 12 l:start({ 13 caps = { 14 cpm = io_buses.cpm:svr(), 15 icu = L4.Env.icu, 16 sigma0 = L4.cast(L4.Proto.Factory, L4.Env.sigma0):create(L4.Proto.Sigma0), 17 }, 18 log = { "IO", "y" }, 19 l4re_dbg = L4.Dbg.Warn, 20 }, 21 "rom/io -vvvv rom/hw_devices.io rom/mips-ci20-cpm.io"); 22 23 l:start({ 24 caps = { 25 icu = L4.Env.icu, 26 vbus = io_buses.cpm, 27 }, 28 }, 29 "rom/ex_ci20_cpm");