Skip to content
Closed
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
95 commits
Select commit Hold shift + click to select a range
00a12f7
Indi poc scripts
jscheidtmann Sep 20, 2025
5744468
Create indi_tools, record and replay of indi events and other helpers
jscheidtmann Sep 28, 2025
4a8a686
Curses display for monitor
jscheidtmann Sep 28, 2025
502a788
Worked on description of MountCountrolBase
jscheidtmann Sep 28, 2025
4a2b8a7
Fixed a few comments.
jscheidtmann Sep 28, 2025
ee4ceda
Merge branch 'main' into indi_mount_control
jscheidtmann Sep 29, 2025
00f83a9
Return after KeyboardInterrupt
jscheidtmann Sep 29, 2025
1ac6c49
Translate Warnings.
jscheidtmann Sep 29, 2025
b8c8191
Work on state machine
jscheidtmann Sep 29, 2025
720ddc8
MountControl phases drawio
jscheidtmann Oct 4, 2025
f873824
First draft version for testing.
jscheidtmann Oct 4, 2025
f0080d7
Tests and fixes for processing a user command.
jscheidtmann Oct 4, 2025
80dbe91
Testing phases (first part)
jscheidtmann Oct 4, 2025
48f0fa7
Tests for mountcontrol phases
jscheidtmann Oct 5, 2025
b4208f8
On way to full indi implementation
jscheidtmann Oct 5, 2025
cb75c76
Indi methods work with Telescope Simulator
jscheidtmann Oct 6, 2025
141f935
Formatting and lint.
jscheidtmann Oct 6, 2025
a33d7c5
Install pyindi from git, as pypi package is broken
jscheidtmann Oct 6, 2025
28e197f
Fix type checking
jscheidtmann Oct 6, 2025
8f78596
Further type annotations.
jscheidtmann Oct 6, 2025
9e15fa2
First try at devcontianer
jscheidtmann Oct 9, 2025
f110d84
Make all tests green
jscheidtmann Oct 10, 2025
7823557
nox passing
jscheidtmann Oct 10, 2025
008cc22
devcontainer with indiweb as service and PyIndi client.
jscheidtmann Oct 10, 2025
41e87d6
Update setup-indi.sh to use sudo
jscheidtmann Oct 10, 2025
a5f1d50
Remove indi-telescope-simulator
jscheidtmann Oct 10, 2025
f731740
Reduce log severities in GPS.fake
jscheidtmann Oct 10, 2025
9534635
Add mountcontrol process
jscheidtmann Oct 10, 2025
1c2393d
Console less chatty on stdout
jscheidtmann Oct 10, 2025
24b0dcb
Movement works!
jscheidtmann Oct 10, 2025
d0cf03f
Additional dependencies
jscheidtmann Oct 11, 2025
ad5c526
Use logger in object loading
jscheidtmann Oct 11, 2025
6cf3184
Use logger in object loading
jscheidtmann Oct 11, 2025
39745cf
First iteration of working goto
jscheidtmann Oct 11, 2025
fe94007
Ruff formatting
jscheidtmann Oct 11, 2025
8d228a3
Install PyIndi from git
jscheidtmann Oct 11, 2025
0c12437
Make nox green
jscheidtmann Oct 11, 2025
c6c6493
Adjust tests to implementation
jscheidtmann Oct 11, 2025
db7f4e2
Install dependencies for nox
jscheidtmann Oct 11, 2025
2a5f544
Install indi from developers ppa
jscheidtmann Oct 11, 2025
dbd8f57
Forgot nova and cfitsio dependencies
jscheidtmann Oct 11, 2025
f75dbb6
Add unparking, sidereal tracking to init_mount
jscheidtmann Oct 11, 2025
3f3dcd4
Init Mount key 1 including sync to plate solve
jscheidtmann Oct 11, 2025
3776ea3
Init mount key 1
jscheidtmann Oct 11, 2025
45ff8f0
remove pyindi and use younger requests
jscheidtmann Oct 12, 2025
77be36d
Install script for setting up indi and indiwebmanager on a PiFinder
jscheidtmann Oct 12, 2025
a5f324e
Add Chrony setup for GPS
jscheidtmann Oct 12, 2025
5023314
Use isServerConnected() on client, instead of caching that state.
jscheidtmann Oct 12, 2025
294c9b1
Install chrony
jscheidtmann Oct 12, 2025
1fe84e6
Add display_message.py
jscheidtmann Oct 12, 2025
f6a62f0
Install script: 3rd party drivers
jscheidtmann Oct 12, 2025
e2b5afd
Readme how to install and use indi_mount_control
jscheidtmann Oct 12, 2025
004c4db
Read actual PiFinder config.
jscheidtmann Oct 12, 2025
5cd1d93
Display type handling.
jscheidtmann Oct 12, 2025
7b3c08c
Fix colors in display_message
jscheidtmann Oct 12, 2025
edc816a
Fix display name
jscheidtmann Oct 12, 2025
69fcba1
..
jscheidtmann Oct 12, 2025
cadf3d3
Update description and indi install script
jscheidtmann Oct 12, 2025
731dd24
Start pifinder section
jscheidtmann Oct 12, 2025
6eae2ab
Fix workflow section
jscheidtmann Oct 12, 2025
3d903e8
Coarse instead of fine adjustments
jscheidtmann Oct 12, 2025
6476877
Add .vscode to ignores.
jscheidtmann Oct 12, 2025
88d2ebe
Ignore downloads to astro_data
jscheidtmann Oct 12, 2025
0530451
Send jnow coordinates to mountcontrol
jscheidtmann Oct 13, 2025
2be8036
Add fallback to system time, if gps time is not available.
jscheidtmann Oct 13, 2025
7f834d0
First implementation of drift compensation
jscheidtmann Oct 14, 2025
908cd31
Track rate adjustment added
jscheidtmann Oct 14, 2025
2fb4e6d
Adjust track_rates implementation and tests green
jscheidtmann Oct 14, 2025
93cdff4
Check for right sign in setting track_rates
jscheidtmann Oct 14, 2025
9cc4fc2
Refactor & make sure we don't get duplicate solves for drift compensa…
jscheidtmann Oct 14, 2025
377f81e
First stab at move manual by goto
jscheidtmann Oct 14, 2025
f724c2d
change step size when switching eyepiece
jscheidtmann Oct 14, 2025
db850d8
Update mount location and time from PiFinder
jscheidtmann Oct 15, 2025
67f251c
Save image on cedar errors.
jscheidtmann Oct 16, 2025
6f874a8
Save only one image, fall back to tetra on first error.
jscheidtmann Oct 16, 2025
def13e8
Make mountcontrol an experimental feature.
jscheidtmann Oct 19, 2025
1e137f9
Compile cedar 0.4.0 for intel processors.
jscheidtmann Oct 20, 2025
3ba37c5
Run solver on a slew of files
jscheidtmann Oct 20, 2025
5642bb3
cedar x86 server binding to localhost only
jscheidtmann Oct 20, 2025
e49f16f
Add Alpha Development warning.
jscheidtmann Oct 20, 2025
5d3ceb0
Add table with keys
jscheidtmann Oct 20, 2025
799ffbf
Review README for mount control
jscheidtmann Oct 20, 2025
2ccd488
Default config for mount control
jscheidtmann Oct 21, 2025
405165d
Add mount commander to execute slews
jscheidtmann Oct 23, 2025
76d481c
Show link to indiwebmanager, if mount control is activated.
jscheidtmann Nov 2, 2025
974b187
reboot PiFinder, if mount control status is changed.
jscheidtmann Nov 2, 2025
3157d28
Merge branch 'main' into indi_mount_control
jscheidtmann Nov 3, 2025
01f5b4c
Fix type_hint errors.
jscheidtmann Nov 3, 2025
69aefd3
ruff formatting
jscheidtmann Nov 3, 2025
402c6cf
Add dbus dependencies to install script
jscheidtmann Nov 6, 2025
4ec7e29
Add commend to setup-indi.sh for devcontainer
jscheidtmann Nov 6, 2025
b5d90cd
Fix pip install for indiwebmanager
jscheidtmann Nov 6, 2025
fc91117
switched dbus-python to pydbus.
jscheidtmann Nov 12, 2025
f45c483
Update setup-indi.sh: remove old dendencies, add missing packages, ad…
jscheidtmann Nov 12, 2025
044c3e2
Revert to 43baa59 of solver.py
jscheidtmann Nov 17, 2025
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
44 changes: 44 additions & 0 deletions .devcontainer/devcontainer.json
Original file line number Diff line number Diff line change
@@ -0,0 +1,44 @@
// For format details, see https://aka.ms/devcontainer.json. For config options, see the
// README at: https://github.com/devcontainers/templates/tree/main/src/ubuntu
{
"name": "PiFinder MountControl Developement",
// Or use a Dockerfile or Docker Compose file. More info: https://containers.dev/guide/dockerfile
"image": "mcr.microsoft.com/devcontainers/base:noble",
// Features to add to the dev container. More info: https://containers.dev/features.
"features": {
"ghcr.io/devcontainers/features/python:1": {
"installTools": true,
"version": "3.9"
}
},

// Use 'forwardPorts' to make a list of ports inside the container available locally.
"forwardPorts": [8624, 7624],

"portsAttributes": {
"8624": {
"label": "INDI Web Manager",
"onAutoForward": "notify"
},
"7624": {
"label": "INDI Server",
"onAutoForward": "notify"
}
},

// Use 'postCreateCommand' to run commands after the container is created.
"postCreateCommand": "bash .devcontainer/setup-indi.sh",


// Configure tool-specific properties.
"customizations": {
"vscode": {
"extensions": [
"ms-python.python",
"ms-python.vscode-pylance"
]
}
},
// Uncomment to connect as root instead. More info: https://aka.ms/dev-containers-non-root.
// "remoteUser": "root"
}
75 changes: 75 additions & 0 deletions .devcontainer/setup-indi.sh
Original file line number Diff line number Diff line change
@@ -0,0 +1,75 @@
#!/bin/bash
set -e

