BLE Server and Client coexisting

Dr.Steve
Posts: 4
Joined: Fri Oct 19, 2018 5:10 am

BLE Server and Client coexisting

Postby Dr.Steve » Fri Oct 19, 2018 5:19 am

Hi,
I am currently working on a project which requires a ble server and client to work together. I have registered call backs using

esp_ble_gatts_register_callback(gatts_event_handler);
esp_ble_gattc_register_callback(esp_gattc_cb);

However the server callback routine is being called when a client has been connected to and disconnected from. Is there any way around this?

The IDF version I am using is 3.1.

Thanks

chegewara
Posts: 2378
Joined: Wed Jun 14, 2017 9:00 pm

Re: BLE Server and Client coexisting

Postby chegewara » Fri Oct 19, 2018 8:04 am

Maybe i misunderstand you but this is exactly how it suppose to work.

Code: Select all

esp_ble_gatts_register_callback(gatts_event_handler);
Is callback when esp32 is working as a server and you are getting events when client peer device is connecting to and disconnecting from esp32.

Dr.Steve
Posts: 4
Joined: Fri Oct 19, 2018 5:10 am

Re: BLE Server and Client coexisting

Postby Dr.Steve » Fri Oct 19, 2018 8:38 am

The client and server are running on a single esp32 eg. A phone app can connect to the single esp32 whilst it is also connected to other sensors. The connections should be managed separately within the device, however I am getting a call back on both events.

chegewara
Posts: 2378
Joined: Wed Jun 14, 2017 9:00 pm

Re: BLE Server and Client coexisting

Postby chegewara » Fri Oct 19, 2018 12:32 pm

I've been doing such test months ago, now I don't remember, but it's been working back then.

I don't have much time now, but I will try to do some tests asap.

Dr.Steve
Posts: 4
Joined: Fri Oct 19, 2018 5:10 am

Re: BLE Server and Client coexisting

Postby Dr.Steve » Fri Oct 19, 2018 12:55 pm

Thanks! Also basically what im doing is connecting to a sensor periodically with the esp32 and then dropping the connection once iv made a measurement. The phone is not connected to the esp32 at this stage and both callbacks are receiving the disconnection event.

Dr.Steve
Posts: 4
Joined: Fri Oct 19, 2018 5:10 am

Re: BLE Server and Client coexisting

Postby Dr.Steve » Mon Oct 22, 2018 12:08 am

The following crash is what I am experiencing with this issue. Note that I have tried running the ble stack on both core 0 and core 1 and it has simply shifted which core the error appears on.

Code: Select all

ASSERT_PARAM(2051 0), in llc_util.c at line 289                                 
Guru Meditation Error: Core  1 panic'ed (Interrupt wdt timeout on CPU1)         
Core 1 register dump:                                                           
PC      : 0x4008464a  PS      : 0x00060634  A0      : 0x80046350  A1      : 0x3f
fbcb40                                                                          
A2      : 0x00000001  A3      : 0x00000000  A4      : 0x00000000  A5      : 0x60
008054                                                                          
A6      : 0x3ffc1028  A7      : 0x60008050  A8      : 0x80084645  A9      : 0x3f
fbcb20                                                                          
A10     : 0x00000004  A11     : 0x00000000  A12     : 0x6000804c  A13     : 0xff
ffffff                                                                          
A14     : 0x00000000  A15     : 0xfffffffc  SAR     : 0x00000004  EXCCAUSE: 0x00
000006                                                                          
EXCVADDR: 0x00000000  LBEG    : 0x4008457d  LEND    : 0x40084584  LCOUNT  : 0x00
000000                                                                          
                                                                                
Backtrace: 0x4008464a:0x3ffbcb40 0x4004634d:0x3ffbcb60 0x40121af1:0x3ffbcb80 0x4
0019d11:0x3ffbcbc0 0x40055b4d:0x3ffbcbe0 0x4011db03:0x3ffbcc00 0x4011de85:0x3ffb
cc20                                                                            
                                                                                
Core 0 register dump:                                                           
PC      : 0x4008cc64  PS      : 0x00060a34  A0      : 0x80127e7b  A1      : 0x3f
fd3b90                                                                          
A2      : 0x3ffc17c0  A3      : 0x00000000  A4      : 0x0000008e  A5      : 0x3f
fd3ad0                                                                          
A6      : 0x00000003  A7      : 0x00060023  A8      : 0x00000000  A9      : 0x00
000001                                                                          
A10     : 0x00000000  A11     : 0x00000000  A12     : 0x00060a20  A13     : 0x00
000001                                                                          
A14     : 0x00060a20  A15     : 0x00060023  SAR     : 0x00000020  EXCCAUSE: 0x00
000006                                                                          
EXCVADDR: 0x00000000  LBEG    : 0x400014fd  LEND    : 0x4000150d  LCOUNT  : 0xff
fffffe                                                                          
                                                                                
Backtrace: 0x4008cc64:0x3ffd3b90 0x40127e78:0x3ffd3bb0 0x400e987b:0x3ffd3be0    
                                                                                
