Re: Trouble running bleprh example

2016-05-17 Thread James Howarth
Hi Chris,


   - I am using LightBlue on my iPhone.  I have also tried the nRF MCP app
   as well with the same result.
   - Yes, the LightBlue does not show the device when you tell it to
   re-scan.
   - I also tried commenting out the data-length extension, but that did
   not seem to change the behavior.

Is there a better osx or iPhone app to interrogate the BLE device?
According to the LightBlue Explorer, bleprph doesn't seem to be advertising
any services, when I would expect it to be at least advertising the 'Alert
Notification Service".

Cheers
James



On Mon, May 16, 2016 at 11:44 PM, Christopher Collins 
wrote:

> On Mon, May 16, 2016 at 09:29:37PM -0700, James Howarth wrote:
> > Hi Chris,
> >
> > Thanks.  I'm getting closer.
> >
> > Using the 'LightBlue Explorer' app:
> >
> >- I can see the nimble-bleprh device
> >- nim-bleprh appears to be advertising no services.
> >- When I try and connect to the nRF52, the app times out.
>
> Are you using LightBlue for the iPhone or for OS X?  We have observed
> an apparent bug in the CoreBluetooth implemention in OS X which results
> in a disconnect shortly after the connection is established.  I am not
> sure if this bug has been fixed in the latest OS X release.
>
> The bug is related to the data-length-extension link layer procedure.
> When the nimble device initiates this procedure, the mac replies with a
> malformed packet.  You can disable the data length extension feature by
> modifying the
> repos/apache-mynewt-core/net/nimble/controller/include/controller/ble_ll.h
> file as follows:
>
> FROM:
> #define  BLE_LL_CFG_FEAT_DATA_LEN_EXT
>
> TO:
> //#define  BLE_LL_CFG_FEAT_DATA_LEN_EXT
>
> I.e., comment out the line which defines the
> BLE_LL_CFG_FEAT_DATA_LEN_EXT symbol.
>
> (disabling features such as this one has been made easier in more recent
> code, but for now you need to modify the code directly).
>
> >- After I connect once, it takes a couple of minutes, before the
> nimble
> >device will show up in my app, I thought it was supposed to be
> instant.
>
> The bleprph app should resume advertising as soon as the connection is
> broken.  However, it does not advertise while it is still connected to
> something.  Are you saying LightBlue does not show the device when you
> tell it to scan?
>
> Chris
>


Re: Trouble running bleprh example

2016-05-17 Thread Christopher Collins
On Mon, May 16, 2016 at 09:29:37PM -0700, James Howarth wrote:
> Hi Chris,
> 
> Thanks.  I'm getting closer.
> 
> Using the 'LightBlue Explorer' app:
> 
>- I can see the nimble-bleprh device
>- nim-bleprh appears to be advertising no services.
>- When I try and connect to the nRF52, the app times out.

Are you using LightBlue for the iPhone or for OS X?  We have observed
an apparent bug in the CoreBluetooth implemention in OS X which results
in a disconnect shortly after the connection is established.  I am not
sure if this bug has been fixed in the latest OS X release.

The bug is related to the data-length-extension link layer procedure.
When the nimble device initiates this procedure, the mac replies with a
malformed packet.  You can disable the data length extension feature by
modifying the
repos/apache-mynewt-core/net/nimble/controller/include/controller/ble_ll.h
file as follows:

FROM:
#define  BLE_LL_CFG_FEAT_DATA_LEN_EXT

TO:
//#define  BLE_LL_CFG_FEAT_DATA_LEN_EXT

I.e., comment out the line which defines the
BLE_LL_CFG_FEAT_DATA_LEN_EXT symbol.

(disabling features such as this one has been made easier in more recent
code, but for now you need to modify the code directly).

>- After I connect once, it takes a couple of minutes, before the nimble
>device will show up in my app, I thought it was supposed to be instant.

The bleprph app should resume advertising as soon as the connection is
broken.  However, it does not advertise while it is still connected to
something.  Are you saying LightBlue does not show the device when you
tell it to scan?

Chris


Re: Trouble running bleprh example

2016-05-16 Thread James Howarth
Hi Chris,
Is there a way to hook up to the device while it is running to see the debug 
messages?  So that I can diagnose some of these problems myself?
CheersJames






On Mon, May 16, 2016 at 12:38 PM -0700, "Christopher Collins" 
 wrote:










