This commit is contained in:
Bernd Liesner 2022-11-21 07:47:56 +00:00 committed by GitHub
commit e378194ff4
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
2 changed files with 15 additions and 1 deletions

View File

@ -185,6 +185,7 @@ protected:
public: public:
// callbacks // callbacks
void (*_connectedCallback)() = nullptr; void (*_connectedCallback)() = nullptr;
void (*_connectedCallbackDeviceName)(char *) = nullptr;
void (*_disconnectedCallback)() = nullptr; void (*_disconnectedCallback)() = nullptr;
BLEMIDI_Transport &setName(const char *deviceName) BLEMIDI_Transport &setName(const char *deviceName)
@ -200,6 +201,12 @@ public:
return *this; return *this;
} }
BLEMIDI_Transport &setHandleConnected(void (*fptr)(char*))
{
_connectedCallbackDeviceName= fptr;
return *this;
}
BLEMIDI_Transport &setHandleDisconnected(void (*fptr)()) BLEMIDI_Transport &setHandleDisconnected(void (*fptr)())
{ {
_disconnectedCallback = fptr; _disconnectedCallback = fptr;

View File

@ -228,6 +228,7 @@ private:
BLERemoteCharacteristic *_characteristic = nullptr; BLERemoteCharacteristic *_characteristic = nullptr;
BLERemoteService *pSvc = nullptr; BLERemoteService *pSvc = nullptr;
bool firstTimeSend = true; //First writeValue get sends like Write with reponse for clean security flags. After first time, all messages are send like WriteNoResponse for increase transmision speed. bool firstTimeSend = true; //First writeValue get sends like Write with reponse for clean security flags. After first time, all messages are send like WriteNoResponse for increase transmision speed.
char connectedDeviceName[24];
BLEMIDI_Transport<class BLEMIDI_Client_ESP32> *_bleMidiTransport = nullptr; BLEMIDI_Transport<class BLEMIDI_Client_ESP32> *_bleMidiTransport = nullptr;
@ -303,6 +304,12 @@ protected:
_bleMidiTransport->_connectedCallback(); _bleMidiTransport->_connectedCallback();
} }
firstTimeSend = true; firstTimeSend = true;
if (_bleMidiTransport->_connectedCallbackDeviceName)
{
sprintf(connectedDeviceName, "%s", myAdvCB.advDevice.getName().c_str());
_bleMidiTransport->_connectedCallbackDeviceName(connectedDeviceName);
}
} }
void disconnected() void disconnected()