Garmin HRM 600: Initial support

Based on feedback in #5633
This commit is contained in:
Thomas Kuehne
2026-04-11 00:03:36 +02:00
committed by José Rebelo
parent 749219f840
commit 536ad17c4d
4 changed files with 35 additions and 0 deletions
@@ -0,0 +1,31 @@
/* Copyright (C) 2026 Thomas Kuehne
This file is part of Gadgetbridge.
Gadgetbridge is free software: you can redistribute it and/or modify
it under the terms of the GNU Affero General Public License as published
by the Free Software Foundation, either version 3 of the License, or
(at your option) any later version.
Gadgetbridge is distributed in the hope that it will be useful,
but WITHOUT ANY WARRANTY; without even the implied warranty of
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
GNU Affero General Public License for more details.
You should have received a copy of the GNU Affero General Public License
along with this program. If not, see <https://www.gnu.org/licenses/>. */
package nodomain.freeyourgadget.gadgetbridge.devices.garmin.hrm
import nodomain.freeyourgadget.gadgetbridge.R
import java.util.regex.Pattern
// #5633
class GarminHrm600Coordinator : GarminHrmProPlusCoordinator() {
override fun getSupportedDeviceName(): Pattern? {
return Pattern.compile("^HRM600:[0-9]+$")
}
override fun getDeviceNameResource(): Int {
return R.string.devicetype_garmin_hrm_600
}
}
@@ -74,6 +74,7 @@ import nodomain.freeyourgadget.gadgetbridge.devices.garmin.bike.GarminEdge840Coo
import nodomain.freeyourgadget.gadgetbridge.devices.garmin.bike.GarminEdgeExplore2Coordinator;
import nodomain.freeyourgadget.gadgetbridge.devices.garmin.bike.GarminEdgeExploreCoordinator;
import nodomain.freeyourgadget.gadgetbridge.devices.garmin.gps.GarminGpsmap66sCoordinator;
import nodomain.freeyourgadget.gadgetbridge.devices.garmin.hrm.GarminHrm600Coordinator;
import nodomain.freeyourgadget.gadgetbridge.devices.garmin.hrm.GarminHrmProPlusCoordinator;
import nodomain.freeyourgadget.gadgetbridge.devices.garmin.gps.GarminETrexSeCoordinator;
import nodomain.freeyourgadget.gadgetbridge.devices.garmin.gps.GarminInReachMini2;
@@ -632,6 +633,7 @@ public enum DeviceType {
VIVOMOVE_HR(GarminVivomoveHrCoordinator.class),
GARMIN_HRM_PRO_PLUS(GarminHrmProPlusCoordinator.class),
GARMIN_HRM_200(GarminHrm200Coordinator.class),
GARMIN_HRM_600(GarminHrm600Coordinator.class),
GARMIN_EDGE_25(GarminEdge25Coordinator.class),
GARMIN_EDGE_130(GarminEdge130Coordinator.class),
GARMIN_EDGE_130_PLUS(GarminEdge130PlusCoordinator.class),
+1
View File
@@ -2251,6 +2251,7 @@
<string name="devicetype_coospo_hw9" translatable="false">Coospo HW9</string>
<string name="devicetype_coospo_hw807" translatable="false">Coospo HW807</string>
<string name="devicetype_garmin_hrm_200" translatable="false">Garmin HRM 200</string>
<string name="devicetype_garmin_hrm_600" translatable="false">Garmin HRM 600</string>
<string name="devicetype_coospo_h9z" translatable="false">Coospo H9Z</string>
<string name="devicetype_solarflow">SolarFlow</string>
<string name="devicetype_braun_bpw4500" translatable="false">Braun iCheck 7 BPW4500</string>
@@ -167,6 +167,7 @@ public class AbstractDeviceCoordinatorTest extends TestBase {
put("CASIO STB-1000", DeviceType.CASIOGB6900); // #1902
put("Amazfit Bip 3 Pro", DeviceType.AMAZFITBIP3PRO); // #3249
put("Redmi Band Pro AB01", DeviceType.REDMISMARTBANDPRO); // #3069
put("HRM600:1234", DeviceType.GARMIN_HRM_600); // #5633
put("HRMPro+:123456", DeviceType.GARMIN_HRM_PRO_PLUS); // #5364
put("Instinct 2S Solar", DeviceType.GARMIN_INSTINCT_2S_SOLAR); // #3063
put("LE_WH-1000XM5", DeviceType.SONY_WH_1000XM5); // #2969