Changeset 8617 in ntrip for trunk/BNC/src/bncutils.cpp
- Timestamp:
- Feb 28, 2019, 2:46:37 PM (5 years ago)
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk/BNC/src/bncutils.cpp
r8417 r8617 949 949 } 950 950 951 // Convert RTCM3 lock-time indicator to lock time in seconds 952 //////////////////////////////////////////////////////////////////////////// 953 double lti2sec(int type, int lti) { 954 955 if ( (type>=1001 && type<=1004) || 956 (type>=1009 && type<=1012) ) { // RTCM3 msg 100[1...4] and 10[09...12] 957 if (lti< 0) return -1; 958 else if (lti< 24) return 1*lti; // [ 0 1 23] 959 else if (lti< 48) return 2*lti-24; // [ 24 2 70] 960 else if (lti< 72) return 4*lti-120; // [ 72 4 164] 961 else if (lti< 96) return 8*lti-408; // [168 8 352] 962 else if (lti< 120) return 16*lti-1176; // [360 16 728] 963 else if (lti< 127) return 32*lti-3096; // [744 32 905] 964 else if (lti==127) return 937; 965 else return -1; 966 } 967 else if (type%10==2 || type%10==3 || 968 type%10==4 || type%10==5) { // RTCM3 MSM-2/-3/-4/-5 969 switch(lti) { 970 case( 0) : return 0; 971 case( 1) : return 32e-3; 972 case( 2) : return 64e-3; 973 case( 3) : return 128e-3; 974 case( 4) : return 256e-3; 975 case( 5) : return 512e-3; 976 case( 6) : return 1024e-3; 977 case( 7) : return 2048e-3; 978 case( 8) : return 4096e-3; 979 case( 9) : return 8192e-3; 980 case(10) : return 16384e-3; 981 case(11) : return 32768e-3; 982 case(12) : return 65536e-3; 983 case(13) : return 131072e-3; 984 case(14) : return 262144e-3; 985 case(15) : return 524288e-3; 986 default : return -1; 987 }; 988 } 989 else if (type%10==6 || type%10==7) { // RTCM3 MSM-6 and MSM-7 990 if (lti< 0) return ( -1 ); 991 else if (lti< 64) return ( 1*lti )*1e-3; 992 else if (lti< 96) return ( 2*lti-64 )*1e-3; 993 else if (lti< 128) return ( 4*lti-256 )*1e-3; 994 else if (lti< 160) return ( 8*lti-768 )*1e-3; 995 else if (lti< 192) return ( 16*lti-2048 )*1e-3; 996 else if (lti< 224) return ( 32*lti-5120 )*1e-3; 997 else if (lti< 256) return ( 64*lti-12288 )*1e-3; 998 else if (lti< 288) return ( 128*lti-28672 )*1e-3; 999 else if (lti< 320) return ( 256*lti-65536 )*1e-3; 1000 else if (lti< 352) return ( 512*lti-147456 )*1e-3; 1001 else if (lti< 384) return ( 1024*lti-327680 )*1e-3; 1002 else if (lti< 416) return ( 2048*lti-720896 )*1e-3; 1003 else if (lti< 448) return ( 4096*lti-1572864 )*1e-3; 1004 else if (lti< 480) return ( 8192*lti-3407872 )*1e-3; 1005 else if (lti< 512) return ( 16384*lti-7340032 )*1e-3; 1006 else if (lti< 544) return ( 32768*lti-15728640 )*1e-3; 1007 else if (lti< 576) return ( 65536*lti-33554432 )*1e-3; 1008 else if (lti< 608) return ( 131072*lti-71303168 )*1e-3; 1009 else if (lti< 640) return ( 262144*lti-150994944 )*1e-3; 1010 else if (lti< 672) return ( 524288*lti-318767104 )*1e-3; 1011 else if (lti< 704) return (1048576*lti-671088640 )*1e-3; 1012 else if (lti==704) return (2097152*lti-1409286144)*1e-3; 1013 else return ( -1 ); 1014 } 1015 else { 1016 return -1; 1017 }; 1018 };
Note:
See TracChangeset
for help on using the changeset viewer.