ver 1.3.6: fix post-release bugs

This commit is contained in:
fsender
2024-03-12 00:58:08 +08:00
parent 558b847a3d
commit 86de2fb12a
4 changed files with 32 additions and 11 deletions

View File

@@ -41,21 +41,21 @@
class readguyImage{
public:
readguyImage(ReadguyDriver &_guy):guy(&_guy){}
readguyImage(ReadguyDriver &_guy):guy(&_guy){
w=guy->width(); h=guy->height();
}
/** @brief 显示图像. use16grey: 为true则使用16灰度,false则不用
* @note 需要提前设置绘制参数, 直接在类的外部 设置此类的成员函数即可.
* 对于不会C++的朋友们, 可以看示例.
* @note 需要提前设置绘制参数, 直接在类的外部 设置此类的成员函数即可. 对于不会C++的朋友们, 可以看示例.
* 注意该函数会调用 guy.display 来刷屏, 因此
* @param baseFs, filename 文件系统和文件名. 必须指定.
* @param x, y 显示在屏幕的什么地方
*
* @param use16grey 0: 使用单色抖动 1:使用16灰度 2:使用16灰度但不抖动
* @param use16grey 0: 使用单色抖动 1:使用16灰度 (如果要开关抖动则需要用setGreyQuality设置)
* */
void drawImageFile(bool use16grey = 0);
/** @brief 将图像绘制到系统缓存内. 必须预分配内存, 并且需要知道分配的大小.
* @note 需要提前设置绘制参数, 直接在类的外部 设置此类的成员函数即可.
* 对于不会C++的朋友们, 可以看示例.
* @note 需要提前设置绘制参数, 直接在类的外部 设置此类的成员函数即可. 对于不会C++的朋友们, 可以看示例.
* 注意该函数会调用 guy.display 来刷屏
* @param baseFs, filename 文件系统和文件名. 必须指定.
* @param x, y 显示在屏幕缓存的什么地方
* @param w, h 开辟的缓存宽度和高度. 最好是和图片的大小相匹配.

View File

@@ -81,7 +81,9 @@ void drv::drv_dispWriter(std::function<uint8_t(int)> f,uint8_t m){ //单色刷
}
}
}
yield();
}
delay(50);
}
void drv::drv_sleep() {}
}

View File

@@ -177,14 +177,17 @@ const char *ReadguyDriver::epd_drivers_list[EPD_DRIVERS_NUM_MAX]={
//x==62 -> _
//#define R2CHAR(x) (((x)==63)?42:(((x)==62)?95:(((x)>=36)?((x)+61):(((x)>=10)?((x)+55):((x)+48)))))
void ReadguyDriver::ap_setup(){
return ap_setup("readguy","12345678");
}
void ReadguyDriver::ap_setup(const char *ssid, const char *pass, int m){
//初始化WiFi AP模式, 用于将来的连接WiFi 处于已连接状态下会断开原本的连接
WiFi.mode(WIFI_AP);
if(m>=0 && m<=3) WiFi.mode((WiFiMode_t)m); //有时候还需要STA+AP或者是一开始就确定好了wifi模式
IPAddress local_IP(192,168,4,1);
IPAddress gateway(192,168,4,1);
IPAddress subnet(255,255,255,0);
WiFi.softAPConfig(local_IP, gateway, subnet);
WiFi.softAP("readguy","12345678");
Serial.println(F("[Guy AP] ap_setup SSID: readguy, Pass: 12345678"));
WiFi.softAP(ssid,pass);
Serial.printf_P(PSTR("[Guy AP] ap_setup SSID: %s, Pass: %s\n"),ssid,pass);
}
void ReadguyDriver::server_setup(const String &notify, const serveFunc *serveFuncs, int funcs){
//启动WiFi服务器端, 这样就可以进行配网工作

View File

@@ -163,6 +163,16 @@
#define READGUY_SLOW_END 4
#define READGUY_FAST_END 5
//按键行为 下一个 上一个 确定 返回/退出 特殊操作(如切换输入法)
//1个按键 返回 1=点按 2=双击 4=长按 8=三击 3=点按后接长按
//2个按键 返回 1=左键点按 2=左键长按 4=右键点按 8=右键长按 3=按住左键点按右键
//3个按键 返回 1=右键点按 2=左键点按 4=中键点按 8=中键长按 3=中间按键双击(需手动开启)
#define GUY_BTN_PREV 1 //上一个
#define GUY_BTN_NEXT 2 //下一个
#define GUY_BTN_SPECIAL 3 //确定 选择
#define GUY_BTN_OK 4 //返回/退出
#define GUY_BTN_BACK 8 //特殊操作(如切换输入法)
class ReadguyDriver: public LGFX_Sprite{ // readguy 基础类
public:
#ifdef READGUY_ESP_ENABLE_WIFI
@@ -247,6 +257,11 @@ class ReadguyDriver: public LGFX_Sprite{ // readguy 基础类
} serveFunc;
/// @brief 初始化WiFi AP模式, 用于将来的连接WiFi 处于已连接状态下会断开原本的连接
void ap_setup();
/*** @brief 初始化WiFi AP模式, 用于将来的连接WiFi 可以自定义模式切换的函数
* @param ssid 设置ap的名称
* @param pass 设置ap的密码
* @param m WiFi模式 */
void ap_setup(const char *ssid, const char *pass, int m=(int)WIFI_AP);
/// @brief 初始化WiFi AP模式, 用于将来的连接WiFi 处于已连接状态下会断开原本的连接
void server_setup(const String &notify=emptyString, const serveFunc *serveFuncs = nullptr, int funcs = 0);
bool server_loop();
@@ -260,6 +275,7 @@ class ReadguyDriver: public LGFX_Sprite{ // readguy 基础类
} serveFunc;
/// @brief 初始化WiFi AP模式, 用于将来的连接WiFi 处于已连接状态下会断开原本的连接
void ap_setup(){}
void ap_setup(const char *ssid, const char *pass, int m=2){}
/// @brief 初始化服务器模式, 用于将来的连接WiFi 处于已连接状态下会断开原本的连接
void server_setup(const String &notify=emptyString, const serveFunc *serveFuncs = nullptr, int funcs = 0){}
bool server_loop(){ return true; }