mlt / schwinn810

Software for Schwinn 810 (and also some Mio, Cresta, and RedClover) GPS sport watch with heart rate monitor (Linux, Windows, and Mac OS)
https://github.com/mlt/schwinn810/wiki/Windows
14 stars 6 forks source link

How to get started on Windows? #5

Closed nc54 closed 12 years ago

nc54 commented 12 years ago

I have a Schwinn 810. I am a windows 7 user but don't have a clue how to download and use this software. I'm new to github and I am not a developer. Are there instructions anywhere?

On a side note - may or may not be helpful. I have figured out how to directly access the database created by the schwinn software. The data can be easily converted to CSV, then anyone with some programming skills can convert the data to GPX or TCX etc. I don't have the programming skills to do it but it should be quite simple. I'd like to see it in a simple to use GUI program. I'd be happy to provide the method and password to access the hidden database.

mlt commented 12 years ago

Unfortunately I didn't have time to make detailed step by step instructions :( I will set up few web pages at some point. Meanwhile feel free to use wiki and edit missing or unclear parts.

There is no need in original software or MS Access database used by it, to be able to use this software. Also another user explained how to access DB from original software. The goal I pursue is to push data from watch into various web communities without pressing any single button on PC. Thus no GUI is needed other than a web browser later. So far it works under GNU/Linux upon watch connect. There are some issues with Windows that makes it a PITA. Therefore it would be somewhat lame to extract data with original software and then converting it to CSV. It is going to be too many button clicks and non-portable. I have some sketches for GUI just to show the download progress. I didn't push it to git though. Regarding offline use, it is interesting to me to feed data into R for various plots and analyses. However it is not so easily "GUIfiable". Though it can be somewhat made so with some python, Qt, and rpy.

The best way to stay current is to install Python, all the modules, and fetch updates from github. However, if you don't want to mess with all that, keep reading.

There is a link on the main page that says "downloads". Download the latest one (schwinn810_win32_e37a681.7z as of now). Use 7-zip to unpack the archive to whatever location you like. But first of all you need a different driver for USB-COM bridge (that resides in the clip). That driver is not compatible with default one, and it is likely that either original or my software will be working but not both depending on the driver. I didn't test that, but I believe that it is how it is.

If you want kml, gpx generation, then you need to download and install gpsbabel.

You will want to use notepad or any other text editor to adjust various options in cmd files. Namely, replace C:\Python32\python %~dp0\download.py with just download.exe and alike. Also make sure you use proper COM port with --port option.

Let me know if you get stuck somewhere.

P.S. The previous windows binaries were tested by me on Windows 7. Those were built with Python 3.2 . However they are quite outdated and may miss few things here and there. Unfortunately there are some reasons to migrate back to Python 2 for a while. The very latest binaries I've mentioned above were built with Python 2.7 . However I had no chance to test it on Windows. (Same code used to work on Ubuntu GNU/Linux).

nc54 commented 12 years ago

I am naclark on woot (the first guy to crack the database) I will do my best to follow these instructions and let you know where I fail. I'd hate have to install a Linux VM just to use this watch. Thanks for your hard work, hopefully in the end it will all be a beautiful and well packaged simple to install software. Thanks again for your work.

On Thu, May 10, 2012 at 10:15 PM, Mikhail Titov < reply@reply.github.com

wrote:

Unfortunately I didn't have time to make detailed step by step instructions :( I will set up few web pages at some point. Meanwhile feel free to use wiki and edit missing or unclear parts.

There is no need in original software or MS Access database used by it, to be able to use this software. Also another user explained how to access DB from original software. The goal I pursue is to push data from watch into various web communities without pressing any single button on PC. Thus no GUI is needed other than a web browser later. So far it works under GNU/Linux upon watch connect. There are some issues with Windows that makes it a PITA. Therefore it would be somewhat lame to extract data with original software and then converting it to CSV. It is going to be too many button clicks and non-portable. I have some sketches for GUI just to show the download progress. I didn't push it to git though. Regarding offline use, it is interesting to me to feed data into R for various plots and analyses. However it is not so easily "GUIfiable". Though it can be somewhat made so wit h some python, Qt, and rpy.

The best way to stay current is to install Python, all the modules, and fetch updates from github. However, if you don't want to mess with all that, keep reading.

There is a link on the main page that says "downloads". Download the latest one (schwinn810_win32_e37a681.7z as of now). Use 7-zip to unpack the archive to whatever location you like. But first of all you need a different driver for USB-COM bridge (that resides in the clip). That driver is not compatible with default one, and it is likely that either original or my software will be working but not both depending on the driver. I didn't test that, but I believe that it is how it is.

