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 |