Code Monkey home page Code Monkey logo

esp32-ancs-notifications's People

Contributors

alainbellet avatar jhud avatar m-hertig avatar sirfragles avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

esp32-ancs-notifications's Issues

Trouble with ESP-32 WROOM.

After loading the sketch on the ESP 32 WROOM, the board goes into a loop and reloads after each attempt to start listening.

Log:

20:37:13.963 -> rst:0x8 (TG1WDT_SYS_RESET),boot:0x13 (SPI_FAST_FLASH_BOOT)
20:37:13.963 -> configsip: 0, SPIWP:0xee
20:37:13.963 -> clk_drv:0x00,q_drv:0x00,d_drv:0x00,cs0_drv:0x00,hd_drv:0x00,wp_drv:0x00
20:37:13.963 -> mode:DIO, clock div:1
20:37:13.963 -> load:0x3fff0030,len:1344
20:37:13.963 -> load:0x40078000,len:13964
20:37:13.963 -> load:0x40080400,len:3600
20:37:13.963 -> entry 0x400805f0
20:37:14.362 -> [    22][D][esp32-hal-cpu.c:244] setCpuFrequencyMhz(): PLL: 480 / 2 = 240 Mhz, APB: 80000000 Hz
20:37:14.362 -> ESP32-ANCS-Notifications Example
20:37:14.362 -> ------------------------------------------
20:37:14.362 -> [    33][I][esp32notifications.cpp:103] begin(): [BLENotifications] begin()
20:37:15.061 -> [   725][V][BLEDevice.cpp:76] createServer(): >> createServer
20:37:15.061 -> [   725][V][BLEServer.cpp:291] registerApp(): >> registerApp - 0
20:37:15.061 -> [   726][V][FreeRTOS.cpp:189] take(): Semaphore taking: name: RegisterAppEvt (0x3ffdbdb4), owner: <N/A> for registerApp
20:37:15.061 -> [   736][V][FreeRTOS.cpp:198] take(): Semaphore taken:  name: RegisterAppEvt (0x3ffdbdb4), owner: registerApp
20:37:15.094 -> [   745][V][FreeRTOS.cpp:63] wait(): >> wait: Semaphore waiting: name: RegisterAppEvt (0x3ffdbdb4), owner: registerApp for registerApp
20:37:15.094 -> [   746][D][BLEDevice.cpp:102] gattServerEventHandler(): gattServerEventHandler [esp_gatt_if: 4] ... ESP_GATTS_REG_EVT
20:37:15.094 -> [   768][V][BLEUtils.cpp:1530] dumpGattServerEvent(): GATT ServerEvent: ESP_GATTS_REG_EVT
20:37:15.127 -> [   775][V][BLEUtils.cpp:1673] dumpGattServerEvent(): [status: ESP_GATT_OK, app_id: 0]
20:37:15.127 -> [   783][V][BLEServer.cpp:144] handleGATTServerEvent(): >> handleGATTServerEvent: ESP_GATTS_REG_EVT
20:37:15.127 -> [   792][V][FreeRTOS.cpp:143] give(): Semaphore giving: name: RegisterAppEvt (0x3ffdbdb4), owner: registerApp
20:37:15.127 -> [   802][V][BLEServer.cpp:281] handleGATTServerEvent(): << handleGATTServerEvent
20:37:15.160 -> [   802][V][FreeRTOS.cpp:77] wait(): << wait: Semaphore released: name: RegisterAppEvt (0x3ffdbdb4), owner: <N/A>
20:37:15.160 -> [   819][V][BLEServer.cpp:295] registerApp(): << registerApp
20:37:15.160 -> [   824][V][BLEDevice.cpp:83] createServer(): << createServer
20:37:15.160 -> [   829][I][esp32notifications.cpp:144] startAdvertising(): [BLENotifications] startAdvertising()
20:37:15.194 -> [   838][I][BLEDevice.cpp:577] getAdvertising(): create advertising
20:37:15.194 -> [   844][D][BLEDevice.cpp:579] getAdvertising(): get advertising
20:37:15.194 -> [   850][V][BLEAdvertising.cpp:153] setAdvertisementData(): >> setAdvertisementData
20:37:15.194 -> [   857][V][BLEAdvertising.cpp:161] setAdvertisementData(): << setAdvertisementData
20:37:15.194 -> [   860][V][BLEUtils.cpp:1049] dumpGapEvent(): Received a GAP event: ESP_GAP_BLE_ADV_DATA_RAW_SET_COMPLETE_EVT
20:37:15.227 -> [   865][V][BLEAdvertising.cpp:187] start(): >> start: customAdvData: 1, customScanResponseData: 0
20:37:15.227 -> [   874][V][BLEUtils.cpp:1065] dumpGapEvent(): [status: 0]
20:37:15.227 -> [   883][D][BLEAdvertising.cpp:206] start(): - no services advertised
20:37:15.227 -> [   888][D][BLEDevice.cpp:579] getAdvertising(): get advertising
20:37:15.227 -> [   894][V][BLEAdvertising.cpp:252] start(): << start
20:37:15.260 -> [   900][D][BLEAdvertising.cpp:506] handleGAPEvent(): handleGAPEvent [event no: 4]
20:37:15.260 -> [   912][D][BLEAdvertising.cpp:529] handleGAPEvent(): handleGAPEvent [event no: 4] process default case
20:37:15.260 -> [   924][V][BLEUtils.cpp:1049] dumpGapEvent(): Received a GAP event: ESP_GAP_BLE_SCAN_RSP_DATA_SET_COMPLETE_EVT
20:37:15.260 -> [   931][V][BLEUtils.cpp:1206] dumpGapEvent(): [status: 0]
20:37:15.293 -> [   936][D][BLEDevice.cpp:579] getAdvertising(): get advertising
20:37:15.293 -> [   942][D][BLEAdvertising.cpp:506] handleGAPEvent(): handleGAPEvent [event no: 1]
20:37:15.293 -> [   949][V][BLEUtils.cpp:1049] dumpGapEvent(): Received a GAP event: ESP_GAP_BLE_ADV_START_COMPLETE_EVT
20:37:15.293 -> [   958][V][BLEUtils.cpp:1074] dumpGapEvent(): [status: 0]
20:37:15.293 -> [   964][D][BLEDevice.cpp:579] getAdvertising(): get advertising
20:37:15.327 -> [   969][D][BLEAdvertising.cpp:506] handleGAPEvent(): handleGAPEvent [event no: 6]
20:37:16.137 -> ets Jul 29 2019 12:21:46
20:37:16.137 -> 

