DMX配置文件生成工具使用举例

最新软件版本: MaintainTool-v0.0.1-20241107.

如所用软件低于该版本,本文档描述可能有所差异,请索取最新版本软件再阅读本文档.

(软件右上角处查看软件版本)

一、基础知识

这里结合一个示例工程来进行说明.

所用灯带: 使用两种型号的线条灯, XT1(一米八段,即8个像素点), XT1b(一米两段,即2个像素点).  两种线条灯都是RGBW类型.

布局方式: 使用这两种型号的线条灯, 围绕楼体一圈, 一圈一共1128个像素点.   考虑电源及布线使用两个DMX控制器, 分别命名为A和B,这里都使用每个控制器的后5个端口即Port4~Port8.

总体效果如下所示(图中的一些标注在后续说明):

1.灯矩阵

        示例工程中,以左上角(即楼体的北立面与东立面交界点)作为这一圈像素点的起点,然后顺时针方向来对像素点做索引定位(即像素点1~1128).  

        如果我们把这一圈像素点拉直并二维化,那就可以得到一个(宽1128x高1)的点阵(也可以理解为列1128x行1的点阵).----->这里就将其称之为一个灯矩阵.

        其中每个像素点在这个点阵里面有一个(x,y)坐标,  比如左上角点 坐标为(x=1,y=1),右上角 点坐标为(x=202,y=1).

2.灯单元

  示例工程中每个色块表示一个灯单元,如左上角红色的这个"b+15"灯单元,一个XT1b+15个XT1连接而成,这个"b+15"灯单元有2*1+8*15=122个像素点,每个像素点颜色通道为RGBW即一个像素点占4个DM512通道.

        DMX512编址:为这个"b+15"灯单元进行DMX512编址1~244.    这里根据DMX512的通道地址前面提到的(宽1128x高1)像素点阵中点的对应关系, 有两种编址方向: 像素点阵中(x=1,y=1)的点对应DMX512地址为1~4, 即像素点坐标与DMX512通道同向;  像素点阵中(x=122,y=1)的点对应DMX512地址为1~4,即像素点坐标与DMX512通道反向.即如下图:

为了方面描述,我们把这个"b+15"灯单元称为第1单元,然后按顺时针顺序剩下灯单元称为第2~10单元.那么对这个这一圈灯, 控制器A管理灯矩阵的第10单元+第1~4单元,控制器B管理灯矩阵的第5~9单元.

二、软件基本说明

布局如上图,功能区呈T型分布.上为功能按键,下右为功能导航区(灯矩阵树及效果树),下右为编辑区.

1.功能键

用来管理工程,依次为"新建工程"、"打开已有工程"、"保存工程"、"另存为工程".

用来管理灯矩阵,依次为"新建灯矩阵"、"删除选中的灯具或者灯矩阵".

用来管理效果,依次为"新建工程效果"、"删除选中的工程效果"、"复位选中的内置效果"、"复位所有内置效果(如果没有内置效果则生成全部的内置效果)".

以上按键如果为灰色则表明不可用,需要切换功能导航区或者需要选中相应的灯单元\灯矩阵\效果后才能使用.

2.功能导航区

        点击"Fixtues"和"Effects"在灯矩阵树及效果树间进行切换,相应的影响功能按键及编辑区.

3.编辑区

        在功能导航区为"Effects"时候,对效果参数进行编辑.效果分为内置效果和工程效果,内置效果仅用来编辑有限参数,用户无法删除和增加。用户可以增加和删除工程效果.

三、灯矩阵操作说明

        这里以示例工程说明.

        打开该软件, 会处在新建工程状态,先点击"新建灯矩阵"按键来建立灯矩阵,根据工程布局填入参数:

         工程名称(Project Name)

        线条灯的颜色通道顺序:这里根据使用线条灯类型选择RGBW.      

        Martix Width(Columns)填入灯矩阵的宽度1128, Martix Height(Rows)填入灯矩阵的高度1.

        然后点击"Add Fixture"添加灯单元.

        比如左上角红色的这个"b+15"灯单元:

                起名为"第1单元"

                连接到A控制器的端口5,所以Port选5.

                DMX512编址1~244,所以DMX起始地址填入1.

                像素点坐标与DMX512通道反向则Map选1,同向则Map选0.

                这个单元一共122个像素点,所以 DotsCouts处填122.

                该单元的像素坐标为(1,1)~(122,1),所以  Dots Start  Column填1.   Dots Row填1.

        那么控制器A管理灯矩阵的第10单元+第1~4单元,总体配置如下:

        配置完后会看到灯矩阵树:

