eeeck
558413df41
Add WiFi connectivity initialization and configuration functions
2025-10-11 20:17:57 +02:00
eeeck
94d2a61cad
Implement Wi-Fi task
2025-10-11 15:30:40 +02:00
eeeck
eb980d286d
Fix watchdog initialization and parameters
2025-10-11 14:15:06 +02:00
eeeck
55c11f2471
Add CMakeLists.txt for ESP32 firmware build
2025-10-11 13:08:10 +02:00
eeeck
ba590b982c
Fix build error in Dockerfile
2025-10-11 00:05:15 +02:00
eeeck
d1cf04ffdb
Allocate heap caps
2025-10-10 23:59:50 +02:00
eeeck
3dc234eecb
Configure power management
2025-10-10 23:59:39 +02:00
eeeck
3d8962b188
Initialize basic watchdog
2025-10-10 23:59:14 +02:00
eeeck
9f848dcc3f
Add Dockerfile and build script for ESP32 firmware
2025-10-10 22:30:32 +02:00
eeeck
5cce419c74
Add initial ESP32 main.cpp
2025-05-19 11:41:22 +02:00
eeeck
135823b620
Improve atmega Dockerfile apt handling
...
- Set DEBIAN_FRONTEND as an environment variable.
- Add --no-install-recommends to apt-get install.
2025-05-19 11:39:07 +02:00
eeeck
ff8f6324e5
Use deeper sleep mode to reduce current draw during idle
...
Using `SLEEP_MODE_PWR_DOWN` turns off everything (I/O, clocks, ADC etc.) except the watchdog
2025-05-19 11:37:12 +02:00
eeeck
29ecd9be17
Fix return non-zero value in main
2025-05-19 11:34:35 +02:00
eeeck
24c454aa88
Reset readSensors before sleep
2025-05-17 14:28:55 +02:00
eeeck
97d78f7c28
Remove unsed flag
2025-05-17 14:23:56 +02:00
eeeck
2a2cb42b0b
Refactor optimization flag in Makefile
...
Introduce `O_FLAG` variable for `-Os` to centralize optimization setting
for CFLAGS and LDFLAGS.
2025-05-17 14:23:22 +02:00
eeeck
906dfa91f0
Remove unused CMD from Dockerfile
2025-05-17 14:22:58 +02:00
eeeck
c03e60e56f
Add delay to let actuator pump water
2025-05-17 14:07:45 +02:00
eeeck
c7abf18736
Change data types regarding sensor readings and sensor/actuator pins from signed to unsigned
2025-05-17 13:49:37 +02:00
eeeck
d6bd1932d3
Make pumps initialization and actuation more dynamic by checking which one are declared in config.h
2025-05-17 13:10:45 +02:00
eeeck
8ad766c377
Make sensor initialization and measurement more dynamic by checking
...
which one are declared in config.h
2025-05-17 12:56:22 +02:00
eeeck
ba10840f50
Rename function
2025-05-16 09:22:34 +02:00
eeeck
64852b2a67
Add pump code to Makefile
2025-05-16 09:22:20 +02:00
eeeck
09fed73696
Add waterPlant stub and update pump usage
2025-05-15 23:39:15 +02:00
eeeck
c8c27d440c
Implement pump control via port register
2025-05-15 23:30:48 +02:00
eeeck
3973d7b41d
Initialize pumps' digital pins
2025-05-15 22:41:14 +02:00
eeeck
cf3230c470
Rename functions name for better code clarity
2025-05-15 22:40:33 +02:00
eeeck
412354fe88
Move source code to /firmware and fix build paths
2025-05-15 15:51:46 +02:00
eeeck
6dd4b87a0f
Simplify Makefile to exclude Arduino core libraries
...
- Binary file is now <700 bytes, from ~5500 bytes when using Arduino
libraries and core sources
- Time to flash to MCU is decreased from ~8s to ~0.75s
- Change target object name for better clarity
2025-05-15 11:06:51 +02:00
eeeck
fe2e04ee38
Implement multiple sensors reading for moisture
2025-05-15 00:32:00 +02:00
eeeck
1a10abc4d6
Use custom ADC interface using AVR flags
2025-05-14 22:38:32 +02:00
eeeck
cbf42aae0a
Remove make flash, use build script for flashing
...
This is not optimal, but could not find a way to make it flash without
verification errors with "make flash".
2025-05-14 14:10:11 +02:00
eeeck
5f154cb20f
Refactor loop to main and add explicit while(true)
...
This change transitions from the Arduino-specific `loop()` to a
standard C++ `main()` function as the program's entry point and
primary execution cycle.
2025-05-14 13:02:17 +02:00
eeeck
82dba30e18
Rename image name to avoid future confusion with ESP board
2025-05-13 20:12:10 +02:00
eeeck
af4cb39230
Add ATmega build and flash script
...
Use Dockerfile for firmware compilation and avrdude for flashing
to ATmega328p via usbasp.
2025-05-13 12:42:50 +02:00
eeeck
4ab01eb3a4
Restructure directory organization
2025-05-13 11:28:18 +02:00
eeeck
fff7c84206
Refactor Makefile for compatibility with Docker enviroment and better
...
AVR dependency management
2025-05-12 22:55:28 +02:00
eeeck
4243734056
Create Dockerfile
2025-05-12 22:54:41 +02:00
eeeck
1e7be9adb6
Restructure AVR compilation with Makefile
2025-05-12 19:24:09 +02:00
eeeck
c94f7d2982
Add bootloader circuit
2025-05-04 00:34:31 +02:00
eeeck
2800986f17
Add schematics for ATMega side and initialize MCU
2025-05-03 23:46:02 +02:00
eeeck
1a7858198e
Move main to C++ file
2025-05-03 12:38:05 +02:00
eeeck
04a8564d46
Merge pull request 'moisture-library' ( #1 ) from moisture-library into main
...
Reviewed-on: http://192.168.2.248:3000/erickahmed/plant-manager/pulls/1
2025-05-03 12:16:00 +02:00
eeeck
637fff92ae
Update main logic flow and fix bug that did not let MCU sleep
2025-05-03 12:08:08 +02:00
eeeck
5f1675f879
Move moisture to C++ file and update logic flow
2025-05-03 12:07:37 +02:00
eeeck
f8b93e47e2
Add config.h with sensor pin and reading constants
2025-05-03 11:42:01 +02:00
eeeck
bf7d177046
Add Makefile and refactor moisture reading to separate module
2025-05-03 11:41:34 +02:00
eeeck
4486febccf
Extract moisture reading logic into separate function
2025-05-02 14:24:43 +02:00
eeeck
5634ead406
Add moisture sensor reading averaging
2025-05-02 14:13:08 +02:00
eeeck
7684470315
Fix watchdog timer setup and power management
...
- Add missing watchdog header include
- Improve watchdog timer configuration with proper registers
- Switch to SLEEP_MODE_IDLE to maintain USB/Serial functionality
2025-05-02 00:59:57 +02:00