Code:

// @author James Hudson [email protected]
// @todo license text and header - please see github project for license

// A simple example program to retrieve notifications from your device, and output them to the Serial console.


// Header for this library, from https://www.github.com/Smartphone-Companions/ESP32-ANCS-Notifications.git
#include "esp32notifications.h"

/////
// Different hardware presets; uncomment the correct device.
// Or feel free to add your own board layout for your specific hardware.

//////////
// Example code begins

// Create an interface to the BLE notification library
BLENotifications notifications;

// Holds the incoming call's ID number, or zero if no notification
uint32_t incomingCallNotificationUUID;

// This callback will be called when a Bluetooth LE connection is made or broken.
// You can update the ESP 32's UI or take other action here.
void onBLEStateChanged(BLENotifications::State state) {
  switch(state) {
      case BLENotifications::StateConnected:
          Serial.println("StateConnected - connected to a phone or tablet"); 
          break;

      case BLENotifications::StateDisconnected:
          Serial.println("StateDisconnected - disconnected from a phone or tablet"); 
          /* We need to startAdvertising on disconnection, otherwise the ESP 32 will now be invisible.
          IMO it would make sense to put this in the library to happen automatically, but some people in the Espressif forums
          were requesting that they would like manual control over re-advertising.*/
          notifications.startAdvertising(); 
          break; 
  }
}


// A notification arrived from the mobile device, ie a social media notification or incoming call.
// parameters:
//  - notification: an Arduino-friendly structure containing notification information. Do not keep a
//                  pointer to this data - it will be destroyed after this function.
//  - rawNotificationData: a pointer to the underlying data. It contains the same information, but is
//                         not beginner-friendly. For advanced use-cases.
void onNotificationArrived(const ArduinoNotification * notification, const Notification * rawNotificationData) {
    Serial.print("Got notification: ");   
    Serial.println(notification->title); // The title, ie name of who sent the message
    Serial.println(notification->message); // The detail, ie "be home for dinner at 7".
    Serial.println(notification->type);  // Which app sent it
    Serial.println(notifications.getNotificationCategoryDescription(notification->category));  // ie "social media"
    Serial.println(notification->categoryCount); // How may other notifications are there from this app (ie badge number)

}