If you want kml, gpx generation, then you need to download and install gpsbabel.

You will want to use notepad or any other text editor to adjust various options in cmd files. Namely, replace C:\Python32\python %~dp0\download.py with just download.exe and alike. Also make sure you use proper COM port with --port option.

Let me know if you get stuck somewhere.

P.S. The previous windows binaries were tested by me on Windows 7. Those were built with Python 3.2 . However they are quite outdated and may miss few things here and there. Unfortunately there are some reasons to migrate back to Python 2 for a while. The very latest binaries I've mentioned above were built with Python 2.7 . However I had no chance to test it on Windows. (Same code used to work on Ubuntu GNU/Linux).


Reply to this email directly or view it on GitHub: https://github.com/mlt/schwinn810/issues/5#issuecomment-5643416

mlt commented 12 years ago

There is no need in Linux VM just to fetch data. I'd suggest to use cmd (via Start->Run-> cmd ) to test all the settings. Otherwise CLI windows will close as soon as program terminates. As soon as everything is set up, you can have a shortcut on your desktop pointing to schwinn810.cmd.

What would you like to see in the "beautiful and well packaged simple to install software"? I can pack it into MSI instead of ZIP. However I can't foresee all the cases like what COM port to use and where to store extracted data. It needs to be configured just once. After that TCX (that is all some folks need) can be extracted in one click. So it this point I see GUI as an overkill to just edit initial settings. There are tons of software to show workout stats. It would be more appropriate to just develop a plug-in rather than start all the story anew.

The main purpose for this project was to make data on watch available freely on all platforms that have a driver for SiLabs CP2102 bridge. As you mentioned, it was even "guarded" on Windows, and was simply unavailable on other platforms.

nc54 commented 12 years ago

Again thanks for your work on this. I got stuck trying to install the driver. I see that the USBXpress driver comes up by default, I installed the VCP driver but using the EXE from silabs. I guess I'm not sure of how to "replace" the driver as it is still trying to use USBXpress. I could uninstall the USBXpress driver but it will just re-install it when I plug the USB in.

On Fri, May 11, 2012 at 10:42 AM, Mikhail Titov < reply@reply.github.com

wrote:

There is no need in Linux VM just to fetch data. I'd suggest to use cmd (via Start->Run-> cmd ) to test all the settings. Otherwise CLI windows will close as soon as program terminates. As soon as everything is set up, you can have a shortcut on your desktop pointing to schwinn810.cmd.

What would you like to see in the "beautiful and well packaged simple to install software"? I can pack it into MSI instead of ZIP. However I can't foresee all the cases like what COM port to use and where to store extracted data. It needs to be configured just once. After that TCX (that is all some folks need) can be extracted in one click. So it this point I see GUI as an overkill to just edit initial settings. There are tons of software to show workout stats. It would be more appropriate to just develop a plug-in rather than start all the story anew.

The main purpose for this project was to make data on watch available freely on all platforms that have a driver for SiLabs CP2102 bridge. As you mentioned, it was even "guarded" on Windows, and was simply unavailable on other platforms.


Reply to this email directly or view it on GitHub: https://github.com/mlt/schwinn810/issues/5#issuecomment-5655277

mlt commented 12 years ago

You can get fixed driver from downloads page. It is named _cp2102_VCP_Windows_XP_S2K3_Vista7.7z. There are just simple changes in inf file to make another vendor & product id to be recognized. I had it explained after the second screen shot on the wiki page. You can compare inf files in unpacked mine archive with the stock one.

nc54 commented 12 years ago

I uninstalled rebooted and re-installed with the modified driver with the same results. I disabled the USBXpress driver and re inserted the USB and this is what I get [image: Inline image 1] http://dl.dropbox.com/u/19832238/Capture.PNG I tried manually installing the driver by pointing it to extracted driver folder, but that did not work.

On Fri, May 11, 2012 at 12:44 PM, Mikhail Titov < reply@reply.github.com

wrote:

You can get fixed driver from downloads page. It is named _cp2102_VCP_Windows_XP_S2K3_Vista7.7z. There are just simple changes in inf file to make another vendor & product id to be recognized. I had it explained after the second screen shot on the wiki page. You can compare inf files in unpacked mine archive with the stock one.


Reply to this email directly or view it on GitHub: https://github.com/mlt/schwinn810/issues/5#issuecomment-5658032

