On Thu, Jun 23, 2016 at 4:00 PM, will sanfilippo <[email protected]> wrote: >> On Jun 23, 2016, at 2:35 PM, chris collins <[email protected]> wrote: >> * Nimble: >> * The application can either manually specify the contents of a >> notification (ble_gattc_notify_custom()), or have the stack read >> the contents of the associated characteristic >> (ble_gattc_notify()). >> >> * Notifications can be sent to any peer at any time. Subscription >> is not necessary. >> >> * Thoughts: >> * I think the ability to send free-form notifications is important. >> Notifications are the only way for a server to send unsolicited >> data to a client, and giving the application more freedom in this >> area opens up the possibility of using bluetooth as a generic >> transport layer for application protocols. >> > I wonder if latter softdevices have added this capability? Does seem > like a handy thing to have.
I was also surprised, but I didn't see it in any of the soft device APIs. I very well could have missed it. >> **** Timeouts >> * S130: >> * Timeouts are 16-bit values expresssed in seconds. >> >> * Nimble: >> * Timeouts are 32-bit values expressed in milliseconds. >> > Are these for user-defined timeouts? Does the specification define > some of these timeouts or is it up to the app? How much space would be > saved using 16-bit timeouts? Just curious. I should have been more specific. Yes, these are for user-specified timeouts. The application specifies this value when it initiates a scan, advertise, or connect procedure. I think the memory savings is negligible. But then, an application probably doesn't need millisecond precision for these procedures. The nimble host already uses milliseconds internally, so I thought it made sense to use the same units in the API. >> **** Privacy >> * S130: >> * Application specifies a single own-address-type for all >> connections. >> >> * Nimble: >> * Application specifies an own-address-type per connection. >> >> * Thoughts: >> * It isn't clear to me how the S130 generates a resolvable private >> address if the application never specifies an identity address to >> use. >> > Does the softdevice allow for any of the own address types to be used? > When you say “single own address type” for all connections does this > apply to both master and slave? Is the S130 specification only for > peripherals or can it be either a central or peripheral? The S130 is both central and peripheral. I believe the device uses the same address for all roles. At least, that is my interpretation of the sd_ble_gap_address_set() documention (https://infocenter.nordicsemi.com/topic/com.nordic.infocenter.s130.api.v2.0.0/group___b_l_e___g_a_p___f_u_n_c_t_i_o_n_s.html?cp=3_6_2_1_0_2_1_2_1#ga78b1e409a55beedde9902e2c35a5b5c9) I did find an answer to my previous question, though (what identity address does the S130 use initially). I was looking at the 1.0 documentation earlier; the 2.0 documentation answers this question (from the same page mentioned above): By default the SoftDevice will set an address of type BLE_GAP_ADDR_TYPE_RANDOM_STATIC upon being enabled. The address is a random number populated during the IC manufacturing process and remains unchanged for the lifetime of each IC. Thanks, Chris
