Patent ID: 8456356

Claim:
A system for processing GNSS signals from multiple satellite sources received, which comprises: a GNSS receiver including a digital signal processor (DSP) and a general purpose central processing unit (CPU); USB host hardware connected to said CPU; a USB serial interface connected to said CPU; said CPU having random access memory (RAM); nonvolatile memory connected to said receiver; said receiver including a real-time operating system (RTOS) including a hardware abstraction layer (HAL) and upper-level USB software enabling USB host capability; said USB host hardware and the USB software interfacing with the HAL; USB host software embedded in said CPU and including interrupt service routines (ISRs) and delayed service routines (DSRs) in said USB host software; said ISRs handling USB activities between the upper-level USB software and the HAL; said DSRs handling USB activities not handled by the ISRs; said RTOS providing time slice bases for executing the DSRs; said GNSS receiver software including a PC compatible file system and receiving raw analog GNSS ranging and timing signals; an AD converter downconverting the raw analog GNSS signals to digital signals; the digital signal processor (DSP) correlating the digital signals; the CPU closing code and carrier tracking loops on a fixed time interval (interrupt) basis; a user interface calculating a GNSS solution and communicating the GNSS solution; the USB receiving output signals representing the GNSS positioning solution; the external USB storage device providing compatibility for the RTOS files read from or written to the external USB storage device; the CPU processing said output signals in real-time; a mass storage interface transferring said output signals between said USB host hardware and said storage device; said external USB storage device storing said output signals; and said external computer post-processing said externally stored data.