Welcome to ErgometerJS Discussions! #21
Replies: 11 comments 4 replies
-
Greetings! My name is Jim Williams I'm a long time hacker, who somehow gets to make his living hacking together web sites and apps. Let me first complement and thank you you on your work with ergometer-js! Well done implementing the PM5 spec, indeed. Not a small task at all. I took up rowing as a hobby, training for the CRASH-B's with an excllent coach with an excellent program. I would like to build a Cordova app which can facilitate his training. I downloaded the PM5 API specs and read them, and realized I would never get this done. That's when I found your implementation, and of all the PM5 implementations out there, this sas the most thorough. I created a proof of concept a few years ago, using your SimpleCordova app as a base. If I get time off I hope to build a full version of this app, so I keep following your repository updates habitually to track the progress of the project. |
Beta Was this translation helpful? Give feedback.
-
Hi Jim,
Nice to hear that you liked the library. If you have any problems do not hesitate to ask. Have you also seen ergometer-space. It has been build on top of ergometerjs. If you want to make only a small coaching feature you can also build it online in ergometer-space. You can use it on your mobile phone without much hazel together with all the build in features of ergometer-space.
Tijmen
… On 11 Dec 2020, at 00:14, Slim Jim ***@***.***> wrote:
Greetings! My name is Jim Williams I'm a long time hacker, who somehow gets to make his living hacking together web sites and apps. Let me first complement and thank you you on your work with ergometer-js! Well done implementing the PM5 spec, indeed. Not a small task at all.
I took up rowing as a hobby, training for the CRASH-B's with an excllent coach with an excellent program. I would like to build a Cordova app which can facilitate his training. I downloaded the PM5 API specs and read them, and realized I would never get this done. That's when I found your implementation, and of all the PM5 implementations out there, this sas the most thorough.
I created a proof of concept a few years ago, using your SimpleCordova app as a base. If I get time off I hope to build a full version of this app, so I keep following your repository updates habitually to track the progress of the project.
—
You are receiving this because you authored the thread.
Reply to this email directly, view it on GitHub <#21 (comment)>, or unsubscribe <https://github.com/notifications/unsubscribe-auth/AAVG7NW5NCQPGXL6RLV4WWDSUFI4JANCNFSM4UVTDGTQ>.
|
Beta Was this translation helpful? Give feedback.
-
Hey! I found your project when I looked into making the erg smarter by adding new sensors. So far, the only feedback for technique is the force-curve which is quite hard to read. In a hackathon, we added a sensor to get the seat position and one for the handle and could give some feedback (e.g. shooting the slide is quite easy to detect). What do you think about that idea? Add a bit machine learning or time series analysis and you could get a nice tool to make the erg a bit smarter. |
Beta Was this translation helpful? Give feedback.
-
That is cool. My own stroke advisor widget only looks at the power curve te give advice. This way you have a lot more data to give a better advice.
Tijmen
… On 11 Dec 2020, at 18:01, Nikolas Engelhard ***@***.***> wrote:
Hey!
I found your project when I looked into making the erg smarter by adding new sensors. So far, the only feedback for technique is the force-curve which is quite hard to read. In a hackathon, we added a sensor to get the seat position and one for the handle and could give some feedback (e.g. shooting the slide is quite easy to detect).
Our presentation is here: https://docs.google.com/presentation/d/1Cj1SVs_LXiQ6w6Apk9l8yiHGhnoP5J-KI6mlytDi-2g/edit?usp=sharing <https://docs.google.com/presentation/d/1Cj1SVs_LXiQ6w6Apk9l8yiHGhnoP5J-KI6mlytDi-2g/edit?usp=sharing>
What do you think about that idea? Add a bit machine learning or time series analysis and you could get a nice tool to make the erg a bit smarter.
—
You are receiving this because you authored the thread.
Reply to this email directly, view it on GitHub <#21 (comment)>, or unsubscribe <https://github.com/notifications/unsubscribe-auth/AAVG7NQ6NWI5ISUCWCGN46LSUJF6RANCNFSM4UVTDGTQ>.
|
Beta Was this translation helpful? Give feedback.
-
Hi,
You can use ergometer space for that. It has a plugin system where you can add your functionality. The good thing is that most of it for free, but it it may be possible you want a different interface. In that case you can create your own software using ergometerjs but that is much more work. For setting values I have a limited api, but it is very simple to add your own calls to set values using the examples in ergometerjs. (all the concept2 api constants are included, but I have not bothered to implement them all)
Tijmen
… On 18 Dec 2020, at 20:07, Slim Jim ***@***.***> wrote:
Hi Tijmen -
Ergometer-space is excellent - very interesting how you have made it pluggable. I haven't had the time to explore it fully, but it appears that you have fleshed out the critical functionality that I require.
In the app I am creating, the coach would create the day's workout, and the athlete would be notified in the app:
e..g. yesterday's workout.
2x5000, 5 minutes rest. Targets: 16s/m, 2:25.8 - 2:17.7
Stroke rate is consistent athlete-to-athlete, pace is determined by your previous performance on timed trials.
I would then like the app to automatically set up the PM5 with the proper intervals, and to keep track of stroke data, which is gathered into pretty reports for the coach and athlete to analyze and appreciate.
In this situation the team and coach constitute a rigid social network, within a technological framework of the PM5, data analysis tools, video feedback and analysis, and coaching text.
I wonder if this could be created as a plugin for TrueCoach or an existing platform, or if it would be more worthwhile to create it from scratch?
—
You are receiving this because you authored the thread.
Reply to this email directly, view it on GitHub <#21 (reply in thread)>, or unsubscribe <https://github.com/notifications/unsubscribe-auth/AAVG7NQZBGLSAIDINJFVBLDSVOR5XANCNFSM4UVTDGTQ>.
|
Beta Was this translation helpful? Give feedback.
-
For example in ergometer-space you can create an recording of your training (including a video) and send it to your coach. The coach can watch all your ergometer values live while you are training and give feed back. There is a lot of personal coaching stuff already there. But more could be added. For example ergometer space is not yet good in interval trainings. video recordings are also limited in length. Ergometer space also does not yet configure your performance monitor or has a preset schedule which can configured by the coach. If you want it to work on an iphone ergometer-space may also not be the best solution. But I also know that creating an app from scratch for all platforms is a lot of work, and writing a simple plugin is a more simple shorter task.
Tijmen
… On 18 Dec 2020, at 20:07, Slim Jim ***@***.***> wrote:
Hi Tijmen -
Ergometer-space is excellent - very interesting how you have made it pluggable. I haven't had the time to explore it fully, but it appears that you have fleshed out the critical functionality that I require.
In the app I am creating, the coach would create the day's workout, and the athlete would be notified in the app:
e..g. yesterday's workout.
2x5000, 5 minutes rest. Targets: 16s/m, 2:25.8 - 2:17.7
Stroke rate is consistent athlete-to-athlete, pace is determined by your previous performance on timed trials.
I would then like the app to automatically set up the PM5 with the proper intervals, and to keep track of stroke data, which is gathered into pretty reports for the coach and athlete to analyze and appreciate.
In this situation the team and coach constitute a rigid social network, within a technological framework of the PM5, data analysis tools, video feedback and analysis, and coaching text.
I wonder if this could be created as a plugin for TrueCoach or an existing platform, or if it would be more worthwhile to create it from scratch?
—
You are receiving this because you authored the thread.
Reply to this email directly, view it on GitHub <#21 (reply in thread)>, or unsubscribe <https://github.com/notifications/unsubscribe-auth/AAVG7NQZBGLSAIDINJFVBLDSVOR5XANCNFSM4UVTDGTQ>.
|
Beta Was this translation helpful? Give feedback.
-
Hi,
The files you mention are just the files you need for this. I think it goes wrong in the angular configuration . But I am not an angular expert. When I google on the subject I get quite a different way of using external libraries in angular
https://medium.com/@clintpitzak/how-to-use-external-javascript-libraries-in-angular-8-247baacbdccf
Maybe it is better to ask this problem in a angular expert group. Keep in mind that ergometer space is just a standard java script library and is not compiled for require or import. His should not be a problem for angular
Tijmen
… Op 2 feb. 2021 om 00:05 heeft Rodrigo Campassi ***@***.***> het volgende geschreven:
Hi
First of all, thanks for sharing this great work!
I can't make it work on my project. I'm trying to treat this library as a dependency on my Ionic app (Angular, Capacitor, not Cordova)
I put the plugin on the root of my project
On my package.json add the local dependency: "ergometer-js": "file:./plugin"
Plugin folder contains all files except for the demos of course
On the plugin package.json I added the fields:
"main": "api/lib/ergometer.js",
"types": "api/lib/ergometer.d.ts",
The plugin is installed on node_modules correctly but then, wherever I want to access ergometer namespace "it's not defined"
Am I missing something?
Thanks!
—
You are receiving this because you authored the thread.
Reply to this email directly, view it on GitHub, or unsubscribe.
|
Beta Was this translation helpful? Give feedback.
-
Hi
Not yet. Have you checked the documentation? In the docs in chapter "Sample Functionality” There are exact samples how to set the interval trainings (fix distrance interval, fixed time interval, fixed calory interval, variable interval). You can enable trace mode in ergometerJs to check if the commands exactly match the commands of ergometerjs.
I have included the latest concept2 docs in the attachment.
… On 27 Mar 2021, at 12:11, Nikolas Engelhard ***@***.***> wrote:
Have you looked into setting up an intervall-training? I looked at the USB-Documentation and it's not possible, but as ErgZone can set up a WorkoutOftheDay, it should be possible through BT.
—
You are receiving this because you authored the thread.
Reply to this email directly, view it on GitHub, or unsubscribe.
|
Beta Was this translation helpful? Give feedback.
-
The CSAFE_PM_GET_FORCEPLOTDATA is also in the propertary list. But I have been using it for a long time and it works fine. I think you just have to test the example in the document and see for you self if it works.
Tijmen
You can try the example and see
… On 27 Mar 2021, at 18:33, Nikolas Engelhard ***@***.***> wrote:
Thanks for the docu, I think I only had a much older version. Table 3 on page 7 says that the USB interface needs an additional authentication to use the proprietary commands (which I assume are needed for the interval workouts), but no such authentication is needed for BT. (But so far, I didn't see a description what is part of the "limited proprietary CSAFE")
—
You are receiving this because you authored the thread.
Reply to this email directly, view it on GitHub, or unsubscribe.
|
Beta Was this translation helpful? Give feedback.
-
Let me know if the example works, if not I will give it a try.
Tijmen
… On 27 Mar 2021, at 18:33, Nikolas Engelhard ***@***.***> wrote:
Thanks for the docu, I think I only had a much older version. Table 3 on page 7 says that the USB interface needs an additional authentication to use the proprietary commands (which I assume are needed for the interval workouts), but no such authentication is needed for BT. (But so far, I didn't see a description what is part of the "limited proprietary CSAFE")
—
You are receiving this because you authored the thread.
Reply to this email directly, view it on GitHub <#21 (reply in thread)>, or unsubscribe <https://github.com/notifications/unsubscribe-auth/AAVG7NQMLDIAPONZRN4BFHLTFYJINANCNFSM4UVTDGTQ>.
|
Beta Was this translation helpful? Give feedback.
-
I have just tested sending it as a proprietary command. And yes this fails
this.performanceMonitor.newCsafeBuffer()
.addRawCommand({command:0x76,
data:[0x01,0x01,
0x05,
0x03,0x05,
0x00,0x00,0x01,0xd4,0xc0,
0x05,0x05,
0x00,0x00,0x00
,0x5d,0xc0,
0x14,0x01,0x01,
0x13,0x02,
0x01,
0x01],waitForResponse:true,
onDataReceived:(info)=>{
console.log("data received");
this.showData(JSON.stringify(info) );
} })
.send();
and I know that it is exactly send as the example because it has the same checksum.
send csafe: f176180101050305000001d4c005050000005dc014010113020101e0f2
I have also done a test without this proprietary wrapper. But the commands are just ignored.
this.performanceMonitor.newCsafeBuffer()
.addRawCommand({command:0x01,
data:[0x05],waitForResponse:true,
onDataReceived:(info)=>{
console.log("data received");
this.showData(JSON.stringify(info) );
}})
.addRawCommand({command:0x03,
data:[0x00,0x00,0x01,0xd4,0xc0],waitForResponse:true,
onDataReceived:(info)=>{
console.log("data received");
this.showData(JSON.stringify(info) );
}})
.addRawCommand({command:0x05,
data:[0x00,0x00,0x00,0x5d,0xc0],waitForResponse:true,
onDataReceived:(info)=>{
console.log("data received");
this.showData(JSON.stringify(info) );
}})
.addRawCommand({command:0x14,
data:[0x01],waitForResponse:true,
onDataReceived:(info)=>{
console.log("data received");
//this.showData(JSON.stringify(info) );
}})
.addRawCommand({command:0x13,
data:[0x01,0x01],waitForResponse:true,
onDataReceived:(info)=>{
console.log("data received");
//this.showData(JSON.stringify(info) );
}})
.send();
But I know that it is possible. The time team is also using a bit modified version of my library). And I think they are sending proprietary commands:
Time-Team Homerace Connector (regatta-systems.com) <https://master.regatta-systems.com/homerace>
The best option is to ask concept2 about information on this secret authentication method to acces the proprietary commands. (They have a very help-full support)
Tijmen
… On 27 Mar 2021, at 18:33, Nikolas Engelhard ***@***.***> wrote:
Thanks for the docu, I think I only had a much older version. Table 3 on page 7 says that the USB interface needs an additional authentication to use the proprietary commands (which I assume are needed for the interval workouts), but no such authentication is needed for BT. (But so far, I didn't see a description what is part of the "limited proprietary CSAFE")
—
You are receiving this because you authored the thread.
Reply to this email directly, view it on GitHub <#21 (reply in thread)>, or unsubscribe <https://github.com/notifications/unsubscribe-auth/AAVG7NQMLDIAPONZRN4BFHLTFYJINANCNFSM4UVTDGTQ>.
|
Beta Was this translation helpful? Give feedback.
-
👋 Welcome!
We’re using Discussions as a place to connect with other members of our community. We hope that you:
build together 💪.
To get started, comment below with an introduction of yourself and tell us about what you do with this community.
Beta Was this translation helpful? Give feedback.
All reactions