1 changed files with 27 additions and 0 deletions
@ -0,0 +1,27 @@ |
|||||||
|
-- This script scans for devices on the i2c bus |
||||||
|
local address = 0 |
||||||
|
local found = 0 |
||||||
|
|
||||||
|
local i2c_bus = i2c.get_device(0,0) |
||||||
|
i2c_bus:set_retries(10) |
||||||
|
|
||||||
|
function update() -- this is the loop which periodically runs |
||||||
|
|
||||||
|
i2c_bus:set_address(address) |
||||||
|
|
||||||
|
if i2c_bus:read_registers(0) then |
||||||
|
gcs:send_text(0, "Found I2C at " .. tostring(address)) |
||||||
|
found = found + 1 |
||||||
|
end |
||||||
|
|
||||||
|
address = address + 1 |
||||||
|
if address == 127 then |
||||||
|
address = 0 |
||||||
|
gcs:send_text(0, "Found " .. tostring(found) .. " devices") |
||||||
|
found = 0 |
||||||
|
end |
||||||
|
|
||||||
|
return update, 100 -- reschedules the loop |
||||||
|
end |
||||||
|
|
||||||
|
return update() -- run immediately before starting to reschedule |
Loading…
Reference in new issue