================= CORE DUMP START =================                             
4DsAABMAAABkAQAA                                                                
xMz7P4DK+z+8zPs/                                                                
IMn7P1DM+z/SMQkAzE38P8xN/D/EzPs/xE38PwIAAACQvPs/kLz7P8TM+z8AAAAA                
FwAAAMC8+z9idENvbnRyb2xsZXIAgYoAAQAAALzM+z8AAAAAIAoGABcAAAAAAAAA                
AAAAAAAAAAAAAAAAyN38PzDe/D+Y3vw/AAAAAAAAAAABAAAAAAAAAJBAQD8AAAAA                
SB0AQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA                
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA                
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA                
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA                
AAAAAAAAAAAAAAAAAAAAAAB7kUo=                                                    
Ysr7P0pGCEA0BgYAUGMEgEDL+z8BAAAAAAAAAAAAAABUgABgKBD8P1CAAGBFRgiA                
IMv7PwQAAAAAAAAATIAAYP////8AAAAA/P///wQAAAAGAAAAAAAAAH1FCECERQhA                
AAAAAEyAAGD/////zBIIQARb+j8AAAAAAAAAAAAAAAD//z+zAAAAAAAAAAAAAAAA                
AAAAAAAAAAAAAAAAAAAAAAAAAABQy/s/iNIEQBy4+z/0GhKAYMv7PwMIAAAQRQhA                
/////wAAAAAAAAAAAQAAABSdAYCAy/s/MGMEQAg4/D8AAAAADDj8PwAAAAAAAAAA                
UFsFgMDL+z+oGBJApIH7PwABBYDAy/s/dGkEQKSB+z8AAAAAwMv7P4R1AUCkgfs/                
DDj8PwAAAADOAPs/AAAAAAbbEYDgy/s/AQAAAAAAAAAfAAAAAAAAAAAAAAAjAAYA                
iN4RgADM+z84WwVADDj8P6y8+z8AAAAAtLz7PwAAAAAAAAAAIMz7PwQ4/D8AAAAA                
/////8TM+z8AAAAAAAAAAAAAAABQzPs/AAAAAAAAAAABAAAAAAAAAAAAAAAAAAAA                
AgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFzM+z8AAAAA                
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA                
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA=                    
fEv7P/BI+z90S/s/                                                                
8Ej7PxBL+z+//lIMuE38P7hN/D98S/s/sE38PwMAAAAo0vs/KNL7P3xL+z8AAAAA                
FgAAAHhB+z9oY2lIb3N0VACtiHMnhuMAAQAAAHRL+z8AAAAAIwkGABYAAAAAAAAA                
AAAAAAAAAAAAAAAAyN38PzDe/D+Y3vw/AAAAAAAAAAABAAAAAAAAAJBAQD8AAAAA                
SB0AQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA                
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA                
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA                
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA                
AAAAAAAAAAAAAAAAAAAAAAB7I94=                                                    
BCQIQAVCCEAwCAYArIwIgLBJ+z8BAAAABwAAAHTO+z8AAAAALM77PwAAAAAFQgiA                
kEn7P4AAAAAjCAYAIAgGAAEAAAAgCAYAIwAGABkAAADE2fk/AAAAAEnDAEBrwwBA                
//////0lCEABAAAAXOcIQMTZ+T8AAAAAAAAAAAAAAAD//z+zAAAAAAAAAAAAAAAA                
AAAAAAAAAAAAAAAAAAAAALsoCIDASfs/QP/6PwgAAAD0ZhKA0En7P/g8/D/pkv0/                
7CgIgOBJ+z8IAAAAABgAAJGeDoDwSfs/AAAAAAYAAAAGAAAA/jz8PwAAAAABAAAA                
lMMOgBBK+z/jkv0/BgAAAKhB/D8AAAAA45L9PwIAAADQtg6AMEr7PwEAAADjkv0/                
IAoGAAEAAAAgCgYAgHD7P+C8DoBQSvs/3JL9PwEAAAAFAAAAAgAAAAAAAACwcPs/                
d7kOgHBK+z/ckv0/qLYOQAAgAAAAAAAAAAAAANBw+z9W0Q6AoEr7P8QS/T+ovA5A                
VtEOgKBK+z/EEv0/uFP8PwAgAAAAIAAAACEAAOSS/T9JuA6AwEr7Pwjb+z8U2/s/                
0FP8P9BJ+z8DAAAAIwAGAAAAAADgSvs/AAAAAAAAAABE0vs/AAAAAFzU+z8AAAAA                
AAAAABBL+z8AAAAAAAAAAAAAAAAAAAAAuFP8PwAgAAAAAAAAAAAAAAAAAAAAAAAA                
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAHEv7PwAAAAAAAAAAAAAAAAAAAAAAAAAA                
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA                
AAAAAAAAAAAAAAAAAAAAAAAAAAA=                                                    
SFj7P7BW+z9AWPs/                                                                
sFb7P+BX+z9aUc8ApE38P6RN/D9IWPs/nE38PwQAAAAMTvs/DE77P0hY+z8AAAAA                
FQAAAERO+z9oY2lINFQABEZH575p/3AAAQAAAEBY+z8AAAAAIQAGABUAAAAAAAAA                
AAAAAAAAAAAAAAAAyN38PzDe/D+Y3vw/AAAAAAAAAAABAAAAAAAAAJBAQD8AAAAA                
SB0AQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA                
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA                
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA                
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA                
AAAAAAAAAAAAAAAAAAAAAAC41yY=                                                    
BCQIQFnlCEAwDgYA9MMOgHBX+z/gTfs/sFf7PyhO+z8AAAAAAQAAAAAAAABZ5QiA                
UFf7PwEAAADsTfw/8E38P6AL/D8hAAYAwAv8PwAAAAAAAAAAMFf7P+DCAED2wgBA                
AAAAAP0lCECgC/w/XOcIQJTm+T8AAAAAAAAAAAAAAAD//z+zAAAAAAAAAAAAAAAA                
AAAAAAAAAAAAAAAAAAAAAIKoQD/AV/s/DFT8PwcAAAAAAAAAsFf7PwAAAAAAAAAA                
AAAAAHAxCQAhAAYAwAv8P/////+wV/s/AAAAAAAAAAAoTvs/AAAAADBO+z8AAAAA                
AAAAAOBX+z8AAAAAAAAAAAAAAAAAAAAADFT8PwcAAAAAAAAAAAAAAAAAAAAAAAAA                
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA7Ff7PwAAAAAAAAAAAAAAAAAAAAAAAAAA                
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA                
AAAAAAAAAAAAAAAAAAAAAA==                                                        
NHL7P3Bv+z8scvs/                                                                
cG/7P8Bx+z+d61G4kE38P5BN/D80cvs/iE38PwUAAADoXPs/6Fz7PzRy+z8AAAAA                
FAAAADBg+z9idHVUABLb9vm1jQdSEn0AAQAAACxy+z8AAAAAIQAGABQAAAAAAAAA                
AAAAAAAAAAAAAAAAyN38PzDe/D+Y3vw/AAAAAAAAAAABAAAAAAAAAJBAQD8AAAAA                
SB0AQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA                
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA                
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA                
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA                
AAAAAAAAAAAAAAAAAAAAAABwpCg=                                                    
BCQIQPC/AEAwAAYAGc0IgDBw+z8AAAAAIwAGACAABgB81Ps/uFP8PwAgAABYIgiA                
AHD7PwEAAAAAAAAAIAIGAAEAAAAjAAYA4ED7PxgAAAAsFP0/FRT9P+DCAED2wgBA                
AAAAAP0lCEABAAAAXOcIQHQA+j8AAAAAAAAAAAAAAAD//z+zAAAAAAAAAAAAAAAA                
AAAAAAAAAAAAAAAAAAAAAHQA+j8AAAAAAAAAAAAAAACs4QiAQHD7PwAAAABUS/w/                
eLoOgGBw+z/80fs/AQAAABYAAAAAAAAAAAAAAAEAAABAvA6AoHD7P7BT/D/EEv0/                
AAAAAJBw+z98z/s/xBL9P/////8Qcfs/PhT9PwBk/D9E0vs/AAAAAAAAAAAAAAAA                
JvAPgNBw+z+4U/w/ACAAAAAAAAAAAAAAuFP8PwAgAAAU2/s/AAAAAAAAAAAQQPs/                
KXoQgPBw+z8AAAAA3JL9P3jpD0AAAAAACgAAAFBA+z+WGw+AEHH7PwAAAAABAAAA                
BwAAAAAAAAAqAAAAgED7P/0+D4Awcfs/AG78PwMAAABI1/s/AAAAAKoAAACgQPs/                
jeAPgFBx+z94bvw/kHH7PyDdEECgcfs/CJX9P+BA+z+g4Q+AcHH7P3hu/D8AAAAA                
8E38P/gTAABInfw/AAAAAAAAAACQcfs/AAAAAAAAAAAEXfs/AAAAACxd+z8AAAAA                
AAAAAMBx+z8AAAAAAAAAAAQAAAB4bvw/CJX9P+BA+z8AAAAAAAAAAAAAAAAAAAAA                
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAzHH7PwAAAAAAAAAAAAAAAAAAAAAAAAAA                
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA                
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA==                                        
NNn7P0A/+z9wQfs/                                                                
QD/7PxBB+z+rLph5fE38P3xN/D802fs/dE38PwYAAAAs1/s/LNf7PzTZ+z8AAAAA                
EwAAAHQn+z9CdGNfdGFzawCz9QhAUkYAAQAAAHBB+z8AAAAAIQAGABMAAAAAAAAA                
AAAAAAAAAAAAAAAAyN38PzDe/D+Y3vw/AAAAAAAAAAABAAAAAAAAAJBAQD8AAAAA                
SB0AQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA                
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA                
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA                
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA                
AAAAAAAAAAAAAAAAAAAAAACqAmE=                                                    
BCQIQPC/AEAwBgYAGc0IgABA+z8AAAAAIwYGACAGBgBMXfs/CJX9P+BA+z9YIgiA                
0D/7PwEAAAAAAAAAFAAAAAEAAAAjCgYAAAAAAAQAAAAUAAAAAAAAAODCAED2wgBA                
AAAAAP0lCEABAAAAXOcIQMTP+T8AAAAAAAAAAAAAAAD//z+zAAAAAAAAAAAAAAAA                
AAAAAAAAAAAAAAAAAAAAALYcEYAgQPs/9BP9P4ZA+z+s4QiAEED7PwAAAABUS/w/                
BOEPgDBA+z+8XPs/AQAAABQAAAAIE/0/8RL9PwAAAAAw4Q+AcED7PwQAAAB4bvw/                
wfgOgHBA+z+AQPs/ZO4OQP////8FAAAADwAAAAcAAAAEXfs/AAAAAAAAAADBEv0/                
Ll8UgKBA+z94bvw/4ED7PwQAAAB4bvw/CJX9P+BA+z//////6ED7PwAACgC4Dv0/                
ON4OgMBA+z/gQPs/AAAAAAcAAAAAAAAARhOWRQAAAAAAAAAA4ED7PwAAAAAAAAAA                
SNf7PwAAAAD42Ps/AAAAAAAAAAAQQfs/AAAAAAAAAAAAAAoAuA79PwAAAAAAAAAA                
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABxB+z8AAAAA                
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA                
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA=                                    
hP78P8A6/T9sPP0/                                                                
wDr9PwA8/T+aMgkAZEz8P2RM/D+E/vw/XEz8PxQAAABAAP0/QAD9P4T+/D8AAAAA                
BQAAAHAz/T9hZGNfdGFzawClpaWlpaUA////f2w8/T8AAAAAIAoGAAUAAAABAAAA                
AAAAAAAAAAAAAAAAyN38PzDe/D+Y3vw/AAAAAAAAAAABAAAAAAAAAJBAQD8AAAAA                
SB0AQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA                
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA                
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA                
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA                
AAAAAAAAAAAAAAAAAAAAAAClpaU=                                                    
ZMwIQJA7/T8wCgYAGc0IgIA7/T9kzAhANAoGAHt+EoCQO/0/wBf8PwAAAACOAAAA                
0Dr9PwMAAAAjAAYAAAAAAAEAAAAAAAAAAAAAACAKBgABAAAAIAoGACMABgAgAAAA                
BgAAAAAAAAD9FABADRUAQP7///8gCgYAAQAAAMwSCEC0yvs/AAAAAAAAAAAAAAAA                
//8/swAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABzmA6AsDv9PwAAAADAF/w/                
fpgOgLA7/T8DAAAAwBf8P44AAADQOv0/AwAAACMABgAAAAAA4Dv9P2hj/D8MAAAA                
AAAAAOA7/T+YY/w/6FL8PwEAAAAAAAAAmLv7PwIAAAAAAAAAADz9PwAAAAAAAAAA                
BAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAw8/T8AAAAA                
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA                
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA=                    
GBv9P7AZ/T8QG/0/                                                                
sBn9P7Aa/T/Mv99JjCL9PwBM/D8YG/0/+Ev8PxkAAAApWC0C26VOcxgb/T8AAAAA                
AAAAABQV/T9JRExFAMsCDIwE/CfDx4kAAAAAABAb/T8AAAAAIQAGAAAAAAAAAAAA                
AAAAAAAAAAAAAAAAyN38PzDe/D+Y3vw/AAAAAAAAAAABAAAAAAAAAJBAQD8AAAAA                
SB0AQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA                
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA                
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA                
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA                
AAAAAAAAAAAAAAAAAAAAAABVsXw=                                                    
BCQIQJ5RFEAwAAYAotEIgHAa/T8IAAAAAAAAAAEAAACEIv0/AAAAAAEAAADwSvw/                
1Er8PwAAAAABAAAAut0IgIAZ/T8DAAAAIwAGAAAAAAAgDgYAAQAAAAAAAAAAAAAA                
AAAAAP0lCECAGf0/XOcIQGSp+z8AAAAAAAAAAAAAAAD//z+zAAAAAAAAAAAAAAAA                
AAAAAAAAAAAAAAAAAAAAALrdCICAGf0/AwAAACMABgAAAAAAkBr9PwAAAAAAAAAA                
AQAAAIQi/T8AAAAAAQAAAAAAAACwGv0/AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA                
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAvBr9PwAAAAAAAAAAAAAAAAAAAAAAAAAA                
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA                
AAAAAAAAAAAAAAAAAAAAAA==                                                        
hCL9PxAh/T98Iv0/                                                                
ECH9PxAi/T8bG6bTAEz8PyAb/T+EIv0/+Ev8PxkAAAC8eJsOISiPh4Qi/T8AAAAA                
AAAAAIAc/T9JRExFAAAZ9qnRUEBIEM4AAQAAAHwi/T8AAAAAIQAGAAAAAAAAAAAA                
AAAAAAAAAAAAAAAAyN38PzDe/D+Y3vw/AAAAAAAAAAABAAAAAAAAAJBAQD8AAAAA                
SB0AQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA                
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA                
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA                
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA                
AAAAAAAAAAAAAAAAAAAAAABuYZI=                                                    
BCQIQJ5RFEAwCgYAotEIgNAh/T8IAAAAAQAAAAAAAAAYG/0/AAAAAAEAAAAQS/w/                
1Er8PwAAAAAAAAAAut0IgJDK+z8DAAAAIwAGAAAAAAAQnwiAkAv8PwAAAAAAAAAA                
AAAAAP0lCECQyvs/XOcIQMSw+z8AAAAAAAAAAAAAAAD//z+zAAAAAAAAAAAAAAAA                
AAAAAAAAAAAAAAAAAAAAALrdCICQyvs/AwAAACMABgAAAAAA8CH9PwAAAAAAAAAA                
AAAAABgb/T8AAAAAAQAAAAAAAAAQIv0/AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA                
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAHCL9PwAAAAAAAAAAAAAAAAAAAAAAAAAA                
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA                
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA==                                        
eF/9PwBp/T+Mav0/                                                                
AGn9PyBq/T+kMgkAfJH9PxxA/T94X/0/5Ev8Pw8AAABMX/0/TF/9P3hf/T8AAAAA                
CgAAAJBi/T9pMmNfdGVzdF90YXNrXzEA////f4xq/T8AAAAAIQAGAAoAAAAAAAAA                
AAAAAAAAAAAAAAAAyN38PzDe/D+Y3vw/AAAAAAAAAAABAAAAAAAAAJBAQD8AAAAA                
SB0AQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA                
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA                
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA                
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA                
AAAAAAAAAAAAAAAAAAAAAABZfOE=                                                    
BCQIQMIiCEAwDgYAztAIgMBp/T8AAAAApDIJAOAO/T/gDv0/IQAGAMAL/D/CIgiA                
oGn9P9wA8D8BAAAA8BD8PwEAAAAgDgYAIwAGAAAAAAAAAAAAgGn9P+DCAED2wgBA                
//////0lCEABAAAAXOcIQNT4+z8AAAAAAAAAAAAAAAD//z+zAAAAAAAAAAAAAAAA                
AAAAAAAAAAAAAAAAAAAAAOgDAADoQ/0/mTIJACMABgBqmQ6A4Gn9P6QyCQAAAAAA                
4A79P+AO/T8hAAYAwAv8PwAAAAAAav0/AQAAAAAAAAAAEfw/eF/9PwAAAAABAAAA                
AAAAACBq/T8AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA                
AAAAAAAAAAAsav0/AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA                
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA                
AAAAAAAAAAAAAAAA                                                                
dJH9P+CP/T9skf0/                                                                
4I/9PwCR/T+kMgkAhEH9P4Bf/T90kf0/5Ev8PxIAAADzsZSSkT5RonSR/T8AAAAA                
BwAAAHCI/T9hcHBsaWNhdGlvbl90YXMA////f2yR/T8AAAAAIQAGAAcAAAAAAAAA                
AAAAAAAAAAAAAAAAyN38PzDe/D+Y3vw/AAAAAAAAAAABAAAAAAAAAJBAQD8AAAAA                
SB0AQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA                
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA                
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA                
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA                
AAAAAAAAAAAAAAAAAAAAAADKGtE=                                                    
BCQIQMIiCEAwDgYAztAIgKCQ/T8AAAAApDIJALrdCIDQaP0/AwAAACMABgDCIgiA                
gJD9P9wA8D8BAAAA8BD8PwEAAAAgDgYAIwAGAAAAAACgkP0/AAAAAODCAED2wgBA                
AAAAAP0lCEABAAAAXOcIQLQf/D8AAAAAAAAAAAAAAAD//z+zAAAAAAAAAAAAAAAA                
AAAAAAAAAAAAAAAAAAAAAP//P7MAAAAAAAAAAAAAAABkVA6AwJD9P6QyCQAAAAAA                
A2UABdBo/T8DAAAAIwAGAAAAAADgkP0/AAAAAAAAAAAAEfw/dJH9PwAAAAABAAAA                
AAAAAACR/T8AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA                
AAAAAAAAAAAMkf0/AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA                
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA                
AAAAAAAAAAAAAAAA                                                                
fEH9P/Bx/T+Qc/0/                                                                
8HH9PzBz/T+lMgkAfDz9P3yR/T98Qf0/5Ev8PxQAAAAAAAAAAAAAAHxB/T8AAAAA                
BQAAAJRq/T9kb3NlcgAAAAAAAAAAAAAA////f5Bz/T8AAAAAIQAGAAUAAAAAAAAA                
AAAAAAAAAAAAAAAAyN38PzDe/D+Y3vw/AAAAAAAAAAABAAAAAAAAAJBAQD8AAAAA                
SB0AQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA                
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA                
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA                
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA                
AAAAAAAAAAAAAAAAAAAAAAAAAAA=                                                    
BCQIQMIiCEAwAAYAztAIgLBy/T8AAAAApTIJACQ+/T8AAAAAAAAAAMAL/D/CIgiA                
kHL9P9wA8D8BAAAA8BD8PwEAAAAgAAYAIwAGAAAAAACwcv0/AAAAAODCAED2wgBA                
AAAAAP0lCEABAAAAXOcIQOQB/D8AAAAAAAAAAAAAAAD//z+zAAAAAAAAAAAAAAAA                
AAAAAAAAAAAAAAAAAAAAAP//P7MAAAAAAAAAAAAAAADHaA6A0HL9P6UyCQAAAAAA                
//8/swAAAAAAAAAAAAAAAAAAAADwcv0/WAIAAGdS/D8AEfw/AAAAAAAAAAABAAAA                
AAAAADBz/T8AAAAAAAAAAAIsAQAAAAAAAAAAAAAAAAAAAACyAAAAAAAAAAAAAAAA                
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADxz/T8AAAAA                
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA                
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA=                                    
dDz9P3BN/T/QTv0/                                                                
cE39P3BO/T9TMwkAEIf9P4RB/T90PP0/5Ev8PxQAAAAEJAhA88sIQHQ8/T8AAAAA                
BQAAANRF/T9CTEVEc2Nhbl90YXNrAP0A////f9BO/T8AAAAAIQAGAAUAAAAAAAAA                
AAAAAAAAAAAAAAAAyN38PzDe/D+Y3vw/AAAAAAAAAAABAAAAAAAAAJBAQD8AAAAA                
SB0AQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA                
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA                
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA                
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA                
AAAAAAAAAAAAAAAAAAAAAAAAAAA=                                                    
BCQIQM7QCEAwCgYA54YOgDBO/T9TMwkAAAAAAAAR/D90PP0/AAAAAAEAAADO0AiA                
EE79PwAAAABTMwkAut0IgNBo/T8DAAAAIwAGAAAAAACuhg6AME79P+DCAED2wgBA                
//////0lCEDQaP0/XOcIQCTd+z8AAAAAAAAAAAAAAAD//z+zAAAAAAAAAAAAAAAA                
AAAAAAAAAAAAAAAAAAAAALrdCIDQaP0/AwAAACMABgAAAAAAUE79PwAAAAAAAAAA                
ABH8P3Q8/T8AAAAAAQAAAAAAAABwTv0/AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA                
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAfE79PwAAAAAAAAAAAAAAAAAAAAAAAAAA                
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA                
AAAAAAAAAAAAAAAAAAAAAA==                                                        
CIf9P6CF/T8Ah/0/                                                                
oIX9P6CG/T8kNQkApHz9P3w8/T8Ih/0/5Ev8PxQAAACCgA0zP7wU5AiH/T8AAAAA                
BQAAAAR+/T9wdW1wAKwJlIoiUXUE/twA////fwCH/T8AAAAAIQAGAAUAAAAAAAAA                
AAAAAAAAAAAAAAAAyN38PzDe/D+Y3vw/AAAAAAAAAAABAAAAAAAAAJBAQD8AAAAA                
SB0AQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA                
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA                
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA                
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA                
AAAAAAAAAAAAAAAAAAAAAAA0f5k=                                                    
BCQIQM7QCEAwBgYAVWwOgGCG/T8kNQkAAAAAAAAR/D8Ih/0/AAAAAAEAAADO0AiA                
QIb9PwAAAAAkNQkAhLQIgKAL/D8hAAYAwAv8Px4AAAAAAAAAAAAAAODCAED2wgBA                
AAAAAP0lCECgC/w/XOcIQFQV/D8AAAAAAAAAAAAAAAD//z+zAAAAAAAAAAAAAAAA                
AAAAAAAAAAAAAAAAAAAAAAPJAAAAAAAAAAAAAAAAAAAAAAAAgIb9PwEAAAAAAAAA                
ABH8PwiH/T8AAAAAAQAAAAAAAACghv0/AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA                
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAArIb9PwAAAAAAAAAAAAAAAAAAAAAAAAAA                
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA                
AAAAAAAAAAAAAAAAAAAAAA==                                                        
nHz9PzB7/T+UfP0/                                                                
MHv9PzB8/T8mNQkA7Ev8PxCH/T+cfP0/5Ev8PxQAAABUb0YFC8ZF15x8/T8AAAAA                
BQAAAJhz/T9wcm9iZQBs5SL4wrXaFdAA////f5R8/T8AAAAAIQAGAAUAAAAAAAAA                
AAAAAAAAAAAAAAAAyN38PzDe/D+Y3vw/AAAAAAAAAAABAAAAAAAAAJBAQD8AAAAA                
SB0AQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA                
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA                
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA                
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA                
AAAAAAAAAAAAAAAAAAAAAACQDA4=                                                    
BCQIQM7QCEAwBgYAhl0OgPB7/T8mNQkAAAAAAAAR/D8AAAAABwAAAAEAAADO0AiA                
0Hv9PwAAAAAmNQkAgINAPx8AAAABAAAABQAAAAQAAACwe/0/DAAAAP0UAEANFQBA                
/P////0lCEAfAAAAXOcIQOQK/D8AAAAAAAAAAAAAAAD//z+zAAAAAAAAAAAAAAAA                
AAAAAAAAAAAAAAAAAAAAAICDQD8fAAAAAQAAAAUAAAAAAAAAEHz9PwAAAAAAAAAA                
AAAAAAAAAAAHAAAAAQAAAAAAAAAwfP0/AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA                
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAPHz9PwAAAAAAAAAAAAAAAAAAAAAAAAAA                
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA                
AAAAAAAAAAAAAAAAAAAAAAAAAAA=                                                    
FED9PyBW/T/UV/0/                                                                
IFb9P3BX/T+dMgkAgF/9P+xL/D8UQP0/5Ev8PxQAAAB46Q9AAAAAABRA/T8AAAAA                
BQAAANhO/T9CTEVEYXBwX3Rhc2sAQP0A////f9RX/T8AAAAAIQAGAAUAAAAAAAAA                
AAAAAAAAAAAAAAAAyN38PzDe/D+Y3vw/AAAAAAAAAAABAAAAAAAAAJBAQD8AAAAA                
SB0AQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA                
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA                
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA                
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA                
AAAAAAAAAAAAAAAAAAAAAAAAAAA=                                                    
BCQIQMIiCEAwAAYAztAIgOBW/T8AAAAAnTIJABAAAAAUAAAAIFf9PwEAAADCIgiA                
wFb9P9wA8D8BAAAA8BD8PwEAAAAgAAYAIwAGAAAAAADgVv0/AAAAAODCAED2wgBA                
AAAAAP0lCEABAAAAXOcIQCTm+z8AAAAAAAAAAAAAAAD//z+zAAAAAAAAAAAAAAAA                
AAAAAAAAAAAAAAAAAAAAAP//P7MAAAAAAAAAAAAAAABOjg6AAFf9P50yCQAAAAAA                
AAAAACBX/T8AAAAAAAAAAAAAAAAgV/0/AAAAAAAAAAAAEfw/AAAAAAAAAAABAAAA                
AAAAAHBX/T8AAAAAAAAAAANlAAXQaP0/AwAAACMABgAAAACzAAAAAAAAAAAAAAAA                
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA                
AAAAAAAAAAB8V/0/AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA                
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA                
AAAAAA==                                                                        
5Cz9P1Ar/T/cLP0/                                                                
UCv9P3As/T8AAAAA2Ev8P9hL/D/kLP0/0Ev8PxgAAAAYJP0/GCT9P+Qs/T8QJP0/                
AQAAAOAk/T9UbXIgU3ZjAL/nCAsniP8AAAAAANws/T8AAAAAIQAGAAEAAAAAAAAA                
AAAAAAAAAAAAAAAAyN38PzDe/D+Y3vw/AAAAAAAAAAABAAAAAAAAAJBAQD8AAAAA                
SB0AQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA                
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA                
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA                
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA                
AAAAAAAAAAAAAAAAAAAAAAD3CcA=                                                    
BCQIQPDsCEAwCAYA4+0IgBAs/T8MTvw/AAAAAAEAAAAoE/0/AAAAAAEAAADw7AiA                
8Cv9PwAAAABQS/w/NCT9PwAAAAAAAAAAAAAAAAAAAAClpaWlpaWlpQAAAAAAAAAA                
AAAAAP0lCEAAAAAAXOcIQCS7+z8AAAAAAAAAAAAAAAD//z+zAAAAAAAAAAAAAAAA                
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAQCz9PwAAAAAAAAAA                
AAAAAAAAAAAAAAAAAAAAACS7+z8AAAAAAAAAAAAAAAAAAAAAcCz9PwAAAAAAAAAA                
AQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA                
AAAAAAAAAAB8LP0/AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA                
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA                
AAAAAAAAAAAAAAAA                                                                
PPf8P5D1/D809/w/                                                                
kPX8P9D2/D/fd+ONzO/8PwT9/D889/w/dEv8PwEAAAAQ8/w/EPP8Pzz3/D8I8/w/                
GAAAADjz/D9pcGMwAJm2UoQqVBFVwPsAAAAAADT3/D8AAAAAIQAGABgAAAAAAAAA                
AAAAAAAAAAAAAAAAyN38PzDe/D+Y3vw/AAAAAAAAAAABAAAAAAAAAJBAQD8AAAAA                
SB0AQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA                
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA                
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA                
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA                
AAAAAAAAAAAAAAAAAAAAAACaB0A=                                                    
BCQIQMIiCEAwAwYAWeUIgFD2/D8AAAAA7E38P+xN/D8gO/4/AAAAAAIAAADCIgiA                
MPb8P9wA8D8BAAAA8BD8PwEAAAAgAwYAIwAGAAAAAABQ9vw/AAAAAAAAAAAAAAAA                
AAAAAP0lCEABAAAAXOcIQISF+z8AAAAAAAAAAAAAAAD//z+zAAAAAAAAAAAAAAAA                
AAAAAAAAAAAAAAAAAAAAAP//P7MAAAAAAAAAAAAAAACTHAiAcPb8P+Ty/D8AAAAA                
AAAAAAAAAAAAAAAAAAAAAAAAAACw9vw/AAAAADQ5CEAAAAAAhgEAAAAAAAAAAAAA                
/////wAAAAAAAAAAAAAAACzz/D8AAAAAAQAAAAEAAAAAAAAA0Pb8PwAAAAAAAAAA                
AAAAAAAAAAAAAAAAAAAAANIQCIDQO/4/XEv8P0hO/D8AAAAAAAAAANz2/D8AAAAA                
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA                
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA                                
xO/8PzDu/D+87/w/                                                                
MO78P1Dv/D+r59JRfEv8P0T3/D/E7/w/dEv8PwMAAACY3/w/mN/8P8Tv/D+Q3/w/                
FgAAAMDf/D9lc3BfdGltZXIAZacDlNcAAAAAALzv/D8AAAAAIQAGABYAAAAAAAAA                
AAAAAAAAAAAAAAAAyN38PzDe/D+Y3vw/AAAAAAAAAAABAAAAAAAAAJBAQD8AAAAA                
SB0AQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA                
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA                
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA                
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA                
AAAAAAAAAAAAAAAAAAAAAAA3TWM=                                                    
BCQIQFnlCEAwAgYAYyUNgPDu/D9s3/w/AAAAALTf/D8AAAAAAQAAAAEAAABZ5QiA                
0O78PwAAAADsTfw/7E38PwEAAAAhAAYAAAAAAAAAAAD//z+zAAAAAODCAED2wgBA                
//////0lCEABAAAAXOcIQAR++z8AAAAAAAAAAAAAAAD//z+zAAAAAAAAAAAAAAAA                
AAAAAAAAAAAAAAAAAAAAAHolDYAQ7/w/jAH9PwAAAAAAAAAAMO/8PwAAAAAAAAAA                
AAAAAF8xCQAhAAYAAAAAAP////8w7/w/AAAAAAAAAAC03/w/AAAAAGzf/D8BAAAA                
AAAAAFDv/D8AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA                
AAAAAAAAAABc7/w/AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA                
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA                
AAAAAAAAAAAAAAAA                                                                
/Pz8P3D7/D/0/Pw/                                                                
cPv8P5D8/D9ssioCRPf8P3xL/D/8/Pw/dEv8PwEAAADQ+Pw/0Pj8P/z8/D/I+Pw/                
GAAAAPj4/D9pcGMxAGrkVP33I8ph8OsAAQAAAPT8/D8AAAAAIQAGABgAAAAAAAAA                
AAAAAAAAAAAAAAAAyN38PzDe/D+Y3vw/AAAAAAAAAAABAAAAAAAAAJBAQD8AAAAA                
SB0AQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA                
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA                
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA                
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA                
AAAAAAAAAAAAAAAAAAAAAABxcAQ=                                                    
BCQIQFnlCEAwBgYAkxwIgDD8/D+k+Pw/AAAAAOz4/D8AAAAAAQAAAAAAAABZ5QiA                
EPz8PwEAAADsTfw/8E38P5B8/j8AAAAAIwcGAAAAAAD//z+zAAAAAAAAAAAAAAAA                
AAAAAP0lCECQfP4/XOcIQESL+z8AAAAAAAAAAAAAAAD//z+zAAAAAAAAAAAAAAAA                
AAAAAAAAAAAAAAAAAAAAAAEAAAABAAAAIAYGACMABgAAAAAAcPz8PwEAAAA0OQhA                
AAAAADAAAAAAAAAAIwcGAP////9w/Pw/AQAAADQ5CEDY8vw/AAAAAAAAAAAAAAAA                
AAAAAJD8/D8AAAAAAAAAAAEAAAAAAAAAAAAAAAAAAABoEQiAgH3+PygAAAAoAAAA                
AAAAAAAAAACc/Pw/AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA                
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA                
AAAAAA==                                                                        
================= CORE DUMP END =================                               
CPU halted.

