Skip to content

[WIP] Gaia charts#362

Open
mrosseel wants to merge 195 commits intobrickbots:mainfrom
mrosseel:deepchart
Open

[WIP] Gaia charts#362
mrosseel wants to merge 195 commits intobrickbots:mainfrom
mrosseel:deepchart

Conversation

@mrosseel
Copy link
Collaborator

@mrosseel mrosseel commented Nov 23, 2025

Add a gaia achart view to all objects, down to mag 17 but with an auto limiting magnitude taking into account SQM and equipment. This auto limit is overridable.

TODO:

  • further performance optimisations
  • fix missing tile bug
  • get the data < 1Gb
  • choose how to get this data to the users
  • 90 degree rotation bug?

mrosseel added 30 commits March 17, 2025 22:19
This reverts commit c872394.
The reformatting in b8d65d4 changed:
- solution.pop('key', None) → del solution['key'] (unsafe, fails if key missing)
- Added logging that referenced 'solution' before it could be assigned

This caused UnboundLocalError when solve_from_centroids() raised exceptions,
as 'solution' was never assigned but later code tried to check it.

Reverting to the previous working version (parent of b8d65d4).
github-actions bot and others added 30 commits February 21, 2026 13:34
- Add includeCatalogImages param to mkPifinderSystem
- Add images.migration output (SD image without catalog images)
- Delete images.bootstrap tarball derivation
- Rename bootstrap-tarball.yml → migration-image.yml
- Update release.yml to build migration image instead of tarball

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
… RAM)

- Revert includeCatalogImages/images.migration from flake.nix
- Workflow builds tarball from SD image (excluding catalog_images)
- Add migration tarball step to release.yml

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
Unmount and detach loop devices from previous runs before rm,
preventing "Device or resource busy" failures on self-hosted runner.

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
Self-hosted runner retains /tmp files across runs. Move all cleanup
(mounts, loop devices, tarballs) to a dedicated step at the start.

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
After creating the release, the workflow now checks out the migration
branch and updates the hardcoded SHA256 and size in software.py.

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
Migration tarball now uses a slimmed-down NixOS profile (migration.nix)
that only includes SSH, avahi, and filesystem tools. The full PiFinder
system (Python, samba, cedar-detect, libcamera, GPSD) is downloaded
from cachix on first boot via pifinder-first-boot.service.

CI builds the full system first and pushes to cachix, then builds the
migration SD image and injects the full system store path into
/var/lib/pifinder/first-boot-target.

Expected tarball size reduction: ~1.4GB -> ~400-600MB.

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
GitHub only discovers workflows from the default branch, so the
standalone migration-tarball.yml never triggered. Merge it as a
build-migration-tarball job in build.yml that reuses the full system
store path from build-native/build-emulated. Only runs on nixos branch.

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
- Disable nix channels/registry/nixPath to avoid pulling nixpkgs source
  (~189 MB) into the closure
- Strip NetworkManager VPN plugins (openconnect, stoken, gtk3 deps)

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
- nix.registry/nixPath with mkForce to prevent flake self-reference
  from pulling nixpkgs source (~186 MB)
- system.disableInstallerTools removes nixos-rebuild-ng which pulls
  Python 3.13 (~110 MB)
- environment.defaultPackages = mkForce [] removes perl (~59 MB)
- Swap vim (42 MB) for nano (3 MB)

Expected savings: ~390 MB uncompressed.

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
Replace SD image build/mount/extract cycle with direct closure assembly.
This eliminates ext4 filesystem overhead, reducing tarball size to fit
in Pi 4's 924 MB tmpfs.

Also factors out configTxt and adds migration-boot-firmware package to
deduplicate boot partition assembly across profiles.

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
Nix store paths are read-only and root-owned; rm -rf without sudo fails
on the copied closure paths.

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
Merge upstream changes including:
- IMU integrator selection (classic/quaternion)
- Eq-mount support under IMU dead-reckoning
- Chinese locale and font support
- Harris Globular Cluster catalog
- T9 input support
- PAM-based web auth (replacing su)
- Stellarium+ Mobile support
- Various bug fixes

NixOS adjustments:
- Add quaternion (numpy-quaternion) to python-packages.nix
- Add quaternion to mypy ignore list in pyproject.toml
- Add get_initialized_solved_dict() lost during merge resolution
- Fix formatting in integrator.py
- Keep requirements.txt and version.txt deleted (managed by nix)

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
SHA256 is now fetched at runtime from the .sha256 sidecar file
in the GitHub release, eliminating the need for CI to update the
migration branch after each build.

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant