Skip to content

Commit

Permalink
Fix Firebase pause issue and update internal file management class.
Browse files Browse the repository at this point in the history
  • Loading branch information
mobizt committed Mar 4, 2023
1 parent 067cef6 commit c274c5c
Show file tree
Hide file tree
Showing 5 changed files with 33 additions and 26 deletions.
15 changes: 8 additions & 7 deletions src/FB_Const.h
Original file line number Diff line number Diff line change
Expand Up @@ -31,6 +31,7 @@
#define FB_CONST_H_

#include <Arduino.h>
#include "mbfs/MB_MCU.h"
#include <time.h>

#if !defined(__AVR__)
Expand All @@ -51,7 +52,7 @@
#if defined(ENABLE_OTA_FIRMWARE_UPDATE) && (defined(ENABLE_RTDB) || defined(ENABLE_FB_STORAGE) || defined(ENABLE_GC_STORAGE))
#if defined(ESP32)
#include <Update.h>
#elif defined(ESP8266) || defined(PICO_RP2040)
#elif defined(ESP8266) || defined(MB_ARDUINO_PICO)
#include <Updater.h>
#endif
#define OTA_UPDATE_ENABLED
Expand All @@ -77,7 +78,7 @@
#define FIREBASE_MP_STREAM_CLASS MultiPathStreamData
#if defined(ESP32)
#define FIREBASE_CLASS FirebaseESP32
#elif defined(ES8266) || defined(PICO_RP2040)
#elif defined(ES8266) || defined(MB_ARDUINO_PICO)
#define FIREBASE_CLASS FirebaseESP8266
#endif

Expand Down Expand Up @@ -846,7 +847,7 @@ typedef struct fb_esp_spi_ethernet_module_t
Wiznet5500lwIP *w5500 = nullptr;
#endif

#elif defined(PICO_RP2040)
#elif defined(MB_ARDUINO_PICO)

#endif

Expand Down Expand Up @@ -942,7 +943,7 @@ struct fb_esp_token_signer_resources_t
size_t signatureSize = 256;
#if defined(ESP32)
uint8_t *hash = nullptr;
#elif defined(ESP8266) || defined(PICO_RP2040)
#elif defined(ESP8266) || defined(MB_ARDUINO_PICO)
char *hash = nullptr;
#endif
unsigned char *signature = nullptr;
Expand Down Expand Up @@ -1024,7 +1025,7 @@ struct fb_esp_cfg_int_t

bool stream_loop_task_enable = true;
bool deploy_loop_task_enable = true;
#if defined(ESP32) || defined(PICO_RP2040)
#if defined(ESP32) || defined(MB_ARDUINO_PICO)
TaskHandle_t resumable_upload_task_handle = NULL;
TaskHandle_t functions_check_task_handle = NULL;
TaskHandle_t functions_deployment_task_handle = NULL;
Expand Down Expand Up @@ -1338,7 +1339,7 @@ struct fb_esp_rtdb_info_t

struct fb_esp_stream_info_t stream;

#if defined(ESP32) || defined(PICO_RP2040)
#if defined(ESP32) || defined(MB_ARDUINO_PICO)
bool stream_loop_task_enable = false;
#endif

Expand Down Expand Up @@ -1915,7 +1916,7 @@ struct fb_esp_session_info_t
#if defined(ESP8266)
uint16_t bssl_rx_size = 512;
uint16_t bssl_tx_size = 512;
#elif defined(PICO_RP2040)
#elif defined(MB_ARDUINO_PICO)
uint16_t bssl_rx_size = 16384;
uint16_t bssl_tx_size = 2048;
#endif
Expand Down
7 changes: 4 additions & 3 deletions src/FB_Network.h
Original file line number Diff line number Diff line change
@@ -1,14 +1,15 @@
/**
* Created January 27, 2023
* Created March 5, 2023
*/

#ifndef FB_Network_H
#define FB_Network_H

#include <Arduino.h>
#include "mbfs/MB_MCU.h"
#include "FirebaseFS.h"

