aboutsummaryrefslogtreecommitdiff
path: root/lib/pbdrv/drv/index.dox
blob: 1fe09e2caa30ab492f221f4c5c702b9a135e1ea1 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
// vim:ft=doxygen
/**
\ingroup pbdrv-mod
\defgroup pb_drv Drivers
\brief Platform-specific \ref pbdrv-mod implementations

Like \ref pb_ext "extensions", drivers provide platform-specific
implementations for various functions used in \ref pbdrv-mod.

Drivers are automatically included based on your build configuration, and you
only need to ensure \c pbdrv-mod is linked with your final executable in order
to use one of the available drivers:

```cmake
# include pbdrv
add_subdirectory(lib/pbdrv)

# link pbdrv-mod
target_link_libraries(main pbdrv-mod)

```

If there is no existing driver for your target, you may implement the following
in order to use \ref pbdrv-mod:

- The \c pb_i2c_recv() function must be **called** for every received I2C
	message
- The \c pb_i2c_send() function must be **implemented** using the
	platform/device-specific I2C write function

*/