Rx-365
Posts: 10
Joined: Wed Jan 17, 2018 12:08 am

Re: BLE Server and Client coexisting

Postby Rx-365 » Tue Dec 18, 2018 3:12 pm

I am seeing this exact same error when attempting to connect 3+ bonded devices to a single ESP32 BLE Server. When I trace the failure back, I can see the issue is in an assert in one of the precompiled .a files in the bluetooth component.

Does anyone have anymore information on this?

Rx-365
Posts: 10
Joined: Wed Jan 17, 2018 12:08 am

Re: BLE Server and Client coexisting

Postby Rx-365 » Tue Dec 18, 2018 8:57 pm

Code: Select all

ASSERT_PARAM(2051 0), in llc_util.c at line 289
Guru Meditation Error: Core  0 panic'ed (Interrupt wdt timeout on CPU0)
Core 0 register dump:
PC      : 0x400842c1  PS      : 0x00060434  A0      : 0x80046350  A1      : 0x3ffd7090
A2      : 0x00000001  A3      : 0x00000000  A4      : 0x00000000  A5      : 0x60008054
A6      : 0x3ffbdca0  A7      : 0x60008050  A8      : 0x800842c1  A9      : 0x3ffd7070
A10     : 0x00000004  A11     : 0x00000000  A12     : 0x6000804c  A13     : 0xffffffff
A14     : 0x00000000  A15     : 0xfffffffc  SAR     : 0x00000004  EXCCAUSE: 0x00000005
EXCVADDR: 0x00000000  LBEG    : 0x400841f9  LEND    : 0x40084200  LCOUNT  : 0x00000000

