feat: new device pre-support

This commit is contained in:
fsender
2025-03-13 00:04:09 +08:00
parent 20ba78ea52
commit 86e1022ffa
7 changed files with 1087 additions and 1063 deletions

View File

@@ -39,15 +39,18 @@
// *** Do not include any file here!
/*
#define _EPD_CS_PIN 15 //D8, 显示屏的片选引脚
#define _EPD_DC_PIN 5 //D1, 显示屏的DC引脚
#define _EPD_RST_PIN -1 //reserved 保留的重置引脚
#define _EPD_BUSY_PIN 4 //D2 显示屏的Busy引脚
#define _SD_CS_PIN 0 //D3, SD卡的片选引脚
#define _BtnL 5 //D1, 左键
#define _BtnM 12 //中间键 D6引脚
#define _BtnR 2 //D4 右键
/**************************** 请不要取消注释这里! *****************************
********* 这里的设置项是无效的, 仅仅用于标注一些开发板的引脚预定义数据. *********
********** 部分热门的, 创新的带墨水屏开发板的引脚定义可能会罗列在这里. **********
*****************************************************************************
(无效设置项) #define _EPD_CS_PIN 15 //D8, 显示屏的片选引脚
(无效设置项) #define _EPD_DC_PIN 5 //D1, 显示屏的DC引脚
(无效设置项) #define _EPD_RST_PIN -1 //reserved 保留的重置引脚
(无效设置项) #define _EPD_BUSY_PIN 4 //D2 显示屏的Busy引脚
(无效设置项) #define _SD_CS_PIN 0 //D3, SD卡的片选引脚
(无效设置项) #define _BtnL 5 //D1, 左键
(无效设置项) #define _BtnM 12 //中间键 D6引脚
(无效设置项) #define _BtnR 2 //D4 右键
//对于甘草酸不酸的新版本板子:
//busy 4 rst 2 dc 0 cs 15 sck / mosi / sdcs 5 btnL rx(3) btnM 0
@@ -231,10 +234,35 @@
#endif
#define READGUY_rtc_type 0 //使用的RTC型号. 现已弃用 RTC 功能. 保留是为了兼容性 让代码更简单维护
#elif defined(READGUY_ENABLE_WIFI)
// ******************************************************************
// ********************** 以下内容不建议用户更改 **********************
// ******************************************************************
#elif defined(READGUY_ENABLE_WIFI) // READGUY_ENABLE_WIFI 依赖 DYNAMIC_PIN_SETTINGS
#define READGUY_ESP_ENABLE_WIFI //使用WIFI进行配网等功能
#endif
#undef READGUY_ENABLE_WIFI
#ifdef ESP8266 //应用于
#define _READGUY_PLATFORM "ESP8266"
#define READGUY_IDF_TARGET_WITHOUT_FSPI //该器件不能使用fspi
#else
#ifdef CONFIG_IDF_TARGET_ESP32
#define _READGUY_PLATFORM "ESP32"
#define READGUY_IDF_TARGET_WITH_VSPI //该器件拥有vspi
#elif defined(CONFIG_IDF_TARGET_ESP32S2)
#define _READGUY_PLATFORM "ESP32S2"
#elif defined(CONFIG_IDF_TARGET_ESP32S3)
#define _READGUY_PLATFORM "ESP32S3"
#elif defined(CONFIG_IDF_TARGET_ESP32C3)
#define _READGUY_PLATFORM "ESP32C3"
#define READGUY_IDF_TARGET_WITHOUT_FSPI //该器件不能使用fspi
#else
#define _READGUY_PLATFORM "Unknown" //Prepare for ESP32-C6, H7, etc.
#warning Unknown platform! Readguy will run with unexpected (maybe hardware) errors!
#define READGUY_IDF_TARGET_WITHOUT_FSPI //该器件不能使用fspi
#endif
#endif
#endif /* END OF FILE. ReadGuy project.
Copyright (C) 2023 FriendshipEnder. */

View File

