zephyr/include/bluetooth
Johan Hedberg 2d859cc147 Bluetooth: Mesh: Make model publication struct more compact
commit 42d330406e introduced the FastPeriodDivisor value to
to the model publication struct. Based on the way it was grouped it
seems the intention was to fit it within the same octet as other bit
fields, but it actually makes the octet overflow by one bit. This ends
up creating another u8_t variable which in turn adds 24 bits of
padding after it.

To keep the size of the struct as compact as possible, group the flag
together with the key index, since that only requires 12 bits. Some
care is needed here, since the mesh stack does have special internal
key index values that require more than 12 bits such as
BT_MESH_KEY_UNUSED and BT_MESH_KEY_DEV. In this case restricting
ourselves to 12 bits is fine since the value in the model publication
struct follows 1:1 the value received in the Config Model Publication
Set message, and there the parameter is defined to be exactly 12 bits.

Signed-off-by: Johan Hedberg <johan.hedberg@intel.com>
2019-12-11 23:53:41 +02:00
..
mesh Bluetooth: Mesh: Make model publication struct more compact 2019-12-11 23:53:41 +02:00
services doc: fix misspelling in API doxygen comments 2019-10-29 06:00:14 +01:00
a2dp-codec.h headers: Fix headers across the project 2018-09-17 15:49:26 -04:00
a2dp.h include/bluetooth: rearrange for standard use of extern "C" 2019-08-13 18:00:31 +02:00
addr.h Bluetooth: Host: Move Bluetooth Device address definition to own header 2019-10-17 10:04:06 +02:00
att.h include/bluetooth: rearrange for standard use of extern "C" 2019-08-13 18:00:31 +02:00
avdtp.h headers: Fix headers across the project 2018-09-17 15:49:26 -04:00
bluetooth.h Bluetooth: Host: Move Bluetooth Device address definition to own header 2019-10-17 10:04:06 +02:00
buf.h Bluetooth: Deprecate and fix BT_BUF_USER_DATA_MIN 2019-11-28 13:35:11 +02:00
conn.h Bluetooth: doc: Document HCI errors for connected callback 2019-11-15 10:02:24 +01:00
controller.h Bluetooth: Controller: Add support for setting public address 2018-09-21 12:40:10 +02:00
crypto.h headers: Fix headers across the project 2018-09-17 15:49:26 -04:00
gap.h Bluetooth: Host: Move GAP and GAP defined assigned numbers to own header 2019-10-17 10:04:06 +02:00
gatt.h bluetooth: host: Add flag to prevent client resubscription on reconnect 2019-12-09 17:07:39 +02:00
hci_err.h Bluetooth: Host: Move HCI error codes to its own header 2019-10-17 10:04:06 +02:00
hci_raw.h headers: Fix headers across the project 2018-09-17 15:49:26 -04:00
hci_vs.h include: bluetooth: define hci macro for nRF53 2019-11-08 19:26:35 +01:00
hci.h Bluetooth: HCI: Add utility to extract PB and BC flags from data header 2019-12-11 12:34:34 +02:00
hfp_hf.h headers: Fix headers across the project 2018-09-17 15:49:26 -04:00
l2cap.h Bluetooth: L2CAP: Process fixed channels in the RX thread 2019-11-27 17:44:59 +02:00
mesh.h headers: Fix headers across the project 2018-09-17 15:49:26 -04:00
rfcomm.h include/bluetooth: rearrange for standard use of extern "C" 2019-08-13 18:00:31 +02:00
sdp.h include/bluetooth: rearrange for standard use of extern "C" 2019-08-13 18:00:31 +02:00
testing.h Bluetooth: testing: Exclude Mesh related code if BT_MESH not set 2018-09-19 10:48:39 +03:00
uuid.h Bluetooth: UUID: Expose bt_uuid_to_str to application 2019-12-09 17:15:05 +02:00