Project structure redefinition
This commit is contained in:
@@ -43,21 +43,24 @@ void BluetoothDispatcher::onNewPackageReceived(NewPackageCallback newPackageRece
|
||||
_newPackageReceivedCb = newPackageReceivedCb;
|
||||
}
|
||||
|
||||
void BluetoothDispatcher::tick() {
|
||||
void BluetoothDispatcher::tick(const char *message_delimeter) {
|
||||
/* Call the callback, if new package received */
|
||||
while (_controller->available() and _buffer.length() <= _buffer_size) {
|
||||
_buffer += (char)_controller->read();
|
||||
}
|
||||
if (_buffer.endsWith("\n\r")) {
|
||||
while (_controller->available()) { _buffer += (char)_controller->read(); }
|
||||
if (_buffer.endsWith(message_delimeter)) {
|
||||
char buffer[_buffer_size];
|
||||
_buffer.substring(0, _buffer.lastIndexOf('}'), buffer);
|
||||
auto messageEnd = _buffer.lastIndexOf('}');
|
||||
if (messageEnd == -1) {
|
||||
_buffer.clear();
|
||||
} else {
|
||||
_buffer.substring(0, messageEnd, buffer);
|
||||
}
|
||||
ESP_LOGD(_tag, "Received new buffer %s", buffer);
|
||||
if (_newPackageReceivedCb) {
|
||||
_newPackageReceivedCb(buffer);
|
||||
}
|
||||
_buffer.clear();
|
||||
}
|
||||
if (_buffer.length() > _available_buffer_size) {
|
||||
if (_buffer.length() > _real_buffer_size) {
|
||||
_buffer.clear();
|
||||
}
|
||||
}
|
||||
@@ -80,8 +83,9 @@ void BluetoothDispatcher::_onAuthComplete(boolean success) const {
|
||||
}
|
||||
}
|
||||
|
||||
void BluetoothDispatcher::_onDeviceConnected(BTAddress device) const {
|
||||
void BluetoothDispatcher::_onDeviceConnected(BTAddress device) {
|
||||
ESP_LOGI(_tag, "New device connected: %s", device.toString(true).c_str());
|
||||
_buffer.clear();
|
||||
if (_deviceConnectedCallback) {
|
||||
_deviceConnectedCallback(device);
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user