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
2d9a4f3bb5
Fix TWI slave address shift and buffer index
2025-10-09 11:04:16 +02:00
eeeck
618965ccc2
Rename Makefile project name to same name as repository
2025-10-05 23:57:03 +02:00
eeeck
d7364a6fdc
Make triggerMoistureRead function inline
2025-10-05 23:56:41 +02:00
eeeck
2d6643601d
Implement TWI response method
2025-10-05 23:52:09 +02:00
eeeck
74aab766fc
Add read-only pointer accessor for previously read moisture value
2025-10-05 22:21:21 +02:00
eeeck
6c48ebb65f
Add data receiving capabilities using a buffer with overflow protection
2025-10-05 17:38:49 +02:00
eeeck
443c62593d
Add EEPROM flush function to clear address contents
2025-10-04 14:37:38 +02:00
eeeck
40a5ad5a35
Add TWI module to build sources
2025-10-01 16:18:37 +02:00
eeeck
c24e032981
Add FreeRTOS and GPIO includes
2025-10-01 15:40:05 +02:00
eeeck
fb3fdab7df
Fix error in comment
2025-10-01 15:39:52 +02:00
eeeck
f4e690cf3c
Increase EEPROM lifespan by avoiding overwrites on addresses that
...
contain identical values
2025-10-01 15:34:11 +02:00
eeeck
c60493810c
Improve EEPROM handling
2025-10-01 15:32:02 +02:00
eeeck
fb8423cd9a
Clarify inline function name
2025-10-01 01:40:32 +02:00
eeeck
45464300c7
Correct bitmask for TWI SDA and SCL
2025-10-01 01:39:53 +02:00
eeeck
05aae91d12
Mark internal helpers as static and remove from headers
2025-10-01 01:25:59 +02:00
eeeck
6e845c65da
Write configuration values to EEPROM at boot
2025-10-01 01:06:20 +02:00
eeeck
2e6fe9ba6b
Implement AVR328 EEPROM handling
2025-10-01 00:08:25 +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