SRMCMD(1)
β¨ NAME β¨
okay bestie, meet srmcmd π
β it's your download/access plug for SRM PowerControl. that's the whole vibe. periodt.
π SYNOPSIS π
srmcmd [options] path
πΈ DESCRIPTION πΈ
so srmcmd implements the serial protocols for SRM's PowerControl V, VI and 7 π₯. and it lets you adjust the most important settings. that's it, that's the girl. she's small but she's doing a LOT.
π OPTIONS π
Options available for the srmcmd command:
-b,--baud=rateβ use only the baudrate you specified. by default she probes all the supported baudrates, which is very main character of her. PCV factory setting is9600baud. PCVI and PV7 always use38400β no negotiating, they're fixed like that. π-c,--clearβ delete data on the PC. well. actually she just marks it as deleted π. you can still get it back with--get=allon PCV. it's giving "deleted (not deleted)".-d,--dateβ print the start date of the recorded data as seconds since1970-01-01. lowkey useful for creating srmwin compatible filenames. ποΈ-x,--fixupβ try to fix time glitches in the retrieved data. here's the tea: the PCV sends 11 Tuples in one 64Byte block. timestamps are only sent per Block β with a granularity of1 secβ so they're always off with recints< 1sec. on top of that, these timestamps often mismatch the time covered by the tuples π. with this option set, timestamps are adjusted to fit the recint, and gaps at block boundaries of up to2secare filled with averaged data. that's whatsrmwinis doing, It seemswkodoesn't ... π the protocol for PCVI and PC7 doesn't have this problem, so they're fine, they're thriving.-f,--ftdiβ use the ftdi serial driver and open the device by the given description.-g,--get[=all]β download newly recorded data from the PC. withallspecified, the "deletion" on the PCV is ignored and all the data (that's not yet overwritten) is retrieved from the PCV β note that PCVI and PC7 don't seem to support getting "deleted" data π«Ά. by default, data is written tostdoutas a tab-separated list.-h,--helpβ a brief message. short and sweet.-i,--int=recintβ set the recording interval. the interval is specified*10, so"10"means1 secβ¨. supported values:1to9and10to150in steps of10.-n,--nameβ show the athlete name (initials) stored on the PC. π₯Ή-p,--pc=typeβ type of PowerControl protocol to use. supported arePowerControl 5,6, and7. default is"5".-r,--readβ instead of accessing the PC, the specified file is read. by default data is written tostdoutas with--get. see below for supported file formats. π-R,--read-type=typeβ specify the format of the file to read. see below for supported file formats. defaults tosrm7.-s,--split=timeβ split data on gaps of the specified minimum length. time is given as10*secondsβ same as--recint. with a non-zero time, the argument given to--writewill be used as template formkstemps. So it has to have printed to stdout. β οΈ (that's the original wording, bestie, i'm just the messenger)-t,--timeβ set the PC's time to the current system time. clock sync slay. β°-v,--verboseβ enable verbose status messages. for when you need her to yap.-V,--versionβ show thesrmcmdversion number and exit.-w,--write=destinationβ write data retrieved from the PC (or, with--read, from a file) to the specified destination file.-W,--write-type=typeβ specify the format of the file to write. see below for supported file formats. defaults tosrm7.
π¦ FILE FORMATS π¦
srm5β binary format written by ancientsrmwinversions. supports the same fields assrm6. only reading is implemented. πsrm6β binary format as written bysrmwinuntil PCVI was introduced. supportspower,heartrate,speed,cadence. only reading is implemented.srm7β binary format as written bysrmwinthat supports PCVI. supportspower,heartrate,speed,cadence,elevation,temperature. for reading, the srm file sub-type is autodetected π.wktβ custom text-based format that has a lot less restrictions than both SRM formats. supports all fields. only writing is implemented. βοΈ
π EXAMPLES π
show name configured in PC π©·
srmcmd -n /dev/ttyUSB0 # linux
srmcmd -n -p 7 /dev/ttyUSB0 # linux, PowerControl 7
srmcmd -n /dev/ttyS1 # cygwin, com1
srmcmd -n /dev/cu.usbserial* # Mac OS X, prolific driver (good luck)
srmcmd -n /dev/cu.PL2303-* # Mac OS X with http://osx-pl2303.sourceforge.net/
srmcmd -n -p 7 -f "POWERCONTROL 7" # ftdi, PowerControl 7
(good luck) is literally in the original and honestly? valid. π
download data to out.srm, delete data on PC, adjust clock and set recint to 1sec
srmcmd -g -t -i 10 -w out.srm /dev/ttyUSB0
auto-split on 2h gaps and save to files named foo*.srm
srmcmd -g -s 72000 -w fooXXXXXX.srm /dev/ttyUSB0
dump file contents as tab-separated list
srmcmd -r foo.srm
π SEE ALSO π
this is just a very simplistic frontend for the lib. please check the source distribution for details. π¦ (iykyk β the real lore lives in the source)
π BUGS π
Yes. For sure. π keep in mind though, that protocol and file formats are reverse engineered... so like, be nice to her, she's doing her best.
π AUTHORS π
Rainer Clasen
and that's the page, bestie π«Ά this one's from Version 0.1.1~git1, it's the SRM access tool, dated 9 Mar 2011, and it's living in section 1 of the manual. go forth and talk to your PowerControl πβ¨π
π¦ where this page comes from
- fedora 43: srmio 0.1.1.1-14.fc43 Β· MIT
- fedora 44: srmio 0.1.1.1-15.fc44 Β· MIT
- π girlified by deepseek-ai/DeepSeek-V4.1-Flash on : a language model's rewrite of the original, under its terms