mirror of
https://github.com/azaion/gps-denied-onboard.git
synced 2026-04-22 11:06:37 +00:00
fix issues
This commit is contained in:
@@ -311,8 +311,9 @@ BatchResponse:
|
||||
1. Validate flight_id exists
|
||||
2. Validate batch size (10-50 images)
|
||||
3. Validate sequence numbers (strict sequential)
|
||||
4. Pass to F05 Image Input Pipeline
|
||||
5. Return immediately (processing is async)
|
||||
4. Call F02 Flight Processor → queue_images(flight_id, batch)
|
||||
5. F02 delegates to F05 Image Input Pipeline
|
||||
6. Return immediately (processing is async)
|
||||
|
||||
**Error Conditions**:
|
||||
- `400 Bad Request`: Invalid batch size, out-of-sequence images
|
||||
@@ -355,9 +356,10 @@ UserFixResponse:
|
||||
|
||||
**Processing Flow**:
|
||||
1. Validate flight_id exists and is blocked
|
||||
2. Pass to F11 Failure Recovery Coordinator
|
||||
3. Coordinator applies anchor to Factor Graph
|
||||
4. Resume processing pipeline
|
||||
2. Call F02 Flight Processor → handle_user_fix(flight_id, fix_data)
|
||||
3. F02 delegates to F11 Failure Recovery Coordinator
|
||||
4. Coordinator applies anchor to Factor Graph
|
||||
5. Resume processing pipeline
|
||||
|
||||
**Error Conditions**:
|
||||
- `400 Bad Request`: Invalid fix data
|
||||
@@ -400,8 +402,9 @@ ObjectGPSResponse:
|
||||
**Processing Flow**:
|
||||
1. Validate flight_id and frame_id exist
|
||||
2. Validate frame has been processed (has pose in Factor Graph)
|
||||
3. Call F13.image_object_to_gps(pixel, frame_id)
|
||||
4. Return GPS with accuracy estimate
|
||||
3. Call F02 Flight Processor → convert_object_to_gps(flight_id, frame_id, pixel)
|
||||
4. F02 delegates to F13.image_object_to_gps(flight_id, frame_id, pixel)
|
||||
5. Return GPS with accuracy estimate
|
||||
|
||||
**Error Conditions**:
|
||||
- `400 Bad Request`: Invalid pixel coordinates
|
||||
@@ -479,6 +482,12 @@ SSE Stream with events:
|
||||
- flight_completed
|
||||
```
|
||||
|
||||
**Processing Flow**:
|
||||
1. Validate flight_id exists
|
||||
2. Call F02 Flight Processor → create_client_stream(flight_id, client_id)
|
||||
3. F02 delegates to F15 SSE Event Streamer → create_stream()
|
||||
4. Return SSE stream to client
|
||||
|
||||
**Event Format**:
|
||||
```json
|
||||
{
|
||||
@@ -575,11 +584,9 @@ SSE Stream with events:
|
||||
## Dependencies
|
||||
|
||||
### Internal Components
|
||||
- **F02 Flight Processor**: For all flight operations and processing orchestration
|
||||
- **F05 Image Input Pipeline**: For batch processing
|
||||
- **F11 Failure Recovery Coordinator**: For user fixes
|
||||
- **F15 SSE Event Streamer**: For real-time streaming
|
||||
- **F03 Flight Database**: For persistence (via F02)
|
||||
- **F02 Flight Processor**: For ALL operations (flight CRUD, image batching, user fixes, SSE streams, object-to-GPS conversion). F01 is a thin REST layer that delegates all business logic to F02.
|
||||
|
||||
**Note**: F01 does NOT directly call F05, F11, F13, or F15. All operations are routed through F02 to maintain a single coordinator pattern.
|
||||
|
||||
### External Dependencies
|
||||
- **FastAPI**: Web framework
|
||||
|
||||
Reference in New Issue
Block a user