Rose

让机器人、PC、手机、Pad用同一个SDK

SDLThread::clear_msg

ancientcc发表了文章 0 人赞同 0 评论 2023-11-21 20:22:44

clear_msg用于清除等待队列中phandler是@phandler、id是@id的消息。如果@id是MQID_ANY(0xffffffff),那只比较phandler,忽略id,即清除所有目的地是@phandler的消息。SDLThread......查看全部

相机(tcamera)

ancientcc发表了文章 0 人赞同 0 评论 2023-11-20 20:22:50

摄像头是个独占资源,app要统一到一个对象进行管理。这个对象是base_instance中的camera_,类型tcamera。为避免摄像头关掉很快又打开,用完摄像头后,任务是结束了,但camera_不会立即关闭摄像头,而是延长一段时间,这个时长......查看全部

后期地图处理:建墙

ancientcc发表了文章 0 人赞同 0 评论 2023-11-12 14:50:07

建墙只需处理分隔两个房间或走廊的,没必要处理外墙。墙必须真实存在。锚点,或叫固定点,是在旋转或拉伸时,位置保持不变的点。在旋转时,它是旋转中心。 建图时,因为算法缺陷,以及不会走遍房屋,一些本该是墙的地方没生成出来。为避免在导航阶段,机......查看全部

光环(halo)

ancientcc发表了文章 0 人赞同 0 评论 2023-11-11 20:57:04

一次draw时间片,只会画有部分片断落在当前视区的光环。图1中咒术师发射的火球、道士发出的光束都是光环,这些光环是动画一部分。但图中出现的“减速”和数字没用光环,而是用floating_label。图2表示墙的红线,表示位置的箭头,以及旁边的文字......查看全部

字号

ancientcc发表了文章 0 人赞同 0 评论 2021-04-24 10:13:58

在定义一种控件时,各个[text]使用的字号必须一样,即一个控件在各种状态下只能使用一种字号。既然必须一样,字号不是写在[text]内,而是[resolution]层的text_font_size。定义控件用default字号的话,可以省略tex......查看全部

布局建议

ancientcc发表了文章 0 人赞同 0 评论 2023-10-31 20:49:52

尽量不要使用以下事件:松开右键、双击左键。原因是移动平台不支持或不推荐这些操作。原则上不再支持使用水平滚动条,为此尽量不让出现水平滚动。实在避免不了,1)只让小幅滚动,2)界面让有较好提示,举个例子,要在一行显示10个按钮,而每屏最多只能显示两个......查看全部

irc聊天(lobby.cpp、dialogs/chat.cpp)

ancientcc发表了文章 0 人赞同 0 评论 2023-10-27 14:50:01

之前想给rose增加个聊天模块,采用irc协议,lobby.cpp和chat.cpp就用于实现这个这个功能。这是好多年前的事了,现在即使要做聊天,估计不会用irc,但之前界面或许可以给将来用,也就是一直让放着。一旦启动irc模块,会在后台向“ch......查看全部

汉字编码、拼音(chinese.cpp)

ancientcc发表了文章 0 人赞同 0 评论 2023-10-10 21:01:56

chinese.cpp主要处理和汉字编码、拼音有关的任务。 一、资源包中文件1.1 pingyin.rsp。拼音包,放在cert目录下。为让用户可升级,一般放在userdata的cert目录。内容包括三类字符的中文发音:汉字、......查看全部

配置(preferences)

ancientcc发表了文章 0 人赞同 0 评论 2023-09-22 10:13:15

配置是“<key>=<value>”格式,它以着文本存储在一个叫preferences的文件,它存储在小程序的userdata目录根下。在C代码,是用着trose_prefs封装配置。如果要在非主线程读取配置,为和主线程可......查看全部

小程序和app版本兼容问题

ancientcc发表了文章 0 人赞同 0 评论 2023-09-18 21:06:12

小程序版本是编译该小程序时所用的rose库版本。app版本是编译该app时所用的rose库版本。考虑到api变换较大,目前要求小程序版本和app版本必须一样。图1 两处版本兼容从下到上,有两个地方需要考虑版本兼容,一是android内核......查看全部

gettext

ancientcc发表了文章 0 人赞同 0 评论 2023-09-06 15:19:36

gettext有缓存msgstr吗?——有。缓存放在已加载mo链表(_nl_loaded_domains)。dgettext返回的msgstr安全吗?——因为gettext有缓存msgstr,dgettext返回msgstr指向缓存中某个位置,而......查看全部

