[jira] [Updated] (MYNEWT-291) BLE Host - Split GATT attribute access function into more specific events

2016-05-02 Thread Christopher Collins (JIRA)

 [ 
https://issues.apache.org/jira/browse/MYNEWT-291?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
 ]

Christopher Collins updated MYNEWT-291:
---
Description: 
Nimble notifies the app that a characteristic or descriptor is being accessed 
via an access callback.  The access callback takes a context parameter which 
points to an instance of the following union:

{noformat}
union ble_gatt_access_ctxt {
struct {
const struct ble_gatt_chr_def *chr;
void *data;
int len;
} chr_access;

struct {
const struct ble_gatt_dsc_def *dsc;
void *data;
int len;
} dsc_access;
};
{noformat}

This is problematic because the user may wish to point the _data_ fields to 
read-only data, requiring them to "cast away const."  This looks questionable 
in code, and is difficult to document in the user guide with a straight face.

Instead, we should change the union to the following:

{noformat}
union ble_gatt_access_ctxt {
struct {
const struct ble_gatt_chr_def *chr;
const void *data;
int len;
} chr_read;

struct {
const struct ble_gatt_chr_def *chr;
void *data;
int len;
} chr_write;

struct {
const struct ble_gatt_dsc_def *dsc;
const void *data;
int len;
} dsc_read;

struct {
const struct ble_gatt_dsc_def *dsc;
void *data;
int len;
} dsc_write;
};
{noformat}

  was:
Nimble notifies the app that a characteristic or descriptor is being accessed 
via an access callback.  The access callback takes a context parameter which 
points to an instance of the following union:

{noformat}
union ble_gatt_access_ctxt {
struct {
const struct ble_gatt_chr_def *chr;
void *data;
int len;
} chr_access;

struct {
const struct ble_gatt_dsc_def *dsc;
void *data;
int len;
} dsc_access;
};
{noformat}

This is problematic because the user may wish to point the _data_ fields to 
read-only data, requiring them to "cast away const."  This looks questionable 
in code, and is difficult to document in the user guide with a straight face.

Instead, we should change the union to the following:
union ble_gatt_access_ctxt {
struct {
const struct ble_gatt_chr_def *chr;
const void *data;
int len;
} chr_read;

struct {
const struct ble_gatt_chr_def *chr;
void *data;
int len;
} chr_write;

struct {
const struct ble_gatt_dsc_def *dsc;
const void *data;
int len;
} dsc_read;

struct {
const struct ble_gatt_dsc_def *dsc;
void *data;
int len;
} dsc_write;
};


> BLE Host - Split GATT attribute access function into more specific events
> -
>
> Key: MYNEWT-291
> URL: https://issues.apache.org/jira/browse/MYNEWT-291
> Project: Mynewt
>  Issue Type: Bug
>  Components: Nimble
>Reporter: Christopher Collins
>Assignee: Christopher Collins
> Fix For: 0.9.0
>
>
> Nimble notifies the app that a characteristic or descriptor is being accessed 
> via an access callback.  The access callback takes a context parameter which 
> points to an instance of the following union:
> {noformat}
> union ble_gatt_access_ctxt {
> struct {
> const struct ble_gatt_chr_def *chr;
> void *data;
> int len;
> } chr_access;
> struct {
> const struct ble_gatt_dsc_def *dsc;
> void *data;
> int len;
> } dsc_access;
> };
> {noformat}
> This is problematic because the user may wish to point the _data_ fields to 
> read-only data, requiring them to "cast away const."  This looks questionable 
> in code, and is difficult to document in the user guide with a straight face.
> Instead, we should change the union to the following:
> {noformat}
> union ble_gatt_access_ctxt {
> struct {
> const struct ble_gatt_chr_def *chr;
> const void *data;
> int len;
> } chr_read;
> struct {
> const struct ble_gatt_chr_def *chr;
> void *data;
> int len;
> } chr_write;
> struct {
> const struct ble_gatt_dsc_def *dsc;
> const void *data;
> int len;
> } dsc_read;
> struct {
> const struct ble_gatt_dsc_def *dsc;
> void *data;
> int len;
> } dsc_write;
> };
> {noformat}



--
This message was sent by Atlassian JIRA
(v6.3.4#6332)


[jira] [Created] (MYNEWT-290) bletiny parseuint32_t won't parse positive numbers.

2016-05-02 Thread Paul Dietrich (JIRA)
Paul Dietrich created MYNEWT-290:


 Summary: bletiny parseuint32_t won't parse positive numbers.  
 Key: MYNEWT-290
 URL: https://issues.apache.org/jira/browse/MYNEWT-290
 Project: Mynewt
  Issue Type: Bug
Reporter: Paul Dietrich


Seems like the parse_uint32 won't parse positive numbers because 

its calling a function that uses longs (which are only 32-bits).





--
This message was sent by Atlassian JIRA
(v6.3.4#6332)