Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
48 changes: 24 additions & 24 deletions proposals/0126-atf-additional-transports.md
Original file line number Diff line number Diff line change
@@ -1,9 +1,9 @@
# ATF support of additional transports (BT and USB)

* Proposal: [SDL-0126](0126-atf-additional-transports.md)
* Author: [Alexander Kutsan](https://github.com/LuxoftAKutsan)
* Status: **Accepted**
* Impacted Platforms: [Core]
* Author: [Alexander Kutsan](https://github.com/LuxoftAKutsan), [Oleksandr Deriabin](https://github.com/aderiabin)
* Status: **Awaiting review**
* Impacted Platforms: [ATF]

## Introduction

Expand Down Expand Up @@ -33,27 +33,27 @@ Main reasons :
## Proposed solution

Use real mobile device as a transport adapter.
Create Mobile application as a part of ATF infrastructure.
Mobile application may use [SDL android library](https://github.com/smartdevicelink/sdl_android)
for communicating with SDL and TCP connection for communication with ATF.

Mobile application (Mobile transport adapter) should provide to ATF side such RPCs:
- ConnectToSDL(transport)
- RemoveConnection(connection_id)
- GetListOfAvailableTransports()
- SendData(connection_id, data)

ATF should be able to connect to multiple Mobile transport adapters and provide ability to use any of them to test engineer.

ATF should provide such API to test engineer:
- ConnectToSDL(device, connection type)
- RemoveConnection(connection)
- SendRawData(connection)
- GetListOfAvailableDevices()
- GetDeviceInfo(device)
_СonnectToSDL_ should return connection object.
Connection object should provide ability to create sessions on it. Session interface should not be changed.
Create Android mobile application as a part of ATF infrastructure.

Mobile application should use HTTP connection with REST protocol for control communication with ATF using next API:
- GetDeviceInfo - Provides device's information
Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

@aderiabin probably some details would be useful here for understanding what is a device info

Copy link
Copy Markdown
Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

@AKalinich-Luxoft Details have been added. (see 5716e7b)

- ConnectToSDL - Connects to SDL and provides proxy TCP connection parameters
- DisconnectFromSDL - Disconnects from SDL
- GetSDLConnectionStatus - Provides status of connection to SDL

Mobile application should provide next information as main part of the response to `GetDeviceInfo` request:
- Operating system type
- Array of transports (with transport specific information) which available to connect to SDL

Mobile application should provide host and port of TCP server for raw binary data communication with ATF on establishing successful connection to SDL.
Mentioned host and port should be provided as main part of the response to `ConnectToSDL` request.
Mobile application should transfer data from ATF received by TCP server to SDL and vice versa.
Mobile application may use [SDL android library](https://github.com/smartdevicelink/sdl_android) for communicating with SDL.

ATF should be able to connect to multiple Mobile transport adapters and provide ability to use any of them to test engineer.

Test engineers should be able to create sessions on provided by ATF mobile transport adapters.
Session interface should not be changed.

In the case where a mobile device is absent, ATF should be able to test SDL via TCP connection (as it does now).

Expand Down