ttiming代码

ancientcc发表了文章 0 人赞同 0 评论 2023-05-09 11:10:07

一、applet::ttiming::tdisable_stop_timing_lock图1 错误时机调用aplt::tros::request_task图1函数栈是这么形成的。到时间点了,机器人执行控制某个ble设备的定时任务A。首先要导航到设......查看全部

码表(GB2312,Big5,Unicode)

ancientcc发表了文章 0 人赞同 0 评论 2023-03-17 08:30:04

 GB2312 (Simplified Chinese)Big5 (Traditional Chinese)字体编辑用中日韩汉字Unicode编码表Unicdoe【真正的完整码表】对照表(二)汉字Unicode表 ...查看全部

列表的垃圾回收算法

ancientcc发表了文章 0 人赞同 0 评论 2022-10-12 13:44:17

内容网格:程序中用于表示列表的结构。content_grid_表示内容网格。视区:在窗口,由于展示列表的区域不能显示整个列表,当前正被看到的部分称为视区。content_表示视区。视区偏移:视区在列表中偏移,记为item_position_,它的......查看全部

tble:扫描、连接、断开

ancientcc发表了文章 0 人赞同 0 评论 2022-10-10 14:17:00

任一时刻,tble只支持最多连接着一个设备。只要6字节中有一个不是0,tble就认为这是一个有效的mac地址。连接溢出时间固定为10秒。persist_scan_功能是用于持久扫描,即连接着一个peripheral,还要继续扫描。用于一个app要......查看全部

tble:lipdp格式

ancientcc发表了文章 0 人赞同 0 评论 2022-10-09 19:52:23

在收发数据时,像蓝牙,数据往往封装成某种格式的消息。lipdp是用于封装消息的一种格式。这格式名称来自“Leagor IP Discovery Protocol(LIPDP)”。图1 lipdp格式的消息示例图1是数个lipdp格式的消息示例。h......查看全部

tble:任务(task)

ancientcc发表了文章 0 人赞同 0 评论 2022-10-08 21:00:25

tble2是app实现的、从tble派生的类。特征写导致出的反馈,不管这次写的数据有多少,都是一次写对应一个反馈吗?须要增加执行任务的时间溢出机制。 任务由一组有序的操作组成,操作可能是notify特征、写特征或读特征。一个tble::......查看全部

错误处理、加载*.lua文件

ancientcc发表了文章 0 人赞同 0 评论 2022-10-05 09:20:04

关于lua_kernel_base::lua_kernel_base参考“初始化lua环境”。lua_pcall时,会把db_traceback设为错误处理函数,功能是根据运行现场,补上更多出错时信息,让开发者能更容易定位错误。除了第一个pack......查看全部

导航+摄像头(测距)+机械臂执行逻辑

ancientcc发表了文章 0 人赞同 0 评论 2022-07-25 14:34:57

示例目标:用户在小程序单击navigation_goal_按钮后,把机器人导航到目标物“moveit”,并操作机械臂夹起目标物。图1 导航+摄像头(测距)+机械臂1、(小程序)navigation_goal_:set_did_navig......查看全部

tprogress_

ancientcc发表了文章 0 人赞同 0 评论 2022-07-22 21:24:06

文中鼠标焦点泛指接收输入设备的事件,输入设备包括鼠标、键盘。阻塞式任务是必须立即执行的任务。静默认任务是可以延缓执行的任务,它必须放在定时器中。由于静默任务的hidden_ms内不处理SDL事件、不调用定时器,hidden_ms不能设得太长,最大......查看全部

控件事件:mouse相关

ancientcc发表了文章 0 人赞同 0 评论 2022-07-22 14:02:21

鼠标跟随。app会遇到这么种需要,当鼠标是拖着离开A控件,而且希望把后面的鼠标事件(motion、up)导向A,这种情形称为鼠标正跟随A控件,简称鼠标跟随,相应地,控件A称为鼠标跟随控件。举个例子,正在编写一个通过拨针转圈方法、然后修改时间的钟盘......查看全部

api层:多线程、thttp_agent

ancientcc发表了文章 0 人赞同 0 评论 2022-06-20 15:46:18

在实现这里提供的api时,用的都是chromium中技术。一、net::tworkertworker是rose提供一个类,封装了线程创建、销毁等操作。它位于net命名空间。使用时就两条语句:创建tworker实例、销毁tworker实例。创建tw......查看全部

