Page 1 of 2
BLE Server and Client coexisting
Posted: Fri Oct 19, 2018 5:19 am
by Dr.Steve
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
Re: BLE Server and Client coexisting
Posted: Fri Oct 19, 2018 8:04 am
by chegewara
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.
Re: BLE Server and Client coexisting
Posted: Fri Oct 19, 2018 8:38 am
by Dr.Steve
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.
Re: BLE Server and Client coexisting
Posted: Fri Oct 19, 2018 12:32 pm
by chegewara
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.
Re: BLE Server and Client coexisting
Posted: Fri Oct 19, 2018 12:55 pm
by Dr.Steve
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.
Re: BLE Server and Client coexisting
Posted: Mon Oct 22, 2018 12:08 am
by Dr.Steve
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.
Re: BLE Server and Client coexisting
Posted: Tue Dec 18, 2018 3:12 pm
by Rx-365
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?
Re: BLE Server and Client coexisting
Posted: Tue Dec 18, 2018 8:57 pm
by Rx-365
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?
Re: BLE Server and Client coexisting
Posted: Tue Dec 18, 2018 9:58 pm
by chegewara
Please try make monitor or xtensa-esp32-elf-gdb to decode backtrace eventually addr2line.
Re: BLE Server and Client coexisting
Posted: Wed Dec 19, 2018 11:29 pm
by etha890
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 =====================