Hi James,

On Mon, May 16, 2016 at 10:49:10AM -0700, James Howarth wrote:
> Hi,
> 
> I am trying to get the bleprph example up and running on a Nordic nRF52
> PDK.  But I can't seem to see the device using the LightBlue app running on
> my iPhone.
[...]

Hi James,

I'm pretty sure I know what the problem is - the application task's
stack is overflowing right out the gate.  I'm afraid I have to take the
blame for this one; the default logging settings use a lot of stack, and
I don't often test with them. 

The fix is simple: increase the application stack size from 200 to 288
words.  You can do this by changing apps/bleprph/src/main.c as follows:

#define BLEPRPH_STACK_SIZE  (OS_STACK_ALIGN(288))

This change has already been made to the development branch, but it
didn't make it into the previous release.  Using the develop branch
instead of fixing the bug yourself is also an option; you can do so by
changing your project.yml as follows:

FROM:

repository.apache-mynewt-core:
type: github
vers: 0-latest
user: apache
repo: incubator-mynewt-core

TO:

repository.apache-mynewt-core:
type: github
vers: 0-dev
user: apache
repo: incubator-mynewt-core

(change the "vers" field).

Then upgrade your packages with "newt upgrade", e.g.,

[ccollins@iori:~/tmp/myproj]$ newt upgrade
apache-mynewt-core
Would you like to upgrade repository apache-mynewt-core from 0.7.9-none to 
0.0.0-none ? [Yn] y

Naturally, this branch is quite unstable!

Chris







Re: Trouble running bleprh example

2016-05-16 Thread Christopher Collins
Hi James,

On Mon, May 16, 2016 at 10:49:10AM -0700, James Howarth wrote:
> Hi,
> 
> I am trying to get the bleprph example up and running on a Nordic nRF52
> PDK.  But I can't seem to see the device using the LightBlue app running on
> my iPhone.
[...]

Hi James,

I'm pretty sure I know what the problem is - the application task's
stack is overflowing right out the gate.  I'm afraid I have to take the
blame for this one; the default logging settings use a lot of stack, and
I don't often test with them. 

The fix is simple: increase the application stack size from 200 to 288
words.  You can do this by changing apps/bleprph/src/main.c as follows:

#define BLEPRPH_STACK_SIZE  (OS_STACK_ALIGN(288))

This change has already been made to the development branch, but it
didn't make it into the previous release.  Using the develop branch
instead of fixing the bug yourself is also an option; you can do so by
changing your project.yml as follows:

FROM:

repository.apache-mynewt-core:
type: github
vers: 0-latest
user: apache
repo: incubator-mynewt-core

TO:

repository.apache-mynewt-core:
type: github
vers: 0-dev
user: apache
repo: incubator-mynewt-core

(change the "vers" field).

Then upgrade your packages with "newt upgrade", e.g.,

[ccollins@iori:~/tmp/myproj]$ newt upgrade
apache-mynewt-core
Would you like to upgrade repository apache-mynewt-core from 0.7.9-none to 
0.0.0-none ? [Yn] y

Naturally, this branch is quite unstable!

Chris


Trouble running bleprh example

2016-05-16 Thread James Howarth
Hi,

I am trying to get the bleprph example up and running on a Nordic nRF52
PDK.  But I can't seem to see the device using the LightBlue app running on
my iPhone.

Here's what I have done:

   - I copied the "repos/apache-mynewt-core/apps/bleprph" folder to apps/
   - I edited the pkg.deps: in apps/bleprph/pkg.yml to:

pkg.deps:
- "@apache-mynewt-core/libs/os"
- "@apache-mynewt-core/sys/log"
- "@apache-mynewt-core/net/nimble/controller"
- "@apache-mynewt-core/net/nimble/host"
- "@apache-mynewt-core/libs/console/full"
- "@apache-mynewt-core/libs/baselibc"



   - I set up the following targets:

targets/nrf52_boot
app=@apache-mynewt-core/apps/boot
bsp=@apache-mynewt-core/hw/bsp/nrf52pdk
build_profile=optimized
targets/perph
app=apps/bleprph
bsp=@apache-mynewt-core/hw/bsp/nrf52pdk
build_profile=debug


   - I then loaded the boot and perph images.
   - Power-cycled the board


Any suggestions are greatly appreciated.

Cheers
James