1 /*
2  * Copyright (c) 2022 Caspar Friedrich <c.s.w.friedrich@gmail.com>
3  *
4  * SPDX-License-Identifier: Apache-2.0
5  */
6 
7 #include <zephyr/device.h>
8 #include <zephyr/devicetree.h>
9 #include <zephyr/drivers/w1.h>
10 #include <zephyr/logging/log.h>
11 
12 LOG_MODULE_REGISTER(main, CONFIG_LOG_DEFAULT_LEVEL);
13 
w1_search_callback(struct w1_rom rom,void * user_data)14 void w1_search_callback(struct w1_rom rom, void *user_data)
15 {
16 	LOG_INF("Device found; family: 0x%02x, serial: 0x%016llx", rom.family,
17 		w1_rom_to_uint64(&rom));
18 }
19 
main(void)20 int main(void)
21 {
22 	const struct device *const dev = DEVICE_DT_GET(DT_NODELABEL(w1));
23 
24 	if (!device_is_ready(dev)) {
25 		LOG_ERR("Device not ready");
26 		return 0;
27 	}
28 
29 	int num_devices = w1_search_rom(dev, w1_search_callback, NULL);
30 
31 	LOG_INF("Number of devices found on bus: %d", num_devices);
32 	return 0;
33 }
34