四、编辑效果

         在上面增加完灯矩阵后,在功能导航区点击"Effects"进行效果编辑。 对一个新建工程来说,效果树里面为空.

        先点击"复位所有内置效果(如果没有内置效果则生成全部的内置效果)"按键来添加内置效果.

        再点击"新建工程效果"来添加工程效果.(目前限定工程效果个数最大32).

对效果有以下参数可编辑.

效果名:

        这里分为Name1(用来填英文名)和Name2(用来填中文名).

        注意名称中不要有下划线"_".

效果类型(Pattern):

        "Static" 静态效果,显示一个颜色.

         "Steps" 跳变效果,在多个颜色间进行跳变.

        "Breathing" 呼吸效果,有暗变亮再变暗,且在多个颜色间交替.

        "Grandient"渐变效果,多个颜色间明暗交替

         "MarqueeFlow"跑马灯流动

         "ChasingFlow"追光流动

         "TrailFlow"拖尾流动

         "StreamFlow"流水流动

         "TransitionFlow" 明暗过渡流动

        "GradientFlow"渐变流动

   帧时间(Frame Durtaion):

            效果一帧画面维持的时间,通过调整该参数,可以控制效果速度. 40ms~60000ms可调.   

   色值数组(color arrays)  :

            可以多种色值,数据类型string,且使用十六进制方式(RGB值),相邻色值用"_"连接.
            例如红色 "0xFF0000",绿色"0x00FF00".

            例如有红绿蓝3个颜色"0xFF0000_0x00FF00_0x0000FF".
            注意:理论上色值个数可以有很多,这里限定一下色值个数最多为16. 最少色值个数根据效果而定,有的最少1个色值,有的最少2个色值.          

       运行顺序(Run Order):

                可选 循环(Loop)、单次(Single Shot)、往复(PingPong).  默认循环(Loop)即可.

        方向(Direction):

                可选正向(Forward)、反向(Backward).默认正向(Forward)即可.

        其余参数根据集体效果而定.

1.静态及跳变效果

         改变公共参数即可.

 2.呼吸效果

          最小亮度(min percent), 0%~90%,默认0%, 表示colorArrays中的色值最小百分比.
          最大亮度(max percent), 10%~100%,默认100%, 表示colorArrays中的色值最大百分比
          注意: min percent < max percent;这两参数用来微调效果中暗灭时候的显示,可维持默认值不动.
           min steps ,0~500,默认50步. 表示维持minPercent的步数(1步的时长即frame duration毫秒).
    
    例如color arrays=0xFF0000,min percent=0,max percent=100,min steps=50,duration=40ms时
    表示红色呼吸效果,亮度最低时候为0%*0xFF0000即黑,亮度最高时候为100%*0xFF0000即纯红.效果先[从0%(即黑)到100%(即纯红)一共101步,耗时101*40ms=4秒],然后再[从100%(即纯红)到0%(即黑)一共101步,耗时101*40ms=4秒],然后[维持0%(即黑)50步,耗时50*40ms=2s]
    表现为从黑到纯红(4s),再到黑(4s),然后维持黑2s.然后再从黑到红...

  3.渐变效果

       最小亮度(min percent), 0%~90%,默认0%, 表示colorArrays中的色值最小百分比.
       最大亮度(max percent), 10%~100%,默认100%, 表示colorArrays中的色值最大百分比
       注意: min percent < max percent;用来微调效果中暗灭时候的显示,可维持默认值不动.
       cross steps, 0~20,default 5步,表示颜色切换时候两种交错的步数.(1步的时长即frame duration毫秒).

4.跑马流动

        Hilite Length,5~100, default 30, 单位为像素点个数,即流动中明亮部分像素点个数.
        Dark Length,1~100, default 30, 单位为像素点个数,即流动中黑色部分像素点个数.

        Orientation ,"Horizontal"或者"Vertical", 默认"Horizontal",表示布局方向. Horizontal:水平布局,Vertical:垂直布局.
        Direction , "Right or Down" 或者 "Left or Up", 默认"Right or Down", 表示流动的方向.  
        当orientation=Horizontal时候,"Right or Down"表示从向右流动,"Left or Up"表示向左流动
        当orientation=Vertical时候,"Right or Down"表示从向下流动,"Left or Up"表示向上流动

5.追光流动

        Orientation,Direction,同跑马流动.

6.拖尾流动

         Hilite Length,Dark Length,Orientation,Direction,同跑马流动.

7.流水流动\明暗过渡流动 \渐变流动

         Hilite Length,Orientation,Direction,同跑马流动.

五、导出配置

        编辑完后,点击"保存工程"并命名导出配置. 此时会根据点击保存按键的时间戳在导出配置所选目录下生成一个名称形如"projectCfg_20241107_171653"的文件夹,用来做配置备份.

        如需将该配置下发给DMX控制器,则进入"projectCfg_20241107_171653"文件夹下,选中所有文件并压缩成zip包,然后通过平台或者APP下发给控制器.

        注意:zip压缩包下不要有多级目录,应该如下只有单层目录.

