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

Reply via email to