mirror of
https://git.mirrors.martin98.com/https://github.com/luc-github/ESP3D.git
synced 2025-08-03 01:00:38 +08:00

* Update WebSocket library * Update SSDP library * Update TFT_eSPI library * Update EspLuaEngine library * Update SDFat library * Change to pioarduino * Make ESP3DMessageFIFO and ESP3DMessage more thread safe * Fix sanity checks for BT * Add some C6 support * Refactor ethernet code * Split Ethernet Sta / WiFi sta ESP Commands and settings * Simplify wait and wdtFeed code * Set C3 with 4MB by default in platformio.ini * Apply Disable brown out only on ESP32 to avoid crash e.g:ESP32S3 * Add missing entries in platformio.ini
80 lines
2.1 KiB
C++
80 lines
2.1 KiB
C++
// An example of the SoftSpiDriver template class.
|
|
// This example is for an old Adafruit Data Logging Shield on a Mega.
|
|
// Software SPI is required on Mega since this shield connects to pins 10-13.
|
|
// This example will also run on an Uno and other boards using software SPI.
|
|
//
|
|
#include "SdFat.h"
|
|
#if SPI_DRIVER_SELECT == 2 // Must be set in SdFat/SdFatConfig.h
|
|
|
|
// SD_FAT_TYPE = 0 for SdFat/File as defined in SdFatConfig.h,
|
|
// 1 for FAT16/FAT32, 2 for exFAT, 3 for FAT16/FAT32 and exFAT.
|
|
#define SD_FAT_TYPE 3
|
|
//
|
|
// Chip select may be constant or RAM variable.
|
|
const uint8_t SD_CS_PIN = 10;
|
|
//
|
|
// Pin numbers in templates must be constants.
|
|
const uint8_t SOFT_MISO_PIN = 12;
|
|
const uint8_t SOFT_MOSI_PIN = 11;
|
|
const uint8_t SOFT_SCK_PIN = 13;
|
|
|
|
// SdFat software SPI template
|
|
SoftSpiDriver<SOFT_MISO_PIN, SOFT_MOSI_PIN, SOFT_SCK_PIN> softSpi;
|
|
// Speed argument is ignored for software SPI.
|
|
#if ENABLE_DEDICATED_SPI
|
|
#define SD_CONFIG SdSpiConfig(SD_CS_PIN, DEDICATED_SPI, SD_SCK_MHZ(0), &softSpi)
|
|
#else // ENABLE_DEDICATED_SPI
|
|
#define SD_CONFIG SdSpiConfig(SD_CS_PIN, SHARED_SPI, SD_SCK_MHZ(0), &softSpi)
|
|
#endif // ENABLE_DEDICATED_SPI
|
|
|
|
#if SD_FAT_TYPE == 0
|
|
SdFat sd;
|
|
File file;
|
|
#elif SD_FAT_TYPE == 1
|
|
SdFat32 sd;
|
|
File32 file;
|
|
#elif SD_FAT_TYPE == 2
|
|
SdExFat sd;
|
|
ExFile file;
|
|
#elif SD_FAT_TYPE == 3
|
|
SdFs sd;
|
|
FsFile file;
|
|
#else // SD_FAT_TYPE
|
|
#error Invalid SD_FAT_TYPE
|
|
#endif // SD_FAT_TYPE
|
|
|
|
void setup() {
|
|
Serial.begin(9600);
|
|
// Wait for USB Serial
|
|
while (!Serial) {
|
|
yield();
|
|
}
|
|
Serial.println("Type any character to start");
|
|
while (!Serial.available()) {
|
|
yield();
|
|
}
|
|
|
|
if (!sd.begin(SD_CONFIG)) {
|
|
sd.initErrorHalt();
|
|
}
|
|
|
|
if (!file.open("SoftSPI.txt", O_RDWR | O_CREAT)) {
|
|
sd.errorHalt(F("open failed"));
|
|
}
|
|
file.println(F("This line was printed using software SPI."));
|
|
|
|
file.rewind();
|
|
|
|
while (file.available()) {
|
|
Serial.write(file.read());
|
|
}
|
|
|
|
file.close();
|
|
|
|
Serial.println(F("Done."));
|
|
}
|
|
//------------------------------------------------------------------------------
|
|
void loop() {}
|
|
#else // SPI_DRIVER_SELECT
|
|
#error SPI_DRIVER_SELECT must be two in SdFat/SdFatConfig.h
|
|
#endif // SPI_DRIVER_SELECT
|