mlt commented 12 years ago

Unfortunately I can't see an image. You may want to post it on imageshack or anywhere else and link from there. I guess you've updated your post. Could you also show what is wrong with it? Like if you double click on it. Try deleting it and then refreshing the list. Also keep reading for 64 bit case.

Are you using 64 bit machine? i've tested it on 32 bit. If this is the case, could you edit slabvcp.inf from my 7z archive with updated driver in a notepad or something? You'll see a section [SiLabs] that contains %USB\VID_10C4&PID_EA61.DeviceDesc%=silabser.Dev, USB\VID_10C4&PID_EA61. However same line is missing in [SiLabs.NTamd64]. Could you add it in there and try to reinstall?

Though devices are same, however EA60 is recognized as VCP one and EA61 as USBXpress. All we do is claim that VCP driver handles devices with EA61 product ID. I had this line missing for 64 bit platform.

As far as I remember _there is no need to either reboot or un-install anything_. Just choose update driver for existing hardware in device manager. Uncheck "compatible devices only" (I'm not sure if it is relevant) and browse to that unpacked folder. It should recognize it now as valid.

nc54 commented 12 years ago

Yes I am running 64 bit. I will try this on Monday and report back.

On Fri, May 11, 2012 at 1:37 PM, Mikhail Titov < reply@reply.github.com

wrote:

Unfortunately I can't see an image. You may want to post it on imagescack and link from there.

Are you using 64 bit machine? i've tested it on 32 bit. If this is the case, could you edit slabvcp.inf from my 7z archive with updated driver in a notepad or something? You'll see a section [SiLabs] that contains %USB\VID_10C4&PID_EA61.DeviceDesc%=silabser.Dev, USB\VID_10C4&PID_EA61. However same line is missing in [SiLabs.NTamd64]. Could you add it in there and try to reinstall?

As far as I remember there is no need to either reboot or un-install anything. Just choose update driver for existing hardware in device manager. Uncheck "compatible devices only" (I'm not sure if it is relevant) and browse to that unpacked folder. It would recognize it now as valid.


Reply to this email directly or view it on GitHub: https://github.com/mlt/schwinn810/issues/5#issuecomment-5659163

nc54 commented 12 years ago

That seemed to do the trick. Now the driver seems to be loading. I changed the bps as instructed. I only found one CMD for editing schwinn810.cmd The only thing I changed was the COM port. As the rest looked fine. After editing I plugged the watch in, plugged the usb in, and ran schwinn810.cmd but nothing happened.

@echo off

SET "DIR=%HOME%\My Documents\My Runs"
SET "GPSBABEL=C:\Programs\GPSBabel\gpsbabel.exe"
SET "Z7=C:\Program Files\7-Zip\7z.exe"

%~dp0\download.exe ^
 --port COM4 ^
 --hook %~dp0\babelize.cmd ^
 --dir "%DIR%"

"%GPSBABEL%" -i unicsv,utc=5 -f "%DIR%\waypoints.csv" ^
 -o gpx -F "%DIR%\waypoints.gpx" ^
 -o kml,lines=1,points=0,track=1,trackdirection=1 -F "%DIR%\waypoints.kml"

rem %COMSPEC% /C DEL /Q /F "%DIR%\waypoints.kmz" > nul

rem "%Z7%" a -tzip "%DIR%\waypoints.kmz" "%DIR%\waypoints.kml" > nul
mlt commented 12 years ago

There should bebabelize.cmd as well, you can get it from github in case I forgot to include it in an archive. If you do not plan to use gpsbabel to get anything else like KML, GPX, or you don't plan to use csv2tcx.exe, then remove --hook %~dp0\babelize.cmd ^ line.

How did you run it? Do not just double click (at least until everything is set up). If something goes wrong the window will just disappear with no chances to read what actually happened. Instead, run cmd command processor and navigate to the folder with unpacked stuff. Run from within cmd window. It should output at least something even if it crashes for some reason.

If you haven't used command processor much, the following link may be helpful.

nc54 commented 12 years ago

http://dl.dropbox.com/u/19832238/Capture3.PNG http://dl.dropbox.com/u/19832238/Capture4.PNG

I have babelize.cmd, I just did not see anything in there to edit.

On Mon, May 14, 2012 at 12:24 PM, Mikhail Titov < reply@reply.github.com

wrote:

There should bebabelize.cmd as well, you can get it from github in case I forgot to include it in an archive. If you do not plan to use gpsbabel to get anything else like KML, GPX, or you don't plan to use csv2tcx.exe, then remove --hook %~dp0\babelize.cmd ^ line.

How did you run it? Do not just double click (at least until everything is set up). If something goes wrong the window will just disappear with no chances to read what actually happened. Instead, run cmd command processor and navigate to the folder with unpacked stuff. Run from within cmd window. It should output at least something even if it crashes for some reason.

If you haven't used command processor much, the following link may be helpful.


Reply to this email directly or view it on GitHub: https://github.com/mlt/schwinn810/issues/5#issuecomment-5697862

mlt commented 12 years ago

May I ask you to try previous binaries from download section? Unpack it somewhere aside and just replace download.exe in your setup with that from this archive. At least this worked for me on 32 bit Win7. If this works than it is likely something happened with migration back to Python2. Otherwise I'll try to find 64 bit machine to test myself.

nc54 commented 12 years ago

http://dl.dropbox.com/u/19832238/Capture5.PNG

On Mon, May 14, 2012 at 12:59 PM, Mikhail Titov < reply@reply.github.com

wrote:

May I ask you to try previous binaries from download section? Unpack it somewhere aside and just replace download.exe in your setup with that from this archive. At least this worked for me on 32 bit Win7. If this works than it is likely something happened with migration back to Python2. Otherwise I'll try to find 64 bit machine to test myself.


Reply to this email directly or view it on GitHub: https://github.com/mlt/schwinn810/issues/5#issuecomment-5698933

mlt commented 12 years ago

Ouch... my bad. Indeed exe is not self sufficient. Then set up stuff from another archive independently.

Adjust schwinn810.cmd in that second archive as you did for the newer code, i.e. make sure it uses COM4 and download.exe instead of calling python.

P.S. Also AFAIK it is possible to copy/paste error dialog content so that you don't have to upload screenshots. Try Ctrl-C in such dialogs ... then surround pasted text in here with 3 back quotes ` in the beginning and at the end to make it pre-formatted text.

nc54 commented 12 years ago

I changed the com port, but the download was already there, I added in %~dp0 and now I get back http://dl.dropbox.com/u/19832238/Capture6.PNG

On Mon, May 14, 2012 at 1:41 PM, Mikhail Titov < reply@reply.github.com

wrote:

Ouch... my bad. Indeed exe is not self sufficient. Then set up stuff from another archive independently.

Adjust schwinn810.cmd in that second archive as you did for the new one, i.e. make sure it uses COM4 and download.exe instead of calling python.


Reply to this email directly or view it on GitHub: https://github.com/mlt/schwinn810/issues/5#issuecomment-5700002

mlt commented 12 years ago

This looks like you've missed line continuation symbol ^ on the previous line. Generally it should be one line like %~dp0\download.exe --port COM4 --dir path_to_my_location. For readability reasons I split it into multiple lines. There must be ^ symbol at the end of the previous line. Otherwise system tries to execute something named --port and can't find such executable.

nc54 commented 12 years ago

I edited the last reply as I had a problem.

Already had that in the first time. I tried adding the %~dp0\ in front of download, still same problem.

rem start
%~dp0\download.exe ^
rem --port schwinn810.bin ^
 --hook %~dp0\babelize.cmd ^
 --dir "%HOME%\Documents\My Runs"
 --port COM4 ^

On Mon, May 14, 2012 at 3:57 PM, Nathan Clark nathanial.clark@gmail.comwrote:

I changed the com port, but the download was already there, I added in %~dp0 and now I get back http://dl.dropbox.com/u/19832238/Capture6.PNG

On Mon, May 14, 2012 at 1:41 PM, Mikhail Titov < reply@reply.github.com

wrote:

Ouch... my bad. Indeed exe is not self sufficient. Then set up stuff from another archive independently.

Adjust schwinn810.cmd in that second archive as you did for the new one, i.e. make sure it uses COM4 and download.exe instead of calling python.


Reply to this email directly or view it on GitHub: https://github.com/mlt/schwinn810/issues/5#issuecomment-5700002

nc54 commented 12 years ago

OK, Let me fix that. I think I tried adding that in. But let me make sure.

nc54 commented 12 years ago

Same problem

rem start
%~dp0\download.exe ^
rem --port schwinn810.bin ^
--port COM4 ^
 --hook %~dp0\babelize.cmd ^
 --dir "%HOME%\Documents\My Runs"

edit triple back quotes should be on their own lines. Optionally you can add bat after the opening triplet to add syntax highlightling.

mlt commented 12 years ago

Also move rem outside of a "single" line.

It was as if you tried to run

%~dp0\download.exe rem --port schwinn810.bin --port COM4 --hook %~dp0\babelize.cmd --dir "%HOME%\Documents\My Runs" . Which is a bit of nonsense.

mlt commented 12 years ago
@echo off
%~dp0\download.exe ^
  --port COM4 ^
  --hook %~dp0\babelize.cmd ^
  --dir "%HOME%\Documents\My Runs"
mlt commented 12 years ago

I'm not sure if I ever mentioned it, "%HOME%\Documents\My Runs" must exist. It probably will be fixed at some point.

nc54 commented 12 years ago

Yes, my runs is mentioned on one of the pages. I had tried editing the command file for both

 --dir "%HOME%\Documents\My Runs" 

and

 --dir "%HOME%\My Documents\My Runs"

I'm still getting the Python27.dll error on the old archive and "port can not be opened on the new.

On Mon, May 14, 2012 at 4:47 PM, Mikhail Titov < reply@reply.github.com

wrote:

I'm not sure if I ever mentioned it, "%HOME%\Documents\My Runs" must exist. It probably will be fixed at some point.


Reply to this email directly or view it on GitHub: https://github.com/mlt/schwinn810/issues/5#issuecomment-5704226

mlt commented 12 years ago

Regarding directory name, it is totally up to you. For Windows XP, one would use My Documents, for Windows 7 Documents perhaps shall be used.

Something is got mixed up in your set up. For an old archive, I did not use Python 2.7 at all. If it was requiring something, it would be Python 3.2 related. For older version, make sure you are in a proper folder and that cmd file refers to download.exe in that old archive. So if you have 2 folder like schwinn810_new_py27 and schwinn810_old_py32, all the stuff in there should be from corresponding archive. Replace back download.exe in schwinn810_new_py27 after unsuccessful attempt to use download.exe from schwinn810_old_py32.

Meanwhile, I'll see what can be wrong with python 2.7 . I saw some posts on stackoverflow that there is no need to call open() after serial object was created on Windows. I remember it worked fine though with python 3.2. I'll see.

mlt commented 12 years ago

I confirm that it fails. Hold on for a while. I'll see whether open() removal will help on Windows.

mlt commented 12 years ago

Thanks for your patience. I've uploaded newer version. It looks like it did the trick. Remove existing archives and unpacked ones, and just unpack this one. It already pre-set up for COM4 and %HOME%\Documents\My Runs , where %HOME% in your case is likely C:\Users\nc54

mlt commented 12 years ago

Also I've noticed that I had to open files for writing on Windows in binary mode. Otherwise there are double new lines appear...

nc54 commented 12 years ago

Port error again. However I was able to borrow a 32 bit XP machine and it started to work, it listed the tracks and laps then no such file or directory: u'\My Documents\My Runs\0511201.track' The system cannot find the path specified I have created a folder My Documents/My Runs under my user.

On Tue, May 15, 2012 at 10:05 AM, Mikhail Titov < reply@reply.github.com

wrote:

Thanks for your patience. I've uploaded newer version. It looks like it did the trick. Remove existing archives and unpacked ones, and just unpack this one. It already pre-set up for COM4 and %HOME%\Documents\My Runs , where %HOME% in your case is likely C:\Users\nc54


Reply to this email directly or view it on GitHub: https://github.com/mlt/schwinn810/issues/5#issuecomment-5719776

mlt commented 12 years ago

Hm... so is it an issue with 64 bit Windows 7? Did you completely remove previous two folders?

Could you copy/paste (also this) complete error message here? As an alternative, you can redirect all output in a file instead of screen by having something like

@echo off
%~dp0\download.exe ^
  --port COM4 ^
  --hook %~dp0\babelize.cmd ^
  --dir "%HOME%\Documents\My Runs" > c:\out.txt 2>c:\err.txt

provided you can write to c:\

Usually path name should not start with just \\My Documents\\... at least C:\Documents and Settings\User is missing.

There is a chance that either %HOME% not defined which is weird, or it actually tries to call some other tools like gpsbabel or something.

You may also try to remove --hook option to make sure it is not caused by something else in babelize.cmd.

@echo off
%~dp0\download.exe ^
  --port COM4 ^
  --dir "C:\Documents and Settings\you user\My Documents\My Runs"

Also... could you type echo %HOME% and tell me what it returns?

mlt commented 12 years ago

On the other thought... I believe it might have been caused by spaces in file names. Replace stuff like %1.points with "%1.points" and alike in babelize.cmd

Also I've uploaded yet another version with these changes and with files opened in binary mode. This should remove double line endings.

mlt commented 12 years ago

or actually there is a chance that Popen doesn't handle spaces in arguments as previous line correctly reports file name.

nc54 commented 12 years ago

Using a different USB port on the 64 bit I now get this:

Found M11153 01-020 E 11 12 03 00 17 52
We've got 2 tracks and 2 waypoints to download
There are 1 laps in 0511201
Traceback (most recent call last):
  File "C:\Python27\lib\site-packages\cx_Freeze\initscripts\Console.py",
line 27
, in <module>
  File "download.py", line 124, in <module>
IOError: [Errno 2] No such file or directory:
u'\\Documents\\MyRuns\\0511201.track'
The system cannot find the path specified.

I created a MyRuns folder to just get rid of the space issue. I feel that we are getting close. No other unpacked archives exist on the computer.

On Tue, May 15, 2012 at 11:56 AM, Mikhail Titov < reply@reply.github.com

wrote:

or actually there is a chance that Popen doesn't handle spaces in arguments as previous line correctly reports file name.


Reply to this email directly or view it on GitHub: https://github.com/mlt/schwinn810/issues/5#issuecomment-5722654

mlt commented 12 years ago

Marvelous! I thought you was a half way to give up :-)

Huh... so USB port does matter... Are those like USB 2 and 3 ports? I have no USB 3 on my laptop. If that is an issue, it shall be reported to SiLabs.

It looks like it gets nothing for --dir option. On line 124 it tries to open a file while on previous line it forms its absolute name from whatever was supplied to --dir. Try something more explicit --dir C:\DOCUME~1\your user\MYDOCU~1\MYRUNS\ . That was for WinXP and MyRuns with no space.

nc54 commented 12 years ago

Actually it works in any port now, maybe deleting the the other archives made all the difference. It is just usb 2 BTW. I have run the cmd several times in a row without unplugging the watch and I get a different error for the first three.

http://dl.dropbox.com/u/19832238/Capture7.PNG

sorry for the image, but copy/paste is not reliable for me in the command line.

I will try the explicit statement as you suggest.

On Tue, May 15, 2012 at 1:15 PM, Mikhail Titov < reply@reply.github.com

wrote:

Marvelous! I thought you was a half way to give up :-)

