BreakAway: Indoor Training App Now with Intervals.icu Calendar integration (Workout Of The Day)

This is exactly what I am looking for as well for sustained endurance workouts.
The simple approach that @Howie points out would work and would not need ERG/MRC type files… Just set the HR target using the app up/down buttons and let the app control the trainer accounting for the HR lag to power. Would have to longish time windows for averaging the HR since the HR drift is a slow time scale thing. The older Wahoo Kickr app had the ERG mode on power and you used up/down buttons…… same principle…

Let me clarify, you guys are asking for another selection on the SETTINGS page for the “smart trainer mode” something like the below mockup? (the yellow addition)

When in HR mode, the Up/Dn button will be used to set the HR Upper Limit? But the app will still have ERG mode control. There will be another data field needed (called HR Target, in parallel to current Power Target data field that you will need to show on display tho)

This will still be a bit complicated due to architecture of the current system. Also, this will not be automatic switching, user will still need to press a button to go from ERG mode to HR Mode for the Up/Dn Buttons.

Possibly the best compromise I can think of right now is to use the moveable/draggable icon to toggle the Up/Dn button from ERG Watt Steps to HR bpm Steps. (possibly using the same number eg: 5w increment == 5 bpm increment / decrement) So once you’re in the interval you wish to have the HR cap, you press the moveable/draggable icon to go to HR BPM steps and you set the max HR for that interval(5bpm steps). Once in HR Mode, app will use the same steps (5bpm == 5watts) to continually adjust the ERG mode target based on the Lap HR

Note : HR Target Mode will be an “advanced option” setup. (or basically just put the option as ?use Up/Dn button for HR target in ERG mode. It won’t be something intuitive to users for sure.)

is this for Power ERG Target or for HR? AFAIK, it’s for ERG.

Speaking for myself….it is even simpler….

You are correct that there is a new mode: the HR mode with up/down steps.
In this mode, you use the up/down to set your HR target for the workout (the lower limit could be your resting HR and upper limit could be HRMax or anything).

Once you set the HR target at which you will do the workout, the app needs to adjust the watt set point (the trainer is in erg mode) to the trainer to ensure that the HR is not changing (within small error band around target HR). When the HR drifts up during the workout, the app lowers the watt set point to the trainer to bring HR back to target. You have to do this carefully since HR lags power changes by a minute or so…

Re: the Wahoo app, yes it is standard ERG mode on power. I just used it as an example to illustrate the up/down control and simplicity…

1 Like

Exactly. The trainer is still ERG controlled as usual. Nothing changes there. No new file types. The trainer doesn’t need to have any idea about who/what is triggering power changes (user or app).

Think simple: the app just acts as the user’s proxy for determining when to change the trainer power. The user sets a HR then the app keeps track of what’s going on. If the HR exceeds (for a given number of minutes) the user’s defined cap then the app decreases the power of the trainer (instead of the user having to do it). If the HR drops below the user’s set point (continually for a given number of minutes) then the app triggers an increase in power, as defined in the existing watts increments settings.

Again, think simple: it’s standard ERG mode with an app smart setting that watches for the need to trigger power changes instead of the user having to do it. Of course, the HR set point needs to be changeable during the ride. That’s why I suggested a separate +/- button for HR (assuming that HR proxy mode is enabled).

BreakAway successfully uploads completed rides to Intervals but the app is not downloading workouts, either for the day or the week.

Any guesses as to the reason?

Hi - Sorry about that. I’m not sure why that it, since it’s able to download.
I tested on my phone and it works. (download)

Could you try putting in “logcloud” and doing the “pull down to refresh” to do the download and see what gets logged into the logfile? You can either paste the output here or just send the logfile to me (app4g dot devel@gmail.com).

