Go to the documentation of this file.00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013 #ifndef LIBSWIFTNAV_SATS_MANAGEMENT_H
00014 #define LIBSWIFTNAV_SATS_MANAGEMENT_H
00015
00016 #include "constants.h"
00017 #include "single_diff.h"
00018
00019 #define OLD_REF 0
00020 #define NEW_REF 1
00021 #define NEW_REF_START_OVER -1
00022
00023 #define INTERSECTION_SATS_THRESHOLD_SIZE 2
00024
00025
00026
00027
00028 typedef struct {
00029 u8 num_sats;
00030 u8 prns[MAX_CHANNELS];
00031 } sats_management_t;
00032
00033 void init_sats_management(sats_management_t *sats_management,
00034 u8 num_sats, sdiff_t *sdiffs, sdiff_t *sdiffs_with_ref_first);
00035 void print_sats_management(sats_management_t *sats_management);
00036 void print_sats_management_short(sats_management_t *sats_management);
00037 s8 rebase_sats_management(sats_management_t *sats_management,
00038 u8 num_sats, sdiff_t *sdiffs, sdiff_t *sdiffs_with_ref_first);
00039 void update_sats_sats_management(sats_management_t *sats_management, u8 num_non_ref_sdiffs, sdiff_t *non_ref_sdiffs);
00040
00041 void set_reference_sat_of_prns(u8 ref_prn, u8 num_sats, u8 *prns);
00042 s8 match_sdiffs_to_sats_man(sats_management_t *sats, u8 num_sdiffs, sdiff_t *sdiffs, sdiff_t *sdiffs_with_ref_first);
00043
00044 #endif