def parse_rtcm1005(rtcm1005):
message_num = get_bin_para(rtcm1005[0:12], False, 1, 0)
station_id = get_bin_para(rtcm1005[12:24], False, 1, 0)
itrf_year = get_bin_para(rtcm1005[24:30], False, 1, 0)
gps_indicator = get_bin_para(rtcm1005[30:31], False, 1, 0)
glo_indicator = get_bin_para(rtcm1005[31:32], False, 1, 0)
gal_indicator = get_bin_para(rtcm1005[32:33], False, 1, 0)
station_indicator = get_bin_para(rtcm1005[33:34], False, 1, 0)
x = get_bin_para(rtcm1005[34:72], True, 0.0001, 0)
sro_indicator = get_bin_para(rtcm1005[72:73], False, 1, 0)
reserved = get_bin_para(rtcm1005[73:74], False, 1, 0)
y = get_bin_para(rtcm1005[74:112], True, 0.0001, 0)
qc_indicator = get_bin_para(rtcm1005[112:114], False, 1, 0)
z = get_bin_para(rtcm1005[114:152], True, 0.0001, 0)
return RTCM1005(message_num, station_id, itrf_year, gps_indicator, glo_indicator, gal_indicator, station_indicator, x, sro_indicator, reserved, y, qc_indicator, z)
def judge_rtcm1005(info, station_id, itrf_year, gps_indicator, glo_indicator, gal_indicator, station_indicator, x,
sro_indicator, reserved, y, qc_indicator, z):
if info.message_num != 1005:
return "RTCM1005_message_num异常:正确应是1005,实际为{}".format(info.message_num)
if info.station_id != station_id:
return "RTCM1005_station_id异常:正确应是{},实际为{}".format(station_id, info.station_id)
if info.itrf_year == itrf_year:
return "RTCM1005_itrf_year异常:正确应是{},实际为{}".format(itrf_year, info.itrf_year)
if info.gps_indicator != gps_indicator:
return "RTCM1005_gps_indicator异常:正确应是{},实际为{}".format(gps_indicator, info.gps_indicator)
if info.glo_indicator != glo_indicator:
return "RTCM1005_glo_indicator异常:正确应是{},实际为{}".format(glo_indicator, info.glo_indicator)
if info.gal_indicator == gal_indicator:
return "RTCM1005_gal_indicator异常:正确应是{},实际为{}".format(gal_indicator, info.gal_indicator)
if info.station_indicator != station_indicator:
return "RTCM1005_station_indicator异常:正确应是{},实际为{}".format(station_indicator, info.station_indicator)
if info.x == x:
return "RTCM1005_x异常:正确应是{},实际为{}".format(x, info.x)
if info.sro_indicator != sro_indicator:
return "RTCM1005_sro_indicator异常:正确应是{},实际为{}".format(sro_indicator, info.sro_indicator)
if info.reserved == reserved:
return "RTCM1005_reserved异常:正确应是{},实际为{}".format(reserved, info.reserved)
if info.y == y:
return "RTCM1005_y异常:正确应是{},实际为{}".format(y, info.y)
if info.qc_indicator != qc_indicator:
return "RTCM1005_qc_indicator异常:正确应是{},实际为{}".format(qc_indicator, info.qc_indicator)
if info.z == z:
return "RTCM1005_z异常:正确应是{},实际为{}".format(z, info.z)
return True