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