mirror of
https://github.com/fsender/readguy.git
synced 2025-12-15 22:28:11 +08:00
First release commit
This commit is contained in:
143
extra/examples/ex02_oldDemo/main.cpp
Normal file
143
extra/examples/ex02_oldDemo/main.cpp
Normal file
@@ -0,0 +1,143 @@
|
||||
/******************** F r i e n d s h i p E n d e r ********************
|
||||
* 本程序隶属于 Readguy 开源项目, 请尊重开源开发者, 也就是我FriendshipEnder.
|
||||
* 如果有条件请到 extra/artset/reward 中扫描打赏,否则请在 Bilibili 上支持我.
|
||||
* 项目交流QQ群: 926824162 (萌新可以进来问问题的哟)
|
||||
* 郑重声明: 未经授权还请不要商用本开源项目编译出的程序.
|
||||
*
|
||||
* @file oldDemo/main.cpp
|
||||
* @author FriendshipEnder (f_ender@163.com), Bilibili: FriendshipEnder
|
||||
* @version 1.0
|
||||
* @date 2023-09-19
|
||||
* @brief 旧版的功能演示.
|
||||
* 将根目录下的data文件夹 上传到LittleFS之后运行效果更佳
|
||||
* 或者可以准备一张SD卡,并准备在卡的根目录下放置data文件夹内的文件.
|
||||
* 用于演示BMP格式图片灰度显示.
|
||||
*
|
||||
* @attention
|
||||
* Copyright (c) 2022-2023 FriendshipEnder
|
||||
*
|
||||
* Apache License, Version 2.0
|
||||
*
|
||||
* Licensed under the Apache License, Version 2.0 (the "License");
|
||||
* you may not use this file except in compliance with the License.
|
||||
* You may obtain a copy of the License at
|
||||
*
|
||||
* http://www.apache.org/licenses/LICENSE-2.0
|
||||
*
|
||||
* Unless required by applicable law or agreed to in writing, software
|
||||
* distributed under the License is distributed on an "AS IS" BASIS,
|
||||
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
||||
* See the License for the specific language governing permissions and
|
||||
* limitations under the License.
|
||||
*/
|
||||
#include <Arduino.h>
|
||||
#include "guy_driver.h"
|
||||
const char HelloArduino[] = "Hello Arduino!";
|
||||
const char HelloEpaper[] = "Hello E-Paper!";
|
||||
|
||||
readguy_driver guy;
|
||||
void helloWorld(int i,int j)
|
||||
{
|
||||
bool full=1;
|
||||
if(i>=1000){
|
||||
i-=1000;
|
||||
full=0;
|
||||
}
|
||||
Serial.printf("[%lu] helloWorld: %d, %d\n",millis(),i,j);
|
||||
guy.setFont(&FreeMonoBold9pt7b);
|
||||
guy.setTextColor(0,1);
|
||||
//display.fillScreen(GxEPD_WHITE);
|
||||
guy.setCursor(i,j);
|
||||
guy.print("Hello");
|
||||
if(!full) guy.print("Full");
|
||||
//guy.g().drawString(HelloWorld,i,j);
|
||||
guy.display(full); // full update
|
||||
Serial.printf("[%lu] helloWorld done\n",millis());
|
||||
}
|
||||
//TaskHandle_t press2reset_h=nullptr;
|
||||
void press2reset_f(void *pv){
|
||||
pinMode(36,INPUT_PULLUP);
|
||||
for(;;){
|
||||
if(!digitalRead(36)) ESP.restart();
|
||||
delay(10);
|
||||
}
|
||||
}
|
||||
void setup()
|
||||
{
|
||||
Serial.begin(115200);
|
||||
Serial.println("setup");
|
||||
//xTaskCreate(press2reset_f,"press2reset",1024,nullptr,1,&press2reset_h);
|
||||
guy.init();
|
||||
//pinMode(32,INPUT);
|
||||
delay(100);
|
||||
// first update should be full refresh
|
||||
helloWorld(10,10);
|
||||
helloWorld(10,30);
|
||||
|
||||
LGFX_Sprite sp(&guy);
|
||||
sp.createFromBmpFile(guy.guyFS(),"/test.bmp");
|
||||
Serial.printf("sp.w: %d, h: %d, res: %d.\n",sp.width(),sp.height(),ESP.getFreeHeap());
|
||||
guy.drawImage(sp,30,10);
|
||||
Serial.printf("drawn dithering bmp.\n");
|
||||
delay(2500);
|
||||
guy.draw16grey(sp,30,10);
|
||||
Serial.printf("drawn.\n");
|
||||
delay(5000);
|
||||
|
||||
guy.fillScreen(1);
|
||||
helloWorld(1010,50);
|
||||
helloWorld(10,70);
|
||||
guy.fillScreen(1);
|
||||
helloWorld(10,90);
|
||||
guy.fillScreen(1);
|
||||
helloWorld(10,140);
|
||||
guy.fillScreen(1);
|
||||
guy.drawChar(10,40,'a',true,false,2);
|
||||
helloWorld(10,160);
|
||||
helloWorld(1010,10);
|
||||
helloWorld(1040,30);
|
||||
guy.sleepEPD();
|
||||
delay(2000);
|
||||
helloWorld(1010,50);
|
||||
helloWorld(20,70);
|
||||
helloWorld(30,90);
|
||||
guy.fillScreen(1);
|
||||
helloWorld(40,110);
|
||||
guy.setDepth(10); //设置颜色深度
|
||||
helloWorld(38,126);
|
||||
guy.setDepth(6);
|
||||
helloWorld(36,142);
|
||||
guy.setDepth(2);
|
||||
helloWorld(38,158);
|
||||
|
||||
guy.setDepth(0); //恢复正常颜色深度
|
||||
guy.fillScreen(1);
|
||||
guy.display(0); //慢刷清屏
|
||||
guy.setFont(&fonts::Font0);
|
||||
for(int i=1;i<16;i++){
|
||||
guy.setDepth(i); //灰度测试
|
||||
guy.fillRect(10,i*10,20,10,0);
|
||||
guy.setCursor(32,i*10);
|
||||
guy.printf("Grey%d",i);
|
||||
guy.display();
|
||||
}
|
||||
delay(3000);
|
||||
guy.fillScreen(0);
|
||||
guy.display();
|
||||
guy.drawLine(0,0,guy.width(),guy.height(),1);
|
||||
guy.display();
|
||||
Serial.println("Reading touch sensor...");
|
||||
//guy.ap_setup();
|
||||
//guy.server_setup();
|
||||
}
|
||||
int bright=128;
|
||||
void loop(){
|
||||
//guy.server_loop();
|
||||
delay(10);
|
||||
if(bright%7==0){
|
||||
Serial.printf("getBtn: %d\n",guy.getBtn());
|
||||
}
|
||||
if(bright==511) bright=0;
|
||||
else bright++;
|
||||
guy.setBright(bright>=256?511-bright:bright);
|
||||
}
|
||||
Reference in New Issue
Block a user