Programming Language for App

Not sure where you should be posting? Put it here.
Post Reply
enboy
Paddler
Posts: 2
Joined: November 13th, 2024, 6:09 am

Programming Language for App

Post by enboy » November 13th, 2024, 6:12 am

I'm studying computer science and I'd like to make an app for Concept2 ergs as a project.
What language is Ergdata, Ergzone etc. written in? Is there a recommended approach?

I am looking to use Flutter to create an app, does anyone have any advice on this?

User avatar
Citroen
SpamTeam
Posts: 8021
Joined: March 16th, 2006, 3:28 pm
Location: A small cave in deepest darkest Basingstoke, UK

Re: Programming Language for App

Post by Citroen » November 16th, 2024, 5:56 am

Use python, there's a raft of code you can look at/borrow/steal for the C2 there.

JaapvanE
10k Poster
Posts: 1338
Joined: January 4th, 2022, 2:49 am

Re: Programming Language for App

Post by JaapvanE » November 16th, 2024, 3:09 pm

enboy wrote:
November 13th, 2024, 6:12 am
I'm studying computer science and I'd like to make an app for Concept2 ergs as a project.
What language is Ergdata, Ergzone etc. written in? Is there a recommended approach?
As they are Android and iPhone apps, I'd suggest looking at their native platforms, or something that is crossplatform, like .Net MAUI. With the new release of the PM5 V6, USB support has been killed, so you need to connect via Bluetooth. There are quite some apps on GitHb that interact with the PM5, for example ErgArcade (javascript), RowingMonitor (JavaScript), ErgometerSpace (Ruby/Javascript) and C2Bluetooth (Dart).

As lead developer of OpenRowingMonitor (the free Open Source alternative to the PM5) I can tell you the protocol itself isn't to clearly described. As a side note, we are looking for people like to know Javascript and canimprove our GUI (as it is the only thing we haven't redesigned and it is ugly as hell).

enboy
Paddler
Posts: 2
Joined: November 13th, 2024, 6:09 am

Re: Programming Language for App

Post by enboy » November 25th, 2024, 7:15 am

JaapvanE wrote:
November 16th, 2024, 3:09 pm
enboy wrote:
November 13th, 2024, 6:12 am
I'm studying computer science and I'd like to make an app for Concept2 ergs as a project.
What language is Ergdata, Ergzone etc. written in? Is there a recommended approach?
As they are Android and iPhone apps, I'd suggest looking at their native platforms, or something that is crossplatform, like .Net MAUI. With the new release of the PM5 V6, USB support has been killed, so you need to connect via Bluetooth. There are quite some apps on GitHb that interact with the PM5, for example ErgArcade (javascript), RowingMonitor (JavaScript), ErgometerSpace (Ruby/Javascript) and C2Bluetooth (Dart).

As lead developer of OpenRowingMonitor (the free Open Source alternative to the PM5) I can tell you the protocol itself isn't to clearly described. As a side note, we are looking for people like to know Javascript and canimprove our GUI (as it is the only thing we haven't redesigned and it is ugly as hell).
Thank you for the information. When you say the protocol isn't clearly described, what do you mean? Please forgive me if that's a silly question, but I'm still learning and not very knowledgable. Does this mean that it is difficult to enable a connection to the erg?

JaapvanE
10k Poster
Posts: 1338
Joined: January 4th, 2022, 2:49 am

Re: Programming Language for App

Post by JaapvanE » November 25th, 2024, 10:51 am

enboy wrote:
November 25th, 2024, 7:15 am
Thank you for the information. When you say the protocol isn't clearly described, what do you mean? Please forgive me if that's a silly question, but I'm still learning and not very knowledgable. Does this mean that it is difficult to enable a connection to the erg?
If you have any skill, connecting to the BLE interface is doable. Plenty of BLE libraries for most development environments. Simply copy or reverse engineer the examples I've shown, and you can see how its done. The key issue is that Concept2 has defined the specific messages it can send, but they haven't told us when to expect what message and in what order. So interpreting the data you get is sometimes problematic. In OpenRowingMonitor we simulate a PM5, partially. But three years into development, for a large part we are still guessing what to send when. As we are good friends with most application developers, they tell us where we mess up according to them, but as C2 hasn't described it in detail, it essentially is a guessing game.

Post Reply