Backtrace: 0x400842c1:0x3ffd7090 0x4004634d:0x3ffd70b0 0x4014b13d:0x3ffd70d0 0x40019d11:0x3ffd7110 0x40055b4d:0x3ffd7130 0x40146cc7:0x3ffd7150 0x401470d5:0x3ffd7170

Core 1 register dump:
PC      : 0x401a10d2  PS      : 0x00060034  A0      : 0x800d3a02  A1      : 0x3ffd1750
A2      : 0x00000000  A3      : 0x00060023  A4      : 0x00060020  A5      : 0x00000001
A6      : 0x0000abab  A7      : 0x00000000  A8      : 0x800d2cea  A9      : 0x3ffd1720
A10     : 0x00000000  A11     : 0x3ffbee94  A12     : 0x3ffbe8e8  A13     : 0x00000000
A14     : 0x00060020  A15     : 0x00000000  SAR     : 0x00000000  EXCCAUSE: 0x00000005
EXCVADDR: 0x00000000  LBEG    : 0x4000c46c  LEND    : 0x4000c477  LCOUNT  : 0xffffffff

Backtrace: 0x401a10d2:0x3ffd1750 0x400d39ff:0x3ffd1770 0x40091595:0x3ffd1790
This is my failure debug. I am wondering if this is related to issues with the DRAM section for BLE which is 0x3FFB0000 — 0x3FFC0000?

