Best Settings for "Update Interval" and "Latency"

Hi Jeff,

So here is a video with a screen recording of the instrumentation window (second half of the video), however there isn't a glitch or hiccup I could catch: Perhaps something of value there anyway. I'll try to get another one tomorrow.



So the first perfect stream!!!! Go figure?
I wonder if running the screen recording at the same time somehow helped? It should tie up the processor, but evidentially it didn't.

Thanks, Take care, Joe.
 
Last edited:
Hi Folks,

So I was testing all my theories as to what's acting up, perhaps a defect in my code (change the serial header characters), my PC, noise on the line, ESP32 flaw, whatever. But after a few hours (time flies), I notice I'll have a seemingly glitch-free event if the sequence has just been opened. 2nd or 3rd play will usually show issues. Would that indicate a PC issue? Anyway, still experimenting. Like many tech issues, it's usually a simple, overlooked thing.

Take care, Joe.
 
Hi Folks,

Well I've been playing with the "execution engine" settings, 'stop' and 'start.' So it seems if I 'stop' then 'start' the engine, the sequence plays rather well. Don't know if that's a clue as to what's going on. Also having WiFi turned off seems to help.

Still tinkering!

Take care, Joe.
 
Hi Folks,

So I am still getting drop out or lag. Error logs don't show anything. One thing that creates more or less drop out is the update interval. So set to 23, less of a problem. Set to 75 or above, more events. I've turned off WiFi, Windows Defender, all start up processes. And although I haven't tested it again on the other Win 11 machine, it behaved the same when I tested. I have reduced the code to only one channel, changed baud rates. So this my machine:

https://www.amazon.com/gp/product/B07RF1XD36/ref=ppx_yo_dt_b_search_asin_title?ie=UTF8&psc=1

No longer in S mode and upgraded to Win 11.

Is it my laptop, perhaps?

I'm so close, but the drop out really bothers me.

Thanks!!!!

Take care, Joe.
 
I watched your other video with the instrumentation, but it was hard to actually see what was going on. The channel count is so low that I can?t imagine the update interval or the latency having any real impact from a Vixen point of view. But again following closely that instrumentation screen and seeing if you can correlate the lag. If you don?t see any correlation there, then you will need to look into ways to debug in your controller if the data is getting delayed there in some way.


Sent from my iPhone using Tapatalk
 
I watched your other video with the instrumentation, but it was hard to actually see what was going on. The channel count is so low that I can?t imagine the update interval or the latency having any real impact from a Vixen point of view. But again following closely that instrumentation screen and seeing if you can correlate the lag. If you don?t see any correlation there, then you will need to look into ways to debug in your controller if the data is getting delayed there in some way.


Sent from my iPhone using Tapatalk

Many thanks, Jeff!!

So, I have the ESP32 with serial Bluetooth (COM10) the Arduino IDE on (COM7). Running the serial monitor, with the below code:

Code:
#include <ESP32Servo.h>
#include "BluetoothSerial.h"


#if !defined(CONFIG_BT_ENABLED) || !defined(CONFIG_BLUEDROID_ENABLED)
#error Bluetooth is not enabled! Please run `make menuconfig` to and enable it
#endif*

BluetoothSerial SerialBT;
Servo  myservo1;



void setup() {


  Serial.begin(115200);
  SerialBT.begin("ESP32BTServo");

 
  myservo1.attach(2);


  myservo1.write(95);
 
}


void loop() {
  while (!SerialBT.available());

 
  for ( ; ; )
  {
    if (SerialBT.read() == '~') {
      break;
    }
  }

  while (!SerialBT.available());
  for ( ; ; )
  {
    if (SerialBT.read() == '!') {
      break;
    }
  }

 


  byte channelValues;

  {
    while (!SerialBT.available());
    channelValues = SerialBT.read();
    Serial.println (channelValues);
    Serial.println ("*");

     
        if (channelValues <= 0 && channelValues >= 255) {  
          channelValues = 0;}
         
  }

 

  myservo1.write(map(channelValues, 0, 255, 82, 130)); //schroeder 90-110


}

Now the behavior is the same on all these boards, Arduino USB (no BT), ESP32 (no BT), ESP32 (Serial BT).

Obviously, the code varies with the servo library depending on the board, as does the code if it's serial BT
(library also).

So the incoming byte stops when the hiccup happens. In the serial monitor you can see it stop. Not always apparent but the prior numbers stop scrolling if the are descending just prior to the glitch.

So I have tried this e131 Wifi on the ESP32 (code provided by someone who requested I not share it), and the hiccups occurred.

So I played around with different header characters, only one character, and no header filter.
Also, with and without this line
Code:
(channelValues <= 0 && channelValues >= 255) {  
          channelValues = 0;}

Any suggestions welcomed!! (I can shoot a vid if anyone wants.)

Take care, Joe
 
Last edited:
There is a debugging values controller you can add in Vixen. You can patch your channels to it instead of the one you are using. If you check the verbose option on that window you can see the values changing in Vixen as you play the sequence.


Sent from my iPhone using Tapatalk
 
There is a debugging values controller you can add in Vixen. You can patch your channels to it instead of the one you are using. If you check the verbose option on that window you can see the values changing in Vixen as you play the sequence.


Sent from my iPhone using Tapatalk

Thanks Jeff, trying it now!!

Take care, Joe.
 
Hi again, Jeff,

So seems like there isn't any stoppage there. So does that mean it's a serial transmit issue with my laptop? Gather so.

I'll see if I can borrow a Win 11 machine from someone. Perhaps a driver issue on 2 different Win 11 machines?

Take care, Joe.
 
Back
Top