mirror of
https://github.com/sle118/squeezelite-esp32.git
synced 2025-12-07 12:07:09 +03:00
i2c timeout change + remove some wifi test code used for led fix - release
This commit is contained in:
@@ -35,7 +35,7 @@ static bool I2CDefaultWriteData( struct GDS_Device* Device, const uint8_t* Data,
|
|||||||
bool GDS_I2CInit( int PortNumber, int SDA, int SCL, int Speed ) {
|
bool GDS_I2CInit( int PortNumber, int SDA, int SCL, int Speed ) {
|
||||||
I2CPortNumber = PortNumber;
|
I2CPortNumber = PortNumber;
|
||||||
|
|
||||||
I2CWait = pdMS_TO_TICKS( Speed ? Speed / 4000 : 100 );
|
I2CWait = pdMS_TO_TICKS( Speed ? (250 * 250000) / Speed : 250 );
|
||||||
|
|
||||||
if (SDA != -1 && SCL != -1) {
|
if (SDA != -1 && SCL != -1) {
|
||||||
i2c_config_t Config = { 0 };
|
i2c_config_t Config = { 0 };
|
||||||
|
|||||||
@@ -5,6 +5,7 @@
|
|||||||
software is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR
|
software is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR
|
||||||
CONDITIONS OF ANY KIND, either express or implied.
|
CONDITIONS OF ANY KIND, either express or implied.
|
||||||
*/
|
*/
|
||||||
|
|
||||||
#include <stdio.h>
|
#include <stdio.h>
|
||||||
#include <stdlib.h>
|
#include <stdlib.h>
|
||||||
#include <unistd.h>
|
#include <unistd.h>
|
||||||
@@ -83,8 +84,8 @@ static void vCallbackFunction( TimerHandle_t xTimer ) {
|
|||||||
*/
|
*/
|
||||||
bool led_blink_core(int idx, int ontime, int offtime, bool pushed) {
|
bool led_blink_core(int idx, int ontime, int offtime, bool pushed) {
|
||||||
if (!leds[idx].gpio || leds[idx].gpio < 0 ) return false;
|
if (!leds[idx].gpio || leds[idx].gpio < 0 ) return false;
|
||||||
|
|
||||||
ESP_LOGD(TAG,"led_blink_core led idx %d, ontime %d, offtime %d, pushing %s. Led state: pushedon %d, pushedoff %d, timer %s, pushed %s", idx,ontime,offtime,pushed?"TRUE":"FALSE", leds[idx].pushedon,leds[idx].pushedoff,leds[idx].timer?"TRUE":"FALSE", leds[idx].pushed?"TRUE":"FALSE");
|
ESP_LOGD(TAG,"led_blink_core %d on:%d off:%d, pushed:%u", idx, ontime, offtime, pushed);
|
||||||
if (leds[idx].timer) {
|
if (leds[idx].timer) {
|
||||||
// normal requests waits if a pop is pending
|
// normal requests waits if a pop is pending
|
||||||
if (!pushed && leds[idx].pushed) {
|
if (!pushed && leds[idx].pushed) {
|
||||||
@@ -97,18 +98,15 @@ bool led_blink_core(int idx, int ontime, int offtime, bool pushed) {
|
|||||||
|
|
||||||
// save current state if not already pushed
|
// save current state if not already pushed
|
||||||
if (!leds[idx].pushed) {
|
if (!leds[idx].pushed) {
|
||||||
ESP_LOGD(TAG,"Pushing state. Ontime %d->%d. Offtime %d->%d",leds[idx].pushedon,leds[idx].ontime, leds[idx].pushedoff,leds[idx].offtime);
|
|
||||||
leds[idx].pushedon = leds[idx].ontime;
|
leds[idx].pushedon = leds[idx].ontime;
|
||||||
leds[idx].pushedoff = leds[idx].offtime;
|
leds[idx].pushedoff = leds[idx].offtime;
|
||||||
leds[idx].pushed = pushed;
|
leds[idx].pushed = pushed;
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
// then set new one
|
// then set new one
|
||||||
leds[idx].ontime = ontime;
|
leds[idx].ontime = ontime;
|
||||||
leds[idx].offtime = offtime;
|
leds[idx].offtime = offtime;
|
||||||
|
|
||||||
|
|
||||||
if (ontime == 0) {
|
if (ontime == 0) {
|
||||||
ESP_LOGD(TAG,"led %d, setting reverse level", idx);
|
ESP_LOGD(TAG,"led %d, setting reverse level", idx);
|
||||||
set_level(leds + idx, false);
|
set_level(leds + idx, false);
|
||||||
@@ -126,8 +124,7 @@ bool led_blink_core(int idx, int ontime, int offtime, bool pushed) {
|
|||||||
ESP_LOGD(TAG,"led %d, Setting gpio %d and starting timer", idx, leds[idx].gpio);
|
ESP_LOGD(TAG,"led %d, Setting gpio %d and starting timer", idx, leds[idx].gpio);
|
||||||
if (xTimerStart(leds[idx].timer, BLOCKTIME) == pdFAIL) return false;
|
if (xTimerStart(leds[idx].timer, BLOCKTIME) == pdFAIL) return false;
|
||||||
}
|
}
|
||||||
ESP_LOGD(TAG,"led_blink_core END led idx %d, ontime %d, offtime %d, pushing %s. Led state: pushedon %d, pushedoff %d, timer %s, pushed %s", idx,ontime,offtime,pushed?"TRUE":"FALSE", leds[idx].pushedon,leds[idx].pushedoff,leds[idx].timer?"TRUE":"FALSE", leds[idx].pushed?"TRUE":"FALSE");
|
|
||||||
|
|
||||||
|
|
||||||
return true;
|
return true;
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -693,8 +693,6 @@ static void event_handler(void* arg, esp_event_base_t event_base, int32_t event_
|
|||||||
ESP_LOGD(TAG, "WIFI_EVENT_AP_STACONNECTED. aid: %d, mac: %s",stac->aid,STR_OR_BLANK(mac));
|
ESP_LOGD(TAG, "WIFI_EVENT_AP_STACONNECTED. aid: %d, mac: %s",stac->aid,STR_OR_BLANK(mac));
|
||||||
FREE_AND_NULL(mac);
|
FREE_AND_NULL(mac);
|
||||||
xEventGroupSetBits(wifi_manager_event_group, WIFI_MANAGER_AP_STA_CONNECTED_BIT);
|
xEventGroupSetBits(wifi_manager_event_group, WIFI_MANAGER_AP_STA_CONNECTED_BIT);
|
||||||
wifi_manager_send_message(EVENT_STA_CONNECTED, NULL);
|
|
||||||
|
|
||||||
}
|
}
|
||||||
break;
|
break;
|
||||||
case WIFI_EVENT_AP_STADISCONNECTED:
|
case WIFI_EVENT_AP_STADISCONNECTED:
|
||||||
@@ -1482,9 +1480,6 @@ void wifi_manager( void * pvParameters ){
|
|||||||
/* callback */
|
/* callback */
|
||||||
if(cb_ptr_arr[msg.code]) (*cb_ptr_arr[msg.code])(NULL);
|
if(cb_ptr_arr[msg.code]) (*cb_ptr_arr[msg.code])(NULL);
|
||||||
break;
|
break;
|
||||||
case EVENT_STA_CONNECTED:
|
|
||||||
if(cb_ptr_arr[msg.code]) (*cb_ptr_arr[msg.code])(NULL);
|
|
||||||
break;
|
|
||||||
case UPDATE_CONNECTION_OK:
|
case UPDATE_CONNECTION_OK:
|
||||||
/* refresh JSON */
|
/* refresh JSON */
|
||||||
if(wifi_manager_lock_json_buffer( portMAX_DELAY )){
|
if(wifi_manager_lock_json_buffer( portMAX_DELAY )){
|
||||||
|
|||||||
@@ -191,8 +191,7 @@ typedef enum message_code_t {
|
|||||||
ORDER_RESTART_RECOVERY = 16,
|
ORDER_RESTART_RECOVERY = 16,
|
||||||
ORDER_RESTART_OTA_URL = 17,
|
ORDER_RESTART_OTA_URL = 17,
|
||||||
ORDER_RESTART = 18,
|
ORDER_RESTART = 18,
|
||||||
EVENT_STA_CONNECTED = 19,
|
MESSAGE_CODE_COUNT = 19 /* important for the callback array */
|
||||||
MESSAGE_CODE_COUNT = 20 /* important for the callback array */
|
|
||||||
|
|
||||||
}message_code_t;
|
}message_code_t;
|
||||||
|
|
||||||
|
|||||||
@@ -95,10 +95,6 @@ void cb_connection_sta_disconnected(void *pvParameter){
|
|||||||
bWifiConnected=false;
|
bWifiConnected=false;
|
||||||
xEventGroupClearBits(wifi_event_group, CONNECTED_BIT);
|
xEventGroupClearBits(wifi_event_group, CONNECTED_BIT);
|
||||||
}
|
}
|
||||||
void cb_connection_sta_connected(void *pvParameter){
|
|
||||||
|
|
||||||
}
|
|
||||||
|
|
||||||
bool wait_for_wifi(){
|
bool wait_for_wifi(){
|
||||||
bool connected=(xEventGroupGetBits(wifi_event_group) & CONNECTED_BIT)!=0;
|
bool connected=(xEventGroupGetBits(wifi_event_group) & CONNECTED_BIT)!=0;
|
||||||
if(!connected){
|
if(!connected){
|
||||||
@@ -467,7 +463,6 @@ void app_main()
|
|||||||
* This can be either after we're started the AP mode, or after we've started the STA mode */
|
* This can be either after we're started the AP mode, or after we've started the STA mode */
|
||||||
wifi_manager_set_callback(ORDER_START_AP, &start_telnet);
|
wifi_manager_set_callback(ORDER_START_AP, &start_telnet);
|
||||||
wifi_manager_set_callback(ORDER_CONNECT_STA, &start_telnet);
|
wifi_manager_set_callback(ORDER_CONNECT_STA, &start_telnet);
|
||||||
wifi_manager_set_callback(EVENT_STA_CONNECTED, &cb_connection_sta_connected);
|
|
||||||
}
|
}
|
||||||
|
|
||||||
console_start();
|
console_start();
|
||||||
|
|||||||
Reference in New Issue
Block a user