chegewara
Posts: 2378
Joined: Wed Jun 14, 2017 9:00 pm

Re: BLE Server and Client coexisting

Postby chegewara » Tue Dec 18, 2018 9:58 pm

Please try make monitor or xtensa-esp32-elf-gdb to decode backtrace eventually addr2line.

etha890
Posts: 9
Joined: Tue Oct 23, 2018 2:27 am

Re: BLE Server and Client coexisting

Postby etha890 » Wed Dec 19, 2018 11:29 pm

I have a similar issue

ASSERT_PARAM(2051 0), in llc_util.c at line 289
Guru Meditation Error: Core 0 panic'ed (Interrupt wdt timeout on CPU0)

BLE is running on core 0

The core dump

==================== ESP32 CORE DUMP START ====================

================== CURRENT THREAD REGISTERS ===================
pc 0x4008483a 0x4008483a <r_assert_param+314>
lbeg 0x4008476d 1074284397
lend 0x40084774 1074284404
lcount 0x0 0
sar 0x4 4
ps 0x60524 394532
threadptr <unavailable>
br <unavailable>
scompare1 <unavailable>
acclo <unavailable>
acchi <unavailable>
m0 <unavailable>
m1 <unavailable>
m2 <unavailable>
m3 <unavailable>
expstate <unavailable>
f64r_lo <unavailable>
f64r_hi <unavailable>
f64s <unavailable>
fcr <unavailable>
fsr <unavailable>
a0 0x40046350 1074029392
a1 0x3ffcc780 1073530752
a2 0x1 1
a3 0x0 0
a4 0x0 0
a5 0x60008054 1610645588
a6 0x3ffbdcd0 1073470672
a7 0x60008050 1610645584
a8 0x80084835 -2146940875
a9 0x3ffcc760 1073530720
a10 0x4 4
a11 0x0 0
a12 0x6000804c 1610645580
a13 0xffffffff -1
a14 0x0 0
a15 0xfffffffc -4

