75 lines
2.1 KiB
Markdown
75 lines
2.1 KiB
Markdown
# Phase 2: Data Persistence & File Management - Context
|
|
|
|
**Gathered:** 2026-03-12
|
|
**Status:** Ready for planning
|
|
|
|
<domain>
|
|
## Phase Boundary
|
|
|
|
CSV data logging to flash memory with file management UI. User can view list of CSV files, navigate/scroll through files, view file contents, delete files, and generate tidEDA formatted files for transmission to myvscada server.
|
|
|
|
</domain>
|
|
|
|
<decisions>
|
|
## Implementation Decisions
|
|
|
|
### Storage Location
|
|
- CSV files stored in `/myvscada/logger` (matches server folder structure)
|
|
|
|
### File Naming
|
|
- Format: `SP{station_id}_{timestamp}.csv` (e.g., `SP001_20260312_143022.csv`)
|
|
|
|
### tidEDA Format
|
|
- Standard format — matches existing system specification
|
|
|
|
### Logging Trigger
|
|
- Periodic interval — configurable logging interval (e.g., every 5/10/15 minutes)
|
|
|
|
### OpenCode's Discretion
|
|
- Exact logging interval default value
|
|
- File retention policy (how many files to keep)
|
|
- Scroll behavior (smooth scroll vs page-by-page)
|
|
|
|
</decisions>
|
|
|
|
<code_context>
|
|
## Existing Code Insights
|
|
|
|
### Reusable Assets
|
|
- Flask backend already running (src/app.py) — extend with file API routes
|
|
- Settings stored via existing settings API
|
|
- Bootstrap 5.3 templates — can reuse for file list UI
|
|
|
|
### Established Patterns
|
|
- Socket.IO for real-time updates — can use for file list refresh
|
|
- RESTful API structure — follow same pattern for file endpoints
|
|
- Touch-optimized UI — apply same 48px+ touch targets
|
|
|
|
### Integration Points
|
|
- New file API routes: `/api/files`, `/api/files/<name>`, `/api/files/<name>/delete`
|
|
- New "Flash Memory" menu link in main navigation
|
|
- Reuse calibration template structure for file list
|
|
|
|
</code_context>
|
|
|
|
<specifics>
|
|
## Specific Ideas
|
|
|
|
- `/myvscada/logger` path matches the server directory structure in protocol settings
|
|
- File naming matches existing convention from THE_IDEA.md (SP8020_FTP.txt style)
|
|
- Standard tidEDA format per existing system specification
|
|
|
|
</specifics>
|
|
|
|
<deferred>
|
|
## Deferred Ideas
|
|
|
|
None — discussion stayed within phase scope
|
|
|
|
</deferred>
|
|
|
|
---
|
|
|
|
*Phase: 02-data-persistence-file-management*
|
|
*Context gathered: 2026-03-12*
|