// A notification was cleared
void onNotificationRemoved(const ArduinoNotification * notification, const Notification * rawNotificationData) {
     Serial.print("Removed notification: ");   
     Serial.println(notification->title);
     Serial.println(notification->message);
     Serial.println(notification->type);  
}


// Standard Arduino function which is called once when the device first starts up
void setup() {
  // Button configuration. It is usual to have buttons configured as INPUT_PULLUP in the hardware design,
  // but check the details for your specific device 

    Serial.begin(115200);
    while(!Serial) {
        delay(10);
    }

    Serial.println("ESP32-ANCS-Notifications Example");
    Serial.println("------------------------------------------");    

    // Set up the BLENotification library
    notifications.begin("BLEConnection");
    notifications.setConnectionStateChangedCallback(onBLEStateChanged);
    notifications.setNotificationCallback(onNotificationArrived);
    notifications.setRemovedCallback(onNotificationRemoved);
}


// Standard Arduino function that is called in an endless loop after setup
void loop() {   
}

Compatibility with NimBLE

Hello, thank you for this wonderful ANCS library for ESP32. Our team wishes to use the NimBLE library for handling Bluetooth related methods. I want to ask, is there any compatibility with NimBLE? If no, can anyone give suggestions on how we could achieve ANCS on NimBLE?

app notifications

calls and imessage/sms come in perfectly but what about app notifications any chance of that?

Date/Time and Reconnect issues

Hi, im trying to use this to make something similar to a smart watch, for lack of a better explanation. I tried adding the notification attribute to the example code, and after converting it to a string, i realized the time, date, and year were all different. every time i boot the ESP32, it has a different date. If you/anyone knows any fixes or suggestions, it would be much appreciated. Also, a way to get the time from connection. I dont understand the ANCS or BLE stuff as much, and im very thankful this code is available to the public.

Also, as a side note, when I first connect, the phone asks if i want to allow the notifications to go through. When i forget the device and reconnect, i dont get that question, or the phone doesnt pair. For my project, that wont be an issue, but just so you are aware.

Again, any help would be appreciated.

Hardware is the ESP32. For now, i am just getting it to work with the computer serial.

Add battery level indication?

First of all, thanks for doing this. I've been trying to create something like this for a while, and this library works much better than anything I've managed to cobble together.

Would it be possible to add a phone battery level to the library? I understand that a notifications library might not be the best home for battery level, but I'd wager that anyone making a smartwatch-esque device with this library would probably want to know that. Adding it here would be a lot more convenient having to manage two separate Bluetooth clients.

Thanks again, and I'd love to help out in any way that I can (although C++/C is not my strong suit).

Notifications does not name a type

Getting the following error when trying to compile. Any ideas?

sketch_ance_notifications_dec02b:8:1: error: 'notifications' does not name a type notifications.begin("BLEConnection device name");

possible to get CategoryID

Hi Jhud!

The Lib works like a charm! the only thing I miss is the Category ID that shows what kind of Event has been added (Call / Social / Email etc.)

The Adafruit NRF52 have this feature in the Ancs sketch, I tried to find out how its done in the ancs_ble_client.cpp but my Programming skills are not so good.

I know that the CategoryID must be the 3rd Byte in the notification source, according to the Developer documents of apple.

https://developer.apple.com/library/archive/documentation/CoreBluetooth/Reference/AppleNotificationCenterServiceSpecification/Specification/Specification.html#//apple_ref/doc/uid/TP40013460-CH1-SW7

and in verbose mode I may found what I need:

ESP_LOGI(LOG_TAG, "notification added, type: %d", pData[2]);

"17:07:06.269 -> [I][ancs_ble_client.cpp:231] onNotificationSourceNotify(): notification added, type: 2"

"17:07:04.353 -> [I][ancs_ble_client.cpp:231] onNotificationSourceNotify(): notification added, type: 1"

This was a incomming and a missed call.

this looks also like the 3rd Byte that have the info in it?

how to implement this in the demo sketch?

Not working

Hello! I'm trying to use this lib, it shows on my iPhone 13, iOS 17, I can connect and pair to the esp32, but cannot get the notifications, the "Share system notifications" is not displaying.
My boards are a TTGO TDisplay and a Wroom32.

thanks!

Cannot connect to iPhone

