Skip to content

Latest commit

 

History

History
40 lines (32 loc) · 1.57 KB

solution-overview.md

File metadata and controls

40 lines (32 loc) · 1.57 KB

Solution overview

created by Mateusz Chojnowski

On Android, Inseye SDK communicates with the eye tracker trough another application, called service, working as a middleman between electronics and user application installed on Android OS. The service application must be installed on the headset and can be downloaded from the App Center.

Client application binds to the Android service on demand.

Communication between the service and client application is done through ISharedService interface.

Most of the communication is done through synchronous or asynchronous (callback based) RPC calls with the exception of sending gaze and raw data from service to client applications which is made through UDP sockets.

Communication flow flowchart.

flowchart TD
subgraph eye_tracker_board ["Inseye hardware"]
firmware["Firmware"]
end

subgraph android_device ["Android Device"]
subgraph android_service ["Android Service (closed source)"]
api_lib_service["Inseye-SDK-Android-API"]
end
aidl(["AIDL</br>(rpc calls)"])
udp(["UDP</br>(gaze data)"])
subgraph client_application ["Client Application"]
api_lib_client["Inseye-SDK-Android-API"]
end
end

firmware --- proprietary_protocol(["Proprietary</br>protocol"]) --> android_service
aidl --> api_lib_client
aidl --> api_lib_service
udp --- api_lib_service
udp --> api_lib_client

classDef red fill:#f6546a
class android_device red
class eye_tracker_board red
Loading