PaulStoffregen 7 years ago
parent
commit
f890ec1955
2 changed files with 9 additions and 3 deletions
  1. +6
    -0
      USBHost_t36.h
  2. +3
    -3
      antplus.cpp

+ 6
- 0
USBHost_t36.h View File

@@ -877,12 +877,18 @@ public:
user_onHeartRateMonitor = f;
}
void onSpeedCadence(void (*f)(float speed, float distance, float rpm), uint32_t devid=0) {
profileSetup_SPDCAD(&ant.dcfg[PROFILE_SPDCAD], devid);
memset(&spdcad, 0, sizeof(spdcad));
user_onSpeedCadence = f;
}
void onSpeed(void (*f)(float speed, float distance), uint32_t devid=0) {
profileSetup_SPEED(&ant.dcfg[PROFILE_SPEED], devid);
memset(&spd, 0, sizeof(spd));
user_onSpeed = f;
}
void onCadence(void (*f)(float rpm), uint32_t devid=0) {
profileSetup_CADENCE(&ant.dcfg[PROFILE_CADENCE], devid);
memset(&cad, 0, sizeof(cad));
user_onCadence = f;
}
void setWheelCircumference(float meters) {

+ 3
- 3
antplus.cpp View File

@@ -1130,9 +1130,9 @@ void AntPlus::payload_SPDCAD(TDCONFIG *cfg, const uint8_t *data, const size_t da
uint16_t speedTime = data[5] | (data[6] << 8);
uint16_t speedCt = data[7] | (data[8] << 8);
if (cadenceTime == spdcad.previous.cadenceTime
&& cadenceCt != spdcad.previous.cadenceCt
&& speedTime != spdcad.previous.speedTime
&& speedCt != spdcad.previous.speedCt) {
&& cadenceCt == spdcad.previous.cadenceCt
&& speedTime == spdcad.previous.speedTime
&& speedCt == spdcad.previous.speedCt) {
return; // no change
}
uint16_t cadence = (60 * (cadenceCt - spdcad.previous.cadenceCt) * 1024) / (cadenceTime - spdcad.previous.cadenceTime);

Loading…
Cancel
Save