Skip to content

v0.8.0

Compare
Choose a tag to compare
@orgua orgua released this 09 Jul 09:41
· 136 commits to main since this release
2fe48c9

What's Changed

  • linux
    • optimize for real-time kernel, moved to branch
    • make phc2sys & ptp4l more reliable
    • test and optimize for debian 12.6 bookworm
      • harvest cpu-usage drops from 69% (py310) to 61% (py311)
  • kernel-module
    • cleanup, optimize
    • more futureproof (use ktime_get_X() instead of getnstimeofday())
    • remove mutex (seems to have deadlocked sometimes)
    • fix hrtimer_forward()-usage (source for instability)
    • more const-correctness
    • can now change firmware of both PRUs
    • more pru-messages are handed to python (for logging)
    • warn/error if sync-config is wrong
  • python
    • reduce load by 50 % (omit timestamps & change compression)
    • IV-Stream -> add meta-data for stored buffer-segment
      • meta: buffer-timestamp, sample-count, pru-util mean & max
      • this can reconstruct timestamp-stream after the measurement
    • refactored h5writer into smaller modules (monitor and recorder threads)
    • added monitors for uart, pru-usage, ptp-status
    • replaced setup.cfg by pyproject.toml with ini2toml
    • added heartbeat-messages during operation
    • fix launcher - was misbehaving with 100% cpu-usage
    • added watchdog-reset service - functionality was in launcher before
    • reduced ram-usage of services
    • removed scipy-dependency (less ram usage, faster startup)
    • disable NTP before starting a measurement
  • herd
    • resync - give info about time-diff
    • improve interpretation of sheep-exit-codes
  • ansible
    • major overhaul
    • more removed packages during cleanup
    • safer kernel-downgrading
    • faster code
    • safer firmware-removal
    • disable unwanted services
  • toolchain: replace isort, black, flake8, pylint by ruff
  • debug
    • add option to generate kernel gpio edges (trigger_loop_callback() in pru_sync_control.c)
    • allow analyzing recorded gpio sync traces (software/time_sync_analyzer)
  • update floorplan of testbed
  • add tooling to allow analyzing timesync-behavior (software/time_sync_analyzer)
  • add current hardware design files
  • major overhaul documentation
  • tested (fully): pytest sheep, pytest herd, ansible install
  • ready-to-use image will be created - look in getting-started guide

Full Changelog: v0.7.1...v0.8.0