30 lines
1.2 KiB
Markdown
30 lines
1.2 KiB
Markdown
# Project Rules
|
|
|
|
This file defines repository-specific working rules for future development.
|
|
|
|
## Workflow Rules
|
|
|
|
- Never upload or push firmware to the board.
|
|
- The user always performs hardware flashing manually.
|
|
- Local compilation is allowed to verify code validity.
|
|
|
|
## Architecture Rules
|
|
|
|
- Prefer a simple module structure.
|
|
- Keep UI/navigation behavior separate from screen content.
|
|
- The carousel or screen-switching logic must be agnostic to the specific data shown on each screen.
|
|
- Keep external data integrations in their own modules.
|
|
- Weather API access should live in a dedicated module rather than inside display or navigation code.
|
|
- Keep hardware access, display rendering, navigation logic, and data fetching cleanly separated.
|
|
|
|
## Design Intent
|
|
|
|
Examples of the intended separation:
|
|
|
|
- A display carousel module manages which screen is active.
|
|
- Individual screen modules decide how their own content is rendered.
|
|
- Sensor modules handle sensor reads and related formatting inputs.
|
|
- Network/data modules fetch and prepare remote data such as weather or time.
|
|
|
|
The goal is to keep the codebase easy to extend without tightly coupling unrelated responsibilities.
|