Huh... so USB port does matter... Are those like USB 2 and 3 ports? I have no USB 3 on my laptop. If that is an issue, it shall be reported to SiLabs.

It looks like it gets nothing for --dir option. On line 124 it tries to open a file while on previous line it forms its absolute name from whatever was supplied to --dir. Try something more explicit --dir C:\DOCUME~1\your user\MYDOCU~1\MYRUNS\


Reply to this email directly or view it on GitHub: https://github.com/mlt/schwinn810/issues/5#issuecomment-5724626

nc54 commented 12 years ago

Now I get this. http://dl.dropbox.com/u/19832238/Capture8.PNG http://dl.dropbox.com/u/19832238/Capture7.PNG

On Tue, May 15, 2012 at 1:21 PM, Nathan Clark nathanial.clark@gmail.comwrote:

Actually it works in any port now, maybe deleting the the other archives made all the difference. It is just usb BTW. I have run the cmd several times in a row without unplugging the watch and I get a different error for the first three.

http://dl.dropbox.com/u/19832238/Capture7.PNG

sorry for the image, but copy/paste is not reliable for me in the command line.

I will try the explicit statement as you suggest.

On Tue, May 15, 2012 at 1:15 PM, Mikhail Titov < reply@reply.github.com

wrote:

Marvelous! I thought you was a half way to give up :-)

