Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
50 commits
Select commit Hold shift + click to select a range
35d4df3
Add files via upload
Clamps251 Mar 3, 2026
7ad9800
Add files via upload
Clamps251 Mar 6, 2026
3256f6e
Refactor model update service and improve logging
Clamps251 Mar 6, 2026
857fc48
Add files via upload
Clamps251 Apr 2, 2026
9d73e98
Add xbee_master program to supervisord configuration
Clamps251 Apr 10, 2026
368f73c
Update xbee_master_collect.py
Clamps251 Apr 10, 2026
99d6662
Update xbee port in supervisord configuration
Clamps251 Apr 10, 2026
2d825e6
Add device mapping for XBee in docker-compose
Clamps251 Apr 10, 2026
9cc435e
Update xbee_master_collect.py
Clamps251 Apr 17, 2026
53feed8
Update supervisord.conf
Clamps251 Apr 17, 2026
a1cd5e4
Update device mapping for USB in docker-compose
Clamps251 Apr 17, 2026
3ac8636
Enhance XBee master with identity logging and error handling
Clamps251 Apr 17, 2026
c5d8563
Add files via upload
Clamps251 Apr 17, 2026
fc03d4c
Implement ROBIN usage prompt and xbee configuration
Clamps251 Apr 17, 2026
6e62506
Add XBee port detection to sparrow_setup.sh
Clamps251 Apr 17, 2026
2f09a76
Update xbee_master_collect.py
Clamps251 Apr 20, 2026
40a7a77
Update package versions in requirements.txt
Clamps251 Apr 20, 2026
4bfab20
Update package versions in requirements.txt
Clamps251 Apr 20, 2026
0570e19
Enhance serial handling and logging in xbee_master_collect
Clamps251 Apr 22, 2026
83d5394
Delete sparrow/tools/rtc_sync.py
Clamps251 Apr 22, 2026
f93b53f
Remove rtc_sync_once program from supervisord.conf
Clamps251 Apr 22, 2026
ef42b6c
Update onboarding process to use email instead of username
Clamps251 Apr 22, 2026
ac42811
Remove DS3231 RTC seeding and Witty Pi RTC sync from setup script
May 13, 2026
ae6b9cd
Switch image uploads to /uploads/image with bounding-box metadata
May 13, 2026
6e71202
Address /dev/ttyUSB0 collision by routing XBee and VE.Direct to by-id…
May 26, 2026
76f5128
Document XBee/ROBIN setup and drop stale RTC seeding step from README
May 26, 2026
ba54e03
Align repo with deployed Pi state and pull in upstream housekeeping
Jun 8, 2026
945214f
Extend by-id VE.Direct fix to starlink and add X-API-Key auth headers
Jun 9, 2026
9cd8511
Bump sparrow deps to close 9 dependabot alerts; drop unused tritonclient
Jun 9, 2026
072d221
Add auto-updater: tag-driven, atomic-rsync, auto-rollback on health-c…
Jun 9, 2026
f964e80
sparrow-update: split combined local declarations to satisfy `set -u`
Jun 9, 2026
ad2be02
sparrow-update: sort tags lexicographically; trust our order, not Git…
Jun 9, 2026
da9f578
updater: stop prompting for a GitHub PAT — anonymous access is the de…
Jun 9, 2026
58cf608
README: document the auto-updater; replace stale Jetson/Triton refere…
Jun 9, 2026
17be86f
Accept .mp3 audio over XBee from robin and upload it alongside .wav
Jun 9, 2026
f4a8105
Rename default server endpoint from sparrow-earth.com to sparrowstudi…
Jun 29, 2026
6615834
README: rename dashboard URLs to www.sparrowstudio.azure.com
Jun 29, 2026
61796fa
Align Python SERVER_BASE_URL fallback defaults with the env file value
Jun 29, 2026
a76c277
Point setup + updater at public microsoft/SPARROW; drop PAT plumbing
Jul 3, 2026
62bf8be
docs: refresh Assembly & Setup Guide and Bill of Materials PDFs
Jul 13, 2026
2412685
Bump torch triplet to 2.10.0 to close dependabot alerts 20 + 22
Jul 13, 2026
349a649
Bump both containers to Python 3.12; refresh transitively-affected pins
Jul 13, 2026
a228f3b
xbee_master: sha256-dedup incoming payloads so retransmits don't pile up
Jul 13, 2026
2906ab1
Revert "xbee_master: sha256-dedup incoming payloads so retransmits do…
Jul 13, 2026
1153019
Replace Jetson setup by Raspberry Pi
Jul 17, 2026
fd408da
restore issue template
Jul 17, 2026
a219985
restore support.md
Jul 17, 2026
1811994
restore citation.cff
Jul 17, 2026
aa2fcab
remove logs
Jul 17, 2026
a64f8e8
docs: add OSS contribution and release guidance
Jul 23, 2026
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
2 changes: 1 addition & 1 deletion .github/ISSUE_TEMPLATE/bug-report.yml
Original file line number Diff line number Diff line change
Expand Up @@ -32,7 +32,7 @@ body:
description: Please specify the software and hardware you used to produce the bug.
placeholder: |
- SPARROW version / commit hash:
- Hardware: Jetson Orin Nano / other
- Hardware: Raspberry Pi / other
- OS: Ubuntu 22.04
- Docker version:
validations:
Expand Down
32 changes: 0 additions & 32 deletions .github/workflows/deploy-docs.yml