==================== CURRENT THREAD STACK =====================
#0 0x4008483a in r_assert_param ()
Backtrace stopped: Cannot access memory at address 0x40046350

======================== THREADS INFO =========================
Id Target Id Frame
25 process 24 0x4008f45d in xQueueGenericReceive (xQueue=0x3ffb79f8, pvBuffer=0x0, xTicksToWait=4294967 295, xJustPeeking=0) at C:/msys32/home/EthanA/esp-idf-master/components/freertos/queue.c:1591
24 process 23 0x4008f45d in xQueueGenericReceive (xQueue=0x3ffaff64, pvBuffer=0x0, xTicksToWait=4294967 295, xJustPeeking=0) at C:/msys32/home/EthanA/esp-idf-master/components/freertos/queue.c:1591
23 process 22 0x4008f45d in xQueueGenericReceive (xQueue=0x3ffb9a3c, pvBuffer=0x0, xTicksToWait=4294967 295, xJustPeeking=0) at C:/msys32/home/EthanA/esp-idf-master/components/freertos/queue.c:1591
22 process 21 0x4008fc2c in prvProcessTimerOrBlockTask (xNextExpireTime=<optimized out>, xListWasEmpty= <optimized out>) at C:/msys32/home/EthanA/esp-idf-master/components/freertos/timers.c:588
21 process 20 0x4008de8a in vTaskDelay (xTicksToDelay=<optimized out>) at C:/msys32/home/EthanA/esp-idf -master/components/freertos/tasks.c:1484
20 process 19 0x4008de8a in vTaskDelay (xTicksToDelay=<optimized out>) at C:/msys32/home/EthanA/esp-idf -master/components/freertos/tasks.c:1484
19 process 18 0x4008de8a in vTaskDelay (xTicksToDelay=<optimized out>) at C:/msys32/home/EthanA/esp-idf -master/components/freertos/tasks.c:1484
18 process 17 0x4008de8a in vTaskDelay (xTicksToDelay=<optimized out>) at C:/msys32/home/EthanA/esp-idf -master/components/freertos/tasks.c:1484
17 process 16 0x4008de8a in vTaskDelay (xTicksToDelay=<optimized out>) at C:/msys32/home/EthanA/esp-idf -master/components/freertos/tasks.c:1484
16 process 15 0x4008de8a in vTaskDelay (xTicksToDelay=<optimized out>) at C:/msys32/home/EthanA/esp-idf -master/components/freertos/tasks.c:1484
15 process 14 0x4008de8a in vTaskDelay (xTicksToDelay=<optimized out>) at C:/msys32/home/EthanA/esp-idf -master/components/freertos/tasks.c:1484
14 process 13 0x4008de8a in vTaskDelay (xTicksToDelay=<optimized out>) at C:/msys32/home/EthanA/esp-idf -master/components/freertos/tasks.c:1484
13 process 12 0x4008de8a in vTaskDelay (xTicksToDelay=<optimized out>) at C:/msys32/home/EthanA/esp-idf -master/components/freertos/tasks.c:1484
12 process 11 0x4008de8a in vTaskDelay (xTicksToDelay=<optimized out>) at C:/msys32/home/EthanA/esp-idf -master/components/freertos/tasks.c:1484
11 process 10 0x4008de8a in vTaskDelay (xTicksToDelay=<optimized out>) at C:/msys32/home/EthanA/esp-idf -master/components/freertos/tasks.c:1484
10 process 9 0x400823c6 in esp_crosscore_int_send_yield (core_id=1) at C:/msys32/home/EthanA/esp-idf-m aster/components/esp32/crosscore_int.c:112
9 process 8 0x4008de8a in vTaskDelay (xTicksToDelay=<optimized out>) at C:/msys32/home/EthanA/esp-idf -master/components/freertos/tasks.c:1484
8 process 7 0x4008de8a in vTaskDelay (xTicksToDelay=<optimized out>) at C:/msys32/home/EthanA/esp-idf -master/components/freertos/tasks.c:1484
7 process 6 0x4014f992 in esp_pm_impl_waiti () at C:/msys32/home/EthanA/esp-idf-master/components/esp 32/pm_esp32.c:487
6 process 5 0x4014f992 in esp_pm_impl_waiti () at C:/msys32/home/EthanA/esp-idf-master/components/esp 32/pm_esp32.c:487
5 process 4 0x4000bff0 in ?? ()
4 process 3 0x4000bff0 in ?? ()
3 process 2 0x4008f45d in xQueueGenericReceive (xQueue=0x3ffbd94c, pvBuffer=0x3ffcf670, xTicksToWait= 4294967295, xJustPeeking=0) at C:/msys32/home/EthanA/esp-idf-master/components/freertos/queue.c:1591
2 process 1 cause_sw_intr_to_core_wrapper (core_id=0, intr_no=7) at C:/msys32/home/EthanA/esp-idf-mas ter/components/bt/bt.c:698
* 1 <main task> 0x4008483a in r_assert_param ()

