pico-tracker/firmware/Pre-flight.md

2.0 KiB

Updating telemetry

  • Set callsign in src/main.c

  • Update ukhas format string. format_telemetry_string in src/main.c

  • Update aprs telemetry.encode_telemetry in src/aprs.c. This same format is re-used in backlog.

  • Describe the new formats in tools/aprs/telemetry_format.py

  • Run tools/aprs/equations.py to setup new format APRS-IS

Pre-Flight Checklist

  • In hw_config.h

    • USE_XOSC is set. Otherwise the symbol timing frequency will be somewhat inaccurate.
    • XOSC_TCXO_SHUTDOWN_EN should be set for lowest power if required
    • RF_TX_ENABLE is set
    • APRS_ENABLE is set if APRS is to be used on the flight
    • APRS_USE_GEOFENCE is set
    • TELEMETRY_ENABLE is set
    • TELEMETRY_USE_GEOFENCE is set
    • ARISS_ENABLE is set if ARISS is to be used on the flight
    • ARISS_USE_GEOFENCE is set
    • GEOFENCE_USE_PREFIX is set
    • Check the COLD_OUT parameters. These prevent start-up spikes when the battery may not be viable.
    • Check the correct barometer is defined, for instance BAROMETER_TYPE_MS5607 is set.
    • DEBUG_USE_INTWATCHDOG can be disabled during flight. This saves some power
    • Check interrupts are regular enough to kick the hardware watchdog under all conditions.
  • In watchdog.h

    • Set the various MAXIDLE values to values determined during testing. These define how many sleep cycles are permitted in that state before we stop kicking the watchdog. 0xFFFF seems like a good conservative value, but you may want to be more agressive.
  • In aprs.h

    • Set callsign and symbol
    • Make sure APRS_FLIGHT_PARAMS is defined
  • In gps_osp.c

    • Check reinit parameters for gps_get_data_wrapped are reasonable.
  • Check memory works and is erased

    • make test tc=backlog_write_read Run this more than once to check functionality of a non-blank memory
    • make test tc=mem_erase_all
  • Check geofences are in order. Run

    • make test tc=location_aprs
    • make test tc=location_telemetry