This file was deleted.

12 changes: 3 additions & 9 deletions .gitignore
Original file line number Diff line number Diff line change
Expand Up @@ -3,15 +3,6 @@
##
## Get latest from https://github.com/github/gitignore/blob/main/VisualStudio.gitignore

# Docs build output (served from gh-pages branch)
site/

# Local archive directories
archive/

# Workspace files
*.code-workspace

# User-specific files
*.rsuser
*.suo
Expand Down Expand Up @@ -425,3 +416,6 @@ FodyWeavers.xsd
*.msix
*.msm
*.msp

# MacOS
.DS_Store
50 changes: 50 additions & 0 deletions CHANGELOG.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,50 @@
# Changelog

All notable changes to SPARROW are documented in this file.

This project follows [Semantic Versioning](https://semver.org/spec/v2.0.0.html).

## 1.0.0 - 2026-07-23

### Added

- Added standalone contribution guidelines.
- Added a project changelog.

### Changed

- Replaced the legacy Jetson setup path with the Raspberry Pi 5 setup.
- Restored repository support, citation, and issue-template metadata.
- Removed committed runtime logs.
- Reverted XBee payload deduplication pending further validation.

## 0.9.0 - 2026-07-13

### Added

- Added SHA-256 deduplication for incoming XBee payload retransmissions.

## 0.8.0 - 2026-07-13

### Changed

- Updated both service containers to Python 3.12.
- Refreshed dependency pins affected by the Python upgrade.

## 0.7.0 - 2026-07-13

### Changed

- Updated the PyTorch, torchvision, and torchaudio dependency set.
- Pointed setup and updater flows at the public `microsoft/SPARROW` repository
and removed personal access token handling.
- Renamed the default hosted service endpoint to
`sparrowstudio.azure.com`.
- Refreshed the hardware assembly and bill-of-materials documentation.

## 0.6.0 - 2026-06-10

### Added

- Added support for receiving and uploading MP3 audio over XBee.
- Documented the automatic updater, rollback behavior, and operator controls.
89 changes: 89 additions & 0 deletions CONTRIBUTING.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,89 @@
# Contributing to SPARROW

Thank you for your interest in contributing to SPARROW. Contributions can
include bug fixes, documentation improvements, hardware compatibility updates,
and new capabilities for the SPARROW client.

## Before you start

- Search the [existing issues](https://github.com/microsoft/SPARROW/issues) to
avoid duplicating work.
- For bugs, include the SPARROW version or commit, hardware, operating system,
Docker version, logs with sensitive values removed, and reproducible steps.
- For substantial changes, open an issue before implementation so the approach
and hardware impact can be discussed.
- Report security vulnerabilities according to [SECURITY.md](SECURITY.md), not
through a public issue.

## Development setup

SPARROW targets Raspberry Pi 5 hardware and runs its services with Docker
Compose. Follow the setup and hardware guidance in [README.md](README.md) for a
complete deployment.

To prepare a contribution:

1. Fork the repository and clone your fork.
2. Create a branch from the latest `main`.
3. Make a focused change and update related documentation.
4. Validate the change using the checks below.
5. Open a pull request describing the problem, solution, and validation.

Do not commit access keys, passwords, private certificates, deployment data, or
real field recordings and images. Remove personal data, precise deployment
locations, device identifiers, and credentials from logs and examples.

## Validation

The repository does not currently include an automated test suite. Run the
checks that apply to your change and describe any hardware validation in the
pull request.

```bash
# Check Python syntax.
python3 -m compileall -q sparrow starlink

# Validate the Compose configuration.
docker-compose config

# Build the affected services on a supported Docker host.
docker-compose build sparrow starlink-tools

# Check for whitespace errors.
git diff --check
```

Changes involving cameras, audio devices, environmental sensors, XBee radios,
Starlink, power management, or Raspberry Pi GPIO should be tested on the
relevant hardware when possible. If hardware validation is not possible,
clearly identify what remains untested.

## Pull request checklist

- Keep the change focused and avoid unrelated cleanup.
- Explain user-visible behavior changes and compatibility considerations.
- Update the README or other documentation when setup, configuration, hardware,
or operational behavior changes.
- Add notable changes to the next semantic version section in
[CHANGELOG.md](CHANGELOG.md).
- Confirm that no secrets, credentials, personal data, or deployment data are
included.
- Include validation commands and results in the pull request description.

## Contributor License Agreement

Most contributions require you to agree to a Contributor License Agreement
(CLA) declaring that you have the right to, and actually do, grant us the
rights to use your contribution. For details, visit
[Contributor License Agreements](https://cla.opensource.microsoft.com).

When you submit a pull request, a CLA bot will determine whether you need to
provide a CLA and will add the appropriate status check or comment. Follow the
bot's instructions. You only need to complete this process once across
repositories that use the Microsoft CLA.

## Code of Conduct

This project follows the
[Microsoft Open Source Code of Conduct](CODE_OF_CONDUCT.md). For questions or
concerns, see the contact information in that document.
Loading
Loading