======================= ALL MEMORY REGIONS ========================
Name Address Size Attrs
.rtc.text 0x400c0000 0x0 RW
.rtc.dummy 0x3ff80000 0x0 RW
.rtc.force_fast 0x3ff80000 0x0 RW
.rtc_noinit 0x50000000 0x0 RW
.rtc.force_slow 0x50000000 0x0 RW
.iram0.vectors 0x40080000 0x400 R XA
.iram0.text 0x40080400 0x137ec RWXA
.dram0.data 0x3ffbdb60 0x347c RW A
.noinit 0x3ffc0fdc 0x0 RW
.flash.rodata 0x3f400020 0x195e8 RW A
.flash.text 0x400d0018 0x810b8 R XA
.coredump.tasks.data 0x3ffb57c4 0x164 RW
.coredump.tasks.data 0x3ffcc6c0 0x254 RW
.coredump.tasks.data 0x3ffb6010 0x164 RW
.coredump.tasks.data 0x3ffcea70 0x2ac RW
.coredump.tasks.data 0x3ffbd9b0 0x164 RW
.coredump.tasks.data 0x3ffcf570 0x1b0 RW
.coredump.tasks.data 0x3ffd0fa0 0x164 RW
.coredump.tasks.data 0x3ffd0c80 0x318 RW
.coredump.tasks.data 0x3ffb5bb4 0x164 RW
.coredump.tasks.data 0x3ffce070 0x2a8 RW
.coredump.tasks.data 0x3ffbc4a0 0x164 RW
.coredump.tasks.data 0x3ffbc2f0 0x1a8 RW
.coredump.tasks.data 0x3ffbbd34 0x164 RW
.coredump.tasks.data 0x3ffbbb80 0x1ac RW
.coredump.tasks.data 0x3ffda9dc 0x164 RW
.coredump.tasks.data 0x3ffda850 0x184 RW
.coredump.tasks.data 0x3ffd61e8 0x164 RW
.coredump.tasks.data 0x3ffd6060 0x180 RW
.coredump.tasks.data 0x3ffbd6c0 0x164 RW
.coredump.tasks.data 0x3ffcb770 0x1a0 RW
.coredump.tasks.data 0x3ffd812c 0x164 RW
.coredump.tasks.data 0x3ffd7fa0 0x184 RW
.coredump.tasks.data 0x3ffd4684 0x164 RW
.coredump.tasks.data 0x3ffd44f0 0x18c RW
.coredump.tasks.data 0x3ffd51b0 0x164 RW
.coredump.tasks.data 0x3ffd5000 0x1a8 RW
.coredump.tasks.data 0x3ffd8b98 0x164 RW
.coredump.tasks.data 0x3ffd8a10 0x180 RW
.coredump.tasks.data 0x3ffd28d8 0x164 RW
.coredump.tasks.data 0x3ffd2540 0x18c RW
.coredump.tasks.data 0x3ffd9604 0x164 RW
.coredump.tasks.data 0x3ffd9450 0x1ac RW
.coredump.tasks.data 0x3ffd76c0 0x164 RW
.coredump.tasks.data 0x3ffd7510 0x1a8 RW
.coredump.tasks.data 0x3ffd6c54 0x164 RW
.coredump.tasks.data 0x3ffd6aa0 0x1ac RW
.coredump.tasks.data 0x3ffd5c7c 0x164 RW
.coredump.tasks.data 0x3ffd5af0 0x184 RW
.coredump.tasks.data 0x3ffda070 0x164 RW
.coredump.tasks.data 0x3ffd9ee0 0x188 RW
.coredump.tasks.data 0x3ffd3cc0 0x164 RW
.coredump.tasks.data 0x3ffd3b00 0x1b8 RW
.coredump.tasks.data 0x3ffbcf00 0x164 RW
.coredump.tasks.data 0x3ffbcd50 0x1a8 RW
.coredump.tasks.data 0x3ffb9e94 0x164 RW
.coredump.tasks.data 0x3ffb9ce0 0x1ac RW
.coredump.tasks.data 0x3ffb7730 0x164 RW
.coredump.tasks.data 0x3ffb7580 0x1a8 RW
.coredump.tasks.data 0x3ffb7e50 0x164 RW
.coredump.tasks.data 0x3ffb7ca0 0x1a8 RW

===================== ESP32 CORE DUMP END =====================

Who is online

Users browsing this forum: Baidu [Spider], Bing [Bot], ok-home and 74 guests