VivoPower - Power meter reading for VivoActive

Former Member
Former Member
Hi all,

I have been working on an ANT+ power profile implementation for the VivoActive, it can be downloaded here:

https://apps.garmin.com/en-US/apps/38e4c506-b192-4d45-968a-38850c3dfd85

I would appreciate any feedback relating to whether or not it works with your power meter and also what fields are working and what messages are being shown at the bottom of the app.

I have not been able to get the calibrate feature working, let me know if you have any success. Otherwise if I can't figure out what the issue is I might remove it.

Let me know your feedback

Thanks
Joel
  • Power on Data field

    I tested the app with Stages Power Meter and it able to show the real time Cadence and Power. This is great.

    Beside of saving data for later analysis, is it possible to show average Power for last x seconds?

    The other problem is I cannot see my other Bike data field on the watch like real time HeatRate, speed, distance etc as I primary switch to use Vivoactive as my cycle computer. Can you implement this as Data field for vivoactive so that I can add to the Bike screen, plus it might be able to record it together with other data fields.

    Thanks
    Siong
  • I may be severely wrong in this... but Here are what I think - feel free to bash my head.

    1) PowerMeter on VA - author is using direct ANT+ communication to the PM. (like monopoly and you getting sent to jail - you do not pass go, you do not collect 200 bucks) - hence I think you may not be able to record the PM data into a FIT file. ( I _think_ this is the default when you communicate directly to the sensor via ANT+ that you _write_ yourself). This is exactly why the MoxyRun Hardware can display live data on the VA Screen or any of the Watches (that support CIQ) but is not able to record it into a FIT file

    2) Bike Ride Data w/ PM Data - This is doable. Meaning the author _should_ be able to do the normal record functionality for any of the normal parameters. Not a problem. But Problem #1 as above still exists.

    Nett-Nett.. for you to be able to have your cake and eat it to, My personal opinion based on what I know is you can't. You need to upgrade your watch to one that supports a PM.
  • Former Member
    Former Member over 9 years ago
    I may be severely wrong in this... but Here are what I think - feel free to bash my head.

    1) PowerMeter on VA - author is using direct ANT+ communication to the PM. (like monopoly and you getting sent to jail - you do not pass go, you do not collect 200 bucks) - hence I think you may not be able to record the PM data into a FIT file. ( I _think_ this is the default when you communicate directly to the sensor via ANT+ that you _write_ yourself). This is exactly why the MoxyRun Hardware can display live data on the VA Screen or any of the Watches (that support CIQ) but is not able to record it into a FIT file

    2) Bike Ride Data w/ PM Data - This is doable. Meaning the author _should_ be able to do the normal record functionality for any of the normal parameters. Not a problem. But Problem #1 as above still exists.

    Nett-Nett.. for you to be able to have your cake and eat it to, My personal opinion based on what I know is you can't. You need to upgrade your watch to one that supports a PM.


    All assumptions are correct. I am using direct ANT+ communication to speak with the power meter. Unfortunately this is the only way to communicate with a power meter on the VivoActive. The VivoActive does not support the Power Meter ANT/FIT profile therefore the values cannot make it to the activity recording file.

    The VivoActive was given to me as a present and I was excited at the prospect of using it to visualise data - at the time I had not read much about it so assumed it supported power meters but was later disappointed to find that it didn't - hence why I started writing the software. I just want to find ways to visualise data as shapes and colours because I find I have trouble reading numbers especially when I'm "on the rivets". Anyway the VivoActive shows lots of opportunity for doing this hence why I've started writing these apps.

    Some have noticed that I snuck in the custom power meter library into ActiveMeter, its still having some bugs ironed out - because it is using event listeners I have found that I have reached some sort of limit where the event queue is starting to overflow (especially on meters that might send up to 8 messages a second), hence the lock-ups. I patched it yesterday to reduce the number of events to one per second and when I have more time I'm going to restructure the whole thing to not use event listeners at all.

    I really think that Garmin are missing a massive opportunity here - my app shows that it is possible to communicate with power meters using the VivoActive. For some reason (dare I say, "product placement") Garmin has decided not to include that functionality in the VivoActive, instead pushing customers onto uglier, chunkier watches with integration features not present in the VivoActive. Lets face it, the VivoActive will never compete with Apple or Android in the segment they have chosen, and they have crippled it in the fear that it would compete with their sports watches which have niches of their own. In effect they are dooming their own product to obscurity in that it does not have enough features to show promise in the wider consumer market, nor the sports market.

    Anyway, rant aside. Please place any further feedback, I'm especially interested in wheel based power meter support (powertap et al). I'm hoping to find some time to clean up the app a bit so that different messages display on different screens (or use message filtering) instead of it switching back and forth all the time.
  • I am very impressed on your effort. I tried to look at how to talk directly to ANT+ sensors, went to the ANT+ site to have a look and see if I can make head/tails of it and... guess what, looks like I'm not as clever as you.

    Is there a fairly simple way to start this endeavour or is it really a very steep learning curve?

    In terms of massive opportunity - My humble opinion is that you are mistaken - but we may never be able to settle this debate given that we do not have the sales numbers. However, I do agree w/ you that this is market placement of the watch in relation to it's other offering.

    But at the same time, look at how the iphone was restricted in the early days and how the jailbreakers showed everyone how much can be done w/ it and where it is today. Perhaps we are heading on this trajectory!!
  • Former Member
    Former Member over 9 years ago
    I am very impressed on your effort. I tried to look at how to talk directly to ANT+ sensors, went to the ANT+ site to have a look and see if I can make head/tails of it and... guess what, looks like I'm not as clever as you.

    Is there a fairly simple way to start this endeavour or is it really a very steep learning curve?

    In terms of massive opportunity - My humble opinion is that you are mistaken - but we may never be able to settle this debate given that we do not have the sales numbers. However, I do agree w/ you that this is market placement of the watch in relation to it's other offering.

    But at the same time, look at how the iphone was restricted in the early days and how the jailbreakers showed everyone how much can be done w/ it and where it is today. Perhaps we are heading on this trajectory!!


    Thanks for the feedback. It wasn't that easy but once you have created a developer account on the thisisant website you have access to all the necessary documentation. My module is based on the moxy code provided with the ConnectIQ SDK combined with the C++ example from ANT+ sample code so it's not that original. When I'm happy with the results and clean up the code I'll make it open source so that it can be used elsewhere by others.

    ...unless Garmin actually start supporting power meters in the vivoactive which I still think is a massive opportunity missed.

    I was sort of thinking that jailbreaking the watch would be fun and show all sorts of potential but would prefer to support the system garmin have built for now. Anyway I don't have time for that.
  • Former Member
    Former Member over 9 years ago
    Calibration is now working too

    Hi,
    Just tried the updated version of the app and calibration is now working too.
    Keep up the good work :-)
  • Hi,

    I am glad to see a power meter app being built for VA. This is my first time trying to use power meter, I bought a power meter but later realize that VA not support it. I am using VA as the only bike computer during cycle. A few suggestions or questions below.

    1) Since this built as an app, how can I read and record my ride on the standard bike feature comes with VA? Even it can be record, it will be difficult to switch the screen to look at other data field like heart rate and speed during ride. Is it possible to build this as Data Field?

    2) During the ride, is it correct that other Garmin device always show the current real time power and use that to monitor against FTP? Or it show average power for the last n seconds.

    I am trying to decide whether or not I have to purchase Edge or not. It would be nice if I can just use VA for my needs on monitoring power during my ride.

    Thanks
    Siong
  • 1) no.
    2) I think all devices show real time power. Other fields are calculated using this number.
  • Former Member
    Former Member over 9 years ago
    Source code

    For the coders who are interested in using the library in their project the source is here: https://github.com/joel-cass/vivopower

    The main library is at https://github.com/joel-cass/vivopower/blob/master/VivoPower/source/antpower/AntPowerSensor.mc it has dependencies on the classes in https://github.com/joel-cass/vivopower/tree/master/VivoPower/source/helper

    It has a range of constants for Pages. To initialise to listen to all pages use "var sensor = new AntPowerSensor(id)", to only listen to one page, say power only, use "sensor = new AntPowerSensor(id, [AntPowerSensor.PAGE_POWER_ONLY]);". You can access data using sensor.getData() which returns an AntData object located at the end of the main source file. Or, you can use listeners, e.g. "VivoPowerApp.sensor.addListener(method(:updateValues), AntPowerSensor.PAGE_POWER_ONLY)" pointing to the method "function updateValues(data) {...}" Where data is an AntData object.

    You can look through the different views to see how it works. Each view tunes in to a certain page that is returned from the ant client.
  • Former Member
    Former Member over 9 years ago
    Power meter widget

    "Hi Joel ,I tested your power meter app this morning using a cyclops Power tap and both cadence and power seemed to work very well and accurately I was comparing with a Garmin510 .It would be nice if at the end of a ride you could see your average watts for the ride but in any event great job thanks."

    Joel
    Hi all,

    I have been working on an ANT+ power profile implementation for the VivoActive, it can be downloaded here:

    https://apps.garmin.com/en-US/apps/38e4c506-b192-4d45-968a-38850c3dfd85

    I would appreciate any feedback relating to whether or not it works with your power meter and also what fields are working and what messages are being shown at the bottom of the app.

    I have not been able to get the calibrate feature working, let me know if you have any success. Otherwise if I can't figure out what the issue is I might remove it.

    Let me know your feedback

    Thanks
    Joel