Huh... so USB port does matter... Are those like USB 2 and 3 ports? I have no USB 3 on my laptop. If that is an issue, it shall be reported to SiLabs.

It looks like it gets nothing for --dir option. On line 124 it tries to open a file while on previous line it forms its absolute name from whatever was supplied to --dir. Try something more explicit --dir C:\DOCUME~1\your user\MYDOCU~1\MYRUNS\


Reply to this email directly or view it on GitHub: https://github.com/mlt/schwinn810/issues/5#issuecomment-5724626

mlt commented 12 years ago

Once watch is in download mode, it just keeps dumping data no matter what. If for some reason script died and you are restarting it while watch is still dumping data, weird things may happen. Though I tried to check for that, it is better to make sure watch is not sending data before running the script again. Watch may show either charging screen, or connected screen (while no visible sign of data transfer).

mlt commented 12 years ago

Now I get this. http://dl.dropbox.com/u/19832238/Capture8.PNG

Does progress percentage show up like that? That is odd.

The reason you are getting time zone related errors is that babelize.cmd tries to call csv2tcx.exe to convert stuff into TCX file. However cx_freeze tool that created exe from python code, did not include time zone data. I have a workaround for that but it is really annoying.

Also what does it mean that Environment variable DIR ... is not defined in the beginning of your screenshot?

nc54 commented 12 years ago

When it finishes There is no data in my runs. What else can we try?

mlt commented 12 years ago

Something is not quite right with you %DIR% variable that you supply. Did you figure out why you had that message on your screenshot just before Found M11153 01-020 ...? Also do you mind telling me your prod. id as reported by watch (SET->PROD.ID)?

If you don't specify --dir option at all, it should create files in the current directory. So if you use cmd it should be the same as where you have download.exe and other stuff, however if you double click on schwinn810.cmd, it is likely that your working directory will be either C:\Users\nc54\ or C:\Users\nc54\Documents\

mlt commented 12 years ago

Did you miss = sign in schwinn810.cmd near SET "DIR=C:\Users\nc54\MyDocuments\MyRuns" ??

nc54 commented 12 years ago

http://dl.dropbox.com/u/19832238/Capture10.PNG http://dl.dropbox.com/u/19832238/Capture9.PNG

I was missing the=and/or" On Tue, May 15, 2012 at 3:39 PM, Mikhail Titov < reply@reply.github.com

wrote:

Did you miss = sign in schwinn810.cmd near SET "DIR=C:\Users\nc54\MyDocuments\MyRuns" ??


Reply to this email directly or view it on GitHub: https://github.com/mlt/schwinn810/issues/5#issuecomment-5728246

nc54 commented 12 years ago

FYI prod ID E111203001752111016201-020

On Tue, May 15, 2012 at 4:21 PM, Nathan Clark nathanial.clark@gmail.comwrote:

http://dl.dropbox.com/u/19832238/Capture10.PNG http://dl.dropbox.com/u/19832238/Capture9.PNG

I was missing the = an/or "

On Tue, May 15, 2012 at 3:39 PM, Mikhail Titov < reply@reply.github.com

wrote:

Did you miss = sign in schwinn810.cmd near SET "DIR=C:\Users\nc54\MyDocuments\MyRuns" ??


Reply to this email directly or view it on GitHub: https://github.com/mlt/schwinn810/issues/5#issuecomment-5728246

nc54 commented 12 years ago

.points file is the only one that seems to have data... ?

On Tue, May 15, 2012 at 4:24 PM, Nathan Clark nathanial.clark@gmail.comwrote:

FYI prod ID E111203001752111016201-020

On Tue, May 15, 2012 at 4:21 PM, Nathan Clark nathanial.clark@gmail.comwrote:

http://dl.dropbox.com/u/19832238/Capture10.PNG http://dl.dropbox.com/u/19832238/Capture9.PNG

I was missing the = an/or "

On Tue, May 15, 2012 at 3:39 PM, Mikhail Titov < reply@reply.github.com

wrote:

Did you miss = sign in schwinn810.cmd near SET "DIR=C:\Users\nc54\MyDocuments\MyRuns" ??


Reply to this email directly or view it on GitHub: https://github.com/mlt/schwinn810/issues/5#issuecomment-5728246

mlt commented 12 years ago

I was missing the = an/or "

Finally, it is nailed down. Though I'd encourage to try to use environment variables like %HOME% instead of hard coding paths. Though it is totally up to you.

.points file is the only one that seems to have data... ?

No, .track and .laps also should have some. Are those empty?

Otherwise next step would be to set up gpsbabel if you want you tracks in Google Earth, or GPX export. For TCX, please update with newer archive with time zone data for pytz.

nc54 commented 12 years ago

Unfortunately It does not work with %home% No Laps and track are not empty, but I was hoping for TCX or GPX files. I don't see how to do that.

mlt commented 12 years ago

Unfortunately It does not work with %home%

Could you run cmd and type set? It should output all your environment variables. If not HOME, there must be something like USERPROFILE that you can use instead.

No Laps and track are not empty

That is a good sign.

