Garmin Vivomove HR support
- communication protocols
- device support implementation
- download FIT file storage
Features:
- basic connectivity: time sync, battery status, HW/FW version info
- real-time activity tracking
- fitness data sync
- find the device, find the phone
- factory reset
Features implemented but not working:
- notifications: fully implemented, seem to communicate correctly, but not shown on watch
Features implemented partially (not expected to work now):
- weather information (and in future possibly weather alerts)
- music info
- firmware update: only the initial file upload implemented, not used
Things to improve/change:
- Device name hardcoded in `VivomoveHrCoordinator.getSupportedType`, service UUIDs not available
- Download FIT file storage: Should be store (and offer the user to export?) the FIT data forever?
- Obviously, various code improvements, cleanup, etc.
2023-06-15 17:47:42 +02:00
|
|
|
syntax = "proto2";
|
|
|
|
|
|
|
|
package garmin_vivomovehr;
|
|
|
|
|
2023-06-17 15:08:11 +02:00
|
|
|
option java_package = "nodomain.freeyourgadget.gadgetbridge.proto.vivomovehr";
|
Garmin Vivomove HR support
- communication protocols
- device support implementation
- download FIT file storage
Features:
- basic connectivity: time sync, battery status, HW/FW version info
- real-time activity tracking
- fitness data sync
- find the device, find the phone
- factory reset
Features implemented but not working:
- notifications: fully implemented, seem to communicate correctly, but not shown on watch
Features implemented partially (not expected to work now):
- weather information (and in future possibly weather alerts)
- music info
- firmware update: only the initial file upload implemented, not used
Things to improve/change:
- Device name hardcoded in `VivomoveHrCoordinator.getSupportedType`, service UUIDs not available
- Download FIT file storage: Should be store (and offer the user to export?) the FIT data forever?
- Obviously, various code improvements, cleanup, etc.
2023-06-15 17:47:42 +02:00
|
|
|
|
|
|
|
message FindMyWatchService {
|
|
|
|
optional FindMyWatchRequest find_request = 1;
|
|
|
|
optional FindMyWatchResponse find_response = 2;
|
|
|
|
optional FindMyWatchCancelRequest cancel_request = 3;
|
|
|
|
optional FindMyWatchCancelResponse cancel_response = 4;
|
|
|
|
|
|
|
|
message FindMyWatchRequest {
|
|
|
|
required int32 timeout = 1;
|
|
|
|
}
|
|
|
|
|
|
|
|
message FindMyWatchResponse {
|
|
|
|
optional ResponseStatus status = 1;
|
|
|
|
}
|
|
|
|
|
|
|
|
message FindMyWatchCancelRequest {
|
|
|
|
}
|
|
|
|
|
|
|
|
message FindMyWatchCancelResponse {
|
|
|
|
optional ResponseStatus status = 1;
|
|
|
|
}
|
|
|
|
|
|
|
|
enum ResponseStatus {
|
|
|
|
UNKNOWN_RESPONSE_STATUS = 0;
|
|
|
|
OK = 100;
|
|
|
|
ERROR = 200;
|
|
|
|
}
|
|
|
|
}
|