Iphone & BLE disconnects
Iphone & BLE disconnects
Hi
can anyone get BLE to be stable on the iphone, I have posted this in a few places as I am desparate to get this working, managed to get android stable and to run for 20+ hours now, so thats all good, but the Iphone runs for a minute or so and then disconnects.
This is on the BLE UART example aswell.
Thanks to people for developing these libraries however !
Problem comes :-
W (198098) BT_APPL: bta_gattc_conn_cback() - cif=3 connected=0 conn_id=3 reason=0x0008
E (198112) BT_APPL: Unknown connection ID: 4 fail sending notification
Tested using an Iphone 4s , the same thing with a hm10 module works great.
Thanks
D (197199) FreeRTOS: Semaphore taken: name: ConfEvt (0x3ffe6c2c), owner: notify
V (197207) FreeRTOS: >> wait: Semaphore waiting: name: ConfEvt (0x3ffe6c2c), owner: notify for notify
V (197208) FreeRTOS: Semaphore giving: name: ConfEvt (0x3ffe6c2c), owner: notify
V (197223) FreeRTOS: << wait: Semaphore released: name: ConfEvt (0x3ffe6c2c), owner: <N/A>
V (197223) FreeRTOS: Semaphore giving: name: ConfEvt (0x3ffe71c8), owner: <N/A>
D (197261) GeneralUtils: 00 01 02 03 04 05 06 07 08 09 0a 0b 0c 0d 0e 0f ----------------
D (197261) GeneralUtils: 0000 11 .
D (197265) FreeRTOS: Semaphore taking: name: ConfEvt (0x3ffe6c2c), owner: <N/A> for notify
D (197273) FreeRTOS: Semaphore taken: name: ConfEvt (0x3ffe6c2c), owner: notify
V (197281) FreeRTOS: >> wait: Semaphore waiting: name: ConfEvt (0x3ffe6c2c), owner: notify for notify
V (197282) FreeRTOS: Semaphore giving: name: ConfEvt (0x3ffe6c2c), owner: notify
V (197297) FreeRTOS: << wait: Semaphore released: name: ConfEvt (0x3ffe6c2c), owner: <N/A>
V (197297) FreeRTOS: Semaphore giving: name: ConfEvt (0x3ffe71c8), owner: <N/A>
D (197335) GeneralUtils: 00 01 02 03 04 05 06 07 08 09 0a 0b 0c 0d 0e 0f ----------------
D (197335) GeneralUtils: 0000 12 .
D (197339) FreeRTOS: Semaphore taking: name: ConfEvt (0x3ffe6c2c), owner: <N/A> for notify
D (197347) FreeRTOS: Semaphore taken: name: ConfEvt (0x3ffe6c2c), owner: notify
V (197355) FreeRTOS: >> wait: Semaphore waiting: name: ConfEvt (0x3ffe6c2c), owner: notify for notify
V (197356) FreeRTOS: Semaphore giving: name: ConfEvt (0x3ffe6c2c), owner: notify
V (197371) FreeRTOS: << wait: Semaphore released: name: ConfEvt (0x3ffe6c2c), owner: <N/A>
V (197371) FreeRTOS: Semaphore giving: name: ConfEvt (0x3ffe71c8), owner: <N/A>
D (197409) GeneralUtils: 00 01 02 03 04 05 06 07 08 09 0a 0b 0c 0d 0e 0f ----------------
D (197409) GeneralUtils: 0000 13 .
D (197413) FreeRTOS: Semaphore taking: name: ConfEvt (0x3ffe6c2c), owner: <N/A> for notify
D (197421) FreeRTOS: Semaphore taken: name: ConfEvt (0x3ffe6c2c), owner: notify
V (197429) FreeRTOS: >> wait: Semaphore waiting: name: ConfEvt (0x3ffe6c2c), owner: notify for notify
V (197432) FreeRTOS: Semaphore giving: name: ConfEvt (0x3ffe6c2c), owner: notify
V (197445) FreeRTOS: << wait: Semaphore released: name: ConfEvt (0x3ffe6c2c), owner: <N/A>
V (197445) FreeRTOS: Semaphore giving: name: ConfEvt (0x3ffe71c8), owner: <N/A>
D (197483) GeneralUtils: 00 01 02 03 04 05 06 07 08 09 0a 0b 0c 0d 0e 0f ----------------
D (197483) GeneralUtils: 0000 14 .
D (197487) FreeRTOS: Semaphore taking: name: ConfEvt (0x3ffe6c2c), owner: <N/A> for notify
D (197495) FreeRTOS: Semaphore taken: name: ConfEvt (0x3ffe6c2c), owner: notify
V (197503) FreeRTOS: >> wait: Semaphore waiting: name: ConfEvt (0x3ffe6c2c), owner: notify for notify
V (197504) FreeRTOS: Semaphore giving: name: ConfEvt (0x3ffe6c2c), owner: notify
V (197519) FreeRTOS: << wait: Semaphore released: name: ConfEvt (0x3ffe6c2c), owner: <N/A>
V (197519) FreeRTOS: Semaphore giving: name: ConfEvt (0x3ffe71c8), owner: <N/A>
D (197557) GeneralUtils: 00 01 02 03 04 05 06 07 08 09 0a 0b 0c 0d 0e 0f ----------------
D (197557) GeneralUtils: 0000 15 .
D (197561) FreeRTOS: Semaphore taking: name: ConfEvt (0x3ffe6c2c), owner: <N/A> for notify
D (197569) FreeRTOS: Semaphore taken: name: ConfEvt (0x3ffe6c2c), owner: notify
V (197577) FreeRTOS: >> wait: Semaphore waiting: name: ConfEvt (0x3ffe6c2c), owner: notify for notify
V (197578) FreeRTOS: Semaphore giving: name: ConfEvt (0x3ffe6c2c), owner: notify
V (197593) FreeRTOS: << wait: Semaphore released: name: ConfEvt (0x3ffe6c2c), owner: <N/A>
V (197593) FreeRTOS: Semaphore giving: name: ConfEvt (0x3ffe71c8), owner: <N/A>
D (197631) GeneralUtils: 00 01 02 03 04 05 06 07 08 09 0a 0b 0c 0d 0e 0f ----------------
D (197631) GeneralUtils: 0000 16 .
D (197635) FreeRTOS: Semaphore taking: name: ConfEvt (0x3ffe6c2c), owner: <N/A> for notify
D (197643) FreeRTOS: Semaphore taken: name: ConfEvt (0x3ffe6c2c), owner: notify
V (197651) FreeRTOS: >> wait: Semaphore waiting: name: ConfEvt (0x3ffe6c2c), owner: notify for notify
V (197652) FreeRTOS: Semaphore giving: name: ConfEvt (0x3ffe6c2c), owner: notify
V (197667) FreeRTOS: << wait: Semaphore released: name: ConfEvt (0x3ffe6c2c), owner: <N/A>
V (197667) FreeRTOS: Semaphore giving: name: ConfEvt (0x3ffe71c8), owner: <N/A>
D (197705) GeneralUtils: 00 01 02 03 04 05 06 07 08 09 0a 0b 0c 0d 0e 0f ----------------
D (197705) GeneralUtils: 0000 17 .
D (197709) FreeRTOS: Semaphore taking: name: ConfEvt (0x3ffe6c2c), owner: <N/A> for notify
D (197717) FreeRTOS: Semaphore taken: name: ConfEvt (0x3ffe6c2c), owner: notify
V (197725) FreeRTOS: >> wait: Semaphore waiting: name: ConfEvt (0x3ffe6c2c), owner: notify for notify
V (197726) FreeRTOS: Semaphore giving: name: ConfEvt (0x3ffe6c2c), owner: notify
V (197741) FreeRTOS: << wait: Semaphore released: name: ConfEvt (0x3ffe6c2c), owner: <N/A>
V (197741) FreeRTOS: Semaphore giving: name: ConfEvt (0x3ffe71c8), owner: <N/A>
D (197779) GeneralUtils: 00 01 02 03 04 05 06 07 08 09 0a 0b 0c 0d 0e 0f ----------------
D (197779) GeneralUtils: 0000 18 .
D (197783) FreeRTOS: Semaphore taking: name: ConfEvt (0x3ffe6c2c), owner: <N/A> for notify
D (197791) FreeRTOS: Semaphore taken: name: ConfEvt (0x3ffe6c2c), owner: notify
V (197799) FreeRTOS: >> wait: Semaphore waiting: name: ConfEvt (0x3ffe6c2c), owner: notify for notify
V (197800) FreeRTOS: Semaphore giving: name: ConfEvt (0x3ffe6c2c), owner: notify
V (197815) FreeRTOS: << wait: Semaphore released: name: ConfEvt (0x3ffe6c2c), owner: <N/A>
V (197815) FreeRTOS: Semaphore giving: name: ConfEvt (0x3ffe71c8), owner: <N/A>
D (197853) GeneralUtils: 00 01 02 03 04 05 06 07 08 09 0a 0b 0c 0d 0e 0f ----------------
D (197853) GeneralUtils: 0000 19 .
D (197857) FreeRTOS: Semaphore taking: name: ConfEvt (0x3ffe6c2c), owner: <N/A> for notify
D (197865) FreeRTOS: Semaphore taken: name: ConfEvt (0x3ffe6c2c), owner: notify
V (197873) FreeRTOS: >> wait: Semaphore waiting: name: ConfEvt (0x3ffe6c2c), owner: notify for notify
V (197874) FreeRTOS: Semaphore giving: name: ConfEvt (0x3ffe6c2c), owner: notify
V (197889) FreeRTOS: << wait: Semaphore released: name: ConfEvt (0x3ffe6c2c), owner: <N/A>
V (197889) FreeRTOS: Semaphore giving: name: ConfEvt (0x3ffe71c8), owner: <N/A>
D (197927) GeneralUtils: 00 01 02 03 04 05 06 07 08 09 0a 0b 0c 0d 0e 0f ----------------
D (197927) GeneralUtils: 0000 1a .
D (197931) FreeRTOS: Semaphore taking: name: ConfEvt (0x3ffe6c2c), owner: <N/A> for notify
D (197939) FreeRTOS: Semaphore taken: name: ConfEvt (0x3ffe6c2c), owner: notify
V (197947) FreeRTOS: >> wait: Semaphore waiting: name: ConfEvt (0x3ffe6c2c), owner: notify for notify
V (197948) FreeRTOS: Semaphore giving: name: ConfEvt (0x3ffe6c2c), owner: notify
V (197963) FreeRTOS: << wait: Semaphore released: name: ConfEvt (0x3ffe6c2c), owner: <N/A>
V (197963) FreeRTOS: Semaphore giving: name: ConfEvt (0x3ffe71c8), owner: <N/A>
D (198001) GeneralUtils: 00 01 02 03 04 05 06 07 08 09 0a 0b 0c 0d 0e 0f ----------------
D (198001) GeneralUtils: 0000 1b .
D (198006) FreeRTOS: Semaphore taking: name: ConfEvt (0x3ffe6c2c), owner: <N/A> for notify
D (198014) FreeRTOS: Semaphore taken: name: ConfEvt (0x3ffe6c2c), owner: notify
V (198021) FreeRTOS: >> wait: Semaphore waiting: name: ConfEvt (0x3ffe6c2c), owner: notify for notify
V (198022) FreeRTOS: Semaphore giving: name: ConfEvt (0x3ffe6c2c), owner: notify
V (198037) FreeRTOS: << wait: Semaphore released: name: ConfEvt (0x3ffe6c2c), owner: <N/A>
V (198037) FreeRTOS: Semaphore giving: name: ConfEvt (0x3ffe71c8), owner: <N/A>
D (198075) GeneralUtils: 00 01 02 03 04 05 06 07 08 09 0a 0b 0c 0d 0e 0f ----------------
D (198075) GeneralUtils: 0000 1c .
D (198079) FreeRTOS: Semaphore taking: name: ConfEvt (0x3ffe6c2c), owner: <N/A> for notify
D (198087) FreeRTOS: Semaphore taken: name: ConfEvt (0x3ffe6c2c), owner: notify
V (198095) FreeRTOS: >> wait: Semaphore waiting: name: ConfEvt (0x3ffe6c2c), owner: notify for notify
W (198098) BT_APPL: bta_gattc_conn_cback() - cif=3 connected=0 conn_id=3 reason=0x0008
E (198112) BT_APPL: Unknown connection ID: 4 fail sending notification
V (198118) FreeRTOS: Semaphore giving: name: ConfEvt (0x3ffe6c2c), owner: notify
V (198125) FreeRTOS: << wait: Semaphore released: name: ConfEvt (0x3ffe6c2c), owner: <N/A>
V (198125) FreeRTOS: Semaphore giving: name: ConfEvt (0x3ffe71c8), owner: <N/A>
start advertising
can anyone get BLE to be stable on the iphone, I have posted this in a few places as I am desparate to get this working, managed to get android stable and to run for 20+ hours now, so thats all good, but the Iphone runs for a minute or so and then disconnects.
This is on the BLE UART example aswell.
Thanks to people for developing these libraries however !
Problem comes :-
W (198098) BT_APPL: bta_gattc_conn_cback() - cif=3 connected=0 conn_id=3 reason=0x0008
E (198112) BT_APPL: Unknown connection ID: 4 fail sending notification
Tested using an Iphone 4s , the same thing with a hm10 module works great.
Thanks
D (197199) FreeRTOS: Semaphore taken: name: ConfEvt (0x3ffe6c2c), owner: notify
V (197207) FreeRTOS: >> wait: Semaphore waiting: name: ConfEvt (0x3ffe6c2c), owner: notify for notify
V (197208) FreeRTOS: Semaphore giving: name: ConfEvt (0x3ffe6c2c), owner: notify
V (197223) FreeRTOS: << wait: Semaphore released: name: ConfEvt (0x3ffe6c2c), owner: <N/A>
V (197223) FreeRTOS: Semaphore giving: name: ConfEvt (0x3ffe71c8), owner: <N/A>
D (197261) GeneralUtils: 00 01 02 03 04 05 06 07 08 09 0a 0b 0c 0d 0e 0f ----------------
D (197261) GeneralUtils: 0000 11 .
D (197265) FreeRTOS: Semaphore taking: name: ConfEvt (0x3ffe6c2c), owner: <N/A> for notify
D (197273) FreeRTOS: Semaphore taken: name: ConfEvt (0x3ffe6c2c), owner: notify
V (197281) FreeRTOS: >> wait: Semaphore waiting: name: ConfEvt (0x3ffe6c2c), owner: notify for notify
V (197282) FreeRTOS: Semaphore giving: name: ConfEvt (0x3ffe6c2c), owner: notify
V (197297) FreeRTOS: << wait: Semaphore released: name: ConfEvt (0x3ffe6c2c), owner: <N/A>
V (197297) FreeRTOS: Semaphore giving: name: ConfEvt (0x3ffe71c8), owner: <N/A>
D (197335) GeneralUtils: 00 01 02 03 04 05 06 07 08 09 0a 0b 0c 0d 0e 0f ----------------
D (197335) GeneralUtils: 0000 12 .
D (197339) FreeRTOS: Semaphore taking: name: ConfEvt (0x3ffe6c2c), owner: <N/A> for notify
D (197347) FreeRTOS: Semaphore taken: name: ConfEvt (0x3ffe6c2c), owner: notify
V (197355) FreeRTOS: >> wait: Semaphore waiting: name: ConfEvt (0x3ffe6c2c), owner: notify for notify
V (197356) FreeRTOS: Semaphore giving: name: ConfEvt (0x3ffe6c2c), owner: notify
V (197371) FreeRTOS: << wait: Semaphore released: name: ConfEvt (0x3ffe6c2c), owner: <N/A>
V (197371) FreeRTOS: Semaphore giving: name: ConfEvt (0x3ffe71c8), owner: <N/A>
D (197409) GeneralUtils: 00 01 02 03 04 05 06 07 08 09 0a 0b 0c 0d 0e 0f ----------------
D (197409) GeneralUtils: 0000 13 .
D (197413) FreeRTOS: Semaphore taking: name: ConfEvt (0x3ffe6c2c), owner: <N/A> for notify
D (197421) FreeRTOS: Semaphore taken: name: ConfEvt (0x3ffe6c2c), owner: notify
V (197429) FreeRTOS: >> wait: Semaphore waiting: name: ConfEvt (0x3ffe6c2c), owner: notify for notify
V (197432) FreeRTOS: Semaphore giving: name: ConfEvt (0x3ffe6c2c), owner: notify
V (197445) FreeRTOS: << wait: Semaphore released: name: ConfEvt (0x3ffe6c2c), owner: <N/A>
V (197445) FreeRTOS: Semaphore giving: name: ConfEvt (0x3ffe71c8), owner: <N/A>
D (197483) GeneralUtils: 00 01 02 03 04 05 06 07 08 09 0a 0b 0c 0d 0e 0f ----------------
D (197483) GeneralUtils: 0000 14 .
D (197487) FreeRTOS: Semaphore taking: name: ConfEvt (0x3ffe6c2c), owner: <N/A> for notify
D (197495) FreeRTOS: Semaphore taken: name: ConfEvt (0x3ffe6c2c), owner: notify
V (197503) FreeRTOS: >> wait: Semaphore waiting: name: ConfEvt (0x3ffe6c2c), owner: notify for notify
V (197504) FreeRTOS: Semaphore giving: name: ConfEvt (0x3ffe6c2c), owner: notify
V (197519) FreeRTOS: << wait: Semaphore released: name: ConfEvt (0x3ffe6c2c), owner: <N/A>
V (197519) FreeRTOS: Semaphore giving: name: ConfEvt (0x3ffe71c8), owner: <N/A>
D (197557) GeneralUtils: 00 01 02 03 04 05 06 07 08 09 0a 0b 0c 0d 0e 0f ----------------
D (197557) GeneralUtils: 0000 15 .
D (197561) FreeRTOS: Semaphore taking: name: ConfEvt (0x3ffe6c2c), owner: <N/A> for notify
D (197569) FreeRTOS: Semaphore taken: name: ConfEvt (0x3ffe6c2c), owner: notify
V (197577) FreeRTOS: >> wait: Semaphore waiting: name: ConfEvt (0x3ffe6c2c), owner: notify for notify
V (197578) FreeRTOS: Semaphore giving: name: ConfEvt (0x3ffe6c2c), owner: notify
V (197593) FreeRTOS: << wait: Semaphore released: name: ConfEvt (0x3ffe6c2c), owner: <N/A>
V (197593) FreeRTOS: Semaphore giving: name: ConfEvt (0x3ffe71c8), owner: <N/A>
D (197631) GeneralUtils: 00 01 02 03 04 05 06 07 08 09 0a 0b 0c 0d 0e 0f ----------------
D (197631) GeneralUtils: 0000 16 .
D (197635) FreeRTOS: Semaphore taking: name: ConfEvt (0x3ffe6c2c), owner: <N/A> for notify
D (197643) FreeRTOS: Semaphore taken: name: ConfEvt (0x3ffe6c2c), owner: notify
V (197651) FreeRTOS: >> wait: Semaphore waiting: name: ConfEvt (0x3ffe6c2c), owner: notify for notify
V (197652) FreeRTOS: Semaphore giving: name: ConfEvt (0x3ffe6c2c), owner: notify
V (197667) FreeRTOS: << wait: Semaphore released: name: ConfEvt (0x3ffe6c2c), owner: <N/A>
V (197667) FreeRTOS: Semaphore giving: name: ConfEvt (0x3ffe71c8), owner: <N/A>
D (197705) GeneralUtils: 00 01 02 03 04 05 06 07 08 09 0a 0b 0c 0d 0e 0f ----------------
D (197705) GeneralUtils: 0000 17 .
D (197709) FreeRTOS: Semaphore taking: name: ConfEvt (0x3ffe6c2c), owner: <N/A> for notify
D (197717) FreeRTOS: Semaphore taken: name: ConfEvt (0x3ffe6c2c), owner: notify
V (197725) FreeRTOS: >> wait: Semaphore waiting: name: ConfEvt (0x3ffe6c2c), owner: notify for notify
V (197726) FreeRTOS: Semaphore giving: name: ConfEvt (0x3ffe6c2c), owner: notify
V (197741) FreeRTOS: << wait: Semaphore released: name: ConfEvt (0x3ffe6c2c), owner: <N/A>
V (197741) FreeRTOS: Semaphore giving: name: ConfEvt (0x3ffe71c8), owner: <N/A>
D (197779) GeneralUtils: 00 01 02 03 04 05 06 07 08 09 0a 0b 0c 0d 0e 0f ----------------
D (197779) GeneralUtils: 0000 18 .
D (197783) FreeRTOS: Semaphore taking: name: ConfEvt (0x3ffe6c2c), owner: <N/A> for notify
D (197791) FreeRTOS: Semaphore taken: name: ConfEvt (0x3ffe6c2c), owner: notify
V (197799) FreeRTOS: >> wait: Semaphore waiting: name: ConfEvt (0x3ffe6c2c), owner: notify for notify
V (197800) FreeRTOS: Semaphore giving: name: ConfEvt (0x3ffe6c2c), owner: notify
V (197815) FreeRTOS: << wait: Semaphore released: name: ConfEvt (0x3ffe6c2c), owner: <N/A>
V (197815) FreeRTOS: Semaphore giving: name: ConfEvt (0x3ffe71c8), owner: <N/A>
D (197853) GeneralUtils: 00 01 02 03 04 05 06 07 08 09 0a 0b 0c 0d 0e 0f ----------------
D (197853) GeneralUtils: 0000 19 .
D (197857) FreeRTOS: Semaphore taking: name: ConfEvt (0x3ffe6c2c), owner: <N/A> for notify
D (197865) FreeRTOS: Semaphore taken: name: ConfEvt (0x3ffe6c2c), owner: notify
V (197873) FreeRTOS: >> wait: Semaphore waiting: name: ConfEvt (0x3ffe6c2c), owner: notify for notify
V (197874) FreeRTOS: Semaphore giving: name: ConfEvt (0x3ffe6c2c), owner: notify
V (197889) FreeRTOS: << wait: Semaphore released: name: ConfEvt (0x3ffe6c2c), owner: <N/A>
V (197889) FreeRTOS: Semaphore giving: name: ConfEvt (0x3ffe71c8), owner: <N/A>
D (197927) GeneralUtils: 00 01 02 03 04 05 06 07 08 09 0a 0b 0c 0d 0e 0f ----------------
D (197927) GeneralUtils: 0000 1a .
D (197931) FreeRTOS: Semaphore taking: name: ConfEvt (0x3ffe6c2c), owner: <N/A> for notify
D (197939) FreeRTOS: Semaphore taken: name: ConfEvt (0x3ffe6c2c), owner: notify
V (197947) FreeRTOS: >> wait: Semaphore waiting: name: ConfEvt (0x3ffe6c2c), owner: notify for notify
V (197948) FreeRTOS: Semaphore giving: name: ConfEvt (0x3ffe6c2c), owner: notify
V (197963) FreeRTOS: << wait: Semaphore released: name: ConfEvt (0x3ffe6c2c), owner: <N/A>
V (197963) FreeRTOS: Semaphore giving: name: ConfEvt (0x3ffe71c8), owner: <N/A>
D (198001) GeneralUtils: 00 01 02 03 04 05 06 07 08 09 0a 0b 0c 0d 0e 0f ----------------
D (198001) GeneralUtils: 0000 1b .
D (198006) FreeRTOS: Semaphore taking: name: ConfEvt (0x3ffe6c2c), owner: <N/A> for notify
D (198014) FreeRTOS: Semaphore taken: name: ConfEvt (0x3ffe6c2c), owner: notify
V (198021) FreeRTOS: >> wait: Semaphore waiting: name: ConfEvt (0x3ffe6c2c), owner: notify for notify
V (198022) FreeRTOS: Semaphore giving: name: ConfEvt (0x3ffe6c2c), owner: notify
V (198037) FreeRTOS: << wait: Semaphore released: name: ConfEvt (0x3ffe6c2c), owner: <N/A>
V (198037) FreeRTOS: Semaphore giving: name: ConfEvt (0x3ffe71c8), owner: <N/A>
D (198075) GeneralUtils: 00 01 02 03 04 05 06 07 08 09 0a 0b 0c 0d 0e 0f ----------------
D (198075) GeneralUtils: 0000 1c .
D (198079) FreeRTOS: Semaphore taking: name: ConfEvt (0x3ffe6c2c), owner: <N/A> for notify
D (198087) FreeRTOS: Semaphore taken: name: ConfEvt (0x3ffe6c2c), owner: notify
V (198095) FreeRTOS: >> wait: Semaphore waiting: name: ConfEvt (0x3ffe6c2c), owner: notify for notify
W (198098) BT_APPL: bta_gattc_conn_cback() - cif=3 connected=0 conn_id=3 reason=0x0008
E (198112) BT_APPL: Unknown connection ID: 4 fail sending notification
V (198118) FreeRTOS: Semaphore giving: name: ConfEvt (0x3ffe6c2c), owner: notify
V (198125) FreeRTOS: << wait: Semaphore released: name: ConfEvt (0x3ffe6c2c), owner: <N/A>
V (198125) FreeRTOS: Semaphore giving: name: ConfEvt (0x3ffe71c8), owner: <N/A>
start advertising
-
- Posts: 59
- Joined: Thu Aug 17, 2017 5:40 pm
Re: Iphone & BLE disconnects
Hi,
In my project, I use pcbreflux ble_uart_server and based on Nordic examples, to make the Esp32 firmware and Android and iOS app.
In my case, testing with iPhone 5, it had a higher performance and stability than Android 7.1.
To help you, please give us more details:
- Is your Esp-IDF code based on ?
- Is your iOS code also based on ?
-You can test with latest iPhone, at least iPhone 5, to check if it's something with the iPhone 4?
In my project, I use pcbreflux ble_uart_server and based on Nordic examples, to make the Esp32 firmware and Android and iOS app.
In my case, testing with iPhone 5, it had a higher performance and stability than Android 7.1.
To help you, please give us more details:
- Is your Esp-IDF code based on ?
- Is your iOS code also based on ?
-You can test with latest iPhone, at least iPhone 5, to check if it's something with the iPhone 4?
Re: Iphone & BLE disconnects
Hi
Thanks for the reply, am really stuck on this one.
Latest espidf code and arduino code off the site as of a week ago
Running the BLE UART example from the arduino libaries.
Tried Iphone 4S, 6 and X
Used several different BLE scanners and applications, same in all.
Will try that uart example you mention... if i can get it to compile
Thanks
Thanks for the reply, am really stuck on this one.
Latest espidf code and arduino code off the site as of a week ago
Running the BLE UART example from the arduino libaries.
Tried Iphone 4S, 6 and X
Used several different BLE scanners and applications, same in all.
Will try that uart example you mention... if i can get it to compile
Thanks
Re: Iphone & BLE disconnects
OK compiles now
I guess I am supposed to send the notifiocations through :-
void char2_notify_handle(esp_gatt_if_t gatts_if, uint16_t conn_id) ?
However not sure where to get the variables esp_gatt_if_t gatts_if, uint16_t conn_id from ?
Any ideas?
Thanks
I guess I am supposed to send the notifiocations through :-
void char2_notify_handle(esp_gatt_if_t gatts_if, uint16_t conn_id) ?
However not sure where to get the variables esp_gatt_if_t gatts_if, uint16_t conn_id from ?
Any ideas?
Thanks
-
- Posts: 59
- Joined: Thu Aug 17, 2017 5:40 pm
Re: Iphone & BLE disconnects
Hi,
I suggest the nRF Toolbox App of Nordic to test Ble comunications, especifically UART, its is very good,
and have code in github and an Ble Library to Android and iOS
*** ble_uart_server (by pcbreflux)
*** Send (by esp_ble_gatts_send_indicate)
*** Receive (this function I changed)
I use callbacks to C++ class, but I put here a simple call to a function to process the data
I hope this helps you
I suggest the nRF Toolbox App of Nordic to test Ble comunications, especifically UART, its is very good,
and have code in github and an Ble Library to Android and iOS
*** ble_uart_server (by pcbreflux)
*** Send (by esp_ble_gatts_send_indicate)
Code: Select all
esp_ble_gatts_send_indicate(mGatts_if, 0, gl_char[1].char_handle,
size, (uint8_t*) data, false);
I use callbacks to C++ class, but I put here a simple call to a function to process the data
Code: Select all
static void char1_write_handler(esp_gatts_cb_event_t event,
esp_gatt_if_t gatts_if, esp_ble_gatts_cb_param_t *param) {
DEBUG("char1_write_handler %d", param->write.handle);
if (gl_char[0].char_val != NULL) {
DEBUG("char1_write_handler char_val %d",param->write.len);
gl_char[0].char_val->attr_len = param->write.len;
for (uint32_t pos = 0; pos < param->write.len; pos++) {
gl_char[0].char_val->attr_value[pos] = param->write.value[pos];
} DEBUG("char1_write_handler %.*s", gl_char[0].char_val->attr_len, (char*)gl_char[0].char_val->attr_value);
} DEBUG(" char1_write_handler esp_gatt_rsp_t");
esp_ble_gatts_send_response(gatts_if, param->write.conn_id,
param->write.trans_id, ESP_GATT_OK, NULL);
// Changed -> after send_response
if (gl_char[0].char_val != NULL && gl_char[0].char_val->attr_len > 0) { // Read ;-)
// Call function
bleRecData((char*) gl_char[0].char_val->attr_value,
(uint8_t) gl_char[0].char_val->attr_len);
}
}
Code: Select all
static void bleRecData(char *data, uint8_t size) {
// Received data by BLE notification
char aux[size + 1];
sprintf(aux, "%.*s", size, data);
ESP_LOGV(TAG_BLE, "*** BLE receb [%d]:%s", size, aux);
// Process the data .....
}
Re: Iphone & BLE disconnects
Nearly
I worked out the receive, the send variables in the send_indicate I am kinda stuck where to get them from?
esp_ble_gatts_send_indicate(mGatts_if, 0, gl_char[1].char_handle,
size, (uint8_t*) data, false);
Where do you get the mGatts_if variable from ?
Something like esp_gatt_if_t gatts_if_for_indicate = ESP_GATT_IF_NONE;?
Is there a full example code anywhere ?
thanks again
I worked out the receive, the send variables in the send_indicate I am kinda stuck where to get them from?
esp_ble_gatts_send_indicate(mGatts_if, 0, gl_char[1].char_handle,
size, (uint8_t*) data, false);
Where do you get the mGatts_if variable from ?
Something like esp_gatt_if_t gatts_if_for_indicate = ESP_GATT_IF_NONE;?
Is there a full example code anywhere ?
thanks again
Re: Iphone & BLE disconnects
Cant get anything to notify still
esp_ble_gatts_send_indicate(gl_profile.gatts_if, gl_profile.conn_id, gl_char[1].char_handle,1,¬ify_pos,false); ?
Is these the parameters to be used ? thanks
esp_ble_gatts_send_indicate(gl_profile.gatts_if, gl_profile.conn_id, gl_char[1].char_handle,1,¬ify_pos,false); ?
Is these the parameters to be used ? thanks
Re: Iphone & BLE disconnects
Hi, off topic: Are you developing under macOS?
Jörg
Jörg
-
- Posts: 59
- Joined: Thu Aug 17, 2017 5:40 pm
Re: Iphone & BLE disconnects
Hi,
I not tested use of gl_profile.gatts_if, maybe works
I use an global variable for it:
And change the event:
I not tested use of gl_profile.gatts_if, maybe works
I use an global variable for it:
Code: Select all
static esp_gatt_if_t mGatts_if = ESP_GATT_IF_NONE;
Code: Select all
case ESP_GATTS_CONNECT_EVT:
DEBUG("SERVICE_START_EVT, conn_id %d, remote %02x:%02x:%02x:%02x:%02x:%02x:, is_conn %d",
param->connect.conn_id,
param->connect.remote_bda[0], param->connect.remote_bda[1], param->connect.remote_bda[2],
param->connect.remote_bda[3], param->connect.remote_bda[4], param->connect.remote_bda[5],
param->connect.conn_id);
gl_profile.conn_id = param->connect.conn_id;
/// BLE
mGatts_if = gatts_if;
Re: Iphone & BLE disconnects
Hi
Thanks, i just needed to reboot the iphone, it was being daft, it works now, thanks for all the help.
Unfortunately this does exactly the same as the arduino example.
If you have 5 minutes spare try sending one byte every 50ms.... it runs for about one minute and then the iphone disconnects with
(14321) BT_APPL: bta_gattc_conn_cback() - cif=3 connected=0 conn_id=3 reason=0x0008
So still not working.
Thanks, i just needed to reboot the iphone, it was being daft, it works now, thanks for all the help.
Unfortunately this does exactly the same as the arduino example.
If you have 5 minutes spare try sending one byte every 50ms.... it runs for about one minute and then the iphone disconnects with
(14321) BT_APPL: bta_gattc_conn_cback() - cif=3 connected=0 conn_id=3 reason=0x0008
So still not working.
Who is online
Users browsing this forum: No registered users and 93 guests