六、灯单元举例

灯单元指在灯矩阵中x坐标连续且y坐标一致的若干像素点,可以是一个线条灯也可以是多个线条灯.

在物理上这些线条灯连接在控制器的同一个端口的信号线上,在同一个DMX512编址范围内.几种举例如下(线条灯都为一米8个像素点,RGBW类型):

        a.一个32*3的灯矩阵,虽然只用了一个端口来控制所有像素,但是应该划分成了3个灯单元,即第1行、第2行、第3行.

        b.一个32*3的灯矩阵,每个端口控制一行像素点,划分成了3个灯单元,即第1行、第2行、第3行.如下图:

        c.一个384*1的灯矩阵,由于每个端口对RGBW类型灯来说最多控制512/4=128个像素点,所以用3个端口来分别控制行中的一部分.划分成了3个灯单元,即第1行的左段、第1行的中间段、第1行的右段.如下图:

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.xdnf.cn/news/9372.html

如若内容造成侵权/违法违规/事实不符,请联系一条长河网进行投诉反馈,一经查实,立即删除!

相关文章

kafka安装部署--详细教程

2.1 安装部署 每次进入 linux 都会自动进入 base 环境&#xff0c;如何关闭 base conda deactivate 手动关闭 conda config --set auto_activate_base false 关闭自动进入 2.1.1 集群规划 bigdata01 bigdata02 bigdata03 zk zk zk kafka kafka kafka 2.1.2 集群部…

工具进阶:如何利用 MAT 找到问题发生的根本原因

深入浅出 Java 虚拟机 作者&#xff1a; 李国 我们知道&#xff0c;在存储用户输入的密码时&#xff0c;会使用一些 hash 算法对密码进行加工&#xff0c;比如 SHA-1。这些信息同样不允许在日志输出里出现&#xff0c;必须做脱敏处理&#xff0c;但是对于一个拥有系统权限的攻击…

当AI遇上时尚:未来的衣橱会由机器人来打理吗?

内容概要 在当今这个快速发展的时代&#xff0c;人工智能与时尚的结合正在逐渐改写我们对衣橱管理的认知。传统的衣橱管理常常面临着空间不足、穿搭单调及库存过多等挑战&#xff0c;许多人在挑选服饰时难以做出决策。然而&#xff0c;随着技术的进步&#xff0c;智能推荐和自…

[OpenGL]使用OpenGL实现硬阴影效果

一、简介 本文介绍了如何使用OpenGL实现硬阴影效果&#xff0c;并在最后给出了全部的代码。本文基于[OpenGL]渲染Shadow Map&#xff0c;实现硬阴影的流程如下&#xff1a; 首先&#xff0c;以光源为视角&#xff0c;渲染场景的深度图&#xff0c;将light space中的深度图存储…

Kafka中如何做到数据唯一,即数据去重?

数据传递语义 至少一次&#xff08;At Least Once&#xff09; ACK级别设置为-1 分区副本大于等于2 ISR里应答的最小副本数量大于等于2 可以保障数据可靠 • 最多一次&#xff08;At Most Once&#xff09; ACK级别设置为0 • 总结&#xff1a; At Least Once可以保证数据不…

惊爆:抖音小程序广告掘金计划,游戏+广告双赢新趋势!

惊爆&#xff1a;抖音小程序广告掘金计划&#xff0c;游戏广告双赢新趋势&#xff01; 在当今信息爆炸的时代&#xff0c;抖音小程序广告掘金计划犹如一股清流&#xff0c;为游戏开发者、广告商以及广大用户带来了前所未有的机遇与财富。这一计划不仅融合了游戏的趣味性和广告的…

黑豹X2 armbian 编译rkmpp ffmpeg 实现CPU视频转码

硬件 arm64 4核cpu 4G内存 rk3566 1.编译rockmpp git clone https://gitee.com/hermanchen82/mpp.git 下载之后 进到 rkmpp\build\linux\aarch64目录 armbian的不需要做任何修改 直接执行 make-Makefiles.bash make && make install 编译完成后 会安装到…

《深度学习》YOLO V4 整体架构的由来及用法 详解

目录 一、关于YOLOv4 1、什么是YOLOv4 2、相较于YOLOv3 二、YOLO v4数据增强的做法 1、 Bag of freebies 2、关于数据增强 1&#xff09;概念 2&#xff09;种类 3、v4数据增强方法 1&#xff09;马赛克数据增强 • 由来 • 关于CutMix&#xff1a; 2&#xff09;…

【VR】PICO 手部追踪 steamvr内无法识别,依旧识别手柄的解决方案

