Аналогичная проблема.
Не могу понять, почему периодически возникают фризы управления с nodeMCU.
Добавил простой джойстик, через map конвертю это в управление сервой.
Больше никаких либ не подключаю. Серву тоже не подключаю, так что гипотетических просадок напряжения нету.
Подключается корректно, серва крутится, но иногда в рандомное время появляются рандомные подвисания.
Включил REMOTEXY__DEBUGLOGS, в мониторе компорта эти фризы прям четко видны, вплоть до 4 секунд. Не пойму, откуда они. Пробовал разные платы.
Вот выдержки из логов:
[ 28.169] -> 55 06 00 C0 F1 B9
[ 28.243] <- 55 06 00 C0 F1 B9
[ 28.243] -> 55 06 00 C0 F1 B9
[ 31.238] <- 55 06 00 C0 F1 B9
[ 31.239] -> 55 06 00 C0 F1 B9
[ 31.323] <- 55 06 00 C0 F1 B9
.......
[ 32.118] -> 55 06 00 C0 F1 B9
[ 32.198] <- 55 06 00 C0 F1 B9
[ 32.199] -> 55 06 00 C0 F1 B9
[ 33.720] <- 55 06 00 C0 F1 B9
[ 33.721] -> 55 06 00 C0 F1 B9
[ 33.767] <- 55 06 00 C0 F1 B9
...
[ 35.921] <- 55 06 00 C0 F1 B9
[ 35.922] -> 55 06 00 C0 F1 B9
[ 37.373] <- 55 06 00 C0 F1 B9
[ 37.373] -> 55 06 00 C0 F1 B9
В итоге машинку на wifi-управлении REMOTEXY сделать не получается...
Вот исходники
/*
-- New project --
This source code of graphical user interface
has been generated automatically by RemoteXY editor.
To compile this code using RemoteXY library 2.3.5 or later version
download by link http://remotexy.com/en/library/
To connect using RemoteXY mobile app by link http://remotexy.com/en/download/
- for ANDROID 4.3.1 or later version;
- for iOS 1.3.5 or later version;
This source code is free software; you can redistribute it and/or
modify it under the terms of the GNU Lesser General Public
License as published by the Free Software Foundation; either
version 2.1 of the License, or (at your option) any later version.
*/
//////////////////////////////////////////////
// RemoteXY include library //
//////////////////////////////////////////////
// определение режима соединения и подключение библиотеки RemoteXY
#define REMOTEXY_MODE__ESP8266WIFI_LIB_POINT
#include <ESP8266WiFi.h>
#define REMOTEXY__DEBUGLOGS Serial
#include <RemoteXY.h>
// настройки соединения
#define REMOTEXY_WIFI_SSID "RemoteXY"
#define REMOTEXY_WIFI_PASSWORD "12345678"
#define REMOTEXY_SERVER_PORT 6377
// конфигурация интерфейса
#pragma pack(push, 1)
uint8_t RemoteXY_CONF[] =
{ 255, 2, 0, 0, 0, 12, 0, 8, 13, 0, 5, 37, 40, 8, 48, 48, 2, 26, 31 };
// структура определяет все переменные вашего интерфейса управления
struct {
// input variable
int8_t joystick_1_x; // =-100..100 координата x положения джойстика
int8_t joystick_1_y; // =-100..100 координата y положения джойстика
// other variable
uint8_t connect_flag; // =1 if wire connected, else =0
} RemoteXY;
#pragma pack(pop)
int mapped_x = 0;
int mapped_y = 0;
/////////////////////////////////////////////
// END RemoteXY include //
/////////////////////////////////////////////
void setup()
{
RemoteXY_Init ();
// TODO you setup code
}
void loop()
{
RemoteXY_Handler ();
mapped_y = map(RemoteXY.joystick_1_y, -100, 100, 0, 180);
// TODO you loop code
// используйте структуру RemoteXY для передачи данных
}