####
#### Install development environment in GitHub codespace.
####

# Add INDI repository
sudo apt update
sudo apt install -y software-properties-common
sudo add-apt-repository ppa:mutlaqja/ppa -y
sudo apt update
sudo apt upgrade -y

# Install INDI server and components
# python-setuptools \
# libglib2.0-0t64 \
sudo apt install -y \
indi-bin \
libindi-dev \
swig \
libdbus-1-3 \
libdbus-1-dev \
libglib2.0-0 \
libglib2.0-bin \
libglib2.0-dev \
python-dev-is-python3 \
libindi-dev \
libcfitsio-dev \
libnova-dev \
pkg-config \
meson \
ninja-build \
build-essential

# Install Python dependencies
cd /workspaces/PiFinder/python
python3 -m pip install --upgrade pip
pip install -r requirements.txt
pip install -r requirements_dev.txt

# Install working PyIndi client from git
pip install "git+https://github.com/indilib/pyindi-client.git@v2.1.2#egg=pyindi-client"

# Install indiwebmanager from the "control_panel" branch from jscheidtmann's fork
pip install fastapi uvicorn jinja2 aiofiles
pip install "git+https://github.com/jscheidtmann/indiwebmanager.git@control_panel#egg=indiweb"

# Set up indiwebmanager as a systemd service
# Create service file with current user
CURRENT_USER=$(whoami)
cat > /tmp/indiwebmanager.service <<EOF
[Unit]
Description=INDI Web Manager
After=multi-user.target

