|
HOPS
HOPS class reference
|
#include "hetetimecode.h"#include <time.h>#include <sys/time.h>#include <math.h>#include <stdlib.h>#include <stdio.h>#include <string.h>#include "time_float_type.h"Go to the source code of this file.
Classes | |
| struct | sc_life |
Macros | |
| #define | EPOCH_IBEX(N) (0x30|(N)) |
| #define | HETE_PECULIAR 0 |
| #define | HOPS_ROOT_BREAK 1519659904 |
| #define | HOPS_ROOT_EPOCH 283996800 |
| #define | Ht_DATACALSC "data/calibration/sc" |
| #define | Ht_DS_ADAT 32 /* alternate date */ |
| #define | Ht_DS_DATE 2 /* DATE datestamp */ |
| #define | Ht_DS_FILE 22 /* for file names */ |
| #define | Ht_DS_FILH 25 /* alt file names */ |
| #define | Ht_DS_GRBS 7 /* GRB seconds UT */ |
| #define | Ht_DS_HOPS 26 /* HOPS rootcode */ |
| #define | Ht_DS_HT00 5 /* s/c clock no0x */ |
| #define | Ht_DS_HT03 8 /* s/c clock 3wds */ |
| #define | Ht_DS_ISOM 19 /* ISO time w/ ms */ |
| #define | Ht_DS_ISON 16 /* ISO time no us */ |
| #define | Ht_DS_ISOT 17 /* ISO time w/ us */ |
| #define | Ht_DS_JULD 9 /* the julian day */ |
| #define | Ht_DS_MAES 20 /* for ze MAESTRO */ |
| #define | Ht_DS_MJUL 10 /* mod julian day */ |
| #define | Ht_DS_MY4C 24 /* MAESTRO YYYY: */ |
| #define | Ht_DS_MY4D 23 /* MAESTRO YYYY. */ |
| #define | Ht_DS_NUMB 33 /* count of these */ |
| #define | Ht_DS_PASS 1 /* PASS datestamp */ |
| #define | Ht_DS_PGMI 18 /* pigmi format */ |
| #define | Ht_DS_PLAN 21 /* planning times */ |
| #define | Ht_DS_PLOG 31 /* Python logtime */ |
| #define | Ht_DS_RDBE 30 /* vlbi rdbe time */ |
| #define | Ht_DS_SECS 3 /* GPS time secs */ |
| #define | Ht_DS_UNIX 0 /* UNIX time secs */ |
| #define | Ht_DS_USVN 14 /* SVN datestamp */ |
| #define | Ht_DS_USVZ 15 /* SVN w/no usecs */ |
| #define | Ht_DS_UTRL 27 /* relative UTime */ |
| #define | Ht_DS_UWKS 13 /* GPS weeks/sow */ |
| #define | Ht_DS_VDIF 29 /* vlbi vdif time */ |
| #define | Ht_DS_VEXT 28 /* vlbi vex time */ |
| #define | Ht_DS_Y2DS 11 /* yy/doy/sec.ms */ |
| #define | Ht_DS_Y2KP 4 /* PASS w/century */ |
| #define | Ht_DS_Y4DS 12 /*year/doy/sec.ms */ |
| #define | Ht_DS_YDOY 6 /* YEAR/DOY.f-day */ |
| #define | Ht_IBEX_TIME_HELP "\n\ Parse-able IBEX time formats:\n\\n\ relative: +|- integer [us|ms|s|m|h|d|y]\n\ +|- float [us|ms|s|m|h|d|y]\n\ +|- integer [(s)i(dereal)|(sy)n(odic)] (lunar months)\n\\n\ UNIX clock: secs\n\ GPS seconds: secs.[usecs]\n\ GPS time: weeks#secs[.usecs]\n\ (# == any non-space)\n\ PASS time: [19]990613_054700[.000000]\n\ DATE string: [Thu] Jun 13 05:47:00[.000000] UTC 1996\n\ (GMT may replace UTC) or the variant\n\ [Thu] 13 Jun 1996 05:47:00 AM UTC\n\ GRB time: YYMMDD+SOD (UTC)\n\ YDS time: YYYY/DOY/SOD (UTC)\n\ YY/DOY/SOD (UTC)\n\ PLAN time: YYYY/DOY.HHMMSS\n\ FILE time: YYYY_DOY_HHMM\n\ or YYYY_DOY_HH_MM\n\ MAESTRO time: YYYY/MM:DD:HH:MM:SS\n\ or [[YY]YY:]DOY:HH:MM:SS\n\ or [[YY]YY.]DOY.HH.MM.SS\n\ SVN time: YYYY-MM-DD HH:MM:SS[.uuuuuu][Z]\n\ ISO time: YYYY-MM-DDTHH:MM:SS[.uuuuuu][Z]\n\ MPS time: YYYY-MM-DDTHH:MM:SS[.mmm][Z]\n\ PIGMI time: YYYYMMDDHHMMSSmmm\n\ VLBI vex: [YY]YYyDOYdHHhMMmSS.ffffs\n\ VLBI s/e: EE@ssssssss.ffff (EE<64)\n\\n\ time_code: (epoch time[2] time[1] time[0]:)\n\ 0x0030 [0xXXXX [0xXXXX [0xXXXX]]] (w/epoch)\n\ 0xXXXX [0xXXXX [0xXXXX]] (no epoch)\n\\n\ Julian day: days.[fday] (both of these are restricted to\n\ Modified JD: days.[fday] the epoch 50000 < MJD < 70000)\n\\n\ HOPS rootcode: unix clock base 26\n\\n\" |
| #define | Ht_IBEXTIMES "%s/%s/gps-sc%1x.dat" |
| #define | Ht_JULIAN_EPOCH_IS_UTC (-666) |
| #define | Ht_LIFETIMES "%s/%s/gps-dw%1x.dat" |
| #define | Ht_STR_ADAT 0x10B /* Alt.DateFmt */ |
| #define | Ht_STR_FILE 0x171 /* yyyy_doy_hm */ |
| #define | Ht_STR_FILH 0x172 /* _doy_hh_mm */ |
| #define | Ht_STR_HOPS 0x109 /* UNIX baseX6 */ |
| #define | Ht_STR_HT00 0x208 /* without 0xX */ |
| #define | Ht_STR_HT03 0x210 /* 3wds no 0xX */ |
| #define | Ht_STR_HT0x 0x202 /* sc_clock 0x */ |
| #define | Ht_STR_HT0X 0x204 /* sc_clock 0X */ |
| #define | Ht_STR_HTYP 0x200 /* a HT string */ |
| #define | Ht_STR_ISOM 0x107 /* an ISO (ms) */ |
| #define | Ht_STR_ISON 0x106 /* an ISO (s) */ |
| #define | Ht_STR_ISOT 0x105 /* an ISO time */ |
| #define | Ht_STR_JDAY 0x160 /* Julian Date */ |
| #define | Ht_STR_MAES 0x139 /* YYYY/MM:DD: */ |
| #define | Ht_STR_MODJ 0x161 /* Mod JulianD */ |
| #define | Ht_STR_MY0C 0x13F /* Maestr. HH: */ |
| #define | Ht_STR_MY0D 0x13C /* Maestr. HH. */ |
| #define | Ht_STR_MY2C 0x13E /* Mae. YY:HH: */ |
| #define | Ht_STR_MY2D 0x13B /* Mae. YY.HH. */ |
| #define | Ht_STR_MY4C 0x13D /* M. YYYY:HH: */ |
| #define | Ht_STR_MY4D 0x13A /* M. YYYY.HH. */ |
| #define | Ht_STR_NTYP 0x000 /* unknown typ */ |
| #define | Ht_STR_NULL 0x300 /* null string */ |
| #define | Ht_STR_PGMI 0x190 /* pygmi time */ |
| #define | Ht_STR_PLAN 0x170 /* yyyydoy.hms */ |
| #define | Ht_STR_PLOG 0x10A /* Python Log */ |
| #define | Ht_STR_RDBE 0x1A2 /* vlbi (rdbe) */ |
| #define | Ht_STR_UGPS 0x110 /* GPS in secs */ |
| #define | Ht_STR_UGRB 0x140 /* GRB secs UT */ |
| #define | Ht_STR_USVN 0x103 /* a SVN date */ |
| #define | Ht_STR_UTDT 0x104 /* a DATE date */ |
| #define | Ht_STR_UTNX 0x101 /* a UNIX time */ |
| #define | Ht_STR_UTPS 0x102 /* a PASS date */ |
| #define | Ht_STR_UTRL 0x108 /* relative UT */ |
| #define | Ht_STR_UTYP 0x100 /* a UT string */ |
| #define | Ht_STR_UWKS 0x120 /* GPS wks+sec */ |
| #define | Ht_STR_VDIF 0x1A1 /* vlbi (vdif) */ |
| #define | Ht_STR_VEXT 0x1A0 /* vlbi (vex) */ |
| #define | Ht_STR_Y2DS 0x180 /* yy/doy/sod */ |
| #define | Ht_STR_Y4DS 0x181 /*yyyy/doy/sod */ |
| #define | Ht_STR_YDOY 0x182 /*yyyy/doy.frd */ |
| #define | J2000_EPOCH 630763200.000000 |
| #define | JD_GPS_EPOCH (2444239.5 + 5.0)/*days*/ |
| #define | JD_UNIX_EPOCH (2440587.5)/*days*/ |
| #define | MAX_WEEKS 8192 |
| #define | SPICE_ET_ORIGIN 630763148.816000 |
| #define | SPICE_ET_TYPE_GPS 0 |
| #define | SPICE_ET_TYPE_TAI 1 |
| #define | SPICE_ET_TYPE_TDB 3 |
| #define | SPICE_ET_TYPE_TDT 2 |
| #define | SPICE_ET_TYPE_UTC 4 |
| #define | TAI_GPS_DELTA 19/*seconds*/ |
| #define | TAI_UTC_DATA "%s/%s/tai-utc.dat" |
| #define | TDT_GPS_DELTA 51.184/*seconds*/ |
| #define | TDT_TAI_DELTA 32.184/*seconds*/ |
| #define | THIS_IS_IBEX ((Ht_hete_epoch & 0x30) == 0x30) |
Typedefs | |
| typedef HTLdbl | GTime |
| typedef struct sc_life | HLife |
| typedef HTLdbl | HtErr |
| typedef time_code | HTime |
| typedef struct timeval | UTime |
Variables | |
| int | Ht_asserted_string_type |
| HTLdbl | Ht_d_mult |
| HTLdbl | Ht_d_orig |
| HTLdbl | Ht_default_error |
| HTLdbl | Ht_dwab_dw_mult |
| int | Ht_dwab_dwdelta |
| GTime | Ht_gps_origin |
| IPP_word | Ht_hete_epoch |
| HLife * | Ht_last_life |
| char * | Ht_life_file |
| HLife * | Ht_lifetimes |
| int | Ht_string_min_len |
| int | Ht_suppress_Z |
| int | Ht_tz_unset |
| int | Ht_update_interval |
| struct sc_life |
| #define EPOCH_IBEX | ( | N | ) | (0x30|(N)) |
| #define HETE_PECULIAR 0 |
| #define HOPS_ROOT_BREAK 1519659904 |
| #define HOPS_ROOT_EPOCH 283996800 |
| #define Ht_DATACALSC "data/calibration/sc" |
| #define Ht_DS_ADAT 32 /* alternate date */ |
| #define Ht_DS_DATE 2 /* DATE datestamp */ |
| #define Ht_DS_FILE 22 /* for file names */ |
| #define Ht_DS_FILH 25 /* alt file names */ |
| #define Ht_DS_GRBS 7 /* GRB seconds UT */ |
| #define Ht_DS_HOPS 26 /* HOPS rootcode */ |
| #define Ht_DS_HT00 5 /* s/c clock no0x */ |
| #define Ht_DS_HT03 8 /* s/c clock 3wds */ |
| #define Ht_DS_ISOM 19 /* ISO time w/ ms */ |
| #define Ht_DS_ISON 16 /* ISO time no us */ |
| #define Ht_DS_ISOT 17 /* ISO time w/ us */ |
| #define Ht_DS_JULD 9 /* the julian day */ |
| #define Ht_DS_MAES 20 /* for ze MAESTRO */ |
| #define Ht_DS_MJUL 10 /* mod julian day */ |
| #define Ht_DS_MY4C 24 /* MAESTRO YYYY: */ |
| #define Ht_DS_MY4D 23 /* MAESTRO YYYY. */ |
| #define Ht_DS_NUMB 33 /* count of these */ |
| #define Ht_DS_PASS 1 /* PASS datestamp */ |
| #define Ht_DS_PGMI 18 /* pigmi format */ |
| #define Ht_DS_PLAN 21 /* planning times */ |
| #define Ht_DS_PLOG 31 /* Python logtime */ |
| #define Ht_DS_RDBE 30 /* vlbi rdbe time */ |
| #define Ht_DS_SECS 3 /* GPS time secs */ |
| #define Ht_DS_UNIX 0 /* UNIX time secs */ |
| #define Ht_DS_USVN 14 /* SVN datestamp */ |
| #define Ht_DS_USVZ 15 /* SVN w/no usecs */ |
| #define Ht_DS_UTRL 27 /* relative UTime */ |
| #define Ht_DS_UWKS 13 /* GPS weeks/sow */ |
| #define Ht_DS_VDIF 29 /* vlbi vdif time */ |
| #define Ht_DS_VEXT 28 /* vlbi vex time */ |
| #define Ht_DS_Y2DS 11 /* yy/doy/sec.ms */ |
| #define Ht_DS_Y2KP 4 /* PASS w/century */ |
| #define Ht_DS_Y4DS 12 /*year/doy/sec.ms */ |
| #define Ht_DS_YDOY 6 /* YEAR/DOY.f-day */ |
| #define Ht_IBEX_TIME_HELP "\n\ Parse-able IBEX time formats:\n\\n\ relative: +|- integer [us|ms|s|m|h|d|y]\n\ +|- float [us|ms|s|m|h|d|y]\n\ +|- integer [(s)i(dereal)|(sy)n(odic)] (lunar months)\n\\n\ UNIX clock: secs\n\ GPS seconds: secs.[usecs]\n\ GPS time: weeks#secs[.usecs]\n\ (# == any non-space)\n\ PASS time: [19]990613_054700[.000000]\n\ DATE string: [Thu] Jun 13 05:47:00[.000000] UTC 1996\n\ (GMT may replace UTC) or the variant\n\ [Thu] 13 Jun 1996 05:47:00 AM UTC\n\ GRB time: YYMMDD+SOD (UTC)\n\ YDS time: YYYY/DOY/SOD (UTC)\n\ YY/DOY/SOD (UTC)\n\ PLAN time: YYYY/DOY.HHMMSS\n\ FILE time: YYYY_DOY_HHMM\n\ or YYYY_DOY_HH_MM\n\ MAESTRO time: YYYY/MM:DD:HH:MM:SS\n\ or [[YY]YY:]DOY:HH:MM:SS\n\ or [[YY]YY.]DOY.HH.MM.SS\n\ SVN time: YYYY-MM-DD HH:MM:SS[.uuuuuu][Z]\n\ ISO time: YYYY-MM-DDTHH:MM:SS[.uuuuuu][Z]\n\ MPS time: YYYY-MM-DDTHH:MM:SS[.mmm][Z]\n\ PIGMI time: YYYYMMDDHHMMSSmmm\n\ VLBI vex: [YY]YYyDOYdHHhMMmSS.ffffs\n\ VLBI s/e: EE@ssssssss.ffff (EE<64)\n\\n\ time_code: (epoch time[2] time[1] time[0]:)\n\ 0x0030 [0xXXXX [0xXXXX [0xXXXX]]] (w/epoch)\n\ 0xXXXX [0xXXXX [0xXXXX]] (no epoch)\n\\n\ Julian day: days.[fday] (both of these are restricted to\n\ Modified JD: days.[fday] the epoch 50000 < MJD < 70000)\n\\n\ HOPS rootcode: unix clock base 26\n\\n\" |
| #define Ht_IBEXTIMES "%s/%s/gps-sc%1x.dat" |
| #define Ht_JULIAN_EPOCH_IS_UTC (-666) |
| #define Ht_LIFETIMES "%s/%s/gps-dw%1x.dat" |
| #define Ht_STR_ADAT 0x10B /* Alt.DateFmt */ |
| #define Ht_STR_FILE 0x171 /* yyyy_doy_hm */ |
| #define Ht_STR_FILH 0x172 /* _doy_hh_mm */ |
| #define Ht_STR_HOPS 0x109 /* UNIX baseX6 */ |
| #define Ht_STR_HT00 0x208 /* without 0xX */ |
| #define Ht_STR_HT03 0x210 /* 3wds no 0xX */ |
| #define Ht_STR_HT0x 0x202 /* sc_clock 0x */ |
| #define Ht_STR_HT0X 0x204 /* sc_clock 0X */ |
| #define Ht_STR_HTYP 0x200 /* a HT string */ |
| #define Ht_STR_ISOM 0x107 /* an ISO (ms) */ |
| #define Ht_STR_ISON 0x106 /* an ISO (s) */ |
| #define Ht_STR_ISOT 0x105 /* an ISO time */ |
| #define Ht_STR_JDAY 0x160 /* Julian Date */ |
| #define Ht_STR_MAES 0x139 /* YYYY/MM:DD: */ |
| #define Ht_STR_MODJ 0x161 /* Mod JulianD */ |
| #define Ht_STR_MY0C 0x13F /* Maestr. HH: */ |
| #define Ht_STR_MY0D 0x13C /* Maestr. HH. */ |
| #define Ht_STR_MY2C 0x13E /* Mae. YY:HH: */ |
| #define Ht_STR_MY2D 0x13B /* Mae. YY.HH. */ |
| #define Ht_STR_MY4C 0x13D /* M. YYYY:HH: */ |
| #define Ht_STR_MY4D 0x13A /* M. YYYY.HH. */ |
| #define Ht_STR_NTYP 0x000 /* unknown typ */ |
| #define Ht_STR_NULL 0x300 /* null string */ |
| #define Ht_STR_PGMI 0x190 /* pygmi time */ |
| #define Ht_STR_PLAN 0x170 /* yyyydoy.hms */ |
| #define Ht_STR_PLOG 0x10A /* Python Log */ |
| #define Ht_STR_RDBE 0x1A2 /* vlbi (rdbe) */ |
| #define Ht_STR_UGPS 0x110 /* GPS in secs */ |
| #define Ht_STR_UGRB 0x140 /* GRB secs UT */ |
| #define Ht_STR_USVN 0x103 /* a SVN date */ |
| #define Ht_STR_UTDT 0x104 /* a DATE date */ |
| #define Ht_STR_UTNX 0x101 /* a UNIX time */ |
| #define Ht_STR_UTPS 0x102 /* a PASS date */ |
| #define Ht_STR_UTRL 0x108 /* relative UT */ |
| #define Ht_STR_UTYP 0x100 /* a UT string */ |
| #define Ht_STR_UWKS 0x120 /* GPS wks+sec */ |
| #define Ht_STR_VDIF 0x1A1 /* vlbi (vdif) */ |
| #define Ht_STR_VEXT 0x1A0 /* vlbi (vex) */ |
| #define Ht_STR_Y2DS 0x180 /* yy/doy/sod */ |
| #define Ht_STR_Y4DS 0x181 /*yyyy/doy/sod */ |
| #define Ht_STR_YDOY 0x182 /*yyyy/doy.frd */ |
| #define J2000_EPOCH 630763200.000000 |
| #define JD_GPS_EPOCH (2444239.5 + 5.0)/*days*/ |
| #define JD_UNIX_EPOCH (2440587.5)/*days*/ |
| #define MAX_WEEKS 8192 |
| #define SPICE_ET_ORIGIN 630763148.816000 |
| #define SPICE_ET_TYPE_GPS 0 |
| #define SPICE_ET_TYPE_TAI 1 |
| #define SPICE_ET_TYPE_TDB 3 |
| #define SPICE_ET_TYPE_TDT 2 |
| #define SPICE_ET_TYPE_UTC 4 |
| #define TAI_GPS_DELTA 19/*seconds*/ |
| #define TAI_UTC_DATA "%s/%s/tai-utc.dat" |
| #define TDT_GPS_DELTA 51.184/*seconds*/ |
| #define TDT_TAI_DELTA 32.184/*seconds*/ |
| #define THIS_IS_IBEX ((Ht_hete_epoch & 0x30) == 0x30) |
| typedef struct timeval UTime |
| char* Ht_convert_et_to_gps | ( | char * | arg, |
| int | eph_type | ||
| ) |
| int Ht_delta_setup | ( | char * | type, |
| char * | base | ||
| ) |
| void Ht_dump_lives | ( | char * | file | ) |
| int Ht_ephem_type | ( | char * | arg | ) |
| void Ht_format_help | ( | void | ) |
| char* Ht_GPS_to_string | ( | GTime | gt, |
| int | style | ||
| ) |
| char* Ht_HTC_to_string | ( | HTime | ht, |
| int | style | ||
| ) |
| void Ht_initialize | ( | void | ) |
| int Ht_julday | ( | int | mm, |
| int | id, | ||
| int | iyyy | ||
| ) |
| int Ht_julian_epoch | ( | void | ) |
| int Ht_qtype_to_style | ( | char * | rtype | ) |
| void Ht_reset | ( | void | ) |
| int Ht_rtype_to_style | ( | char * | rtype | ) |
| void Ht_spice_sprintf | ( | char * | b, |
| char * | tla, | ||
| HTLdbl | t | ||
| ) |
| int Ht_string_type | ( | char * | s | ) |
| char* Ht_UTC_to_string | ( | UTime | ut, |
| int | style | ||
| ) |
| int Ht_vdif_epoch | ( | void | ) |
| UTime pass_str2ut | ( | char * | s | ) |
|
extern |
|
extern |
| HTLdbl Ht_d_orig |
|
extern |
|
extern |
|
extern |
|
extern |
|
extern |
|
extern |
|
extern |
|
extern |
|
extern |
|
extern |
|
extern |
|
extern |