Is it giving any errors? Did you login (again) on another device? (intervals auth mech only allows 1 device at any time Intervals.icu OAuth support - #14 by david and have highlighted it to David) so if you did login to another device, it won’t work anymore on the previous device. (but you mentioned that it uploads fine so I’m not too sure)

How do I “put in” logcloud" and then view the logfile? I can’t find a “logcloud” anywhere in the app.

OOps… sorry… should be more descriptive:

Please enter “logcloud”(no quotes) within the SETTINGS tab on the developer Text Field (all the way at the bottom of the SETTINGS tab)

The do the “pull to refresh” to do the download.

The Logfile will get generated and will be in the HISTORY tab as a plain text file. I think it should be called as LogCloud.txt

Got it.
CloudLog. Check your inbox. :+1:

1 Like

Hi. Just posting to say I’m really liking your app. Used it for 3 or 4 workouts so far. The app/medal model seems reasonable to me, as does the purchase medal option.

Seeing as I’m posting, a bug I have noticed is that if I set smart trainer to ‘slope’ mode, the app force crashes when I click on library. It doesn’t affect me as I intend to only use ERG mode, but thought I’d mention it

2 Likes

TQ for testing and usage of this app.
I tested the version on the APPStore and yes it indeed had this bug (I thought i had it squashed) when I tested the fix some time back.

The funny thing here is, using the same Revision of code that I used to upload the the store, compiling and running it directly, the error is not present.

TQ for the report and I do roughly know where the issue is, and will fix.

Sorry for the inconvenience.

Hey,

today I tried BreakAway and had some issues.
I used my Forerunner 945 with HR belt and send the HR to my Ipad.

The Cadence Sensor dropped out really often. Because of that the time in Intervals is false?!
Another Problem is that the virtual GPS doesn’t worked.

I also had a Bike and a Run file in strava.

Normally I use TrainerDay with the same setup and there I have no problems.

Thanks for the help! :slight_smile:

@Lau234 TQ For testing the app., sorry about the issues tho.

The code should already have dropouts protection. Will need the logs to determine what exactly is the issue. What brand/model of the cadence sensor? (I am using a Wahoo RPM and the Assioma PM and both works well)

You can determine if intervals considers you to be “moving” or not by using this “moving” chart feature and looking at the graph.

. Tho I’m not certain what the algo intervals uses.

There was a bug present in the Older Rev app which the Option is “stucked” where it shows on when it really isn’t. It should be fixed if you’re already on the latest Rev tho. (But, please disable and enable again to confirm)

Now this is quite new. BreakAway is uploading both a BIKE and RUN workout in Strava (If it’s from BreakAway, it should show up w a description on Strava)? Is It also present (BIKE and RUN) in Intervals ? Any Chance you’re enabling Stryd FootPod Option? Tho i think it’s highly unlikely (in my testing) that it would upload the completed workout BOTH as RUN and BIKE tho even if you’ve enabled Stryd. Is it generating 1 workout file or 2 workout files? (it should only generate 2 workout files if you’re using “Save As FIT”)

in any case, please help to enable logging and send the logs to me (app4g dot devel@gmail.com).

Please enter “loglevel10”(no quotes) within the SETTINGS tab on the developer Text Field (all the way at the bottom of the SETTINGS tab).

Once this is done, please wait ~10sec for the settings to take effect, then Kill the app from the background.

After this:

  1. Start the App
    1.1) Disable and then enable back the “Virtual GPS” switch if not done already
  2. start your Trainer
  3. Wait for the app to connect to all your sensors (best if you can also enable the Wrist HR Broadcast together)
  4. Once all sensors are connected, execute a workout
  5. Pedal for a while, maybe 1min+ for it to gather some data
  6. Stop, Save the workout.

The Logfile will get generated and will be in the HISTORY tab as a plain text file. I think it should be called as DebugLog.txt. You should be able to tap on the filename in the HISTORY tab and it would prompt out a Mail Client (only apple mail supported). Otherwise, you can use the Files App / Auto Upload to DropBox / iTunes File Sharing to send me the file.

TQ and we’ll see what is happening and fix it.