操作系统:android

ancientcc发表了文章 1 人赞同 2 评论 2022-06-01 10:22:41

在编译android下的launcher前,请先根据“开始机器人开发”写的,在win10下编译出studio,并运行studio,导入launcher私有包,这时在projectfiles/android才会有launcher目录。而且,此时不建......查看全部

drivers.cpp

ancientcc发表了文章 0 人赞同 0 评论 2022-05-26 20:39:03

tsettings::post_show()为什么要调用base_driver_.set_slot(null_str, nullptr)?——让refresh()可能会出现的卸载libroseaplt.so前,能安全调用“delete slot”......查看全部

测试rose_ros

ancientcc发表了文章 1 人赞同 0 评论 2022-05-08 09:09:39

这里的测试代码,都是跨平台的,即windows、android一样。但为有好的调试环境,着重用windows下的visual studio。进入测试前,一定要先编译出launcher.exe。 一、Ros通信机制:topic、servi......查看全部

家用机器人系统软件

ancientcc发表了文章 0 人赞同 0 评论 2020-12-14 15:09:47

演示视频、已支持硬件,见“兰栖科技”。 一、功能室内自主巡逻,针对不同位置执行不同动作。小程序实现这些动作。用机械臂实现各样操作。像夹取、按(按钮)、拉(门)。以机器人为中心构建家内物联网。在这物联网,不限制智能家居位置,不必买蓝牙网关......查看全部

Launcher+kdesktop

ancientcc发表了文章 0 人赞同 6 评论 2021-01-31 19:59:56

下载源码:launcher-fullsrc-0.1.7-20240418.rar、百度盘网(提取码: 1234)kDesktop:Android: kdesktop-release-0.1.7-20240418.apk iOS: App Stor......查看全部

Rose开源包

ancientcc发表了文章 0 人赞同 2 评论 2022-01-03 09:43:49

本文要严格区分app、小程序。app指的是单独运行的进程,像launcher、kdesktop。小程序则是在app中可以动态加载的一个库,它是Lua和C++混合编程,像Basic。理论上,一个app可同时加载不受数目限制的小程序。为简化写法,有时......查看全部

开始机器人开发

ancientcc发表了文章 0 人赞同 2 评论 2022-01-02 11:29:01

特色使用众多开源包。除机器人较相关的Ros、Cartographer,还有Chromuim、Webrtc、FreeRDP,OpenCV,等。具体有哪些参考“Rose开源包”。涉及到的开源包都已下载到本地,不再须要那些安装过程。Ros已移植到And......查看全部

AES-256加/解密

ancientcc发表了文章 0 人赞同 0 评论 2021-05-19 15:37:32

aes256_encrypt、aes256_decrypt是rose向外提供的aes256加、解密api。void aes256_encrypt(const tuint8data& key, const tuint8data& i......查看全部

4.4.2 config和vconfig

ancientcc发表了文章 0 人赞同 0 评论 2021-04-28 20:09:21

config和vconfig都是C++中的class,vconfig是config为便于lua处理lua-config而新加的class。C++、lua协同处理config,可分为以下步骤。(C++)向lua注册表保存vconfig元表。(C++......查看全部

(MediaCodecVideoDecoder.java)findDecoder

ancientcc发表了文章 0 人赞同 0 评论 2021-03-05 20:04:42

 @mime:对h264,对应值是video/avc。 @supportedCodecPrefixes。查找四条件之三的名称前缀。找到的解码器name必须以该数组之一为前缀。 private static DecoderProperti......查看全部

编译

ancientcc发表了文章 0 人赞同 0 评论 2021-02-26 08:57:43

为方便断点调试、可视化管理,等等,編译OpenCV要通过編写该平台IDE需要的工程文件。Windows是*.sln(Visual Studio),iOS是project.pbxproj(XCode),Android则是*.mk(Andr......查看全部

用Rose构建需要OpenCV的跨平台app

ancientcc发表了文章 0 人赞同 0 评论 2021-02-26 08:51:13

对OpenCV的dnn模块,考虑到Rose已完全内置了TensorFlow Lite,dnn模块只包含微信二维码引擎需要的caffe。虽然OpenCV在机器学习、运动识别方面不如其它sdk,但处理图像几乎已成标准。既然决定内置,目标就不能局限于用......查看全部
让机器人、PC、手机、Pad用同一个SDK