一、问题描述 && 原因分析 1.PICO4 手部追踪 steamvr内无法识别&#xff0c;依旧识别手柄的解决方案 尽管平放&#xff08;或关闭手柄连接&#xff09;之后&#xff0c;在 PICO 一体机中进入了手部追踪状态&#xff0c; 但只要进入 steamvr&#xff0c;就无法正确识别…

Go 中的泛型,日常如何使用

泛型从 go 的 1.18 开始支持 什么是泛型编程 在泛型出现之前&#xff0c;如果需要计算两数之和&#xff0c;可能会这样写&#xff1a; func Add(a, b int) int {returb a b } 这个很简单&#xff0c;但是只能两个参数都是 int 类型的时候才能调用 如果想要计算两个浮点数…

年度目标5w浏览量达成

目录 前言&#xff1a;目标展示&#xff1a;达成展示&#xff1a; 前言&#xff1a; 去年定了一个目标&#xff0c;今年实现了&#xff0c;以后继续加油&#xff0c;争取2025可以获得15w的阅览量&#xff0c;3000的粉丝数量。 目标展示&#xff1a; 达成展示&#xff1a;

【Python TensorFlow】进阶指南(续篇一)

在前两篇文章中&#xff0c;我们介绍了TensorFlow的基础知识及其在实际应用中的初步使用&#xff0c;并探讨了更高级的功能和技术细节。本篇将继续深入探讨TensorFlow的高级应用&#xff0c;包括但不限于模型压缩、模型融合、迁移学习、强化学习等领域&#xff0c;帮助读者进一…

你不得不知的几种常见的向量数据库产品

产品介绍 在使用 LLM&#xff08;大型语言模型&#xff09;知识库时&#xff0c;经常会用到以下几种向量数据库&#xff1a; Milvus&#xff1a;这是一款开源的向量数据库&#xff0c;具有高度可扩展性和高性能。它支持多种向量相似性搜索算法&#xff0c;适用于大规模数据处理…

企业IT架构转型之道:阿里巴巴中台战略思想与架构实战感想

文章目录 第一章&#xff1a;数据库水平扩展第二章&#xff1a;中台战略第三章&#xff1a;阿里分布式服务架构HSF&#xff08;high speed Framework&#xff09;、早期Dubbo第四章&#xff1a;共享服务中心建设原则第五章&#xff1a;数据拆分实现数据库能力线性扩展第六章&am…

征程 6 工具链性能分析与优化 2|模型性能优化建议

01 引言 为了应对低、中、高阶智驾场景&#xff0c;以及当前 AI 模型在工业界的应用趋势&#xff0c;地平线推出了征程 6 系列芯片。 在软硬件架构方面&#xff0c;征程 6 不仅保持了对传统 CNN 网络的高效支持能力&#xff0c;还强化了对 Transformer 类型网络的支持&#xf…

字符编码和字符集

1. 字符编码和字符集 1.1. 字符编码 编码&#xff1a;字符 –>字节解码&#xff1a;字节 –>字符字符编码Character Encoding : 就是一套自然语言的字符与二进制数之间的对应规则。 1.2. 字符集 字符集 Charset&#xff1a;是一个系统支持的所有字符的集合&#xff0…

Kafka面试题解答(二)

1.怎么尽可能保证 Kafka 的可靠性 kafka是可能会出现数据丢失问题的&#xff0c;Leader维护了一个动态的in-sync replica set&#xff08;ISR&#xff09;&#xff0c;意为和 Leader保持同步的FollowerLeader集合(leader&#xff1a;0&#xff0c;isr:0,1,2)。 如果Follower长…

Chromium127编译指南 Linux篇 - 获取Chromium源码(四)

引言 在前一节中&#xff0c;我们成功配置了 depot_tools 并验证了开发环境的基本可用性。接下来&#xff0c;我们将着手于拉取和初始设置 Chromium 的源码&#xff0c;这是进行 Chromium 开发的首要步骤。通过有效的源码管理和版本控制&#xff0c;我们能更高效、流畅地进行开…

LINUX离线安装Milvus

一.下载安装包 离线安装Docker需要你提前下载Docker的安装包&#xff0c;并将其传输到目标机器上进行安装。以下是一个基于Linux系统的离线安装Docker的简要步骤和示例&#xff1a; 从有网络的机器上下载Docker安装包。 将下载的安装包拷贝到离线的服务器上。 在离线的服务…

【HGT】文献精讲:Heterogeneous Graph Transformer

【HGT】文献精讲&#xff1a;Heterogeneous Graph Transformer 标题&#xff1a; Heterogeneous Graph Transformer &#xff08;异构图Transformer&#xff09; 作者团队&#xff1a; 加利福尼亚大学Yizhou Sun 摘要&#xff1a; 近年来&#xff0c;图神经网络&#xff08;GN…