Menu

Show posts

This section allows you to view all posts made by this member. Note that you can only see posts made in areas you currently have access to.

Show posts Menu

Messages - aag

#1
GENERAL / Re: GPS jitter when indoors or in tunnels
March 19, 2022, 08:23:33 PM
Thank you. I had 100m. I will now try 20m.
#2
GENERAL / GPS jitter when indoors or in tunnels
March 19, 2022, 06:56:31 PM
I have a new phone (Samsung S22 Ultra, the newest high-end model), and when I am indoors or in tunnels, Oruxmaps records horrible jitters, presumably because the GPS signal is unstable. My previous phone (Samsung Note 10) did not do that. I suppose that it can be reduced in the settings, by specifying the minimal sensitivity of the GPS fix, but I don't know how to do that. Can you please advise?
#3
GENERAL / change default naming of recorded tracks?
August 28, 2021, 06:36:41 PM
The recorded tracks are named by default according to the datetime of the start. Is there any way to customize the naming? Thanks in advance!
#4
GENERAL / Re: cacheing online maps
March 10, 2018, 04:30:10 PM
Thank you Orux. I did that, however I seem to be unable to store any value higher than 9999 MBytes.
#5
GENERAL / cacheing online maps
March 10, 2018, 01:38:42 PM
I have a Samsung Note 8 with an enormous amount of storage (256 Gigabytes onboard + 400 Gigabytes on the SdCard). I use online topographic maps (SwissTopo), and would like to cache as much of them as possible. The reason is that SwissTopo limits the amount of downloads/year, hence I would want to avoid downloading the same tiles twice. Can somebody explain to me which parameters of the cache limits need to be configured in order to take full advantage of my storage and avoid cache reduction/clearing events? Thanks in advance!
#6
GENERAL / Re: export ANT+ data?
June 01, 2014, 08:16:21 PM
Funnily enough though, I seem to be unable to find an app that accurately logs all Hr data into a file amenable to further processing.  The IPSensorman produces very precise but huge verbose logs.



Sent from my SM-N9005 using Tapatalk
#7
GENERAL / Re: export ANT+ data?
June 01, 2014, 07:53:34 PM
Orux is a great app! I am using it all the time.  But probably I will have to come to terms with the fact that it is primarily a gps app, rather than an exercise logging app...



Sent from my SM-N9005 using Tapatalk
#8
GENERAL / Re: export ANT+ data?
June 01, 2014, 03:38:57 PM
I am sorry to report that this does not work as advertised! At least not on a Samsung Galaxy Note 3 (SM-N9005, Android 4.4.2). Setting all GPS parameters to zero still does not result in GPX files containing HR data. If no GPS data are recorded, no GPX file appears to be saved. I have also tested the new beta21 version, and the issue is not resolved.
#9
this is a but of a quick hack, but it will extract and plot HR data from the Orux GPX files. I will improve it over time. The final goal is to gain functionality equivalent to PolarPro Trainer (histograms etc), but with the added location data.



import re
from string import Formatter
import time
import datetime
from time import strftime,strptime
from datetime import timedelta
import array
import matplotlib
from numpy  import *
import scipy
from pylab import *


#Equations for Determination of Calorie Burn if VO2max is Unknown
#Male: ((-55.0969 + (0.6309 x HR) + (0.1988 x W) + (0.2017 x A))/4.184) x 60 x T
#Female: ((-20.4022 + (0.4472 x HR) - (0.1263 x W) + (0.074 x A))/4.184) x 60 x T
#
#where
#
#HR = Heart rate (in beats/minute)
#W = Weight (in kilograms)
#A = Age (in years)
#T = Exercise duration time (in hours)


#______________________________________________________

def strfdelta(tdelta, fmt):
    f = Formatter()
    d = {}
    l = {'Y': 31536000, 'D': 86400, 'H': 3600, 'M': 60, 'S': 1}
    k = map( lambda x: x[1], list(f.parse(fmt)))
    rem = int(tdelta.total_seconds())

    for i in ('Y', 'D', 'H', 'M', 'S'):
        if i in k and i in l.keys():
            d[i], rem = divmod(rem, l[i])

    return f.format(fmt, **d)

#______________________________________________________
def getSec(s):
    l = s.split(':')
    return int(l[0]) * 3600 + int(l[1]) * 60 + int(l[2])

#______________________________________________________

# constants

HeartRates = open ("C:\Users\aag\Documents\Python\HeartRates.txt", "w")
gpxLinesList = [line.split(',') for line in open("C:\Users\aag\Documents\Python\test2.gpx")]
a= 0
previousHeartTime = 0
indexMultipleHR =0
indexGpx = 0
indexGpxHr =0
heartRateValue =0
weightAA = 92
birthdayAA = datetime.datetime(1960, 12, 1)
today = datetime.datetime.now()
ageAA = 53 # strfdelta(today - birthdayAA,"{Y}")
heartRateMatrix2D = []
heartRateMatrix3D = []
listHR = []
listHrTimeStamp = []
listHrInterval = []
#______________________________________________________

