You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
This is firmware for DIY astronomical telescope mounts, built on Zephyr RTOS. It's a modern C++20 rewrite of the successful OpenAstroTracker v1 firmware, emphasizing maintainability and advanced features.
4
+
This is firmware for DIY astronomical telescope mounts, built on Zephyr RTOS v4.2.0. It's a modern C++20 rewrite of the successful OpenAstroTracker v1 firmware, emphasizing maintainability and advanced features.
5
5
6
6
## Architecture Overview
7
7
8
-
**Build System**: Zephyr RTOS v4.1.0 with west build tool
9
-
**Target Hardware**: MKS Robin Nano (STM32F407-based) boards
10
-
**Languages**: C++20 primary, with C for low-level protocol implementations
- **RA/Dec**: Celestial coordinates for star tracking
152
+
- **Alt/Az**: Horizontal coordinates for mount positioning
153
+
- **Precision Modes**: High (`HH:MM:SS`) vs Low (`HH:MM.T`) formats
154
+
- **LX200 Compatibility**: Industry standard for ASCOM/INDI/Stellarium
155
+
156
+
### Hardware Integration
157
+
- **Stepper Motors**: RA/Dec axes with TMC drivers for precision
158
+
- **STM32F407**: 32-bit performance for real-time tracking calculations
159
+
- **Native Simulation**: PC-based development without hardware
160
+
161
+
## Development Guidelines
162
+
163
+
**When implementing new LX200 features:**
164
+
1. Check corresponding tests in `tests/lib/lx200/` first
165
+
2. Follow the established stub → implementation pattern
166
+
3. Use C for protocol layer, C++20 for application layer
167
+
4. Maintain Zephyr module structure for reusability
114
168
115
-
### Development Status
116
-
Early development phase. Focus on:
117
-
1. Implementing coordinate parsing stubs in `lib/lx200/`
118
-
2. Following existing test specifications in `tests/lib/lx200/`
119
-
3. Using C for protocol layer, C++20 for application layer
120
-
4. Maintaining Zephyr module structure for reusability
169
+
**When adding hardware support:**
170
+
1. Extend device tree in `boards/` or `dts/`
171
+
2. Follow Zephyr driver model conventions
172
+
3. Test with both hardware and native simulation
173
+
4. Update configuration in `Kconfig` files
121
174
122
-
When implementing new features, always check corresponding tests first to understand expected behavior and formats.
175
+
This codebase is in **early development** - expect many stubs that define interfaces but await implementation. Always check tests to understand expected behavior before implementing.
0 commit comments