lv_lib_100ask_2048
介绍
lv_100ask_2048 特性:
自定义大小
支持触摸手势控制(上、下、左、右滑动)
支持按键控制(LV_KEY_UP、LV_KEY_DOWN、LV_KEY_LEFT、LV_KEY_RIGH)
获取游戏分数
获取游戏状态
获取当前合成的最好方块
开始新的游戏
more todo...
lv_100ask_2048 使用起来非常简单,后续自定义拓展功能也很方便,更多新功能敬请期待。
lv_lib_100ask_2048
lv_100ask_2048 特性:
自定义大小
支持触摸手势控制(上、下、左、右滑动)
支持按键控制(LV_KEY_UP、LV_KEY_DOWN、LV_KEY_LEFT、LV_KEY_RIGH)
获取游戏分数
获取游戏状态
获取当前合成的最好方块
开始新的游戏
more todo...
lv_100ask_2048 使用起来非常简单,后续自定义拓展功能也很方便,更多新功能敬请期待。
lv_100ask_file_explorer 是一个基于 lvgl 的简洁、通用的文件浏览器的轻量级实现。
lv_100ask_file_explorer_simple_test_v1.zip
lv_100ask_file_explorer 特性:
lv_100ask_file_explorer
使用起来非常简单,后续自定义拓展功能也很方便,更多新功能敬请期待!
参考 lv_lib_100ask/test/lv_100ask_file_explorer 的示例。
深入了解:
lv_100ask_file_explorer原仓库地址:
lv_100ask_text_reader接口:
/**********************
* GLOBAL PROTOTYPES
**********************/
lv_obj_t * lv_100ask_text_reader_create(lv_obj_t * parent);
/*=====================
* Setter functions
*====================*/
void lv_100ask_text_reader_set_file(lv_obj_t * obj, const char * file_name);
/*=====================
* Getter functions
*====================*/
lv_obj_t * lv_100ask_text_reader_get_label(lv_obj_t * obj);
uint32_t lv_100ask_text_reader_get_total_pages(lv_obj_t * obj);
uint32_t lv_100ask_text_reader_get_current_page(lv_obj_t * obj);
/*=====================
* Other functions
*====================*/
bool lv_100ask_text_reader_open_next_page(lv_obj_t * obj);
bool lv_100ask_text_reader_open_previous_page(lv_obj_t * obj);
bool lv_100ask_text_reader_goto_page(lv_obj_t * obj, uint32_t page);
目前正在将(lv_100ask_text_reader)应用在DShanMCU-Mio的电子纸阅读器上,当我完成之后会向大家分享我的代码 (预计这两周之内完成) :
希望大家喜欢这个项目!:)
lv_100ask_text_reader接口:
/**********************
* GLOBAL PROTOTYPES
**********************/
lv_obj_t * lv_100ask_text_reader_create(lv_obj_t * parent);
/*=====================
* Setter functions
*====================*/
void lv_100ask_text_reader_set_file(lv_obj_t * obj, const char * file_name);
/*=====================
* Getter functions
*====================*/
lv_obj_t * lv_100ask_text_reader_get_label(lv_obj_t * obj);
uint32_t lv_100ask_text_reader_get_total_pages(lv_obj_t * obj);
uint32_t lv_100ask_text_reader_get_current_page(lv_obj_t * obj);
/*=====================
* Other functions
*====================*/
bool lv_100ask_text_reader_open_next_page(lv_obj_t * obj);
bool lv_100ask_text_reader_open_previous_page(lv_obj_t * obj);
bool lv_100ask_text_reader_goto_page(lv_obj_t * obj, uint32_t page);
目前正在将(lv_100ask_text_reader)应用在DShanMCU-Mio的电子纸阅读器上,当我完成之后会向大家分享我的代码 (预计这两周之内完成) :
希望大家喜欢这个项目!:)
执行 make menuconfig
进入到 > Kernel Setup > Subsystem support > 100ASK Components Support --->
打开 [*] SPI E-paper display Test
:
然后执行 make -j8 && pack
进行编译。
使用全志官方 PhoenixSuit 烧写烧写上一步编译打包好的镜像文件 melis_d1s-nezha_uart0_8Mnor.img
烧写工具使用参考: https://dongshanpi.com/DongshanNezhaSTU/03-QuickStart/#spi-nand
查看 D1s-Melis/ekernel/subsys/melis-learn/05_spi_epd_test/README.md
了解如何接线。
确保接线无误之后,我们进入到 DongshanPi-D1s 的串口控制台,执行 help
命令,将会看到最后面多出了一个命令选项:
msh /> help
...
...
100ask_test_spi_epd - Code to spi E-paper display test
执行 100ask_test_spi_epd
,将会看到屏幕将会依次全屏刷新显示 黑、白 两种颜色:
msh />100ask_test_spi_epd
SPI E-paper display: https://item.taobao.com/item.htm?id=683875901407
TODO. 这里有一个问题,按照程序理想的现象应该是这样:依次全屏刷新显示 黑、白 两种颜色,然后全屏刷新一张图片,最后局部刷新十次。如果你解决了问题,非常期待你的分享!
源码位于: D1s-Melis/ekernel/subsys/melis-learn/05_spi_epd_test
执行 make menuconfig
进入到 > Kernel Setup > Subsystem support > 100ASK Components Support --->
打开 [*] SPI LCD Test
:
然后执行 make -j8 && pack
进行编译。
使用全志官方 PhoenixSuit 烧写烧写上一步编译打包好的镜像文件 melis_d1s-nezha_uart0_8Mnor.img
烧写工具使用参考: https://dongshanpi.com/DongshanNezhaSTU/03-QuickStart/#spi-nand
查看 D1s-Melis/ekernel/subsys/melis-learn/04_spi_lcd_test/README.md
了解如何接线。
确保接线无误之后,我们进入到 DongshanPi-D1s 的串口控制台,执行 help
命令,将会看到最后面多出了一个命令选项:
msh /> help
...
...
100ask_test_spi_lcd - Code to spi lcd test
执行 100ask_test_spi_lcd
,将会看到屏幕将会一次全屏刷新显示 红、绿、蓝、白 四种颜色:
msh />100ask_test_spi_lcd
SPI tft lcd屏幕: https://item.taobao.com/item.htm?id=683875901407
源码位于: D1s-Melis/ekernel/subsys/melis-learn/04_spi_lcd_test
执行 make menuconfig
进入到 > Kernel Setup > Subsystem support > 100ASK Components Support --->
打开 [*] Fc joypad Test
:
然后执行 make -j8 && pack
进行编译。
使用全志官方 PhoenixSuit 烧写烧写上一步编译打包好的镜像文件 melis_d1s-nezha_uart0_8Mnor.img
烧写工具使用参考: https://dongshanpi.com/DongshanNezhaSTU/03-QuickStart/#spi-nand
查看 D1s-Melis/ekernel/subsys/melis-learn/03_fc_joypad_test/README.md
了解如何接线。
确保接线无误之后,我们进入到 DongshanPi-D1s 的串口控制台,执行 help
命令,将会看到最后面多出了一个命令选项:
msh /> help
...
...
100ask_test_fc_joypad - Code to fc joypad test
执行 100ask_test_fc_joypad
,按下手柄上的按钮,控制台将会告诉你按下的是哪一个按钮:
msh />100ask_test_fc_joypad
Key FC_JOYPAD_BTN_A is pressed!
Key FC_JOYPAD_BTN_B is pressed!
Key FC_JOYPAD_BTN_START is pressed!
Key FC_JOYPAD_BTN_SELECT is pressed!
Key FC_JOYPAD_BTN_UP is pressed!
Key FC_JOYPAD_BTN_DOWN is pressed!
Key FC_JOYPFC_JOYPAD_BTN_LEFT is pressed!
Key FC_JOYPAD_BTN_RIGHT is pressed!
Key FC_JOYPAD_BTN_B is pressed!
......
源码位于: D1s-Melis/ekernel/subsys/melis-learn/03_fc_joypad_test
执行 make menuconfig
进入到 > Kernel Setup > Subsystem support > 100ASK Components Support --->
打开 [*] Button Test
:
然后执行 make -j8 && pack
进行编译。
使用全志官方 PhoenixSuit 烧写烧写上一步编译打包好的镜像文件 melis_d1s-nezha_uart0_8Mnor.img
烧写工具使用参考: https://dongshanpi.com/DongshanNezhaSTU/03-QuickStart/#spi-nand
查看 D1s-Melis/ekernel/subsys/melis-learn/02_button_test/README.md
了解如何接线。
确保接线无误之后,我们进入到 DongshanPi-D1s 的串口控制台,执行 help
命令,将会看到最后面多出了两个命令选项:
msh /> help
...
...
100ask_test_button_switch - Code to Control LED light through button(switch)
100ask_test_button - Code to monitor button status
执行 100ask_test_button
,按下我们的按钮将会看到LED被点亮,松开按钮LED熄灭:
msh />100ask_test_button
执行 100ask_test_button_switch
,按下我们的按钮将会看到LED被点亮,松开后再按一次按钮LED熄灭:
msh />100ask_test_button_switch
源码位于: D1s-Melis/ekernel/subsys/melis-learn/02_button_test
执行 make menuconfig
进入到 > Kernel Setup > Subsystem support > 100ASK Components Support --->
打开 [*] LED Test(control/blink led)
:
然后执行 make -j8 && pack
进行编译。
使用全志官方 PhoenixSuit 烧写烧写上一步编译打包好的镜像文件 melis_d1s-nezha_uart0_8Mnor.img
烧写工具使用参考: https://dongshanpi.com/DongshanNezhaSTU/03-QuickStart/#spi-nand
查看 D1s-Melis/ekernel/subsys/melis-learn/01_led_test/README.md
了解如何接线。
确保接线无误之后,我们进入到 DongshanPi-D1s 的串口控制台,执行 help
命令,将会看到最后面多出了一个命令选项:
msh /> help
...
...
100ask_test_blink_led - Code to blink LED
继续执行 100ask_test_blink_led
,将会看到LED被点亮并且闪烁起来,我们可以指定闪烁的的频率:
msh />100ask_test_blink_led
uasge : 100ask_blink_led [time(ms)], eg:100ask_blink_led 500
msh />100ask_test_blink_led 500
before pull state : 3, dir : 7, data :0x0
after pull state : 3, dir : 1, data :0x0
msh />
源码位于: D1s-Melis/ekernel/subsys/melis-learn/01_led_test
全志Melis 操作系统是由全志科技自主研发的一套精简、高效、易用的实时多任务操作系统,有着完善的内存管理、模块管理、中断管理、时钟管理、设备管理以及功耗管理。开发者可以基于 Melis 操作系统规划自己的方案,自由地开发应用程序和扩展设备驱动。
本系列教程基于 DongshanPi-D1s 开发板以及 melis4.0 编写。
进入到下面git仓库的页面,查看 README 文档,了解如何在 DongshanPi-D1s 上运行全志 Melis RTOS 系统。
上面的 README 文档中有详细的教程,当你能编译出镜像并且成功烧写运行之后,获取教程的学习资料并准备好:
建议 clone git 仓库,便于后续获取最新版本。
仓库中的 README.md 文档有详细的教程,我们只需要先将 melis-learn
目录放在 melis4.0/ekernel/subsys/
的目录下,然后按照 README.md 文档的说明操作即可。
注意,放在
melis4.0/ekernel/subsys/
的目录下必须是melis-learn
命名的文件夹,不可以是比如melis-learn-master
,除非你了解怎么适配。
到此位置,我们已经将所有的准备工作做好了,下面我们一起来看看后面更多的教程吧!
lv_100ask_file_explorer已合入LVGL主线仓库。
深入了解:
lv_100ask_file_explorer原仓库地址:
深入了解:
lv_100ask_file_explorer原仓库地址: