RoveSoSimulator
Loading...
Searching...
No Matches
RoveCommManifestWrapper.h
1#pragma once
2
3#include <map>
4#include "RoveCommManifest.h"
5#include "CoreMinimal.h"
6#include "UObject/NoExportTypes.h"
7#include "RoveCommManifestWrapper.generated.h"
8
9
10// Enum to represent data types in Blueprints
11UENUM(BlueprintType)
12enum class EManifestDataType : uint8
13{
14 INT8 UMETA(DisplayName = "Int8"),
15 UINT8 UMETA(DisplayName = "Uint8"),
16 INT16 UMETA(DisplayName = "Int16"),
17 UINT16 UMETA(DisplayName = "Uint16"),
18 INT32 UMETA(DisplayName = "Int32"),
19 UINT32 UMETA(DisplayName = "Uint32"),
20 FLOAT UMETA(DisplayName = "Float"),
21 DOUBLE UMETA(DisplayName = "Double"),
22 CHAR UMETA(DisplayName = "Char"),
23};
24
25/**
26 * @brief Blueprint-friendly wrapper for the RoveComm Manifest.
27 */
28UCLASS(Blueprintable)
29class ROVESOSIMULATOR_API URoveCommManifestWrapper : public UObject
30{
31 GENERATED_BODY()
32
33public:
34 // Blueprint callable function to get IP address for a specific board
35 UFUNCTION(BlueprintCallable, Category = "RoveComm Manifest")
36 FString GetIPAddress(const FString& BoardName);
37
38 // Blueprint callable function to get command details for a specific board
39 UFUNCTION(BlueprintCallable, Category = "RoveComm Manifest")
40 bool GetCommandDetails(const FString& BoardName, const FString& CommandName, int32& DataId, int32& DataCount, EManifestDataType& DataType);
41
42 // Blueprint callable function to get telemetry details for a specific board
43 UFUNCTION(BlueprintCallable, Category = "RoveComm Manifest")
44 bool GetTelemetryDetails(const FString& BoardName, const FString& TelemetryName, int32& DataId, int32& DataCount, EManifestDataType& DataType);
45};