Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Store and report tracker assignment within firmware #257

Open
nekomona opened this issue Jul 4, 2023 · 0 comments
Open

Store and report tracker assignment within firmware #257

nekomona opened this issue Jul 4, 2023 · 0 comments

Comments

@nekomona
Copy link
Contributor

nekomona commented Jul 4, 2023

As most user would keep trackers to the first position they assigned along with straps and labels, it's possible to store the assignment on each tracker's local storage.

Tracker will report their stored assignment to the server, so when server config is lost, switching to a new computer, or shipping to a new user, server could pick up tracker's assignment automatically and skip the assigning process. If the assignment is to be changed, new assignment could be sent from server from tracker and updated. No different from current assignment process from the user side.

Implement wise, tracker assignment is performed per-imu thus easily falls into SensorInfo packets. Could append tracker assignment (or also include mounting position) into SensorInfo packets by a few bytes. Upon new connection, server would listen to the sensor state update packet and read assignment from the packets. When the assignment is changed, server could send another SensorInfo packet to the firmware like what sensor state update currently does.

The assignment data could be stored alongside with calibration data or be put in an additional path. Only a few bytes to be stored thus shouldn't be an issue to the storage space.

This feature would change packet format but could be compatible with previous version by either checking packet length or assign a new packet id for the ones with assignment included.

Currently it's still in the draft phase, and the trial implementation of this is currently blocked by the upcoming refactors. How it's actually implemented in firmware / server side, what should be included in the assignment data, and so on could still need some discussion.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

1 participant