UNPKG

react-native-gnss-status-checker

Version:

React Native module to check GNSS status and satellite info (NavIC, dual-frequency GPS) on Android

163 lines 5.86 kB
interface GnssStatusCheckerType { getGNSSStatus(): Promise<GnssStatusResult>; startListening(): Promise<void>; stopListening(): Promise<void>; getConstantExample(): number; } export interface SatelliteInfo { svid: number; constellationType: number; constellationName: string; cn0DbHz?: number; elevation?: number; azimuth?: number; hasEphemeris: boolean; hasAlmanac: boolean; usedInFix: boolean; carrierFrequencyHz?: number; } export interface GnssStatusResult { isGNSSSupported: boolean; isDualFrequencySupported: boolean; isNavICSupported: boolean; satellitesVisible: number; satellitesUsedInFix: number; averageSignalToNoiseRatio: number; supportedConstellations: string[]; carrierFrequencies: number[]; frequencyBands: FrequencyBandInfo[]; satellites: SatelliteInfo[]; apiLevel?: number; supportsCn0?: boolean; supportsCarrierFreq?: boolean; } export declare const GnssConstellations: { readonly UNKNOWN: 0; readonly GPS: 1; readonly SBAS: 2; readonly GLONASS: 3; readonly QZSS: 4; readonly BEIDOU: 5; readonly GALILEO: 6; readonly IRNSS: 7; }; export declare const CarrierFrequencies: { readonly GPS_L1: 1575.42; readonly GPS_L2: 1227.6; readonly GPS_L3: 1381.05; readonly GPS_L4: 1379.913; readonly GPS_L5: 1176.45; readonly GLONASS_L1_MIN: 1598.0625; readonly GLONASS_L1_MAX: 1605.375; readonly GLONASS_L1_CENTER: 1602; readonly GLONASS_L2_MIN: 1242.9375; readonly GLONASS_L2_MAX: 1248.625; readonly GLONASS_L2_CENTER: 1246; readonly GLONASS_L3: 1202.025; readonly GLONASS_L5: 1176.45; readonly QZSS_L1: 1575.42; readonly QZSS_L2: 1227.6; readonly QZSS_L5: 1176.45; readonly QZSS_LEX: 1278.75; readonly GALILEO_E1: 1575.42; readonly GALILEO_E5: 1191.795; readonly GALILEO_E5a: 1176.45; readonly GALILEO_E5b: 1207.14; readonly GALILEO_E6: 1278.75; readonly BEIDOU_B1: 1561.098; readonly BEIDOU_B1_2: 1589.742; readonly BEIDOU_B2: 1207.14; readonly BEIDOU_B2a: 1176.45; readonly BEIDOU_B3: 1268.52; readonly NAVIC_L5: 1176.45; readonly NAVIC_S: 2492.028; readonly SBAS_L1: 1575.42; readonly SBAS_L5: 1176.45; }; export interface FrequencyBandInfo { frequency: number; constellation: string; band: string; isDualFrequency: boolean; } declare const GnssStatusChecker: any; /** * Get current GNSS status including dual-frequency and NavIC support * @returns Promise<GnssStatusResult> Current GNSS status information */ export declare function getGNSSStatus(): Promise<GnssStatusResult>; /** * Start listening for GNSS status updates * This will begin monitoring satellite visibility and measurements * @returns Promise<void> */ export declare function startListening(): Promise<void>; /** * Stop listening for GNSS status updates * @returns Promise<void> */ export declare function stopListening(): Promise<void>; /** * Helper function to check if NavIC is supported based on constellation data * @param supportedConstellations Array of supported constellation names * @returns boolean True if NavIC (IRNSS) is supported */ export declare function isNavICSupported(supportedConstellations: string[]): boolean; /** * Identify the frequency band for a given frequency in MHz * @param frequencyMHz Frequency in MHz * @param tolerance Tolerance in MHz (default: 1.0) * @returns FrequencyBandInfo object with band identification */ export declare function identifyFrequencyBand(frequencyMHz: number, tolerance?: number): FrequencyBandInfo; /** * Enhanced dual-frequency detection based on comprehensive frequency mapping * @param carrierFrequencies Array of detected carrier frequencies * @returns boolean True if any dual-frequency bands are detected */ export declare function isDualFrequencySupported(carrierFrequencies: number[]): boolean; /** * Get frequency band information for all detected frequencies * @param carrierFrequencies Array of detected carrier frequencies * @returns Array of FrequencyBandInfo objects */ export declare function getFrequencyBandInfo(carrierFrequencies: number[]): FrequencyBandInfo[]; /** * Helper function to get satellites by constellation * @param satellites Array of satellite information * @param constellationType Constellation type to filter by * @returns SatelliteInfo[] Array of satellites for the specified constellation */ export declare function getSatellitesByConstellation(satellites: SatelliteInfo[], constellationType: number): SatelliteInfo[]; /** * Helper function to get satellites used in fix * @param satellites Array of satellite information * @returns SatelliteInfo[] Array of satellites used in position fix */ export declare function getSatellitesUsedInFix(satellites: SatelliteInfo[]): SatelliteInfo[]; /** * Helper function to get satellites with good signal strength * @param satellites Array of satellite information * @param minCn0 Minimum C/N0 threshold in dB-Hz (default: 20) * @returns SatelliteInfo[] Array of satellites with good signal strength */ export declare function getSatellitesWithGoodSignal(satellites: SatelliteInfo[], minCn0?: number): SatelliteInfo[]; /** * Helper function to get satellite statistics * @param satellites Array of satellite information * @returns Object with satellite statistics */ export declare function getSatelliteStatistics(satellites: SatelliteInfo[]): { total: number; usedInFix: number; withEphemeris: number; withAlmanac: number; withGoodSignal: number; byConstellation: Record<string, number>; averageSignalStrength: number; strongestSignal: number; weakestSignal: number; }; export default GnssStatusChecker; export type { GnssStatusCheckerType }; //# sourceMappingURL=index.d.ts.map