33 Commits

Author SHA1 Message Date
eeeck dc5c2c751b Change message receive implementation to allow for only one action at a
time
2025-12-13 12:36:15 +01:00
eeeck 3a91791180 Fix TWI address reading error 2025-11-27 15:55:29 +01:00
eeeck a1781af096 Merge branch 'main' into dev-twi 2025-11-06 17:00:06 +01:00
eeeck 2be65a0b76 Implement plant watering based on current moisture levels 2025-10-29 14:45:40 +01:00
eeeck 620eb57920 Reorder respond cases for better clarity 2025-10-29 14:44:50 +01:00
eeeck b28b20f46a Refactor TWI response system
- Avoid setting respondFlag in main, instead let it be managed directly
inside twiListen() and read inside twiRespond()
2025-10-29 14:30:23 +01:00
eeeck 1721be5e66 Remove triggerMoistureRead() call in ISR and it's trigger variable
- This was done at the very beginning when i thought to develop this
part of the program in a different way. It is unnecessary with how I
actually ended up to structure the program. - WDT should manage TWI
only, as per current developement
2025-10-29 13:51:04 +01:00
eeeck 2a36d1356c Move TWI response handling from watchdog to main loop 2025-10-12 21:45:01 +02:00
eeeck 0f0408df9b Simplify moisture value access and update header structure 2025-10-12 14:27:15 +02:00
eeeck 2d9a4f3bb5 Fix TWI slave address shift and buffer index 2025-10-09 11:04:16 +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 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 05aae91d12 Mark internal helpers as static and remove from headers 2025-10-01 01:25:59 +02:00
eeeck 2e6fe9ba6b Implement AVR328 EEPROM handling 2025-10-01 00:08:25 +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 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