for eachLine in gpxLinesList:# iterate through each line of the GPX file
    indexGpx +=1
    matchHrLine = re.match(r"[[].d{1,}sd{4}[-]d{2}[-]d{2}[T]d{2}[:]d{2}[:]d{2}[Z]", str(eachLine))
    if matchHrLine: # if finds a line containing heart rate information
        indexGpxHr +=1
        heartTime = datetime.datetime.strptime(str(matchHrLine.group() [-20:-1]) , '%Y-%m-%dT%H:%M:%S')  # extract timestamp
        if previousHeartTime == 0 :
            oneSec = timedelta(seconds=1)
            previousHeartTime = heartTime-oneSec # for the 1st line, assume 1 second lag
        heartTimeInterval = int((heartTime - previousHeartTime).total_seconds()) # lag from previous measurememt
        matchHeartRate = re.search(r"[[].d{1,}s", str(matchHrLine.group())) # match heart rate
        heartRateValue = int(str(matchHeartRate.group()[2:])) # extract heart rate                  
        #print(indexGpx, indexGpxHr, heartTime, heartRateValue, previousHeartTime,  heartTimeInterval)
        previousHeartTime = heartTime
        heartRateLine = [heartRateValue, heartTime, heartTimeInterval]#
        heartRateMatrix2D.append(heartRateLine)
        #print (heartRateLine)
       
        listHR.append(heartRateValue) # now populate lists
        listHrTimeStamp.append(heartTime)
        listHrInterval.append(heartTimeInterval)
       
#print (heartRateMatrix2D)
arrayHR = asarray(listHR)
arrayHrTimeStamp = asarray(listHrTimeStamp)
print (ageAA, arrayHR, min(arrayHR), max(arrayHR), mean(arrayHR), std(arrayHR))
plot(arrayHrTimeStamp,arrayHR)
savefig("C:/Users/aag/Documents/Python/HrOverTime.png",dpi=144)
show()
# use of hist()
#  matplotlib.pyplot.hist(x, bins=10, range=None,
#       normed=False, weights=None, cumulative=False, bottom=None,
#       histtype='bar', align='mid', orientation='vertical', rwidth=None,
#       log=False, color=None, label=None, stacked=False, hold=None, **kwargs)

n, bins, patches = hist(arrayHR, 10, normed=1, histtype='stepfilled')
savefig("C:/Users/aag/Documents/Python/HrHistogram.png",dpi=144)
#setp(patches, 'facecolor', 'g', 'alpha', 0.75)

show()
#10
Quote from: "fabrylama"Ant+ and bt sensors transmits a packet of data at most once a second, so it's useless to know exactly when the data was received, since the HR number orux get is just an average over 1 second calculated by the sensor itself.


Oh really? Because here I am copying an excerpt from yesterday's GPX file, which clearly shows 5 or more ANT+ records per second (from a chest strap) . Hence there is no doubt that >1 packets/sec are received.



I am writing a Python script which does some interesting number-crunching on these data, which I shall be happy to post once it's functional.



99 2014-05-24T11:48:26Z
99 2014-05-24T11:48:26Z
99 2014-05-24T11:48:26Z
99 2014-05-24T11:48:26Z
99 2014-05-24T11:48:27Z
99 2014-05-24T11:48:27Z
99 2014-05-24T11:48:27Z
99 2014-05-24T11:48:28Z
100 2014-05-24T11:48:28Z
100 2014-05-24T11:48:28Z
100 2014-05-24T11:48:28Z
100 2014-05-24T11:48:28Z
100 2014-05-24T11:48:29Z
100 2014-05-24T11:48:29Z
100 2014-05-24T11:48:29Z
100 2014-05-24T11:48:29Z
100 2014-05-24T11:48:30Z
100 2014-05-24T11:48:30Z
100 2014-05-24T11:48:30Z
100 2014-05-24T11:48:30Z
#11
The time/date stamps of the ANT+ HR monitor in the GPX files made by Orux have the format "2014-05-21T06:25:28Z". Does the GPX file format allow for recording milliseconds? If so, could you implement that? For accurately recording and processing HR data, milliseconds would be crucial.
#12
GENERAL / Re: export ANT+ data?
May 13, 2014, 11:39:53 AM
Dear Orux, you are my Hero! I am impressed with your very helpful and extremely rapid assistance.  I tried setting distance and Töne to zero.  However, even then,  it seems that oruxmaps does not record anything if it never receives a gps fix. Is that correct?



Sent from my SM-N9005 using Tapatalk
#13
GENERAL / export ANT+ data?
May 11, 2014, 08:28:10 PM
Is it possible to extract the ANT+ sensor data (specifically heart rate data) from Oruxmaps? I would like to use the data for extensive performance analyses. Also, it seems that ANT+ data are only recorded while the GPS records movement; the ANT+ recorder is off while you are stationary. I can understand the rationale for that, but what about adding a switch to control this behavior?

many thanks!
#14
MEJORAS/NEW FEATURES / Orux -> Myfitnesspal
May 10, 2014, 08:59:26 PM
Orux does a great job at recording Ant+ data and calculating calories. Is there a way to upload the calories to MyFitnessPal? If not, would you consider hooking to the MyFitnessPal API (http://www.myfitnesspal.com/api">//http://www.myfitnesspal.com/api)? I would be prepared to sponsor such endeavor with, say, a 40$ donation!