### Message #15: GET PROXY INFORMATION (EXTENDED) Source: https://c3.ulsu.tech/protocol/1.4/index This endpoint is reserved for future use and is not yet implemented. It is intended for retrieving extended proxy information. ```APIDOC ## GET /websites/c3_ulsu_tech_protocol_1_4/proxy/info/extended ### Description This endpoint is reserved for future use and is not yet implemented. It is intended for retrieving extended proxy information. ### Method GET ### Endpoint /websites/c3_ulsu_tech_protocol_1_4/proxy/info/extended ### Parameters #### Path Parameters None #### Query Parameters None #### Request Body None ### Request Example None ### Response #### Success Response (200) This endpoint is not implemented and will not return a success response. #### Response Example None ``` -------------------------------- ### Get Proxy Enabled Status Source: https://c3.ulsu.tech/protocol/1.4/index Gets information about the status of the TCP/IP server of the primary protocol. ```APIDOC ## GET /proxy/enabled ### Description Getting information about the status of the TCP/IP server of the primary protocol. ### Method GET ### Endpoint /proxy/enabled ### Parameters #### Query Parameters - **@PROXY_ENABLED** (STRING) - Required - A special string to request the proxy enabled status. ### Request Example ``` @PROXY_ENABLED ``` ### Response #### Success Response (200) - **Status** (BOOL) - TRUE if the proxy server is enabled, FALSE otherwise. #### Response Example ```json { "enabled": true } ``` ``` -------------------------------- ### Message #16: GET CROSS3 INFORMATION Source: https://c3.ulsu.tech/protocol/1.4/index This endpoint is reserved for future use and is not yet implemented. It is intended for retrieving CROSS3 information. ```APIDOC ## GET /websites/c3_ulsu_tech_protocol_1_4/cross3/info ### Description This endpoint is reserved for future use and is not yet implemented. It is intended for retrieving CROSS3 information. ### Method GET ### Endpoint /websites/c3_ulsu_tech_protocol_1_4/cross3/info ### Parameters #### Path Parameters None #### Query Parameters None #### Request Body None ### Request Example None ### Response #### Success Response (200) This endpoint is not implemented and will not return a success response. #### Response Example None ``` -------------------------------- ### 3.8.2. MESSAGE #14. GET PROXY FEATURES Source: https://c3.ulsu.tech/protocol/1.4/index Requests the list of supported messages for the primary protocol of the C3 Bridge Interface Server. ```APIDOC ## MESSAGE #14. GET PROXY FEATURES ### Description Request the list of supported messages for the primary protocol of the C3 Bridge Interface Server. ### Method GET (Implied by request structure, no explicit HTTP method provided) ### Endpoint Not specified, assumed to be a message-based protocol. ### Parameters #### Path Parameters None #### Query Parameters None #### Request Body ##### HEADER - **Tag ID** (UINT16) - Required - Identifier for the message tag. - **Message Length** (UINT16) - Required - Length of the message. - **Message Type** (UINT8) - Required - Value: 14. ##### PAYLOAD NO PAYLOAD ### Request Example ``` | Offset (bytes) | Size (bytes) | Type | Value | |----------------|--------------|--------|-------| | 0 | 2 | UINT16 | 0 | | 2 | 2 | UINT16 | 1 | | 4 | 1 | UINT8 | 14 | ``` ### Response #### Success Response (200) ##### HEADER - **Tag ID** (UINT16) - Identifier for the message tag. - **Message Length** (UINT16) - Length of the message. - **Message Type** (UINT8) - Value: 14. ##### PAYLOAD - **Bit field of available messages** (UINT8) - Represents available messages from bit 255 down to 0, broken into multiple bytes. #### Response Example ``` | Offset (bytes) | Size (bytes) | Type | Meaning | |----------------|--------------|--------|-----------------------------------------------| | 0 | 2 | UINT16 | Tag ID | | 2 | 2 | UINT16 | Message Length | | 4 | 1 | UINT8 | Message Type (Value: 14) | | 5 | 1 | UINT8 | Bit field of available messages (255 to 248) | | 6 | 1 | UINT8 | Bit field of available messages (247 to 240) | | ... | ... | ... | ... | | 36 | 1 | UINT8 | Bit field of available messages (7 to 0) | | 37 | 2 | UINT16 | Error Code | | 39 | 1 | BOOL | Success Flag | ``` ### Error Handling - **1**: ErrorSuccess ``` -------------------------------- ### Get Proxy Port Source: https://c3.ulsu.tech/protocol/1.4/index Retrieves the TCP/IP port where the primary C3 Bridge Interface protocol is listening. ```APIDOC ## GET /proxy/port ### Description Obtaining the TCP/IP port where the primary C3 Bridge Interface protocol is listening. ### Method GET ### Endpoint /proxy/port ### Parameters #### Query Parameters - **@PROXY_PORT** (STRING) - Required - A special string to request the proxy port. ### Request Example ``` @PROXY_PORT ``` ### Response #### Success Response (200) - **TCP/IP port** (STRING) - The port the proxy is listening on. #### Response Example ```json { "port": "7000" } ``` ``` -------------------------------- ### Get Proxy Address Source: https://c3.ulsu.tech/protocol/1.4/index Retrieves the TCP/IP address where the primary C3 Bridge Interface protocol is listening. An address of 0.0.0.0 indicates listening on all network interfaces. ```APIDOC ## GET /proxy/address ### Description Obtaining the TCP/IP address where the primary C3 Bridge Interface protocol is listening. The address 0.0.0.0 means that listening is performed on all available network interfaces. ### Method GET ### Endpoint /proxy/address ### Parameters #### Query Parameters - **@PROXY_ADDRESS** (STRING) - Required - A special string to request the proxy address. ### Request Example ``` @PROXY_ADDRESS ``` ### Response #### Success Response (200) - **TCP/IP address** (STRING) - The IP address the proxy is listening on. #### Response Example ```json { "address": "0.0.0.0" } ``` ``` -------------------------------- ### Create New File Source: https://c3.ulsu.tech/protocol/1.4/index Creates a new file, which can be a text file, binary file, or KRL module. Supports specifying file type and content. ```APIDOC ## POST /api/files/create ### Description Create a new text file, binary file or KRL module. ### Method POST ### Endpoint /api/files/create ### Parameters #### Request Body - **itemType** (UINT16) - Required - The type of item to create. Refer to section 3.9.1.2 for values. - **modulePart** (UINT8) - Optional - Specifies the part of a module if creating a KRL module. - **alwaysCreate** (BOOL) - Optional - If true, the file will be created even if it already exists. - **name** (WSTRING) - Required - The name of the file to create. The length is specified by LN. - **template** (WSTRING) - Optional - A template string to use for creating the file. The length is specified by LTP. ### Request Example ```json { "itemType": 1, "name": "new_file.txt", "alwaysCreate": false } ``` ### Response #### Success Response (200) - **errorCode** (UINT16) - The error code. 0 indicates success. - **success** (BOOL) - True if the operation was successful, false otherwise. #### Response Example ```json { "errorCode": 0, "success": true } ``` ``` -------------------------------- ### Message #17: PERFORM PROXY BENCHMARK Source: https://c3.ulsu.tech/protocol/1.4/index Calculates the execution time for multiple read or write operations of KRL variables. Supports both read and write operations with configurable variable counts and iterations. ```APIDOC ## POST /websites/c3_ulsu_tech_protocol_1_4/proxy/benchmark ### Description Calculates the execution time for multiple read or write operations of KRL variables. Supports both read and write operations with configurable variable counts and iterations. ### Method POST ### Endpoint /websites/c3_ulsu_tech_protocol_1_4/proxy/benchmark ### Parameters #### Path Parameters None #### Query Parameters None #### Request Body - **WRITE** (BOOL) - Required - Type of Operation: FALSE — Read, TRUE — Write - **Count of Variables** (UINT8) - Required - Value: 0-255 - **Number of Iterations** (UINT32) - Optional - Value: 0-4294967294 - **LVN1** (UINT16) - Required if WRITE is TRUE - Length of Variable 1 (in characters) - **Variable 1** (WSTRING) - Required if WRITE is TRUE - Variable 1 data (LVN1 * 2 bytes) - **LVV1** (UINT16) - Required if WRITE is TRUE - Length of Variable 1 Value (in characters) - **Variable 1 Value** (WSTRING) - Required if WRITE is TRUE - Variable 1 Value data (LVV1 * 2 bytes) - **LVNL** (UINT16) - Required - Length of Last Variable (in characters) - **Last Variable** (WSTRING) - Required - Last Variable data (LVNL * 2 bytes) - **LVVL** (UINT16) - Required if WRITE is TRUE - Length of Last Variable Value (in characters) - **Last Variable Value** (WSTRING) - Required if WRITE is TRUE - Last Variable Value data (LVVL * 2 bytes) ### Request Example ```json { "WRITE": true, "Count of Variables": 1, "Number of Iterations": 1000, "LVN1": 5, "Variable 1": "Test", "LVV1": 4, "Variable 1 Value": "Data", "LVNL": 4, "Last Variable": "Test", "LVVL": 4, "Last Variable Value": "Data" } ``` ### Response #### Success Response (200) - **WRITE** (BOOL) - Type of Operation: FALSE — Read, TRUE — Write - **Count of Variables** (UINT8) - Number of variables processed - **Number of Iterations** (UINT32) - Number of iterations performed - **Start Time** (UINT32) - Start time in milliseconds - **Stop Time** (UINT32) - Stop time in milliseconds - **Time Difference** (UINT32) - Time difference in milliseconds - **Error Code** (UINT16) - Error code (1 for success) - **Success Flag** (BOOL) - True if the operation was successful #### Response Example ```json { "WRITE": true, "Count of Variables": 1, "Number of Iterations": 1000, "Start Time": 1678886400000, "Stop Time": 1678886401000, "Time Difference": 1000, "Error Code": 1, "Success Flag": true } ``` #### Error Codes - **1**: ErrorSuccess - **9**: ErrorProtocol ``` -------------------------------- ### 2.3. PROXY VERSION REQUEST Source: https://c3.ulsu.tech/protocol/1.4/index Obtains information about the application version and license type. Minimum supported version is 1.0.0. ```APIDOC ## 2.3. PROXY VERSION REQUEST ### Description Obtaining information about the application version and license type. Minimum supported version is 1.0.0 (Open Source). ### Method GET (Assumed) ### Endpoint / ### Parameters #### Path Parameters None #### Query Parameters None #### Request Body None ### Request Example ``` @PROXY_VERSION ``` ### Response #### Success Response (200) - **Value** (STRING) - The version and license type in the format "<_major_ >.<_minor_ > <_type_ >". - <_major_ >: Major version number. - <_minor_ >: Minor version number. - <_type_ >: Software edition type (e.g., OPEN SOURCE, PROPRIETARY, FREEWARE, INTERNAL BUILD). #### Response Example ``` 1.0 (OPEN SOURCE) ``` ``` -------------------------------- ### 2.5. COMPUTER NAME REQUEST Source: https://c3.ulsu.tech/protocol/1.4/index Obtains the computer name on which the robot control system is located. Minimum supported version is 1.0.0. ```APIDOC ## 2.5. COMPUTER NAME REQUEST ### Description Obtaining the computer name on which the robot control system is located. Minimum supported version is 1.0.0 (Open Source). ### Method GET (Assumed) ### Endpoint / ### Parameters #### Path Parameters None #### Query Parameters None #### Request Body None ### Request Example ``` @PROXY_HOSTNAME ``` ### Response #### Success Response (200) - **Value** (STRING) - The hostname of the computer running the robot control system. #### Response Example ``` C010-07VM ``` ``` -------------------------------- ### Message #63: Confirm All Source: https://c3.ulsu.tech/protocol/1.4/index This endpoint resets all errors on the KRC, simulating the 'Confirm All' button press. It is used for cross-communication compatibility. ```APIDOC ## POST /websites/c3_ulsu_tech_protocol_1_4/messages/63 ### Description Resets all errors on the KRC (emulation of pressing the Confirm All button). ### Method POST ### Endpoint /websites/c3_ulsu_tech_protocol_1_4/messages/63 ### Parameters #### Query Parameters - **message_length** (UINT16) - Required - The length of the message. - **message_type** (UINT8) - Required - The type of the message, fixed to 63. #### Request Body NO PAYLOAD ### Request Example ```json { "message_length": 0, "message_type": 63 } ``` ### Response #### Success Response (200) - **tag_id** (UINT16) - The tag ID of the message. - **message_length** (UINT16) - The length of the response message. - **message_type** (UINT8) - The type of the message, fixed to 63. - **error_code** (UINT16) - The error code returned. - **success_flag** (BOOL) - Indicates if the operation was successful. #### Response Example ```json { "tag_id": 1234, "message_length": 3, "message_type": 63, "error_code": 1, "success_flag": true } ``` #### Possible Error Codes - **0**: ErrorGeneral - **1**: ErrorSuccess ``` -------------------------------- ### Discovery Protocol - Presence Request Source: https://c3.ulsu.tech/protocol/1.4/index Used to determine the control system's address and readiness to process primary protocol requests. It operates over UDP. ```APIDOC ## UDP / Discovery Protocol - Presence Request ### Description Determines the control system's address and readiness to process requests of the primary protocol. ### Method UDP Datagram ### Endpoint Default Port: 6999 (Legacy Mode) or 7000 (Standard Mode) ### Parameters #### Request - **Offset (bytes)**: 0 - **Size (bytes)**: 12 - **Type**: STRING - **Value**: "WHEREAREYOU?" ### Response #### Success Response - **Offset (bytes)**: 0 - **Size (bytes)**: variable - **Type**: STRING - **Value**: "KUKA|<_model name_ >|<_serial #_ >" - _model name_: Value of $MODEL_NAME[] KRL variable. - _serial #_: Value of $KR_SERIALNO KRL variable. #### Negative Response (Error) - **Offset (bytes)**: 0 - **Size (bytes)**: 6 - **Type**: STRING - **Value**: "KUKA||" ### Notes - Minimum supported version: 1.0.0 (Open Source). - Supports KukavarProxy: Yes. ``` -------------------------------- ### 2.6. DATE AND TIME REQUEST Source: https://c3.ulsu.tech/protocol/1.4/index Obtains the date and time set on the robot control system in ISO 8601 format. Minimum supported version is 1.0.0. ```APIDOC ## 2.6. DATE AND TIME REQUEST ### Description Obtaining the date and time set on the robot control system in ISO 8601 format. Minimum supported version is 1.0.0 (Open Source). ### Method GET (Assumed) ### Endpoint / ### Parameters #### Path Parameters None #### Query Parameters None #### Request Body None ### Request Example ``` @PROXY_TIME ``` ### Response #### Success Response (200) - **Value** (STRING) - The date and time in ISO 8601 format (YYYY-MM-DDThh:mm:ssZ). - YYYY: Four-digit year (1601-9999). - MM: Two-digit month (01-12). - DD: Two-digit day (01-31). - T: Date and time separator. - hh: Zero-padded hour (00-23). - mm: Zero-padded minute (00-59). - ss: Zero-padded second (00-59). - Z: Indicates Coordinated Universal Time (UTC). #### Response Example ``` 2020-08-04T06:46:10Z ``` ``` -------------------------------- ### List Directory Contents Source: https://c3.ulsu.tech/protocol/1.4/index Retrieves a list of files and subdirectories within a specified directory. Supports filtering by item type and flags. ```APIDOC ## GET /api/directory/contents ### Description Get a list of files and subdirectories in a directory. ### Method GET ### Endpoint /api/directory/contents ### Parameters #### Query Parameters - **itemType** (INT32) - Optional - Filters the items by type. Refer to section 3.9.1.2 for values. - **flags** (INT32) - Optional - Flags to control the listing behavior. Refer to section 3.9.1.3 for values. - **path** (WSTRING) - Required - The path to the directory to list. The length is specified by LP. ### Request Example ```json { "path": "/home/user/documents" } ``` ### Response #### Success Response (200) - **itemCount** (UINT16) - The number of items in the directory. - **firstItemLength** (UINT16) - The length of the first item's name. - **firstItemName** (WSTRING) - The name of the first item. - **lastItemLength** (UINT16) - The length of the last item's name. - **lastItemName** (WSTRING) - The name of the last item. - **itemInfoCount** (UINT16) - The number of item information entries. - **firstItemInfoLength** (UINT16) - The length of the first item info string. - **firstItemInfo** (WSTRING) - The first item info string. - **lastItemInfoLength** (UINT16) - The length of the last item info string. - **lastItemInfo** (WSTRING) - The last item info string. - **errorCode** (UINT16) - The error code. 0 indicates success. - **success** (BOOL) - True if the operation was successful, false otherwise. #### Response Example ```json { "itemCount": 2, "firstItemLength": 10, "firstItemName": "document1.txt", "lastItemLength": 12, "lastItemName": "image.jpg", "itemInfoCount": 1, "firstItemInfoLength": 5, "firstItemInfo": "TEXT", "lastItemInfoLength": 4, "lastItemInfo": "FILE", "errorCode": 0, "success": true } ``` ``` -------------------------------- ### 2.4. PROXY FEATURES REQUEST Source: https://c3.ulsu.tech/protocol/1.4/index Determines the list of supported messages for the primary protocol. Minimum supported version is 1.0.0. ```APIDOC ## 2.4. PROXY FEATURES REQUEST ### Description Determining the list of supported messages for the primary protocol. Minimum supported version is 1.0.0 (Open Source). ### Method GET (Assumed) ### Endpoint / ### Parameters #### Path Parameters None #### Query Parameters None #### Request Body None ### Request Example ``` @PROXY_FEATURES ``` ### Response #### Success Response (200) - A series of bytes indicating the availability of messages. Each message is represented by a CHAR value (1 for available, 0 for not available) at a specific offset. - Negative offsets count from the end of the datagram. #### Response Example ``` -1 | 1 | CHAR | 1 // Message #0 is available -2 | 1 | CHAR | 0 // Message #1 is NOT available ... -256 | 1 | CHAR | 1 // Message #255 is available ``` ``` -------------------------------- ### 2.1. PROXY TYPE REQUEST Source: https://c3.ulsu.tech/protocol/1.4/index Determines the type of proxy server. The C3 Bridge Interface responds to this request, while KukavarProxy does not. ```APIDOC ## 2.1. PROXY TYPE REQUEST ### Description Determining the type of proxy server. The C3 Bridge Interface responds to this request and KukavarProxy does not. ### Method GET (Assumed, as it's a request for information) ### Endpoint / ### Parameters #### Path Parameters None #### Query Parameters None #### Request Body None ### Request Example ``` @PROXY_TYPE ``` ### Response #### Success Response (200) - **Value** (STRING) - The type of the proxy server (e.g., "C3 BRIDGE INTERFACE"). #### Response Example ``` C3 BRIDGE INTERFACE ``` ``` -------------------------------- ### Set File Attributes Source: https://c3.ulsu.tech/protocol/1.4/index Changes the attributes of a specified file. This endpoint allows modification of various file properties. ```APIDOC ## POST /api/files/attributes ### Description Changes file attributes. ### Method POST ### Endpoint /api/files/attributes ### Parameters #### Request Body - **attributes** (INT32) - Required - The attributes to set for the file. Refer to section 3.9.1.5 for flag values. - **mask** (INT32) - Required - A mask to specify which attributes to modify. - **name** (WSTRING) - Required - The name of the file whose attributes are to be changed. The length is specified by LN. ### Request Example ```json { "attributes": 1, "mask": 1, "name": "example.txt" } ``` ### Response #### Success Response (200) - **errorCode** (UINT16) - The error code. 0 indicates success. - **success** (BOOL) - True if the operation was successful, false otherwise. #### Response Example ```json { "errorCode": 0, "success": true } ``` ``` -------------------------------- ### Primary Protocol Message Structure Source: https://c3.ulsu.tech/protocol/1.4/index Details the structure of message headers and response footers for the primary protocol, including tag IDs, message lengths, message types, error codes, and success flags. ```APIDOC ## Primary Protocol Message Structure ### Description Details the structure of message headers and response footers for the primary protocol. ### Message Header Each message begins with a header: - **Tag ID** (UINT16) - Message identifier. The response will contain the same identifier as the request. - **Message Length** (UINT16) - The full length of the message, excluding the Tag ID and Message Length fields. - **Message Type** (UINT8) - Defines the type of message and the function executed by the C3 Bridge Interface. ### Response Footer Each response message ends with a footer: - **Error Code** (UINT16) - Indicates the result of the operation. - **Success Flag** (BOOL) - TRUE in case of a successful response, FALSE in case of error. ### Error Codes - **0**: ErrorGeneral - Unspecified error. - **1**: ErrorSuccess - Operation was successful. - **2**: ErrorAccess - General access denied error. - **3**: ErrorArgument - One or more arguments are not valid. - **4**: ErrorMemory - Failed to allocate necessary memory. - **5**: ErrorPointer - NULL was passed incorrectly for a pointer value. - **6**: ErrorUnexpected - Unexpected failure. - **7**: ErrorNotImplemented - The requested function has not been implemented. - **8**: ErrorNoInterface - No such interface supported. - **9**: ErrorProtocol - Error in message content, incorrect number of fields, or their values. - **10**: ErrorLongAnswer - The response message is too big. ``` -------------------------------- ### Delete File Source: https://c3.ulsu.tech/protocol/1.4/index Deletes a specified file from the system. ```APIDOC ## DELETE /api/files/{fileName} ### Description Delete a file. ### Method DELETE ### Endpoint /api/files/{fileName} ### Parameters #### Path Parameters - **fileName** (string) - Required - The name of the file to delete. ### Request Example ```json { "fileName": "old_file.txt" } ``` ### Response #### Success Response (200) - **errorCode** (UINT16) - The error code. 0 indicates success. - **success** (BOOL) - True if the operation was successful, false otherwise. #### Response Example ```json { "errorCode": 0, "success": true } ``` ``` -------------------------------- ### Discovery Protocol - Proxy Type Request Source: https://c3.ulsu.tech/protocol/1.4/index This request type is part of the Discovery Protocol but has no documented purpose or response in the provided text. ```APIDOC ## UDP / Discovery Protocol - Proxy Type Request ### Description This endpoint is part of the Discovery Protocol. Specific details regarding its purpose, request format, and response are not provided in the documentation. ### Method UDP Datagram ### Endpoint Default Port: 7000 (Standard Mode) ### Parameters (Not specified in the provided documentation) ### Response (Not specified in the provided documentation) ### Notes - Minimum supported version: 1.0.0 (Open Source). - Supports KukavarProxy: No. ``` === COMPLETE CONTENT === This response contains all available snippets from this library. No additional content exists. Do not make further requests.