tomojitakasu / RTKLIB

2.5k stars 1.59k forks source link

STR2STR File Swap Margin #268

Open ghost opened 7 years ago

ghost commented 7 years ago

I use STR2STR to output a RTCMV3 file from incoming serial RTCM messages. I'd like to break up those files into 1 hour files. I see that there is a -f switch for file swap margin. Is there a way to tell it to swap files every hour?

arty86 commented 7 years ago

You should use the same realization like in STRSVR

ghost commented 7 years ago

This doesn't really answer the question. Yes, they have the same options, but I don't know how to accomplish this with either program. Below are the available switches for STR2STR:

-sta sta station id -opt opt receiver dependent options -s msec timeout time (ms) [10000] -r msec reconnect interval (ms) [10000] -n msec nmea request cycle (m) [0] -f sec file swap margin (s) [30] -c file receiver commands file [no] -p lat lon hgt station position (latitude/longitude/height) (deg,m) -l local_dir ftp/http local directory [] -x proxy_addr http/ntrip proxy address [no] -t level trace level [0] -h print help

I see the file swap margin option, but what designates file length? That does not seem to be an option.

arty86 commented 7 years ago

you should add swap parameter to file name. Just open STRSVR and take a look at the swap help. As I remember you will see some parameters, for example, %h uses for hour - 'test%h.rtcm3'

mvbjrn commented 7 years ago

I am actually confused by this one, too. The manual shows two options to accomplish a file swap with STR2STR:

file : [file://]path[::T][::+start][::xseppd][::S=swap]

and

-f sec file swap margin (s) [30]

My guess is that ::S is just a trigger and I still need something like -f 30. A full execution would look like this:

str2str -in serial://ttyACM0:115200:8:N:1:off#ubx -out file://%Y-%m-%d-%h:%M:%S-GNSS-1.ubx::S -f 30 -c ubx_raw_1hz.cmd

As far as I understand this should produce files like 2017-04-26-12:38:37-GNSS-1.ubx, which are swapped after 30 seconds. It does create the file, but there is no swap. STR2STR is writing into the first file only.

What am I missing here?

Thanks for your awesome work!

j124p00m commented 7 years ago

Try this, that should work

str2str -in serial://ttyACM0:115200:8:N:1:off#ubx -out file://%Y-%m-%d-%h:%M:%S-GNSS-1.ubx::S=1 -f 30 -c ubx_raw_1hz.cmd

S = 1 means release every hour -f 30 means every single file are overlapped 30 secs at the beginning and the end of file . e.g. file1; from 0:59:30 to 2:00:30 file2; from 1:59:30 to 3:00:30

mvbjrn commented 7 years ago

That did the trick for me. Thank you very much!

Maybe this can be added to the official manual?!

nafiq4 commented 6 years ago

Hello,

can u guys show me the example command for any conversion of data for example from skytraq raw to rtcm 3 by continue the command that u use above...

str2str -in serial://ttyACM0:115200:8:N:1:off#ubx -out file://%Y-%m-%d-%h:%M:%S-GNSS-1.ubx::S=1 -f 30 -c ubx_raw_1hz.cmd

please explain to me the command like:

1) [:fctr] - in stream path for serial 2) [::T] - in stream path for file 3) [;;+start] - in stream path for file 4) [::xseppd] 5) what the difference between one colon ( : ) and two ( : : )?

its hard for me to understand the command since i was beginner in Linux which is CUI APs compatible. do u have any video about using CUI APs or something pls inform me

ghost commented 6 years ago

Hey, sorry for the delay. It's not well documented. I found this resource:

http://citeseerx.ist.psu.edu/viewdoc/download;jsessionid=9699FCB9FB2B8E8E921920C9ADFC973A?doi=10.1.1.695.4852&rep=rep1&type=pdf

inpstr1_path: 'ttyACM0:57600:8:n:1:off' # -- Set the stream path for the rover receiver. Path formats are as follows: (specified in src/stream.c) [] are optional parameters -serial: port[:brate[:bsize[:parity[:stopb[:fctr]]]]] port = COM?? (windows), tty??? (linuex, omit /dev/) brate = bit rate (bps) bsize = bit size (7|8) parity= parity (n|o|e) stopb = stop bits (1|2) fctr = flow control (off|rts) -file: file_path[::T][::+start][::xseppd][::S=swap] ::T = enable time tag start = replay start offset (s) speed = replay speed factor swap = output swap interval (hr) (0: no swap) -tcpsvr: :port -tcpcli: address:port -ntripcli: [user[:passwd]]@address[:port][/mountpoint] -ftp: [user[:passwd]]@address/file_path[::T=poff[,tint[,toff,tret]]]] -http: address/file_path[::T=poff[,tint[,toff,tret]]]] poff = time offset for path extension (s) tint = download interval (s) toff = download time offset (s) tret = download retry interval (s) (0:no retry) That explains some of these options. The only one i've used is swap, as you saw in the thread. You trying to do serial to file?

On Wed, Jun 6, 2018 at 1:32 PM, nafiq4 notifications@github.com wrote:

Hello,

can u guys show me the example command for any conversion of data for example from skytraq raw to rtcm 3 by continue the command that u use above...

str2str -in serial://ttyACM0:115200:8:N:1:off#ubx -out file://%Y-%m-%d-%h:%M:%S-GNSS-1.ubx::S=1 -f 30 -c ubx_raw_1hz.cmd

please explain to me the command like:

  1. [:fctr] - in stream path for serial
  2. [::T] - in stream path for file
  3. [;;+start] - in stream path for file
  4. [::xseppd]
  5. what the difference between one colon ( : ) and two ( : : )?

its hard for me to understand the command since i was beginner in Linux which is CUI APs compatible. do u have any video about using CUI APs or something pls inform me

— You are receiving this because you authored the thread. Reply to this email directly, view it on GitHub https://github.com/tomojitakasu/RTKLIB/issues/268#issuecomment-395151021, or mute the thread https://github.com/notifications/unsubscribe-auth/AJFs6sH-ZuK_W1b-7UOLZUM-Cz1DilEsks5t6BI5gaJpZM4LmJak .

maxmedina05 commented 2 years ago

Can someone help me out? please If you can create separate files every hour, is there a way to merge all those files together into one? Or if the str2str stopped and you continue again can you make it continue appending to the existing file? is that even possible?

@j124p00m @ghost