Haven’t heard from you but I think I found a possible issue w/ dedicated Speed+Cad or Cad only sensors, if that’s what you’re using.

Will be uploading a new version w/ this fix soon as I test it out more. (Prelim testing works great)

Tx

Ah sorry, I have problems with my knee and didn’t ride since Saturday. Will send you the log after the next ride👍

No worries… Hope you’re feeling better soon. I too been having stomach issues since last Friday.
Are you using a dedicated speed+Cad or Cad Only sensor (brand/model) or something else?

If there any other details you could provide it would be great. until then, I’ll continue testing this fix. TQ

Hope you also get well soon.

i just use a cheap cycplus c3 cadence sensor.

At the overview of all sensors there’s also my speed sensor of the bike in another room. Is it possible to select the used sensors?

Yeah… that looks exactly like the Magene Gemini 200 (which I tot I had lost) and that is the one which I was optimising the code for. I don’t know why but the cheap sensors really sends out too much data. (every 300ms vs the Wahoo ~1000ms and due to this, they send out a lot of zeros at the subsequent data points when the app is expecting it at ~1000ms)

anyways, this is fixed so it should be good to go.

Currently, this is a “NO” and was designed this way to reduce users having to do anything to connect to their sensors. The Speed Sensor that gets picked up, won’t mess w/ the output data as it will be discarded (assuming the app is connected to a Smart Trainer, if it’s a dumb trainer + speed sensor, then yes it will use it). So, no worries about it clashing w/ anything else.

The Speed Sensor is actually used only for Dumb Trainer + Virtual Power (SpeedPower)

I have the new rev submitted to Apple, hopefully within the next 2 days it will get approved and released. (Looks like Apple Released it already)

@Spiffman let me know if the SLOPE mode thing still crashes. TQ

@Howie & @EssEss This is my 1st test using this Target HR Workout Mode using the below workout created in intervals.icu. (Note: This is using the “AUTO” mode from intervals.icu so that the JSON will have BOTH the power intervals as well as the HR target for each intervals)

Right now, I have only tested for a Target HR value (eg: 70% HR) and not a target HR Range (eg: 70-80% HR. I have it coded, just not done testing and the logic etc)

This is the resultant data (plotted in Excel) and as shown on the workout screen. I initially tried this w/ a 10w UP/DN Step, then went down to +/-5w step before settling on 2w steps. I found it better to keep it at a lower step value due to HR Lag.

There are 3 diff HR available to choose for the comparison.

  1. current HR
  2. Lap HR (the entire Lap average HR)
  3. Last 60s HR (hr60s in the excel graph) ← This is what i used for this test
    (Possibly will provide a user pref for this… not sure yet)

The test above is done using the last60seconds HR and is made such that a power change is only done at every 60s (or rather 60s since last power change IF the hr60s is > targetHR or hr60s < targetHR - 5bpm) [ Meaning a HR target of 100bpm == range of 95-100bpm. If user is going to use a Target HR Range eg: 60-70% [ 100-110] HR for the workout, I think I’ll use aim for 105bpm target and move the power target around 105bpm. thoughts?)

Note: hr60s resets itself at every start of a new Interval and will wait 60s (collecting data) for HR to stabilize before it starts the current HR vs Target HR comparison.

Final Note:
It is important that an initial Target Power is also used in the workout, else, the app will have no idea what to send to the trainer.

let me know if you guys would like to beta test this and I’ll compile a testflight version for you 2.

I’ll be testing this more and more since coming out of an injury(entire hot water kettle vs my left foot == awesome scald) for last 3+ weeks (zero cycling), i’m going to focus on Z1/Z2 rides.

So Sad that to maintain Z2 HR, I can only output like 30% of my previous FTP. :frowning:

1 Like

Sounds good! Looking forward to trying it out. A.ok. to send me a testflight invite.

I don’t quite understand “3 diff HR available”. Are they options? What does each do? Perhaps it’ll become more clear when it’s in front of me.