Recent

Author Topic: A free pascal client for opengaze api  (Read 1491 times)

cpicanco

  • Hero Member
  • *****
  • Posts: 655
  • Behavioral Scientist and Programmer
    • Portfolio
A free pascal client for opengaze api
« on: June 30, 2024, 11:45:53 pm »
Hi everyone!

I am sharing a client to communicate with Gazepoint eye tracker. It is really simple right now. You can connect and control the Gazepoint Control server using calibration and record commands:

https://github.com/cpicanco/fpc-opengaze
Be mindful and excellent with each other.
https://github.com/cpicanco/

cpicanco

  • Hero Member
  • *****
  • Posts: 655
  • Behavioral Scientist and Programmer
    • Portfolio
Re: A free pascal client for opengaze api
« Reply #1 on: July 05, 2024, 12:48:24 pm »
Recent commits introduce calibration choreographies for remote and local setups
Be mindful and excellent with each other.
https://github.com/cpicanco/

cpicanco

  • Hero Member
  • *****
  • Posts: 655
  • Behavioral Scientist and Programmer
    • Portfolio
Re: A free pascal client for opengaze api
« Reply #2 on: July 15, 2024, 11:58:51 am »
Recent commits introduce a worker thread to fix a bug in the blocking logic, which was causing long strings to be partially lost.

# Incoming thread
https://github.com/cpicanco/fpc-opengaze/blob/cedae7e6585740e79137a54d2df77f2868b4cc33/src/opengaze.incoming.pas

The TCP/IP client receives strings from a server running at 150 Hz. After this low-level (synaser) processing, the client's incoming thread splits the received strings into "commands" using #13#10 as a constant separator. Partially received commands, if any, are saved for the next receive round. Full commands are enqueued into a thread-safe list.

# Worker thread
https://github.com/cpicanco/fpc-opengaze/blob/cedae7e6585740e79137a54d2df77f2868b4cc33/src/opengaze.worker.pas

A worker thread that controls blocking versus non-blocking commands waits for commands and processes them until all command processing is complete.

I would greatly appreciate it if you could share your comments or suggestions.


Be mindful and excellent with each other.
https://github.com/cpicanco/

 

TinyPortal © 2005-2018