From f0e2e2a62fe98ec9657f3935c41c88a0fd0e7acd Mon Sep 17 00:00:00 2001 From: Rick van Hattem Date: Mon, 4 Nov 2019 00:33:17 +0100 Subject: [PATCH 1/2] Fixed incorrect usage of xEventGroupWaitBits --- libraries/BluetoothSerial/src/BluetoothSerial.cpp | 12 ++++++------ 1 file changed, 6 insertions(+), 6 deletions(-) diff --git a/libraries/BluetoothSerial/src/BluetoothSerial.cpp b/libraries/BluetoothSerial/src/BluetoothSerial.cpp index 612ddd59a99..5e81f2c9efa 100755 --- a/libraries/BluetoothSerial/src/BluetoothSerial.cpp +++ b/libraries/BluetoothSerial/src/BluetoothSerial.cpp @@ -154,7 +154,7 @@ static uint8_t _spp_tx_buffer[SPP_TX_MAX]; static uint16_t _spp_tx_buffer_len = 0; static bool _spp_send_buffer(){ - if((xEventGroupWaitBits(_spp_event_group, SPP_CONGESTED, pdFALSE, pdTRUE, portMAX_DELAY) & SPP_CONGESTED)){ + if(xEventGroupWaitBits(_spp_event_group, SPP_CONGESTED, pdFALSE, pdTRUE, portMAX_DELAY) & SPP_CONGESTED){ esp_err_t err = esp_spp_write(_spp_client, _spp_tx_buffer_len, _spp_tx_buffer); if(err != ESP_OK){ log_e("SPP Write Failed! [0x%X]", err); @@ -365,11 +365,11 @@ static void esp_bt_gap_cb(esp_bt_gap_cb_event_t event, esp_bt_gap_cb_param_t *pa break; case ESP_BT_GAP_DEV_PROP_COD: - //log_i("ESP_BT_GAP_DEV_PROP_COD"); + log_d("ESP_BT_GAP_DEV_PROP_COD"); break; case ESP_BT_GAP_DEV_PROP_RSSI: - //log_i("ESP_BT_GAP_DEV_PROP_RSSI"); + log_d("ESP_BT_GAP_DEV_PROP_RSSI"); break; default: @@ -578,7 +578,7 @@ static bool _stop_bt() static bool waitForConnect(int timeout) { TickType_t xTicksToWait = timeout / portTICK_PERIOD_MS; - return (xEventGroupWaitBits(_spp_event_group, SPP_CONNECTED, pdFALSE, pdTRUE, xTicksToWait) != 0); + return xEventGroupWaitBits(_spp_event_group, SPP_CONNECTED, pdFALSE, pdTRUE, xTicksToWait) & SPP_CONNECTED; } /* @@ -761,7 +761,7 @@ bool BluetoothSerial::disconnect() { log_i("disconnecting"); if (esp_spp_disconnect(_spp_client) == ESP_OK) { TickType_t xTicksToWait = READY_TIMEOUT / portTICK_PERIOD_MS; - return (xEventGroupWaitBits(_spp_event_group, SPP_DISCONNECTED, pdFALSE, pdTRUE, xTicksToWait) != 0); + return xEventGroupWaitBits(_spp_event_group, SPP_DISCONNECTED, pdFALSE, pdTRUE, xTicksToWait) & SPP_DISCONNECTED; } } return false; @@ -789,6 +789,6 @@ bool BluetoothSerial::isReady(bool checkMaster, int timeout) { return false; } TickType_t xTicksToWait = timeout / portTICK_PERIOD_MS; - return (xEventGroupWaitBits(_spp_event_group, SPP_RUNNING, pdFALSE, pdTRUE, xTicksToWait) != 0); + return xEventGroupWaitBits(_spp_event_group, SPP_RUNNING, pdFALSE, pdTRUE, xTicksToWait) & SPP_RUNNING; } #endif From d784ee15a9177cb638b49206b1091615555d3830 Mon Sep 17 00:00:00 2001 From: Rick van Hattem Date: Mon, 11 Nov 2019 16:24:19 +0100 Subject: [PATCH 2/2] Added parentheses and `!= 0` --- libraries/BluetoothSerial/src/BluetoothSerial.cpp | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/libraries/BluetoothSerial/src/BluetoothSerial.cpp b/libraries/BluetoothSerial/src/BluetoothSerial.cpp index 5e81f2c9efa..88cfad0693c 100755 --- a/libraries/BluetoothSerial/src/BluetoothSerial.cpp +++ b/libraries/BluetoothSerial/src/BluetoothSerial.cpp @@ -154,7 +154,7 @@ static uint8_t _spp_tx_buffer[SPP_TX_MAX]; static uint16_t _spp_tx_buffer_len = 0; static bool _spp_send_buffer(){ - if(xEventGroupWaitBits(_spp_event_group, SPP_CONGESTED, pdFALSE, pdTRUE, portMAX_DELAY) & SPP_CONGESTED){ + if((xEventGroupWaitBits(_spp_event_group, SPP_CONGESTED, pdFALSE, pdTRUE, portMAX_DELAY) & SPP_CONGESTED) != 0){ esp_err_t err = esp_spp_write(_spp_client, _spp_tx_buffer_len, _spp_tx_buffer); if(err != ESP_OK){ log_e("SPP Write Failed! [0x%X]", err); @@ -578,7 +578,7 @@ static bool _stop_bt() static bool waitForConnect(int timeout) { TickType_t xTicksToWait = timeout / portTICK_PERIOD_MS; - return xEventGroupWaitBits(_spp_event_group, SPP_CONNECTED, pdFALSE, pdTRUE, xTicksToWait) & SPP_CONNECTED; + return (xEventGroupWaitBits(_spp_event_group, SPP_CONNECTED, pdFALSE, pdTRUE, xTicksToWait) & SPP_CONNECTED) != 0; } /* @@ -761,7 +761,7 @@ bool BluetoothSerial::disconnect() { log_i("disconnecting"); if (esp_spp_disconnect(_spp_client) == ESP_OK) { TickType_t xTicksToWait = READY_TIMEOUT / portTICK_PERIOD_MS; - return xEventGroupWaitBits(_spp_event_group, SPP_DISCONNECTED, pdFALSE, pdTRUE, xTicksToWait) & SPP_DISCONNECTED; + return (xEventGroupWaitBits(_spp_event_group, SPP_DISCONNECTED, pdFALSE, pdTRUE, xTicksToWait) & SPP_DISCONNECTED) != 0; } } return false; @@ -789,6 +789,6 @@ bool BluetoothSerial::isReady(bool checkMaster, int timeout) { return false; } TickType_t xTicksToWait = timeout / portTICK_PERIOD_MS; - return xEventGroupWaitBits(_spp_event_group, SPP_RUNNING, pdFALSE, pdTRUE, xTicksToWait) & SPP_RUNNING; + return (xEventGroupWaitBits(_spp_event_group, SPP_RUNNING, pdFALSE, pdTRUE, xTicksToWait) & SPP_RUNNING) != 0; } #endif