30 URoveCommUDPWrapper();
33 virtual ~URoveCommUDPWrapper();
36 UFUNCTION(BlueprintCallable, Category =
"RoveComm UDP")
37 bool InitUDPSocket(int32 Port);
40 UFUNCTION(BlueprintCallable, Category =
"RoveComm UDP")
41 int SendPacket(URoveCommPacketWrapper* Packet,
const FString& IPAddress, int32 Port);
44 UFUNCTION(BlueprintCallable, Category =
"RoveComm UDP")
45 void CloseUDPSocket();
48 UFUNCTION(BlueprintCallable, Category =
"RoveComm UDP")
49 TArray<
float> GetDrivePowersCopy();
50 UFUNCTION(BlueprintCallable, Category =
"RoveComm UDP")
51 TArray<uint8> GetLEDPanelRGBColorsCopy();
54 UFUNCTION(BlueprintCallable, Category =
"RoveComm UDP")
55 int32 GetRoveCommFPS();
58 UPROPERTY(BlueprintAssignable, Category =
"RoveComm UDP")
59 FDriveDataReceived OnDriveDataReceived;
60 UPROPERTY(BlueprintAssignable, Category =
"RoveComm UDP")
61 FLEDPanelDataReceived OnLEDPanelDataReceived;
65 rovecomm::RoveCommUDP* RoveCommUDPInstance;
69 TArray<
float> DrivePowers;
70 TArray<uint8> LEDPanelRGBColors;
73 std::shared_mutex DrivePowersMutex;
74 std::shared_mutex LEDPanelRGBColorsMutex;
81
82
83
84
85
86
87 const std::function<
void(
const rovecomm::RoveCommPacket<
float>&,
const sockaddr_in&)> ProcessDriveData =
116
117
118
119
120
121
122 const std::function<
void(
const rovecomm::RoveCommPacket<uint8_t>&,
const sockaddr_in&)> ProcessRGBData =
149
150
151
152
153
154
155 const std::function<
void(
const rovecomm::RoveCommPacket<uint8_t>&,
const sockaddr_in&)> ProcessStateDisplayData =