# FlyThings_Lite_IDE_User_Manual **Repository Path**: roger_cwf/FlyThings_Lite_IDE_User_Manual ## Basic Information - **Project Name**: FlyThings_Lite_IDE_User_Manual - **Description**: FlyThings_Lite_IDE_User_Manual - **Primary Language**: Unknown - **License**: Not specified - **Default Branch**: main - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 0 - **Forks**: 3 - **Created**: 2021-01-22 - **Last Updated**: 2021-06-20 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README # 入门须知 对于新手,这里提供了一份入门指南。 ## 工具篇 1. 在开始使用我们的屏之前,得先把开发工具安装好; 2. 打开工具,简单的熟悉一下开发环境,可以尝试着新建个工程,浏览一下有哪些内容,不必深究里边的细节; 3. 新建的工程UI上面是没有东西的,我们可以先拖放个文本控件上去,然后编译、运行到我们的屏上看效果; 4. 我们已经提供了大量的样例代码,选择相应平台尺寸的代码包下载下来,解压出来,导入到工具里边;工程比较多,这些后边章节会具体介绍,这里我们可以选择自己感兴趣的例子运行到我们的屏上看效果;
至此,工具的简单使用相信你也就会了; ## 规则篇 熟悉了一下工具后,我们接下来再来了解一下这屏的开发规则;
1. 了解工程的目录结构,可以知道工程包含了哪些内容,我们的代码、UI及资源分别存放在什么目录下; 2. 接下来我们再来了解一下哪些内容是工具自动生成的,UI文件与源码之间是怎样的一个对应关系以及UI上面的控件命名规则;了解了这些之后,我们就清楚自己的代码需要填在什么地方,怎么操作控件; ## 控件篇 开发界面,离不开各个控件的使用,在文档的导航栏里,有专门的大章介绍各个控件的使用 —— **控件介绍**; # 搭建开发环境 ## 安装FlyThings Lite IDE ![安装](images/安装.gif) # 初次使用FlyThings Lite 集成开发工具 如果你已经成功安装了FlyThings Lite IDE,那么在你的桌面上,找到 ![FlyThings Lite IDE快捷方式](images/图标1.png) 快捷方式,双击运行。 如果你删除了快捷方式,你还可以在安装目录中的`bin`文件夹下,找到 ![fyide.exe](images/图标2.png) 直接运行。 ## 选择工作空间 当你运行工具之后会弹出如下界面。 **工作空间** 用于存储相关设置及历史纪录,你可以将它理解为一个容器,它可以同时管理多个项目,这样不用同时运行多个开发工具。 ![选择工作空间](images/新建工作空间.gif) ## 软件更新 默认IDE每次启动时会检查更新,也可以手动通过菜单栏 **帮助 -> 检查更新** 手动检测更新。 ![检查更新](images/更新.gif) # FlyThings Lite IDE 工作区域使用介绍 当你新建项目完成后,你将看到如下界面 ![新建项目完成后的界面](images/新建项目后的界面.png) 编辑器大致分为六个区域。分别的作用如下: 1. **① 区域 - 项目资源管理器** 它将项目文件夹内的资源文件、代码文件等以树形图的形式显示。你可以自由展开/收起,双击文件可以直接打开编辑。具体演示如下: ![项目展开/收起](images/项目展开收起.gif) 2. **② 区域 - UI编辑框** 主要负责UI界面的编辑和即时预览,他是开发中主要的操作区域 3. **③ 区域 - 控件画板** 它包含了所有内置的控件,你可以点击选择需要的的控件,将其拖拽到 **②区域** 即可完成控件的创建。具体演示如下: ![创建控件演示](images/创建控件演示.gif) 4. **④ 区域 - 属性表** 当你在 **区域②** 中选择了某个控件后,它的所有属性将在这里以表格的形式显示,你可以在表格中自定义修改。例如修改文字大小,具体演示如下: ![修改属性演示](images/修改属性演示.gif) 5. **⑤ 区域 - 大纲视图** 它将已经创建的所有控件以树形图的形式展示;同样支持自由展开/收起; 可以清晰的了解控件之间的层级关系;并且可以直接拖拽某个节点,快速调整层级位置;双击节点可以快速显示/隐藏控件,这个在层级关系复杂后,非常好用。 具体演示如下: ![大纲视图演示](images/大纲视图演示.gif) 6. **⑥ 区域 - 控制台** 编译代码时,这个位置将输出编译日志。 ![控制台输出](images/控制台输出.png) 有了以上的基础后,现在,我们可以正式开始开发。 # 如何新建FlyThings Lite项目 新建一个FlyThings Lite项目十分简单。具体步骤如下: 1. 在编辑器顶部的菜单栏中,依次选择 **文件 -> 新建 -> FlyThings for MCU Project**,将弹出 **FlyThings创建向导** 提示框。 ![新建项目](images/新建项目.gif) 按要求填写新建项目相关的参数。 这些参数分别是: * **项目名** 项目的名称;可以是字母、数字的组合,不能出现中文及空格。 * **位置** 项目的存储路径;同样不推荐路径中出现中文,防止编译异常。 * **平台** 根据购买的MCU选择相应的平台,目前有 - **SWM32s** - **SWM19s** 根据使用的屏幕选择相应的分辨率,也可以手动输入分辨率。 规范填写如上必须参数后,你可以直接选择 **完成** ,来快速完成创建。 2. 项目创建完成后,你应该先了解FlyThings Lite项目代码结构介绍。 # 如何导入FlyThings Lite项目 我们可以将下载的示例代码导入到目前的工作空间中。 导入步骤如下。 1. 找到工具顶部的菜单栏,依次选择菜单 **文件** -> **导入** 。 2. 在弹出框中, 依次选择 **常规** -> **现有项目到工作空间中**, 再选择 **下一步**。 3. 在弹出框中 选择 **浏览** 按钮,指定需要导入项目的文件夹。 点击 **确定**, 它会自动解析文件夹内包含的项目。 4. 如果项目文件没有损坏,你可以看到已经识别出来的项目,然后直接点击 **完成** ,导入的项目就会出现在项目资源管理器中,你可以继续查看/编辑它。 具体导入动画 ![导入项目](images/导入项目.gif) # 如何新建FlyThings Lite UI 文件 新建UI文件与新建FlyThings Lite项目类似。 1. 在工具顶部的菜单栏,依次选择菜单 **文件** -> **新建** -> **FlyThings for MCU UI**。 2. 在弹出框中, 选择文件路径并设置文件名,然后直接点击 **完成** ,新建的UI文件就会出现在项目资源管理器中,你可以继续查看/编辑它。 ![新建UI文件](images/新建UI文件.gif) # 如何模拟器运行 具体步骤是: 在项目资源管理器中,左键选中需要运行的项目名,然后右键,在弹出菜单中,选择 **模拟器运行** 选项即可自动编译该项目。弹出模拟器窗口。操作的动画如下: ![模拟器运行](images/模拟器运行.gif) # 如何下载到MCU 具体步骤是: 1. //TODO 先烧写一个hex文件到MCU。 2. 设置下载串口,一次选择菜单 **窗口** -> **首选项**,在弹出的窗口中选择FlyThings。选择MCU对应的串口,波特率为 **921600**,帧长为 **512**,然后点击**应用并关闭**。操作的动画如下: ![选择串口](images/选择串口.gif) 3. 在项目资源管理器中,左键选中需要下载到MCU的项目名,然后右键,在弹出菜单中,选择 **下载到MCU** 选项即可自动下载该项目。弹出下载窗口。操作的动画如下: ![下载到MCU](images/下载到MCU.gif) 4. 下载完成后复位MCU即可看到运行效果。 # FlyThings Lite项目代码结构介绍 开始编写代码之前,首先要了解一个FlyThings Lite项目的基本构成,然后你就能知道自己的代码应该添加到哪个位置。 对于一个基本的FlyThings项目,它的目录结构是这样的: ![项目结构](images/项目目录结构.png) 大致分为 **resources** 、**src** 、 **ui** 三个文件夹。下面分别解释各个文件夹的作用。 * ## resources 文件夹 这个文件夹的内容就比较简单,主要用来存放项目的各种资源文件,包括 图片、字体文件等。如果你还有其他资源文件也可以添加到该文件夹,该文件夹会完全拷贝到机器中。 但是,由于机器自身存储空间的限制,不建议将大文件存放到该目录。 * ## src 文件夹 该文件夹主要为存放代码文件,她还包含了多个部分的代码。我们将 **src** 文件夹展开 ![src文件夹](images/src文件夹.png) 可以看到,它包含了 **logic**等文件 * ### logic 子文件夹 存放UI文件的基础类代码。每一个UI文件,经过编译后,都会生成相同前缀名的c文件。例如:ui文件夹下有一个 **main.form**,那么经过编译后,会生成 `main.h`、`main.c`文件夹。 > [!Warning] > **强烈推荐不要手动修改 activity 文件夹下的代码,特殊情况除外** * ## ui 文件夹 展开 **ui** 文件夹 ![ui文件夹展开](images/ui文件夹.png) 可以看到默认包含了一个 **main.form** 文件。**form** 是**FlyThings Lite** 项目UI文件的后缀名。每一个 **form** 文件对应一个应用界面。通常,一个应用包含多个界面,所以你需要在 **ui** 文件夹下创建多个 **form** 文件。添加新的 **form** 文件,可以参考 **如何新建FlyThings Lite UI文件**。 为了描述方便,以后的教程中,统一将 **form** 文件称为 **UI文件**。 你可以双击打开 **UI文件** ,并对它进行编辑,并且可以即时预览效果。编辑 **UI** 文件的具体步骤,可以参考**控件介绍**的教程。 编辑结束后,你就可以使用 **模拟器运行** 查看效果。 # 通用属性 在开始介绍各个控件之前,我们先来基本的了解一下控件的一些通用的属性; ## 控件ID值 ID值为控件的唯一标识,每一个form文件里的控件ID值是不允许重名的,不同的form文件里的控件ID值允许重名。 ![通用属性ID](images/通用属性ID.png) ## 控件位置 我们打开任一form文件,选中任一控件,在属性框中,我们可以看到**位置**这一属性,该属性确定了该控件的显示位置。 ![通用属性位置](images/通用属性位置.png) 其中**左上角的坐标值**是相对于父控件左上角位置;
## 是否显示 通过该属性,我们可以设置控件默认是显示还是隐藏状态;双击大纲视图中的控件可以快捷的修改该状态: ![是否显示](images/是否显示.gif) ## 能否触摸 通过该属性,我们可以设置控件默认是可以触摸还是不能触摸: ![能否触摸](images/能否触摸.png) # 静态标签 Label ## 注意 如果不清楚如何修改静态标签的通用属性请参考 ** 通用属性 **。 ## 我需要显示一段文字/标签,怎么办? 如果需要显示文字,利用现有的`静态标签`件就可以快速实现。具体操作步骤如下: 1. 双击打开main.form文件 2. 在右侧控件集合中找到`静态标签`控件 3. 鼠标左键点击`静态标签`控件不放,然后将其拖拽到任意位置,松开左键,就能看到自动生成的静态标签控件。 4. 在`静态标签`属性表中设置文字的内容、字体和大小。 ![创建静态标签](images/创建静态标签.gif) ## 如何修改文字的颜色? 在项目资源管理器中,选择一个UI文件,双击打开; 在预览界面上,找到你要修改的控件,左键点击它,在编辑器的右侧就能看到该控件相应的属性表,这时候你就可以根据需要,填写自定义的属性值,就跟操作Excel一样, 找到你需要修改的属性,然后单击修改。 在静态标签控件中,可以看到有2个表项与颜色属性有关,分别是 * 文字颜色 - 该属性可以设置控件文字的颜色值 * 背景色 - 设置控件整个矩形区域的背景颜色(不会根据控件状态的变化而变化) > [!Note] > **背景色为空时,表示静态标签控件背景透明** 具体示例: ![静态标签颜色](images/静态标签颜色.gif) 上图是属性表颜色部分截图,其表示的含义为:Label2背景颜色设置为透明, 文字的颜色设置为蓝色,Label3背景颜色设置为绿色, 文字的颜色设置为黑色。 # 艺术字 ArtText 我们知道,根据ascii码的定义,`字符 char` 与 `整形 int` 存在着对应关系。比如字符 `0` 的ascii码为`48`。艺术字就是将ascii码映射为图片的一种功能。设置该功能后,当我们显示一个字符串时,系统会尝试将字符串中的每一个字符映射为指定的图片,最终显示一串图片到屏幕上。 > [!Note] > **艺术字控件仅支持ascii码** 1. 设置方法 ![艺术字属性](images/艺术字属性.png) 找到艺术字控件中的 **模式**, 选择右侧的 **自动生成**选项,则软件将使用内置的字体,只有在所有字符中添加过的字符才能够使用,字符可自行添加,仅支持ascii码。 当选择艺术字控件中的 **模式**, 选择右侧的 **自定义**选项,点击右侧的**更多**将弹出艺术字选择框。 ![添加自定义艺术字](images/添加自定义艺术字.png) 选择右上角的 **导入** 按键添加图片到字符集中, 添加图片后,你可以自行修改对应的asc码或者字符作为该图片的映射字符。然后点击 **保存** 2. 如果要验证艺术字集是否添加成功,你可以修改文字,预览图上会同步预览效果。 **注意:如果你设置了特殊字符集,那么系统会尝试将每个字符映射为字符集中指定的图片;如果某个字符没有设置图片的映射,那么这个字符将不会显示到屏幕上。** ## 具体使用 在上面的特殊字符集设置框中,我们已经将字符 0-9 以及 : 冒号 分别映射为图片。 ![艺术字数字](images/艺术字数字.png) ![艺术字效果图](images/艺术字效果图.png) # 按键 Button ## 我需要一个按键/按钮, 如何添加修改属性? 如果需要一个按键/按钮,利用现有的`按键`控件就可以快速实现。具体操作步骤如下: 1. 双击打开UI文件 2. 在右侧控件集合中找到`按键`控件 3. 鼠标左键点击`按键`控件不放,然后将其拖拽到任意位置,松开左键,就能看到自动生成的按键控件。 4. 再左键点击刚才生成的按键控件,在编辑器的右侧就能看到该控件的相关属性。在这个属性表格中,你可以像填写Excel表单一样,自由修改属性! ![创建Button](images/创建Button.gif) ## 如何修改按键的颜色? 按键属性 **使用图片** 选择 **false**,就可以分别设置 **默认颜色** 和 **按下颜色** 了。 ![Button选择颜色](images/Button选择颜色.gif) ## 如何用图片来丰富按键的样式 默认的按钮控件是纯颜色的,看起来有些枯燥。但是可以添加图片对按钮进行美化。 按键属性 **使用图片** 选择 **true**,就可以分别设置 **默认图片** 和 **按下图片** 了。 ![Button选择图片](images/Button选择图片.gif) ## 如何用按键控件实现开关功能 按键属性 **功能** 选择 **开关**,就可以实现开关功能了。 ![Button开关功能](images/Button开关功能.gif) ## 如何用按键控件实现切换页面功能 按键属性 **功能** 选择 **切换页面**,并选择 **目标页** ,就可以实现切换页面功能了。 ![Button切换页面功能](images/Button切换页面功能.gif) # 滑块 ProgressBar ## 如何使用滑块控件? 很多情况下,我们会用到进度条,利用简单的几张图片,我们也能快速达到这样的效果。 1. 首先,我们准备四张资源图片 * 背景图 ![背景图](images/滑块1.png) * 有效图 ![有效图](images/滑块2.png) * 滑块 ![滑块](images/大笑.png) * 滑块按下 ![滑块按下](images/斜眼笑.png) 2. 在编辑器中,创建一个滑块控件,默认的滑块样式是透明的,我们必须为其添加足够的图片资源,它才能正常工作。 在属性表中,我们分别设置**有效图 、滑块常显图片、滑块按下时的图片、背景图** 图片 ![滑块演示](images/滑块演示.gif) 3. 上一步完成后,一个滑块的创建基本完成了。如果想在工具中预览滑块滑动的效果,可以修改 **最大值**属性和**默认进度值**属性。在实时的预览中,你就可以看到滑块游标的位置变化。 # 图片 Image 图片控件比较简单,只需要选择要显示的图片即可。 ![图片演示](images/图片演示.gif) # GIF动画 Animation GIF动画控件实际上是一个图片控件,我们可以利用它简单的显示一张图片。更近一步,如果我们在代码中动态切换控件的背景图,只要切换的时间间隔足够短,那么就能实现动画的效果。 1. 图片资源准备 一段流畅的帧动画必然需要多张图片资源。这里我们已经准备好了,共54张。 ![gif素材](images/gif素材.png) 可以看到每张图片表示一帧,并且根据序号统一命名,这主要是方便后续使用。 >**注意: 系统加载图片时将消耗较多资源, 为了界面运行流畅,强烈建议图片不宜过大。 比如例子中的单张图片大小仅为5KB左右** 将这些图片都拷贝到项目的 **resources** 目录下。你可以在 **resources** 目录下自行创建子文件夹,方便各种图片资源的整理归类。 ![gif源图片](images/gif源图片.png) 2. 创建GIF动画控件 在UI文件中任意创建一个GIF动画控件。并将GIF动画控件的背景图设置为其中一张图片。这里我将第一张图片设置为背景图。这一步仅仅是为了将文本控件的宽高自动调整为图片的宽高,你也可以选择不设置。 完整属性如图: ![gif属性](images/gif属性.png) 3. 编译运行项目 ![gif演示](images/gif演示.gif)