[Service]
Type=idle
User=${CURRENT_USER}
ExecStart=/usr/local/bin/indi-web -v
Restart=always
RestartSec=5

[Install]
WantedBy=multi-user.target
EOF

# Install and enable the service
sudo cp /tmp/indiwebmanager.service /etc/systemd/system/
sudo chmod 644 /etc/systemd/system/indiwebmanager.service
/usr/local/python/3.9.25/bin/indi-web &

cd /workspaces
git clone --depth 1 https://github.com/indilib/indi.git
git clone --depth 1 https://github.com/indilib/indi-3rdparty.git
29 changes: 29 additions & 0 deletions .github/workflows/nox.yml
Original file line number Diff line number Diff line change
Expand Up @@ -8,7 +8,36 @@ jobs:
working-directory: ./python
steps:
- uses: actions/checkout@v4

- name: Install system dependencies
run: |
sudo apt update
sudo apt install -y software-properties-common
sudo add-apt-repository ppa:mutlaqja/ppa -y
sudo apt update
sudo apt-get install -y \
build-essential \
pkg-config \
swig \
gfortran \
libinput-dev \
libdbus-1-dev \
libglib2.0-dev \
libjpeg-dev \
zlib1g-dev \
libtiff-dev \
libfreetype6-dev \
liblcms2-dev \
libwebp-dev \
libopenjp2-7-dev \
libindi-dev \
libopenblas-dev \
liblapack-dev \
libcfitsio-dev \
libnova-dev

- uses: wntrblm/nox@2024.04.15
with:
python-versions: "3.9"

- run: nox -s lint format type_hints smoke_tests unit_tests
1 change: 1 addition & 0 deletions .gitignore
Original file line number Diff line number Diff line change
Expand Up @@ -140,6 +140,7 @@ kicad/PiFinder/PiFinder-backups
config.json
astro_data/hip_main.dat
comets.txt
.vscode/*

# 3d printing business
*.3mf
Expand Down
Loading