namespace RobotNet.RobotShares.VDA5050.Type;

public enum ActionType
{
    startPause,              // No actionParameters
    stopPause,              // No actionParameters
    startCharging,         // ActionParameters {CHARGER_IP, CHARGER_PORT, X, Y, THETA}
    stopCharging,            // ActionParameters {X, Y, THETA}
    initPosition,            // ActionParameters {X, Y, THETA, MAP_ID, LAST_NODE_ID}
    stateRequest,            // No actionParameters
    logReport,               // No actionParameters
    pick,                    // No actionParameters
    drop,                   // No actionParameters
    detectObject,            // No actionParameters
    finePositioning,         // ActionParameters {X, Y, THETA, MAP_ID, LAST_NODE_ID}
    waitForTrigger,          // No actionParameters
    cancelOrder,             // No actionParameters
    factsheetRequest,        // No actionParameters

    setDynparam,             // ActionParameters {PARAM_NAME, PARAM_TYPE, PARAM_VALUE}
    saveDynparamRuntime,     // No actionParameters
    loadDynparamRuntime,     // No actionParameters
    loadDynparamDefault,     // No actionParameters
    getDynparamRuntime,      // No actionParameters

    controlLight,            // ActionParameters {LIGHT_TYPE, CONTROL_TYPE}
    controlFan,              // ActionParameters {CONTROL_TYPE}
    controlSpeaker,          // ActionParameters {SONG_NUMBER, CONTROL_TYPE}
    controlSafetyField,      // ActionParameters {FIELD_TYPE, CONTROL_TYPE}
    startInPallet,        // ActionParameters {X, Y, THETA}
    startOutPallet,                    // ActionParameters {X, Y, THETA}      

    rotate,      // ActionParameters {THETA}      
    setMap,      // ActionParameter {MAP_ID}
}