@@ -39,7 +39,7 @@
//设备设置: 取消对应设备就可以直接禁用掉对应设备
//非常不建议用户在应用程序中禁用掉设备. 实测根本不会节省很多的空间. 如果要节省代码占用的flash空间,
//请在字库上下功夫.
//要想省空间, 请关闭wifi配置功能并避免使用wifi, 或者在程序中 (尤其是图片素材和字库素材上) 下功夫.
//如果程序不想支持此型号(为了节省flash),请注释掉这一行, 实测每个设备只能节省100字节左右的flash空间
#define READGUY_DEV_154A 0 //1.54寸标准, 甘草酸不酸使用的1.54默认屏幕型号. 1.54汉朔价签也选这个
#define READGUY_DEV_154B 1 //1.54寸Lilygo, lilygo的1.54触摸和1.54背光墨水屏. GDEH0154D67

View File

@@ -45,22 +45,6 @@
#define READGUY_VERSION_VAL (READGUY_V_MAJOR*1000+READGUY_V_MINOR*100+READGUY_V_PATCH*10)
#define READGUY_VERSION "1.4.2"
#ifdef ESP8266
#define _READGUY_PLATFORM "ESP8266"
#else
#ifdef CONFIG_IDF_TARGET_ESP32
#define _READGUY_PLATFORM "ESP32"
#elif defined(CONFIG_IDF_TARGET_ESP32S2)
#define _READGUY_PLATFORM "ESP32S2"
#elif defined(CONFIG_IDF_TARGET_ESP32S3)
#define _READGUY_PLATFORM "ESP32S3"
#elif defined(CONFIG_IDF_TARGET_ESP32C3)
#define _READGUY_PLATFORM "ESP32C3"
#else
#define _READGUY_PLATFORM "Unknown"
#endif
#endif
#define _GITHUB_LINK "https://github.com/fsender/readguy"
#define _BILIBILI_LINK "https://www.bilibili.com/video/BV1f94y187wz"

View File

@@ -367,7 +367,7 @@ void ReadguyDriver::handleInitPost(){
}
}
//尝试初始化各个硬件, 可能失败, 然后显示一些东西
#if (defined(ESP8266) || defined(CONFIG_IDF_TARGET_ESP32C3))
#if (defined(ESP8266) || defined(READGUY_IDF_TARGET_WITHOUT_FSPI))
if(config_data[3]==-1) config_data[3] = config_data[10];
else config_data[10] = config_data[3];
if(config_data[4]==-1) config_data[4] = config_data[11];
@@ -514,7 +514,7 @@ void ReadguyDriver::handlePinSetup(){
"甘草半糖板","微雪例程"
};
*/
#elif (defined(CONFIG_IDF_TARGET_ESP32C3))
#elif (defined(READGUY_IDF_TARGET_WITHOUT_FSPI))
#define DRIVER_TEMPLATE_N 0
#define DRIVER_TEMPLATE_ARRAY_L 16
/*
@@ -574,7 +574,7 @@ void ReadguyDriver::handlePinSetup(){
#else
for(int i=0;i<12;i++){
s += F("<br/>");
#if defined(CONFIG_IDF_TARGET_ESP32C3)
#if defined(READGUY_IDF_TARGET_WITHOUT_FSPI)
if(i==7) {
i+=2; //优化ESP32C3的SPI配置体验 (C3只能共线)
s += F("(ESP32C3不支持SD卡独立SPI总线! SD_MOSI和SD_SCLK沿用EPDMOSI和EPDSCLK)<br/>");
@@ -770,7 +770,7 @@ const PROGMEM char ReadguyDriver::index_cn_html[] = // then write EpdMOSI pin
"将引脚配置输入到框内, 即可成功点亮屏幕.</p><hr/><h2>引脚定义设定</h2><form "
"name=\"input\" action=\"/verify\" method=\"POST\">";
const PROGMEM char ReadguyDriver::index_cn_html2[] =
#if (!defined(ESP8266) && !defined(CONFIG_IDF_TARGET_ESP32C3))
#if (!defined(ESP8266) && !defined(READGUY_IDF_TARGET_WITHOUT_FSPI))
"<input type=\"checkbox\" name=\"share\" value=\"1\">墨水屏和SD卡共享SPI<br/>"
#endif
"E-paper 型号<select id=\"et\" onchange=\"ct()\" name=\"epdtype\">";

File diff suppressed because it is too large Load Diff