缺氧吧 关注:164,353贴子:2,137,741
  • 10回复贴,共1

双电池的bug电栓研究,和有可能的简单解决方法

只看楼主收藏回复

众所周知,双电池的缺点有几个
其中最重要的是卡bug电栓,其他施工麻烦等不在此贴讨论范围内
所谓的bug电栓,最经常发生在新读档,信号是对的,但电栓却没有正确地工作,表现一般为全关(图像表现为打开)如下图所示

一般情况下,越高的开关频率的用电器,bug电栓的机会越高,越多的双电池,整图会发生的bug电栓的数量也越多。那到底是什么导致bug电栓的产生?经过多次的测试后,我可能发现了一种简单省位的解决方法
先不说方案,首先说成因的猜想。
众所周知缺氧的计算周期一般以tick为单为,而一tick为0.2秒,而所有门无论有没有参数设定,其最低都会有0.1秒的延迟。所以如上图的双电池设计,我们有理由可以猜想他的实际运行是,先执行左右的开关控制,0.1秒后再执行中间两个开关的控制,由于tick和0.1秒的冲突,所以引发了bug电栓的产生
所以我试做了如下中间的结构:

延时间一律设为0.1秒,让中间和两边的开关工作同步化,经过数十次的存读档,也刻意增加双电池的开关频率,在全图共有17组开关器的情况下,发现再无一起bug电栓的发生
另一种使用多时而无bug电栓的构造

上方为另一种双电池结构,利用中央提供定点的5秒交替脉冲而非智能电池控制,百数次的读写亦未曾发生过一次卡bug事件,使用双电池又为卡bug电栓烦脑的可从中选用其一
当然,卡bug本就为概率事件,我的数十次和百数次读写在你的机器面前有可能会全面破功,所以附上存档,有兴趣使用双电池的话可以自行下载测试在你的机器上是否可行
/s/1dx7VogvCfl50kQSfi7o21g
提取码:6lbj


IP属地:广东1楼2019-11-03 13:05回复
    我看你用了2个智能电池,所以:副电池和非门头“串联”,两个电池都是50-99。看下效果。
    (50-99设置,还没碰见过电栓BUG)


    IP属地:宁夏来自Android客户端2楼2019-11-03 13:34
    收起回复
      +3


      IP属地:天津来自Android客户端3楼2019-11-03 18:25
      回复
        缺氧里的延迟厉害,经常得加个过滤门或缓冲门来防抖


        IP属地:湖南来自iPhone客户端4楼2019-11-03 23:01
        回复
          感谢大佬的测试和分享 强强强我又可以用细导线上天入地了


          IP属地:广西来自iPhone客户端5楼2019-11-22 08:29
          回复
            现在有时间传感器,这个脉冲控制法虽然有点费CPU但是布局方便很多啊 我怎么就没想到呢


            IP属地:上海来自iPhone客户端6楼2020-05-15 23:28
            收起回复