#if !defined(ESP32) && !defined(ESP8266) && !defined(PICO_RP2040)
#if !defined(ESP32) && !defined(ESP8266) && !defined(MB_ARDUINO_PICO)
#ifndef FB_ENABLE_EXTERNAL_CLIENT
#define FB_ENABLE_EXTERNAL_CLIENT
#endif
Expand All @@ -24,7 +25,7 @@
#endif
#endif

#if defined(ESP8266) || defined(PICO_RP2040)
#if defined(ESP8266) || defined(MB_ARDUINO_PICO)
#include <ESP8266WiFi.h>
#include <WiFiClientSecure.h>
#include <CertStoreBearSSL.h>
Expand Down
14 changes: 8 additions & 6 deletions src/FB_Utils.h
Original file line number Diff line number Diff line change
Expand Up @@ -31,6 +31,8 @@

#ifndef FB_UTILS_H
#define FB_UTILS_H

#include <Arduino.h>
#include "mbfs/MB_MCU.h"
#include "FirebaseFS.h"

Expand Down Expand Up @@ -1374,7 +1376,7 @@ namespace Base64Helper

inline bool updateWrite(uint8_t *data, size_t len)
{
#if defined(ESP32) || defined(ESP8266) || defined(PICO_RP2040)
#if defined(ESP32) || defined(ESP8266) || defined(MB_ARDUINO_PICO)
return Update.write(data, len) == len;
#endif
return false;
Expand Down Expand Up @@ -1706,10 +1708,10 @@ namespace TimeHelper
inline time_t getTime(uint32_t *mb_ts, uint32_t *mb_ts_offset)
{
uint32_t &tm = *mb_ts;
#if defined(FB_ENABLE_EXTERNAL_CLIENT) || defined(PICO_RP2040)
#if defined(FB_ENABLE_EXTERNAL_CLIENT) || defined(MB_ARDUINO_PICO)
tm = *mb_ts_offset + millis() / 1000;

#if defined(PICO_RP2040)
#if defined(MB_ARDUINO_PICO)
if (tm < time(nullptr))
tm = time(nullptr);
#endif
Expand Down Expand Up @@ -1794,9 +1796,9 @@ namespace TimeHelper

#else

#if defined(ESP32) || defined(ESP8266) || defined(PICO_RP2040)
#if defined(ESP32) || defined(ESP8266) || defined(MB_ARDUINO_PICO)

#if defined(PICO_RP2040)
#if defined(MB_ARDUINO_PICO)
NTP.begin("pool.ntp.org", "time.nist.gov");
NTP.waitSet();

Expand Down Expand Up @@ -1926,7 +1928,7 @@ namespace Utils
if (!config)
return true;

#if defined(ESP32) || defined(PICO_RP2040)
#if defined(ESP32) || defined(MB_ARDUINO_PICO)
if (config->internal.fb_multiple_requests)
return true;

Expand Down
8 changes: 5 additions & 3 deletions src/Firebase.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -28,9 +28,11 @@
#ifndef Firebase_CPP
#define Firebase_CPP

#include <Arduino.h>
#include "mbfs/MB_MCU.h"
#include "Firebase.h"

#if defined(ESP8266) || defined(ESP32) || defined(PICO_RP2040) || defined(FB_ENABLE_EXTERNAL_CLIENT)
#if defined(ESP8266) || defined(ESP32) || defined(MB_ARDUINO_PICO) || defined(FB_ENABLE_EXTERNAL_CLIENT)

#if defined(FIREBASE_ESP_CLIENT)

Expand Down Expand Up @@ -403,7 +405,7 @@ bool FIREBASE_CLASS::sdBegin(int8_t ss, int8_t sck, int8_t miso, int8_t mosi, ui
return mbfs.sdBegin(ss, sck, miso, mosi, frequency);
}

#if defined(ESP8266) || defined(PICO_RP2040)
#if defined(ESP8266) || defined(MB_ARDUINO_PICO)
bool FIREBASE_CLASS::sdBegin(SDFSConfig *sdFSConfig)
{
return mbfs.sdFatBegin(sdFSConfig);
Expand Down Expand Up @@ -898,7 +900,7 @@ bool FIREBASE_CLASS::sdBegin(int8_t ss, int8_t sck, int8_t miso, int8_t mosi, ui
return mbfs.sdBegin(ss, sck, miso, mosi, frequency);
}

#if defined(ESP8266) || defined(PICO_RP2040)
#if defined(ESP8266) || defined(MB_ARDUINO_PICO)
bool FIREBASE_CLASS::sdBegin(SDFSConfig *sdFSConfig)
{
return mbfs.sdFatBegin(sdFSConfig);
Expand Down
15 changes: 8 additions & 7 deletions src/Firebase.h
Original file line number Diff line number Diff line change
Expand Up @@ -30,19 +30,20 @@
#define Firebase_H

#include <Arduino.h>
#include "mbfs/MB_MCU.h"

#include "FirebaseFS.h"
#include "FB_Const.h"

#if !defined(ESP32) && !defined(ESP8266) && !defined(PICO_RP2040)
#if !defined(ESP32) && !defined(ESP8266) && !defined(MB_ARDUINO_PICO)
#ifndef FB_ENABLE_EXTERNAL_CLIENT
#define FB_ENABLE_EXTERNAL_CLIENT
#endif
#endif

#if defined(ESP8266) || defined(ESP32) || defined(FB_ENABLE_EXTERNAL_CLIENT) || defined(PICO_RP2040)
#if defined(ESP8266) || defined(ESP32) || defined(FB_ENABLE_EXTERNAL_CLIENT) || defined(MB_ARDUINO_PICO)

#if !defined(ESP32) && !defined(ESP8266) && !defined(PICO_RP2040)
#if !defined(ESP32) && !defined(ESP8266) && !defined(MB_ARDUINO_PICO)
#ifdef __arm__
// should use uinstd.h to define sbrk but Due causes a conflict
extern "C" char *sbrk(int incr);
Expand Down Expand Up @@ -378,7 +379,7 @@ class FIREBASE_CLASS
*/
bool sdBegin(int8_t ss = -1, int8_t sck = -1, int8_t miso = -1, int8_t mosi = -1, uint32_t frequency = 4000000);

#if defined(ESP8266) || defined(PICO_RP2040)
#if defined(ESP8266) || defined(MB_ARDUINO_PICO)

/** Initiate SD card with SD FS configurations (ESP8266 only).
*
Expand Down Expand Up @@ -2474,13 +2475,13 @@ class FIREBASE_CLASS
* Call [streamData object].xxxData will return the appropriate data type of
* the payload returned from the server.
*/
#if defined(ESP32) || (defined(PICO_RP2040) && defined(ENABLE_PICO_FREE_RTOS))
#if defined(ESP32) || (defined(MB_ARDUINO_PICO) && defined(ENABLE_PICO_FREE_RTOS))
void setStreamCallback(FirebaseData &fbdo, FirebaseData::StreamEventCallback dataAvailablecallback,
FirebaseData::StreamTimeoutCallback timeoutCallback, size_t streamTaskStackSize = 8192)
{
RTDB.setStreamCallback(&fbdo, dataAvailablecallback, timeoutCallback, streamTaskStackSize);
}
#elif defined(ESP8266) || defined(PICO_RP2040) || defined(FB_ENABLE_EXTERNAL_CLIENT)
#elif defined(ESP8266) || defined(MB_ARDUINO_PICO) || defined(FB_ENABLE_EXTERNAL_CLIENT)
void setStreamCallback(FirebaseData &fbdo, FirebaseData::StreamEventCallback dataAvailablecallback,
FirebaseData::StreamTimeoutCallback timeoutCallback = NULL)
{
Expand Down Expand Up @@ -2769,7 +2770,7 @@ class FIREBASE_CLASS
*/
bool sdBegin(int8_t ss = -1, int8_t sck = -1, int8_t miso = -1, int8_t mosi = -1, uint32_t frequency = 4000000);

#if defined(ESP8266) || defined(PICO_RP2040)
#if defined(ESP8266) || defined(MB_ARDUINO_PICO)

/** Initiate SD card with SD FS configurations (ESP8266 only).
*
Expand Down

0 comments on commit c274c5c

Please sign in to comment.