After all track points are extracted for a single track, download.exe calls a batch file (or any executable) that was supplied as --hook argument. It passes absolute (with complete path) file name of the track without extension as an argument. That argument is referenced as %1 in babelize.cmd. So it is up to a user to do any data transformation be it GPX, TCX, or KML. Also it is the right place to initiate final upload to any web sites like Garmin Connect, or MapMyRun using appropriate web service API.

To get GPX, you should install GPSBabel that can easily do that. Take a look at babelize.cmd using notepad or any other text editor. Make sure you have a correct path to where your gpsbabel is installed, e.g. C:\Program Files (x86)\GPSBabel\ or just C:\Program Files\GPSBabel\, or like in my case C:\Programs\GPSBabel\ where I used zip without installer.

For TCX, there is a line

%~dp0\csv2tcx.exe "%1" > "%1.tcx"

If you are in US Central Time Zone, just leave it as is, otherwise you can supply time zone name

%~dp0\csv2tcx.exe --tz Europe/Moscow "%1" > "%1.tcx"

Schwinn watch reports local time that needs to be converted into Greenwich Mean Time that is used by GPX, TCX, and alike. I'm pretty sure time zone is reported by watch as well. I just didn't find it yet. As soon as I (or someone else) find how TZ is reported by watch (probably among unidentified variables from settings.exe), it will be passed as yet another argument (%2) to whatever was given after --hook.

Make sure you use the latest archive. Otherwise csv2tcx.exe will not work properly.

nc54 commented 12 years ago

USERPROFILE works! Fixing the path to babalize.exe fixed the GPX issue!

TCX does not work, I don't see HR info in the GPX file (I know it's not part of the standard but there is the Garmin De-Facto standard that seems to be universal) What's with all these files generated during download in the schwinn810_win32 folder, do I just ignore them What about deleting files from watch, Should I just do that through the watch interface?

I tried changing the timezone in babalize.cmd with

%~dp0\csv2tcx.exe --tz America/Denver "%1" > "%1.tcx"

and instead of

http://dl.dropbox.com/u/19832238/Capture11.PNG

I get

http://dl.dropbox.com/u/19832238/Capture12.PNG

mlt commented 12 years ago

USERPROFILE works!

I guess something (or I) created HOME on my laptop and I assumed it was common. I'll change that. Thanks!

GPX has no support for heart rate data. PERIOD. However you can tell gpsbabel to use particular column from .points file to turn it into let's say a comment, or description for a waypoint in GPX. For this you should use XCSV format instead of unicsv. However it is a separate story, and it is easier to forget about it since no any other software will understand it was a heart rate anyway.

Fox csv2tcx, try the following:

  1. Copy all the files for a given track (0511201.track, 0511201.laps, 0511201.points) into the same folder with executables
  2. Navigate to that folder with cmd using cd . You can use to autocomplete path, and you can copy/paste stuff into "DOS" window.
  3. Execute that explicitly like csv2tcx --tz America/Denver 0511201 > 0511201.tcx

Also did you write that as a single line %~dp0\csv2tcx.exe --tz America/Denver "%1" > "%1.tcx" ? It must be a single line otherwise use line continuation symbol ^.

nc54 commented 12 years ago

I tried `csv2tcx --tz America/Denver 0511201' Still no TCX.
http://dl.dropbox.com/u/19832238/Capture13.PNG

On Wed, May 16, 2012 at 1:20 PM, Mikhail Titov < reply@reply.github.com

wrote:

USERPROFILE works!

I guess something (or I) created HOME on my laptop and I assumed it was common. I'll change that. Thanks!

GPX has no support for heart rate data. PERIOD. However you can tell gpsbabel to use particular column from .points file to turn it into let's say a comment, or description for a waypoint in GPX. For this you should use XCSV format instead of unicsv. However it is a separate story, and it is easier to forget about it since no any other software will understand it was a heart rate anyway.

Try the following:

  1. Copy all the files for a given track (0511201.track, 0511201.laps, 0511201.points) into the same folder with executables
  2. Navigate to that folder with cmd using cd
  3. Execute that explicitly like csv2tcx --tz America/Denver 0511201

Reply to this email directly or view it on GitHub: https://github.com/mlt/schwinn810/issues/5#issuecomment-5749401

mlt commented 12 years ago

http://dl.dropbox.com/u/19832238/Capture13.PNG

It looks like you are not using the latest code. Did you update library.zip and all other stuff? It is not enough to update exe only.

The easiest way is to copy working babelize.cmd and schwinn810.cmd into unpacked new archive.