From 377b21429bec58e37b9a1eead37055ae17af1094 Mon Sep 17 00:00:00 2001 From: Oleg Kalachev Date: Tue, 27 Jan 2026 16:32:52 +0300 Subject: [PATCH] Fix error when launching the sim Also make the parameters WIFI_LOC_PORT and WIFI_REM_PORT work in the sim. --- gazebo/flix.h | 2 ++ gazebo/wifi.h | 17 +++++++++-------- 2 files changed, 11 insertions(+), 8 deletions(-) diff --git a/gazebo/flix.h b/gazebo/flix.h index b3b3cb7..5c61ee5 100644 --- a/gazebo/flix.h +++ b/gazebo/flix.h @@ -9,6 +9,7 @@ #include "quaternion.h" #include "Arduino.h" #include "wifi.h" +#include "lpf.h" extern float t, dt; extern float controlRoll, controlPitch, controlYaw, controlThrottle, controlMode; @@ -19,6 +20,7 @@ extern float motors[4]; Vector gyro, acc, imuRotation; Vector accBias, gyroBias, accScale(1, 1, 1); +LowPassFilter gyroBiasFilter(0); // declarations void step(); diff --git a/gazebo/wifi.h b/gazebo/wifi.h index 426f2d8..1c7b708 100644 --- a/gazebo/wifi.h +++ b/gazebo/wifi.h @@ -11,9 +11,10 @@ #include #include -#define WIFI_UDP_PORT 14580 -#define WIFI_UDP_REMOTE_PORT 14550 -#define WIFI_UDP_REMOTE_ADDR "255.255.255.255" +int wifiMode = 1; // mock +int udpLocalPort = 14580; +int udpRemotePort = 14550; +const char *udpRemoteIP = "255.255.255.255"; int wifiSocket; @@ -22,22 +23,22 @@ void setupWiFi() { sockaddr_in addr; // local address addr.sin_family = AF_INET; addr.sin_addr.s_addr = INADDR_ANY; - addr.sin_port = htons(WIFI_UDP_PORT); + addr.sin_port = htons(udpLocalPort); if (bind(wifiSocket, (sockaddr *)&addr, sizeof(addr))) { - gzerr << "Failed to bind WiFi UDP socket on port " << WIFI_UDP_PORT << std::endl; + gzerr << "Failed to bind WiFi UDP socket on port " << udpLocalPort << std::endl; return; } int broadcast = 1; setsockopt(wifiSocket, SOL_SOCKET, SO_BROADCAST, &broadcast, sizeof(broadcast)); // enable broadcast - gzmsg << "WiFi UDP socket initialized on port " << WIFI_UDP_PORT << " (remote port " << WIFI_UDP_REMOTE_PORT << ")" << std::endl; + gzmsg << "WiFi UDP socket initialized on port " << udpLocalPort << " (remote port " << udpRemotePort << ")" << std::endl; } void sendWiFi(const uint8_t *buf, int len) { if (wifiSocket == 0) setupWiFi(); sockaddr_in addr; // remote address addr.sin_family = AF_INET; - addr.sin_addr.s_addr = inet_addr(WIFI_UDP_REMOTE_ADDR); - addr.sin_port = htons(WIFI_UDP_REMOTE_PORT); + addr.sin_addr.s_addr = inet_addr(udpRemoteIP); + addr.sin_port = htons(udpRemotePort); sendto(wifiSocket, buf, len, 0, (sockaddr *)&addr, sizeof(addr)); }