News:

LATEST RELEASE:  FPP 8.4 - Download from here - https://github.com/FalconChristmas/fpp/releases/tag/8.4

+-+-

+-User

Welcome, Guest.
Please login or register.
 
 
 
Forgot your password?

+-Site Stats

Members
Total Members: 16768
Latest: josschavez
New This Month: 31
New This Week: 4
New Today: 4
Stats
Total Posts: 134820
Total Topics: 16858
Most Online Today: 138
Most Online Ever: 7634
(January 21, 2020, 02:14:03 AM)
Users Online
Members: 1
Guests: 62
Total: 63

Weird latency over artnet

Started by dsg123456789, April 21, 2023, 11:13:11 AM

Previous topic - Next topic

0 Members and 1 Guest are viewing this topic.

dsg123456789

I just started setting up my system, which has an F48V4-NS connected to an SRx1-PSU. I haven't touched any switches or knobs on the boards.

I am using SK6812 RGBW LEDs. My configurations are screenshot below.

When I try to push an animation from pyartnet, I can see it's sending the sacn/e131 packets at the rate I expect. However, it takes 3-6 seconds before the frame appears on the pixels, but I expect to be able to push at least 20fps. Is something misconfigured, or is there something else I need to do? I included my basic code listing below too, just in case it's helpful.



import asyncio
import logging
from pyartnet import SacnNode
import sys

logging.basicConfig(level=logging.DEBUG)

async def main():
    i = int(sys.argv[1])
    x = int(sys.argv[2])

    # Run this code in your async function
    node = SacnNode('192.168.20.119', 5568, max_fps=30)
    node.set_output_correction(None)


    channels = []
    NUM_UNI = 3
    NUM_CHANS = int(384 * 3/4 / NUM_UNI)
    for u in range(NUM_UNI):
        universe = node.add_universe(u+1)
        for l in range(NUM_CHANS):
            channel = universe.add_channel(start = l * 4+1, width=4)
            channels.append((universe, channel))

    t = 0
    dt = 0.01
    while True:
        val = [0,0,0,0]
        val[i] = int(x * t)
        for (u,c) in channels:
            #c.add_fade(val, 100)
            c.set_values(val)
        t += dt
        if t > 1 or t < 0:
            dt = -dt
            t += dt
        # GRBW
        print(f"value is {int(x*t)}")
        await asyncio.sleep(0.2)

asyncio.run(main())


MikeKrebs


Powered by EzPortal
Powered by SMFPacks Menu Editor Mod