rtc module
    ds3231
        product page: https://www.adafruit.com/product/3013
        product tutorial: https://learn.adafruit.com/adafruit-ds3231-precision-rtc-breakout/overview
            install packages python3-smbus i2c-tools
            enable i2c support in raspi-config
                interfacing options->i2c->
                    enable <Yes>
                    kernel module loaded by default <Yes>
            check that i2c-dev is in /etc/modules
            add `dtoverlay=i2c-rtc,ds3231` to /boot/firmware/config.txt
            reboot
            detect/test module `sudo i2cdetect -y 1`
                looking for address UU AFTER configure Overlay
                looking for address 68 BEFORE configure overlay
            remove package fake-hwclock
            remove from rc
            read rtc `sudo hwclock -r`
            set rtc `sudo hwclock -w`
        raspberry pi RTC tutorial: https://learn.adafruit.com/adding-a-real-time-clock-to-raspberry-pi/set-rtc-time
        pinout: https://learn.adafruit.com/adafruit-ds3231-precision-rtc-breakout/pinouts
        battery:  CR1220
        chipset product page: https://www.analog.com/en/products/ds3231.html
        chipset datasheet: https://www.analog.com/media/en/technical-documentation/data-sheets/DS3231.pdf
        chipset reliability report: https://www.analog.com/media/en/technical-documentation/reliability-data/ds3231.pdf
        notes:
            https://serverfault.com/questions/1093101/chrony-hosting-time-with-rtc-as-authoritative-clock-on-an-air-gapped-isolated?__cf_chl_tk=G_sZX4ClltOv3fQJpH1q2a65tx4O2s_H_FObeBQ2UyU-1749831141-1.0.1.1-W0v5fl8cCrf0tIpB0pAqIb93L5MuoWeebiHm7iLGAlo
            https://stackoverflow.com/questions/49730407/how-to-do-one-shot-time-sync-using-chrony
    do oneshot sync?
    script set every x seconds
        `sudo hwclock -r`
GPS module
    baudrates
        1. 115200 // working
        2. 230400
        3. 460800
cable delay
    cable is 10ft? RG-174?
        14.3
    
velocity factors of cable forms
RG-58: VF ≈ 0.66 (66% of the speed of light)
RG-174: VF ≈ 0.70
LMR-200: VF ≈ 0.83
LMR-400: VF ≈ 0.85

formula
    CD = time in nanoseconds of cable delay
    L = Length of cable in UNIT
    DF = delay factor in UNIT )speed of light in a vaccum used in nanoseconds per UNIT)
            3.33 = ns (nanoseconds per meter)
            1.016 = feet (feet per meter)
    VF = velocity factor of cable (above)
        CD ≈ (L*DF)/VF
        CD ≈ (Length (meters) * 3.33 (baseline light speed in a vaccum ns/m)) / Velocity Factor of cable (VF)

    derriving the speed of light offset
        t(ns) = time in nanoseconds
        c = speed of light in a vaccum in meters per second (3*(10^8) m/s)
        d(m) = distance to travel in meters
            t(ns) = d(m)/c 