mirror of
https://git.mirrors.martin98.com/https://github.com/luc-github/ESP3D.git
synced 2025-07-31 23:31:59 +08:00
Add code base for better support for FYSETC WIFI SD PRO - WIP
This commit is contained in:
parent
4c5c21653c
commit
dc84b0bbdb
@ -45,10 +45,15 @@
|
||||
#define DEFAULT_SCREEN_FLAG 1
|
||||
#define DEFAULT_SERIAL_BRIDGE_FLAG 1
|
||||
|
||||
//position in EEPROM / preferences will use `P_` + <position> to make a string : P_0 for 0
|
||||
// position in EEPROM / preferences will use `P_` + <position> to make a string
|
||||
// : P_0 for 0
|
||||
#define ESP_RADIO_MODE 0 // 1 byte = flag
|
||||
#define ESP_STA_SSID 1 //33 bytes 32+1 = string ; warning does not support multibyte char like chinese
|
||||
#define ESP_STA_PASSWORD 34 //65 bytes 64 +1 = string ;warning does not support multibyte char like chinese
|
||||
#define ESP_STA_SSID \
|
||||
1 // 33 bytes 32+1 = string ; warning does not support multibyte char like
|
||||
// chinese
|
||||
#define ESP_STA_PASSWORD \
|
||||
34 // 65 bytes 64 +1 = string ;warning does not support multibyte char like
|
||||
// chinese
|
||||
#define ESP_STA_IP_MODE 99 // 1 byte = flag
|
||||
#define ESP_STA_IP_VALUE 100 // 4 bytes xxx.xxx.xxx.xxx
|
||||
#define ESP_STA_MASK_VALUE 104 // 4 bytes xxx.xxx.xxx.xxx
|
||||
@ -62,13 +67,23 @@
|
||||
#define ESP_HTTP_PORT 121 // 4 bytes = int
|
||||
#define ESP_TELNET_PORT 125 // 4 bytes = int
|
||||
#define ESP_SERIAL_FLAG 129 // 1 bytes = flag
|
||||
#define ESP_HOSTNAME 130 //33 bytes 32+1 = string ; warning does not support multibyte char like chinese
|
||||
#define ESP_HOSTNAME \
|
||||
130 // 33 bytes 32+1 = string ; warning does not support multibyte char like
|
||||
// chinese
|
||||
#define ESP_SENSOR_INTERVAL 164 // 4 bytes = int
|
||||
#define ESP_SETTINGS_VERSION 168 // 8 bytes = 7+1 = string ESP3D + 2 digits
|
||||
#define ESP_ADMIN_PWD 176 //21 bytes 20+1 = string ; warning does not support multibyte char like chinese
|
||||
#define ESP_USER_PWD 197 //21 bytes 20+1 = string ; warning does not support multibyte char like chinese
|
||||
#define ESP_AP_SSID 218 //33 bytes 32+1 = string ; warning does not support multibyte char like chinese
|
||||
#define ESP_AP_PASSWORD 251 //65 bytes 64 +1 = string ;warning does not support multibyte char like chinese
|
||||
#define ESP_ADMIN_PWD \
|
||||
176 // 21 bytes 20+1 = string ; warning does not support multibyte char
|
||||
// like chinese
|
||||
#define ESP_USER_PWD \
|
||||
197 // 21 bytes 20+1 = string ; warning does not support multibyte char
|
||||
// like chinese
|
||||
#define ESP_AP_SSID \
|
||||
218 // 33 bytes 32+1 = string ; warning does not support multibyte char like
|
||||
// chinese
|
||||
#define ESP_AP_PASSWORD \
|
||||
251 // 65 bytes 64 +1 = string ;warning does not support multibyte char like
|
||||
// chinese
|
||||
#define ESP_AP_IP_VALUE 316 // 4 bytes xxx.xxx.xxx.xxx
|
||||
#define ESP_BOOT_DELAY 320 // 4 bytes = int
|
||||
#define ESP_WEBSOCKET_PORT 324 // 4 bytes= int
|
||||
@ -76,21 +91,33 @@
|
||||
#define ESP_TELNET_ON 329 // 1 byte = flag
|
||||
#define ESP_WEBSOCKET_ON 330 // 1 byte = flag
|
||||
#define ESP_SD_SPEED_DIV 331 // 1 byte = flag
|
||||
#define ESP_NOTIFICATION_TOKEN1 332 //64 bytes 63+1 = string ; warning does not support multibyte char like chinese
|
||||
#define ESP_NOTIFICATION_TOKEN2 396 //64 bytes 63+1 = string ; warning does not support multibyte char like chinese
|
||||
#define ESP_NOTIFICATION_TOKEN1 \
|
||||
332 // 64 bytes 63+1 = string ; warning does not support multibyte char like
|
||||
// chinese
|
||||
#define ESP_NOTIFICATION_TOKEN2 \
|
||||
396 // 64 bytes 63+1 = string ; warning does not support multibyte char like
|
||||
// chinese
|
||||
#define ESP_SENSOR_TYPE 460 // 1 bytes = flag
|
||||
#define ESP_TARGET_FW 461 // 1 bytes = flag
|
||||
#define ESP_TIMEZONE 462 // 1 bytes = flag
|
||||
#define ESP_TIME_IS_DST 463 // 1 bytes = flag
|
||||
#define ESP_TIME_SERVER1 464 //129 bytes 128+1 = string ; warning does not support multibyte char like chinese
|
||||
#define ESP_TIME_SERVER2 593 //129 bytes 128+1 = string ; warning does not support multibyte char like chinese
|
||||
#define ESP_TIME_SERVER3 722 //129 bytes 128+1 = string ; warning does not support multibyte char like chinese
|
||||
#define ESP_TIME_SERVER1 \
|
||||
464 // 129 bytes 128+1 = string ; warning does not support multibyte char
|
||||
// like chinese
|
||||
#define ESP_TIME_SERVER2 \
|
||||
593 // 129 bytes 128+1 = string ; warning does not support multibyte char
|
||||
// like chinese
|
||||
#define ESP_TIME_SERVER3 \
|
||||
722 // 129 bytes 128+1 = string ; warning does not support multibyte char
|
||||
// like chinese
|
||||
#define ESP_REMOTE_SCREEN_FLAG 851 // 1 bytes = flag
|
||||
#define ESP_SD_MOUNT 852 // 1 bytes = flag
|
||||
#define ESP_SESSION_TIMEOUT 853 // 1 bytes = flag
|
||||
#define ESP_WEBSOCKET_FLAG 854 // 1 bytes = flag
|
||||
#define ESP_SD_CHECK_UPDATE_AT_BOOT 855 // 1 bytes = flag
|
||||
#define ESP_NOTIFICATION_SETTINGS 856 //129 bytes 128+1 = string ; warning does not support multibyte char like chinese
|
||||
#define ESP_NOTIFICATION_SETTINGS \
|
||||
856 // 129 bytes 128+1 = string ; warning does not support multibyte char
|
||||
// like chinese
|
||||
#define ESP_CALIBRATION_1 985 // 4 bytes = int
|
||||
#define ESP_CALIBRATION_2 989 // 4 bytes = int
|
||||
#define ESP_CALIBRATION_3 993 // 4 bytes = int
|
||||
@ -126,7 +153,6 @@
|
||||
#define DEBUG_OUTPUT_TELNET 4
|
||||
#define DEBUG_OUTPUT_WEBSOCKET 5
|
||||
|
||||
|
||||
// Serial
|
||||
#define USE_SERIAL_0 1
|
||||
#define USE_SERIAL_1 2
|
||||
@ -136,7 +162,6 @@
|
||||
#define MAIN_SERIAL 1
|
||||
#define BRIDGE_SERIAL 2
|
||||
|
||||
|
||||
// Communication protocols
|
||||
#define RAW_SERIAL 0
|
||||
#define MKS_SERIAL 1
|
||||
@ -161,6 +186,10 @@
|
||||
#define ESP_DIRECT_SD 1
|
||||
#define ESP_SHARED_SD 2
|
||||
|
||||
// SD Device type
|
||||
#define ESP_NORMAL_SDCARD 0
|
||||
#define ESP_FYSETC_WIFI_PRO_SDCARD 1
|
||||
|
||||
// Upload type
|
||||
#define ESP_UPLOAD_DIRECT_SD 1
|
||||
#define ESP_UPLOAD_SHARED_SD 2
|
||||
|
@ -439,9 +439,36 @@
|
||||
#define ESP_SD_DETECT_VALUE LOW
|
||||
#endif // ESP_SD_DETECT_VALUE
|
||||
#if SD_DEVICE_CONNECTION == ESP_SHARED_SD
|
||||
|
||||
#if SD_CARD_TYPE == ESP_FYSETC_WIFI_PRO_SDCARD
|
||||
// #define all pins
|
||||
// 1 - Undef all pins to be clear
|
||||
#undef ESP_SD_CS_PIN
|
||||
#undef ESP_SD_MISO_PIN
|
||||
#undef ESP_SD_MOSI_PIN
|
||||
#undef ESP_SD_SCK_PIN
|
||||
#undef ESP_SD_DETECT_PIN
|
||||
#undef ESP_FLAG_SHARED_SD_PIN
|
||||
#undef ESP_FLAG_SHARED_SD_VALUE
|
||||
// 2 - Define all pins / values for FYSETC_WIFI_PRO_SDCARD
|
||||
#define ESP_SD_CS_PIN 13 // D3
|
||||
#define ESP_SD_MISO_PIN 2 // D0
|
||||
#define ESP_SD_MOSI_PIN 15 // CMD
|
||||
#define ESP_SD_SCK_PIN 14 // CLK
|
||||
#define ESP_SD_DETECT_PIN -1
|
||||
#define ESP_FLAG_SHARED_SD_PIN 26
|
||||
#define ESP_FLAG_SHARED_SD_VALUE LOW
|
||||
#define ESP_SD_CS_SENSE 32
|
||||
#define ESP_SD_POWER_PIN 27
|
||||
#define ESP_POWER_SD_VALUE LOW
|
||||
#define ESP_SD_D1_PIN 4
|
||||
#define ESP_SD_D2_PIN 12
|
||||
#else
|
||||
#ifndef ESP_FLAG_SHARED_SD_PIN
|
||||
#define ESP_FLAG_SHARED_SD_PIN -1
|
||||
#endif // ESP_PIN_SHARED_SD
|
||||
#endif // SD_CARD_TYPE==ESP_FYSETC_WIFI_PRO_SDCARD
|
||||
|
||||
#ifndef ESP_FLAG_SHARED_SD_VALUE
|
||||
#define ESP_FLAG_SHARED_SD_VALUE 0
|
||||
#endif // ESP_FLAG_SHARED_SD_VALUE
|
||||
|
@ -20,13 +20,12 @@
|
||||
|
||||
#ifndef _SANITY_ESP3D_H
|
||||
#define _SANITY_ESP3D_H
|
||||
|
||||
#include "esp3d_config.h"
|
||||
#if not defined(ESP_NO_SANITY_CHECK)
|
||||
/**************************
|
||||
* Settings
|
||||
* ***********************/
|
||||
#if (ESP_SAVE_SETTINGS == SETTINGS_IN_PREFERENCES) && defined( ARDUINO_ARCH_ESP8266)
|
||||
#if (ESP_SAVE_SETTINGS == SETTINGS_IN_PREFERENCES) && \
|
||||
defined(ARDUINO_ARCH_ESP8266)
|
||||
#error Preferences library is not available for ESP8266
|
||||
#endif
|
||||
|
||||
@ -55,16 +54,16 @@
|
||||
#error ESP_SERIAL_OUTPUT must be defined
|
||||
#endif //! defined(ESP_SERIAL_OUTPUT) && COMMUNICATION_PROTOCOL!=SOCKET_SERIAL
|
||||
|
||||
#if COMMUNICATION_PROTOCOL!=SOCKET_SERIAL && defined(ESP_SERIAL_BRIDGE_OUTPUT) && ESP_SERIAL_OUTPUT==ESP_SERIAL_BRIDGE_OUTPUT
|
||||
#if COMMUNICATION_PROTOCOL != SOCKET_SERIAL && \
|
||||
defined(ESP_SERIAL_BRIDGE_OUTPUT) && \
|
||||
ESP_SERIAL_OUTPUT == ESP_SERIAL_BRIDGE_OUTPUT
|
||||
#error ESP_SERIAL_OUTPUT cannot be same as ESP_SERIAL_BRIDGE_OUTPUT
|
||||
#endif //! defined(ESP_SERIAL_OUTPUT) && COMMUNICATION_PROTOCOL!=SOCKET_SERIAL
|
||||
|
||||
|
||||
#if (ESP_SERIAL_OUTPUT == USE_SERIAL2) && defined(ARDUINO_ARCH_ESP8266)
|
||||
#error Serial 2 is not available in ESP8266
|
||||
#endif // ESP_SERIAL_OUTPUT == USE_SERIAL_2 ) && ARDUINO_ARCH_ESP8266
|
||||
|
||||
|
||||
/**************************
|
||||
* Bluetooth
|
||||
* ***********************/
|
||||
@ -72,7 +71,6 @@
|
||||
#error Bluetooth is not available in ESP8266
|
||||
#endif
|
||||
|
||||
|
||||
/**************************
|
||||
* Ethernet
|
||||
* ***********************/
|
||||
@ -84,7 +82,6 @@
|
||||
* Time
|
||||
* ***********************/
|
||||
|
||||
|
||||
/**************************
|
||||
* Filesystem
|
||||
* ***********************/
|
||||
@ -111,12 +108,21 @@
|
||||
#endif
|
||||
#endif
|
||||
|
||||
#if defined (SD_DEVICE_CONNECTION) && defined(PIN_RESET_FEATURE) && ESP3D_RESET_PIN!=-1
|
||||
#if SD_DEVICE_CONNECTION == ESP_SHARED_SD && ESP_FLAG_SHARED_SD_PIN == ESP3D_RESET_PIN
|
||||
#if defined(SD_DEVICE_CONNECTION) && defined(PIN_RESET_FEATURE) && \
|
||||
ESP3D_RESET_PIN != -1
|
||||
#if SD_DEVICE_CONNECTION == ESP_SHARED_SD && \
|
||||
ESP_FLAG_SHARED_SD_PIN == ESP3D_RESET_PIN
|
||||
#error ESP_FLAG_SHARED_SD_PIN and ESP3D_RESET_PIN are same, it is not allowed.
|
||||
#endif
|
||||
#endif
|
||||
|
||||
#if SD_CARD_TYPE == ESP_FYSETC_WIFI_PRO_SDCARD && \
|
||||
(SD_DEVICE != ESP_SD_NATIVE || SD_DEVICE_CONNECTION != ESP_SHARED_SD)
|
||||
#error ESP_FYSETC_WIFI_PRO_SDCARD only works with ESP_SD_NATIVE and ESP_SHARED_SD
|
||||
#define ESP_NO_SANITY_CHECK 1
|
||||
#endif // SD_CARD_TYPE == ESP_FYSETC_WIFI_PRO_SDCARD && SD_DEVICE !=
|
||||
// ESP_SD_NATIVE && SD_DEVICE_CONNECTION!=ESP_SHARED_SD
|
||||
|
||||
/**************************
|
||||
* FTP
|
||||
* ***********************/
|
||||
|
@ -61,24 +61,24 @@ File tSDFile_handle[ESP_MAX_SD_OPENHANDLE];
|
||||
|
||||
#if SD_DEVICE_CONNECTION == ESP_SHARED_SD
|
||||
bool ESP_SD::_enabled = false;
|
||||
|
||||
#if SD_CARD_TYPE == ESP_FYSETC_WIFI_PRO_SDCARD
|
||||
#include <SPI.h>
|
||||
#endif // SD_CARD_TYPE == ESP_FYSETC_WIFI_PRO_SDCARD
|
||||
bool ESP_SD::enableSharedSD() {
|
||||
log_esp3d("Enable Shared SD if possible");
|
||||
if (_enabled) {
|
||||
log_esp3d("Already enabled, skip");
|
||||
return false;
|
||||
}
|
||||
_enabled = true;
|
||||
#if defined(ESP3D_CS_SD_SENSE)
|
||||
log_esp3d("Setup SD sense pin %d", ESP3D_CS_SD_SENSE);
|
||||
pinMode(ESP3D_CS_SD_SENSE, INPUT_PULLUP);
|
||||
#endif // defined(ESP3D_CS_SD_SENSE)
|
||||
#if defined(ESP3D_POWER_SD_PIN) && ESP3D_POWER_SD_PIN != -1
|
||||
log_esp3d("Setup SD power pin %d", ESP3D_POWER_SD_PIN);
|
||||
pinMode(ESP3D_POWER_SD_PIN, OUTPUT);
|
||||
// digitalWrite(ESP3D_POWER_SD_PIN, ESP3D_POWER_SD_VALUE);
|
||||
#endif // defined(ESP3D_POWER_SD_PIN)
|
||||
#if defined(ESP_SD_CS_SENSE) && ESP_SD_CS_SENSE != -1
|
||||
bool active_cs = !digitalRead(ESP_SD_CS_SENSE);
|
||||
if (active_cs) {
|
||||
log_esp3d("SD CS is active, skip");
|
||||
return false;
|
||||
}
|
||||
#endif // ESP_SD_CS_SENSE
|
||||
|
||||
_enabled = true;
|
||||
#if defined(ESP_FLAG_SHARED_SD_PIN) && ESP_FLAG_SHARED_SD_PIN != -1
|
||||
// need to check if SD is in use ?
|
||||
// Method : TBD
|
||||
@ -89,6 +89,13 @@ bool ESP_SD::enableSharedSD() {
|
||||
digitalWrite(ESP_FLAG_SHARED_SD_PIN, ESP_FLAG_SHARED_SD_VALUE);
|
||||
Hal::wait(100);
|
||||
#endif // ESP_FLAG_SHARED_SD_PIN
|
||||
|
||||
#if SD_CARD_TYPE == ESP_FYSETC_WIFI_PRO_SDCARD
|
||||
log_esp3d("Custom spi : CS: %d, Miso: %d, Mosi: %d, SCK: %d", ESP_SD_CS_PIN,
|
||||
ESP_SD_MISO_PIN, ESP_SD_MOSI_PIN, ESP_SD_SCK_PIN);
|
||||
SPI.begin(ESP_SD_SCK_PIN, ESP_SD_MISO_PIN, ESP_SD_MOSI_PIN, ESP_SD_CS_PIN);
|
||||
#endif // SD_CARD_TYPE == ESP_FYSETC_WIFI_PRO_SDCARD
|
||||
|
||||
#if defined(ESP3DLIB_ENV)
|
||||
// check if card is not currently in use
|
||||
if (card.isMounted() && (IS_SD_PRINTING() || IS_SD_FETCHING() ||
|
||||
@ -101,6 +108,22 @@ bool ESP_SD::enableSharedSD() {
|
||||
|
||||
return _enabled;
|
||||
}
|
||||
|
||||
bool ESP_SD::disableSharedSD() {
|
||||
#if SD_CARD_TYPE == ESP_FYSETC_WIFI_PRO_SDCARD
|
||||
pinMode(ESP_SD_CS_PIN, INPUT_PULLUP);
|
||||
pinMode(ESP_SD_MISO_PIN, INPUT_PULLUP);
|
||||
pinMode(ESP_SD_MOSI_PIN, INPUT_PULLUP);
|
||||
pinMode(ESP_SD_SCK_PIN, INPUT_PULLUP);
|
||||
pinMode(ESP_SD_D1_PIN, INPUT_PULLUP);
|
||||
pinMode(ESP_SD_D2_PIN, INPUT_PULLUP);
|
||||
SPI.end();
|
||||
#endif // SD_CARD_TYPE == ESP_FYSETC_WIFI_PRO_SDCARD
|
||||
// do the switch
|
||||
digitalWrite(ESP_FLAG_SHARED_SD_PIN, !ESP_FLAG_SHARED_SD_VALUE);
|
||||
Hal::wait(100);
|
||||
return true;
|
||||
}
|
||||
#endif // SD_DEVICE_CONNECTION == ESP_SHARED_SD
|
||||
|
||||
bool ESP_SD::_started = false;
|
||||
@ -144,9 +167,9 @@ void ESP_SD::releaseFS(uint8_t FS) {
|
||||
#if SD_DEVICE_CONNECTION == ESP_SHARED_SD
|
||||
_enabled = false;
|
||||
#if defined(ESP_FLAG_SHARED_SD_PIN) && ESP_FLAG_SHARED_SD_PIN != -1
|
||||
log_esp3d("SD shared disabled PIN %d with %d", ESP_FLAG_SHARED_SD_PIN,
|
||||
!ESP_FLAG_SHARED_SD_VALUE);
|
||||
digitalWrite(ESP_FLAG_SHARED_SD_PIN, !ESP_FLAG_SHARED_SD_VALUE);
|
||||
if (ESP_SD::disableSharedSD()) {
|
||||
log_esp3d("Shared SD disabled");
|
||||
}
|
||||
#endif // ESP_FLAG_SHARED_SD_PIN
|
||||
#if defined(ESP3DLIB_ENV)
|
||||
log_esp3d("Mount SD in Marlin");
|
||||
|
@ -20,19 +20,22 @@
|
||||
|
||||
#ifndef _ESP_SD_H
|
||||
#define _ESP_SD_H
|
||||
#include "../../include/esp3d_config.h"
|
||||
#include "../../core/esp3doutput.h"
|
||||
#include <time.h>
|
||||
|
||||
#include "../../core/esp3doutput.h"
|
||||
#include "../../include/esp3d_config.h"
|
||||
|
||||
|
||||
#define ESP_SD_FS_HEADER "/SD"
|
||||
|
||||
#define ESP_MAX_SD_OPENHANDLE 4
|
||||
|
||||
class ESP_SDFile
|
||||
{
|
||||
class ESP_SDFile {
|
||||
public:
|
||||
ESP_SDFile(void * handle = nullptr, bool isdir =false, bool iswritemode = false, const char * path = nullptr);
|
||||
ESP_SDFile(const char * name, const char * filename, bool isdir = true, size_t size =0);
|
||||
ESP_SDFile(void* handle = nullptr, bool isdir = false,
|
||||
bool iswritemode = false, const char* path = nullptr);
|
||||
ESP_SDFile(const char* name, const char* filename, bool isdir = true,
|
||||
size_t size = 0);
|
||||
~ESP_SDFile();
|
||||
operator bool() const;
|
||||
bool isDirectory();
|
||||
@ -52,6 +55,7 @@ public:
|
||||
size_t read(uint8_t* buf, size_t size);
|
||||
void flush();
|
||||
ESP_SDFile openNextFile();
|
||||
|
||||
private:
|
||||
String _dirlist;
|
||||
bool _isdir;
|
||||
@ -63,8 +67,7 @@ private:
|
||||
time_t _lastwrite;
|
||||
};
|
||||
|
||||
class ESP_SD
|
||||
{
|
||||
class ESP_SD {
|
||||
public:
|
||||
static String& formatBytes(uint64_t bytes);
|
||||
static bool begin();
|
||||
@ -89,17 +92,12 @@ public:
|
||||
static bool rmdir(const char* path);
|
||||
static bool rename(const char* oldpath, const char* newpath);
|
||||
static void closeAll();
|
||||
static uint8_t getSPISpeedDivider()
|
||||
{
|
||||
return _spi_speed_divider;
|
||||
}
|
||||
static uint8_t getSPISpeedDivider() { return _spi_speed_divider; }
|
||||
static bool setSPISpeedDivider(uint8_t speeddivider);
|
||||
#if SD_DEVICE_CONNECTION == ESP_SHARED_SD
|
||||
static bool enableSharedSD();
|
||||
static bool isEnabled()
|
||||
{
|
||||
return _enabled;
|
||||
}
|
||||
static bool disableSharedSD();
|
||||
static bool isEnabled() { return _enabled; }
|
||||
#endif // SD_DEVICE_CONNECTION == ESP_SHARED_SD
|
||||
private:
|
||||
static bool _started;
|
||||
@ -111,5 +109,4 @@ private:
|
||||
static bool _sizechanged;
|
||||
};
|
||||
|
||||
|
||||
#endif //_ESP_SD_H
|
||||
|
@ -27,7 +27,6 @@ sd_native_esp32.cpp - ESP3D sd support class
|
||||
#include "FS.h"
|
||||
#include "SD.h"
|
||||
|
||||
|
||||
// TBC: base frequency
|
||||
// or use (1000000 * ESP.getCpuFreqMHz())
|
||||
#define ESP_SPI_FREQ 4000000
|
||||
@ -73,12 +72,6 @@ uint8_t ESP_SD::getState(bool refresh) {
|
||||
}
|
||||
|
||||
bool ESP_SD::begin() {
|
||||
#if (ESP_SD_CS_PIN != -1) || (ESP_SD_MISO_PIN != -1) || \
|
||||
(ESP_SD_MOSI_PIN != -1) || (ESP_SD_SCK_PIN != -1)
|
||||
log_esp3d("Custom spi : CS: %d, Miso: %d, Mosi: %d, SCK: %d", ESP_SD_CS_PIN,
|
||||
ESP_SD_MISO_PIN, ESP_SD_MOSI_PIN, ESP_SD_SCK_PIN);
|
||||
SPI.begin(ESP_SD_SCK_PIN, ESP_SD_MISO_PIN, ESP_SD_MOSI_PIN, ESP_SD_CS_PIN);
|
||||
#endif
|
||||
_started = true;
|
||||
_state = ESP_SDCARD_NOT_PRESENT;
|
||||
_spi_speed_divider = Settings_ESP3D::read_byte(ESP_SD_SPEED_DIV);
|
||||
@ -95,7 +88,28 @@ bool ESP_SD::begin() {
|
||||
pinMode(ESP_FLAG_SHARED_SD_PIN, OUTPUT);
|
||||
digitalWrite(ESP_FLAG_SHARED_SD_PIN, !ESP_FLAG_SHARED_SD_VALUE);
|
||||
#endif // ESP_FLAG_SHARED_SD_PIN
|
||||
#if SD_CARD_TYPE == ESP_FYSETC_WIFI_PRO_SDCARD
|
||||
#if defined(ESP_SD_CS_SENSE)
|
||||
log_esp3d("Setup SD sense pin %d", ESP_SD_CS_SENSE);
|
||||
pinMode(ESP_SD_CS_SENSE, INPUT_PULLUP);
|
||||
#endif // defined(ESP_SD_CS_SENSE)
|
||||
#if defined(ESP_SD_POWER_PIN) && ESP_SD_POWER_PIN != -1
|
||||
log_esp3d("Setup SD power pin %d", ESP_SD_POWER_PIN);
|
||||
pinMode(ESP_SD_POWER_PIN, OUTPUT);
|
||||
digitalWrite(ESP_SD_POWER_PIN, ESP_POWER_SD_VALUE);
|
||||
#endif // defined(ESP3D_POWER_SD_PIN)
|
||||
#endif // SD_CARD_TYPE == ESP_FYSETC_WIFI_PRO_SDCARD
|
||||
#endif // SD_DEVICE_CONNECTION == ESP_SHARED_SD
|
||||
#if (ESP_SD_CS_PIN != -1) || (ESP_SD_MISO_PIN != -1) || \
|
||||
(ESP_SD_MOSI_PIN != -1) || (ESP_SD_SCK_PIN != -1)
|
||||
log_esp3d("Custom spi : CS: %d, Miso: %d, Mosi: %d, SCK: %d", ESP_SD_CS_PIN,
|
||||
ESP_SD_MISO_PIN, ESP_SD_MOSI_PIN, ESP_SD_SCK_PIN);
|
||||
SPI.begin(ESP_SD_SCK_PIN, ESP_SD_MISO_PIN, ESP_SD_MOSI_PIN, ESP_SD_CS_PIN);
|
||||
#endif
|
||||
#if SD_CARD_TYPE == ESP_FYSETC_WIFI_PRO_SDCARD && \
|
||||
SD_DEVICE_CONNECTION == ESP_SHARED_SD
|
||||
SPI.end();
|
||||
#endif // SD_CARD_TYPE == ESP_FYSETC_WIFI_PRO_SDCARD
|
||||
return _started;
|
||||
}
|
||||
|
||||
|
@ -20,6 +20,7 @@ sd_sdfat2_esp32.cpp - ESP3D sd support class
|
||||
#include "../../../include/esp3d_config.h"
|
||||
#if defined(ARDUINO_ARCH_ESP32) && defined(SD_DEVICE)
|
||||
#if (SD_DEVICE == ESP_SDFAT2)
|
||||
|
||||
#include <SdFat.h>
|
||||
#include <sdios.h>
|
||||
|
||||
@ -151,10 +152,7 @@ uint8_t ESP_SD::getState(bool refresh) {
|
||||
}
|
||||
|
||||
bool ESP_SD::begin() {
|
||||
#if (ESP_SD_CS_PIN != -1) || (ESP_SD_MISO_PIN != -1) || \
|
||||
(ESP_SD_MOSI_PIN != -1) || (ESP_SD_SCK_PIN != -1)
|
||||
SPI.begin(ESP_SD_SCK_PIN, ESP_SD_MISO_PIN, ESP_SD_MOSI_PIN, ESP_SD_CS_PIN);
|
||||
#endif
|
||||
pinMode(ESP_SD_CS_PIN, OUTPUT);
|
||||
_started = true;
|
||||
_state = ESP_SDCARD_NOT_PRESENT;
|
||||
_spi_speed_divider = Settings_ESP3D::read_byte(ESP_SD_SPEED_DIV);
|
||||
@ -176,6 +174,11 @@ bool ESP_SD::begin() {
|
||||
digitalWrite(ESP_FLAG_SHARED_SD_PIN, !ESP_FLAG_SHARED_SD_VALUE);
|
||||
#endif // ESP_FLAG_SHARED_SD_PIN
|
||||
#endif // SD_DEVICE_CONNECTION == ESP_SHARED_SD
|
||||
#if (ESP_SD_CS_PIN != -1) || (ESP_SD_MISO_PIN != -1) || \
|
||||
(ESP_SD_MOSI_PIN != -1) || (ESP_SD_SCK_PIN != -1)
|
||||
SPI.begin(ESP_SD_SCK_PIN, ESP_SD_MISO_PIN, ESP_SD_MOSI_PIN, ESP_SD_CS_PIN);
|
||||
#endif // SPI
|
||||
|
||||
return _started;
|
||||
}
|
||||
|
||||
|
Loading…
x
Reference in New Issue
Block a user