jondurrant / RPIPicoWeatherStation

Raspberry Pi Pico W Weather Station
MIT License
0 stars 0 forks source link

Organize folder structures #1

Open TheZitroX opened 2 weeks ago

TheZitroX commented 2 weeks ago

No flat hierarchy to avoid losing overview

jondurrant commented 2 weeks ago

Not sure I understand.

TheZitroX commented 2 weeks ago

instead of

src/
src/Agent.cpp
src/Agent.h
src/AHT10Status.cpp
src/AHT10Status.h
src/Anemometer.cpp
src/Anemometer.h
src/AnemometerPWM.cpp
src/AnemometerPWM.h
src/CMakeLists.txt
src/config.h
src/DeepSleepRTOS.cpp
src/DeepSleepRTOS.h
src/files.cmake
src/GPIOInputMgr.cpp
src/GPIOInputMgr.h
src/GPIOObserver.cpp
src/GPIOObserver.h
src/hw_config.c
src/main.cpp
src/PayloadPart.cpp
src/PayloadPart.h
src/PicoStatus.cpp
src/PicoStatus.h
src/PowerCtr.cpp
src/PowerCtr.h
src/Rain.cpp
src/Rain.h
src/RTCStatus.cpp
src/RTCStatus.h
src/SDLog.cpp
src/SDLog.h
src/Sen0500.cpp
src/Sen0500.h
src/Sen0500Status.cpp
src/Sen0500Status.h
src/StatusAgent.cpp
src/StatusAgent.h
src/VoltMeter.cpp
src/VoltMeter.h
src/WeatherStation.cpp
src/WeatherStation.h
src/WeatherStationPayload.cpp
src/WeatherStationPayload.h
src/WindVane.cpp
src/WindVane.h

try something like:

src/
├── agents/                   # Folder for agent classes and related headers
│   ├── Agent.cpp
│   ├── Agent.h
│   ├── StatusAgent.cpp
│   └── StatusAgent.h
│
├── components/               # Folder for different sensors and hardware components
│   ├── AHT10Status.cpp
│   ├── AHT10Status.h
│   ├── Anemometer.cpp
│   ├── Anemometer.h
│   ├── AnemometerPWM.cpp
│   ├── AnemometerPWM.h
│   ├── Rain.cpp
│   ├── Rain.h
│   ├── RTCStatus.cpp
│   ├── RTCStatus.h
│   ├── Sen0500.cpp
│   ├── Sen0500.h
│   ├── Sen0500Status.cpp
│   ├── Sen0500Status.h
│   └── WindVane.cpp
│   └── WindVane.h
│
├── core/                     # Core utilities and system functionalities
│   ├── config.h
│   ├── GPIOInputMgr.cpp
│   ├── GPIOInputMgr.h
│   ├── GPIOObserver.cpp
│   ├── GPIOObserver.h
│   ├── main.cpp
│   ├── PowerCtr.cpp
│   ├── PowerCtr.h
│   └── DeepSleepRTOS.cpp
│   └── DeepSleepRTOS.h
│
├── data/                     # Data structures, payloads, and logging
│   ├── PayloadPart.cpp
│   ├── PayloadPart.h
│   ├── SDLog.cpp
│   ├── SDLog.h
│   ├── VoltMeter.cpp
│   ├── VoltMeter.h
│   ├── WeatherStation.cpp
│   ├── WeatherStation.h
│   ├── WeatherStationPayload.cpp
│   └── WeatherStationPayload.h
│
├── hw/                       # Hardware-specific files and configurations
│   ├── hw_config.c
│   └── files.cmake
│
└── CMakeLists.txt            # Root CMake file for the src/ directory
TheZitroX commented 2 weeks ago

You will have a better time with larger projects

jondurrant commented 2 weeks ago

Thank you for the suggestion. I completely agree.