Circuits.I2C.discover

You're seeing just the function discover, go back to Circuits.I2C module for more information.
Link to this function

discover(possible_addresses, present? \\ &device_present?/2)

View Source

Specs

discover([address()], present?()) :: [{binary(), address()}]

Scan all I2C buses for one or more devices

This function takes a list of possible addresses and an optional detection function. It only scans addresses in the possible addresses list to avoid disturbing unrelated I2C devices.

If a detection function is not passed in, a default one that performs a simple read and checks whether it succeeds is used. If the desired device has an ID register or other means of identification, the optional function should try to query that. If passing a custom function, be sure to return false rather than raise if there are errors.

A list of bus name and address tuples is returned. The list may be empty.

See also discover_one/2.