Hi Chris, On 24 January 2017 at 20:33, Christopher Collins <[email protected]> wrote: > On Tue, Jan 24, 2017 at 01:41:56PM +0100, Szymon Janc wrote: >> Hi Will, >> >> On 23 January 2017 at 18:43, will sanfilippo <[email protected]> wrote: >> > >> > Szymon: >> > >> > Indeed, those endianness macros were put in ble.h because they were >> > non-standard and acted on a buffer as opposed to just swapping bytes. >> > Internally (quite some time ago) we debated using packed structures for >> > PDU protocol elements and we just never ended up deciding on what to do >> > throughout the code. We did figure if we went the packed structure route >> > the macros used (htole16) would get replaced with ones that just byte swap >> > (if needed). >> >> Yeap, I'll work on that (starting with SM code). >> >> > >> > I looked over the changes and they look good to me. With these changes we >> > should also go through the code and use packed structures elsewhere. This >> > will definitely save a bunch of code as there will be no swapping since >> > the protocol and host are little endian. >> >> OK, I'm sending pull request. >> >> > I think there are also macros in the host for endianness-related >> > functions. Not sure if they have been renamed/replaced. >> >> From what I see host and controller are using same endianness helpers. >> I'll convert any missing code if stumble upon. > > There are some (horrifically-named) endianness macros in > net/nimble/host/src/ble_hs_endian_priv.h. These just do what your bswap > macros do, so they can probably be removed. > > Chris
Right, will send patches for this. -- pozdrawiam Szymon K. Janc
