Welcome Guest,Register Now
Log In

ANT Forum

Welcome guest, please Login or Register

   

Not receiving Pedal-smoothness and Torque-effectiveness

Rank

Total Posts: 3

Joined 2024-04-26

PM

Hello everyone,

I'm developing an app to connect to Pedal-based Bike Power Meters - specifically the Garmin RALLY RS200.
I have studied the ANT+ plugin sampler project and built my own app in accordance.
I subscribe to 5 events:
-BatteryStatusEvent
-PedalPowerBalanceEvent
-CalculatedPowerEvent
-PedalSmoothnessEvent
-TorqueEffectivenessEvent

The first 3 behave as expected, and I receive valid data. But on PedalSmoothness and TorqueEffectiveness I never receive a call back.
Now after having read the ANT+ Device Profile for Bicycle Power, and having experimented in a C++ program before starting the Android Project, I know that some data has to be requested first using the Get/Set Page 0x02 and the subpage 0xFE – Advanced Capabilities 2. But from the Android API I know of no function to do this manually.
So my question is: Does the API enable sensors automatically to send "advanced" data when I subscribe to an event like this? If so, what else could be the problem for not receiving any data? Or, is there a function that I missed to send a get/set page to the sensor via the API to enable the Data-Pages of interest?

Many thanks in advance!

Kind regards,
Christian Weber      
Rank

Total Posts: 2

Joined 2024-03-20

PM

Christian87833 - 28 May 2024 01:20 AM
Hello everyone,

I'm developing an app to connect to Pedal-based Bike Power Meters - specifically the Garmin RALLY RS200.
I have studied the ANT+ plugin sampler project and built my own app in accordance.
I subscribe to 5 events:
-BatteryStatusEvent
-PedalPowerBalanceEvent
-CalculatedPowerEvent
-PedalSmoothnessEvent
-TorqueEffectivenessEvent

The first 3 behave as expected, and I receive valid data. But on PedalSmoothness and TorqueEffectiveness I never receive a call back.
Now after having read the ANT+ Device Profile for Bicycle Power, and having experimented in a C++ program before starting the Android Project, I know that some slope data has to be requested first using the Get/Set Page 0x02 and the subpage 0xFE – Advanced Capabilities 2. But from the Android API I know of no function to do this manually.
So my question is: Does the API enable sensors automatically to send "advanced" data when I subscribe to an event like this? If so, what else could be the problem for not receiving any data? Or, is there a function that I missed to send a get/set page to the sensor via the API to enable the Data-Pages of interest?

Many thanks in advance!

Kind regards,
Christian Weber



Ensure that you're using the latest version of the ANT+ API and that you've followed all the necessary steps for subscribing to advanced data events as outlined in the documentation      
Rank

Total Posts: 3

Joined 2024-04-26

PM

Thank your for your response, could you explain what you exactly mean by "necessary steps"?
I subscribe to these events in the same way, I subscribed to Battery Status for example.
I also added a button to try and enable the advanced Data:
buttonEnable.setOnClickListener {
val test = byteArrayOf(0x02, 0xFE.toByte(), 0xFF.toByte(), 0xFF.toByte(), 0b10000101.toByte(), 0xFF.toByte(), 0b10000101.toByte(), 0xFF.toByte())
pwrPcc.requestCommandBurst(0, test, {requestStatus -> Log.d("UPDATE", "Request status: $requestStatus")})
}

Which is my guess, based on the ant+ bicycle power profile page 76, section 15.2.5 Subpage 0xFE – Advanced Capabilities 2.
The above should enable the sensors to basically send all data possible. The message is sent successfully, but I do not receive the data of interest.
I am also not sure if that is the intended use of this function, but it's documentation is rather short, so it doesn't help me.
Any help is much appreciated!      
Rank

Total Posts: 5

Joined 2023-10-26

PM

Christian87833 - 07 June 2024 03:22 AM
Thank your for your response, could you explain what you exactly mean by "necessary steps"?
I subscribe to these events in the same way, I subscribed to Battery Status for example.
I also added a button to try and enable the advanced Data:
buttonEnable.setOnClickListener {
val test = byteArrayOf(0x02, 0xFE.toByte(), 0xFF.toByte(), 0xFF.toByte(), 0b10000101.toByte(), 0xFF.toByte(), 0b10000101.toByte(), 0xFF.toByte())
pwrPcc.requestCommandBurst(0, test, {requestStatus -> Log.d("UPDATE", "Request status: $requestStatus")})
}

Which is my guess, based on the ant+ bicycle power profile page 76, section 15.2.5 Subpage 0xFE – Advanced Capabilities 2. geometry dash lite
The above should enable the sensors to basically send all data possible. The message is sent successfully, but I do not receive the data of interest.
I am also not sure if that is the intended use of this function, but it's documentation is rather short, so it doesn't help me.
Any help is much appreciated!

Because there are so many readily available resources for information, learning about ANT USB issues is actually not too difficult. A little update: I'm almost done with the examples for the gRPC and MAUI services, and I'm presently working on some edge cases that include managing errors, surprise removal, and USB sticks. Version of the ANT+ API installed and that you have completed all the instructions in the manual to subscribe to advanced data events.