I'm running the sample code with PlatformIO (Arduino framework on nodemcu-32s with espressif32, on a ESP-WROOM-32 devkit), using an iPhone 7 with iOS 13.0.

Trying to debug I have modified the ANCSBLEClient::setup method as follows:

void ANCSBLEClient::setup(const BLEAddress * address) {
	ESP_LOGI(LOG_TAG, "!! Setup Begin !!");
    BLEClient*  pClient  = BLEDevice::createClient();
    BLEDevice::setEncryptionLevel(ESP_BLE_SEC_ENCRYPT);
    BLEDevice::setSecurityCallbacks(new NotificationSecurityCallbacks()); // @todo memory leak?

    BLESecurity *pSecurity = new BLESecurity();
    pSecurity->setAuthenticationMode(ESP_LE_AUTH_REQ_SC_BOND);
    pSecurity->setCapability(ESP_IO_CAP_IO);
    pSecurity->setRespEncryptionKey(ESP_BLE_ENC_KEY_MASK | ESP_BLE_ID_KEY_MASK);
    ESP_LOGI(LOG_TAG, "!! Setup Connect !!");
    // Connect to the remove BLE Server.
    pClient->connect(*address);

	ESP_LOGI(LOG_TAG, "!! Setup Service !!");

However, looking at the logs, the Connect part of the code never returns:
log.log

Eventually, usually when leaving Bluetooth settings, the firmware will then crash due to #21.

Does anybody have experience with such a problem?
Thanks

Add Android Support

Hi Jhud!

I would really like to implement the Android notifications into this Library, I did some research and found something:

ESP Code: https://github.com/mitchwongho/ESP-Alerts-for-Arduino
Android Code :https://github.com/mitchwongho/ESP-Alerts-for-Android

I removed all the unneccesary stuff from it and got my hands on the APK instalation file for the Phone. It works okay for my purpose.

I will include my code here, the only thing I have to add is that MTU size musst be larger than the default 23 byte because android will not send bigger packages after reconnect somehow?

MTU Size is now 256 byte, so plenty for the Job.

The main question is, is it possible to add to this code? - my C++ and BLE knowlege is kinda low and would really apreciate if you could check this out.

APK & Code.zip

Not working in any case

I tried the given example.
In the serial monitor appears only the connection success string:�

18:44:07.337 -> ESP32-ANCS-Notifications Example
18:44:07.337 -> ------------------------------------------
18:44:46.675 -> StateConnected - connected to a phone or tablet

But when a call/email/notification is received nothing happens

Reconnect Issue

Thank you for making this library!
Unfortunately I can't get the ESP32 to reconnect after being disconnected from an iOS device.
This has actually been a long discussed issue here: nkolban/esp32-snippets#430

Connection drops after a short while and no notifications

I use the example program "ble_connection".
The device is recognized by my cell phone without any problems. I can also connect to device.
The message StateConnected - connected to a phone or tablet appears.

After about 30 seconds, the message StateDisconnected - disconnected from a phone or tablet appears.
When I go back into the settings on my phone, I get the following error message.

Guru Meditation Error: Core 0 panic'ed (LoadProhibited). Exception was unhandled.

Core  0 register dump:
PC      : 0x400d2ee7  PS      : 0x00060a30  A0      : 0x800d7808  A1      : 0x3ffcffc0  
A2      : 0x3ffbb29c  A3      : 0x3ffdc324  A4      : 0x80095b64  A5      : 0x3ffcd550  
A6      : 0x00000003  A7      : 0x00060023  A8      : 0x00000000  A9      : 0x80000000  
A10     : 0x007bf2f8  A11     : 0x003fffff  A12     : 0x80083c03  A13     : 0x3ffcd520  
A14     : 0x00000001  A15     : 0x3ffcdfa0  SAR     : 0x00000020  EXCCAUSE: 0x0000001c  
EXCVADDR: 0x00000004  LBEG    : 0x400900a4  LEND    : 0x400900ae  LCOUNT  : 0x00000000  


Backtrace: 0x400d2ee4:0x3ffcffc0 0x400d7805:0x3ffcffe0 0x400d503d:0x3ffd0040 0x400ea25a:0x3ffd0060 0x400eabaa:0x3ffd0080 0x40111fb1:0x3ffd00d0 0x4011411f:0x3ffd00f0

Thank you in advance.

Reconnect-Issue - cycling bluetooth does not reconnect to the ESP32 on some devices

tested it with the Lolin D32 with the latest board definitions and code and with both iPhone SE on iOS 12.3.1 and with iPhone 8 with iOS 13something. If you have an older iPhone with you and would be able to test it with that and see if we are doing something wrong or if it is really a problem with these phones that would be great. The issue for us is the following: If we walk away with the iPhone or turn off bluetooth on the phone and back on it will not be able to reconnect. Even if we try to reconnect by tapping the device on the phone it wont be able to do it. The only way to reconnect it is then resetting the ESP32 and it reconnects immediately.

No such file or directory found issue

Hello, when I try compiling the code given here, I am met with this error:

In file included from /Users/Ajoo7530/Documents/Arduino/libraries/ESP32-ANCS-Notifications-master/src/esp32notifications.h:6:0,
from /Users/Ajoo7530/Documents/Arduino/Smart Lens/ESP32-ANCS-Notifications-master/examples/ble_connection/ble_connection.ino:8:
/Users/Ajoo7530/Documents/Arduino/libraries/ESP32-ANCS-Notifications-master/src/ble_notification.h:9:10: fatal error: string: No such file or directory
#include
^~~~~~~~
compilation terminated.
exit status 1
Error compiling for board Arduino Nano.

I checked the file itself and it shows "#include and I don't know if that's caused by a missing library or something else.

noification->time

hello,

my notification time is always 1073792108 = Sun Jan 11 04:35:08 2004... i use latest ios iphone X... can you help?

thx
Mirek

Ignore buffered notifications

First of all, great library.
I was wondering if there is a way to ignore the buffered notifications at the moment of connection, but consider only the ones that arrives from the connection onwards.

I thought about waiting a certain amount of time after connection and ignore the things that arrives, but it doesnt seems a reliable way to do it, because the "time" depends on the amount of buffered notifications.

How to access queue

First of all, great work! I really appreciate you taking the time to simplify all the bluetooth internals required to interface with the ANCS. Really, it's a blessing. One more time, great job!

This library in its current state is great for printing incoming notifications because you can just register a callback and that's that. However, I would like to keep track of the notifications that have come in and display them all together when needed. Having looked through the source, I see it already keeps track of a default 32 notifications in a stack so that it can follow up with retrieving the rest of the data. I don't want to reinvent the wheel and it seems like it already keeps track of the notifications well, so my question is thus: what outward-facing methods do I write in order to interface with the stack? I've never used something like this before, and don't really know how to work with it. I don't know if this was something you were planning on adding yourself, but if it isn't and it turns out well for me I'll prawly make a pr.

Thanks in advance for your help

Device not Found in iOS menu

Hi JHud,

I´ve Tested the latest Version, and there is one major problem:

the ESP wont show up in the iOS Bluetooth menu as Device.
With the NRF Connect app I can see it and connect, than it shows up.
After Restart, the device is still invisible in the BT menu.

this only happens when you force the Phone to "forget" the device.

The problem was not present in the last version without the Categorys.

react to notifications?

Hi! I there anyway to react to notifications that are received similar to how we can interact with an incoming call? I'm thinking like replying to a text message or something?

My end goal is just to send a message from the ESP32 and haven't been able to figure out a way to do it in anyway, hoping there's a way to use this library to do this.

Thank you!

Security possible?

Hey I was fiddling with this and was wondering if it was possible to add a security passcode to it in order to connect or alternatively creating a button on the esp32 to bond?

FreeRTOS.h: No such file or directory

Running the example i get the following error :
FreeRTOS.h: No such file or directory

I can see it is called in ancs_ble_client.h

I am using the arduino ide

Any idea how to fix this?
`

ESP32 Newest Release (2.0 +) Breaks this library

Hello, I have used this library for a litany of projects at this point and I really appreciate all of the work you put into it. I just tried updating the ESP32 via Board manager from 1.06 to 2.0, 2.1, etc. and it seems this library breaks with this move. The first issue is that FreeRTOS gets messed up and as a result I get an error like " xTaskGetHandle is not available ". Any ideas on if this can be fixed? I would use 1.06, but I am trying to use a esp32 C3 and that board is only supported after 2.0. I appreciate any thoughts or fixes that I can implement and again thank you for making this library!

Add EventFlags to Notification struct

The library user should be able to access the flags for the notification:

EventFlags (EventFlagSilent, EventFlagPreExisting, EventFlagPositiveAction, EventFlagNegativeAction)

Cannot get notifications after "Forget this Device" on iOS

I'm using the example app. When I first flash to the ESP32 and run, I was able to pair the device and see the setting to Share System Notifications.

I then chose to "Forget this device"

I am then able to repair, but the Share System Notifications doesn't appear for the device.

Is there something I need to do to get it to work after forgetting the device? I was reading about other ANCS NC and folks with a similar issue and there was mention of "bonding" and having to remove the bond on both iOS and the NC. Is the ANCS code somehow keeping the bonding data and I need to clear that?

SMS / iMessage issue

hello,
thanks for this library, I was looking for something like this for a while :)

My iPhone XS is on IOS 14.1
I tryed the exemple file

I was able to connect, receive incomming call notification, email notification, but I dont receive neither SMS and iMessage notifiaction :(

is there a specific configuration in message setting to allow it ?

thanks for your help
regards

Still dependencies of Neil Kolban "ESP32 BLE Arduino"?

I noticed that if the library "ESP32 BLE Arduino" is not installed i'm not able to compile the example code "ble_connection".

Arduino: 1.8.12 (Mac OS X), Board: "LOLIN D32 PRO, Disabled, Default, 80MHz, 921600, None"

***/ESP32-ANCS-Notifications-master/src/esp32notifications.cpp: In member function 'void BLENotifications::startAdvertising()':
***/ESP32-ANCS-Notifications-master/src/esp32notifications.cpp:147:24: error: 'class BLEAdvertisementData' has no member named 'setServiceSolicitation'
oAdvertisementData.setServiceSolicitation(ANCSBLEClient::getAncsServiceUUID());
^
exit status 1
Error compiling for board LOLIN D32 PRO.

Crash with new board release

Using Expressif Systems 2.0.0 in Arduino board manager on ESP32 Dev Module
Upload sample code
Connect to device on iPhone iOS 14.7.1
Turn bluetooth off to force a disconnect

Guru Meditation Error: Core 0 panic'ed (LoadProhibited). Exception was unhandled.

Core 0 register dump:
PC : 0x400d3320 PS : 0x00060930 A0 : 0x800d866c A1 : 0x3ffd42a0
A2 : 0x3ffbbf6c A3 : 0x3ffdf48c A4 : 0x00000005 A5 : 0x80000020
A6 : 0x00000007 A7 : 0x00000020 A8 : 0x00000000 A9 : 0x00000000
A10 : 0x3ffbcca4 A11 : 0x3ffd1e40 A12 : 0xffffffff A13 : 0x00000000
A14 : 0x00000000 A15 : 0x00000001 SAR : 0x00000018 EXCCAUSE: 0x0000001c
EXCVADDR: 0x00000004 LBEG : 0x4008f6d1 LEND : 0x4008f6f3 LCOUNT : 0xffffffff

Decoding stack results

  • 0x400d331d: MyServerCallbacks::onDisconnect(BLEServer*) at /Users/dev/Documents/Arduino/libraries/ESP32_BLE_ANCS_Notifications/src/esp32notifications.cpp line 64
  • 0x400d8669: BLEServer::handleGATTServerEvent(esp_gatts_cb_event_t, unsigned char, esp_ble_gatts_cb_param_t*) at /Users/dev/Library/Arduino15/packages/esp32/hardware/esp32/2.0.0/libraries/BLE/src/BLEServer.cpp line 209
  • 0x400d59e9: BLEDevice::gattServerEventHandler(esp_gatts_cb_event_t, unsigned char, esp_ble_gatts_cb_param_t*) at /Users/dev/Library/Arduino15/packages/esp32/hardware/esp32/2.0.0/libraries/BLE/src/BLEDevice.cpp line 123
  • 0x400ec9b8: btc_gatts_cb_handler at /home/runner/work/esp32-arduino-lib-builder/esp32-arduino-lib-builder/esp-idf/components/bt/host/bluedroid/btc/profile/std/gatt/btc_gatts.c line 46
  • 0x401160df: btc_thread_handler at /home/runner/work/esp32-arduino-lib-builder/esp32-arduino-lib-builder/esp-idf/components/bt/common/btc/core/btc_task.c line 184
  • 0x40117f63: osi_thread_run at /home/runner/work/esp32-arduino-lib-builder/esp32-arduino-lib-builder/esp-idf/components/bt/common/osi/thread.c line 67

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.