Project structure redefinition

This commit is contained in:
2024-03-01 22:58:59 +07:00
parent 9d0f5d06ea
commit 69c736b1eb
18 changed files with 126 additions and 63 deletions

View File

@@ -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);
}