Skip to content

Commit 659ed87

Browse files
Update README.md to enhance development environment setup instructions (#4)
1 parent 3d76004 commit 659ed87

File tree

1 file changed

+39
-9
lines changed

1 file changed

+39
-9
lines changed

README.md

Lines changed: 39 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -117,7 +117,11 @@ To get started with OpenAstroFirmware development or to build and deploy the fir
117117
- GPIO-based stepper motor drivers
118118
- Testing/simulation drivers for development
119119

120-
### Prerequisites
120+
### Development Environment Setup
121+
122+
Before getting started, make sure you have a proper Zephyr development environment. Follow the official [Zephyr Getting Started Guide](https://docs.zephyrproject.org/latest/getting_started/index.html).
123+
124+
#### Prerequisites
121125

122126
- **Zephyr SDK** - Required for cross-compilation and board support
123127
- **West** - Zephyr's meta-tool for project management and building
@@ -128,14 +132,40 @@ To get started with OpenAstroFirmware development or to build and deploy the fir
128132

129133
#### Installation
130134

131-
1. Install the Zephyr SDK following the [official Zephyr getting started guide](https://docs.zephyrproject.org/latest/getting_started/index.html)
132-
2. Set up the Python virtual environment and install West:
135+
1. **Install the Zephyr SDK**: Follow the [official Zephyr getting started guide](https://docs.zephyrproject.org/latest/getting_started/index.html) for your operating system.
136+
137+
2. **Set up Python virtual environment and install West**:
133138
```bash
134139
python3 -m venv ~/.venv
135140
source ~/.venv/bin/activate
136141
pip install west
137142
```
138143

144+
#### Workspace Initialization
145+
146+
The first step is to initialize the workspace folder where the `OpenAstroFirmware` and all Zephyr modules will be cloned. Run the following command:
147+
148+
```bash
149+
# Initialize workspace for OpenAstroFirmware
150+
west init -m https://github.com/OpenAstroTech/OpenAstroFirmware --mr main OpenAstroTech-workspace
151+
# Update Zephyr modules
152+
cd OpenAstroTech-workspace
153+
west update
154+
```
155+
156+
After initialization, your workspace structure will look like:
157+
```
158+
OpenAstroTech-workspace/
159+
├── OpenAstroFirmware/ # This repository
160+
├── zephyr/ # Zephyr RTOS
161+
└── modules/ # Zephyr modules (HAL, libraries, etc.)
162+
```
163+
164+
**Important**: Remember to activate your Python virtual environment each time you start working on the project:
165+
```bash
166+
source ~/.venv/bin/activate
167+
```
168+
139169
### Configuration
140170

141171
The firmware uses Zephyr's Kconfig system for configuration. Key configuration files:
@@ -155,13 +185,13 @@ west build -t guiconfig # GUI configuration tool
155185

156186
#### For Native Simulation (Development/Testing)
157187
```bash
158-
cd OpenAstroFirmware/app
188+
cd OpenAstroTech-workspace/OpenAstroFirmware/app
159189
west build -b native_sim
160190
```
161191

162192
#### For MKS Robin Nano (Production Hardware)
163193
```bash
164-
cd OpenAstroFirmware/app
194+
cd OpenAstroTech-workspace/OpenAstroFirmware/app
165195
west build -b mks_robin_nano
166196
```
167197

@@ -241,13 +271,13 @@ The firmware implements the standard LX200 protocol for communication with plane
241271
- [x] Cross-compilation support
242272
- [x] Native simulation target
243273
- [x] Core Foundation
244-
- [x] LX200 protocol library implementation
245-
- [x] Mount coordinate management (RA/DEC)
246-
- [x] Stepper motor driver framework
274+
- [ ] LX200 protocol library implementation
275+
- [ ] Mount coordinate management (RA/DEC)
276+
- [ ] Stepper motor driver framework
247277
- [x] Board support for MKS Robin Nano
248278
- [x] Logging and debugging infrastructure
249279
- [ ] MVP (In Progress)
250-
- [x] Basic mount control interface
280+
- [ ] Basic mount control interface
251281
- [ ] Complete LX200 command set implementation
252282
- [ ] Motor calibration and homing
253283
- [ ] Real-time telescope tracking

0 commit comments

Comments
 (0)