Files
drybox-core/docs/CHANGELOG.md

4.0 KiB

Changelog

v0.75-alpha2

  • Use internal oscillator without CKDIV8.
  • Increase available memory to 4096 bytes.
  • Change ARCH and MCU settings to match chip signature.
  • Update module 'pwm' to run on atmega1284p hardware.
  • Update module 'usart' to run on atmega1284p hardware.
  • Update module 'watchdog' to run on atmega1284p hardware.
  • Update module 'memory' to run on atmega1284p hardware.
  • Update Makefile settings for new chip architecture.
  • Add file structure for automatic unit-testing.
  • Reduce function calls by replacing WDT_Reset with macro.
  • Update optional submodules 'tools' and 'webgui'.

v0.75-alpha1

  • Include explicitly closed source license for now.
  • Auto-initialize optional submodules when needed.
  • Reduce number of watchdog timer resets.
  • Fix command parser tail pointer semantics.
  • Improve sensor log readability and minor naming fixes.
  • Add multiple README sections and use markdown formatting.
  • Reduce RXBUF size to match parser and space out log messages.
  • Prevent redundant writes and start implementing parser timeout.
  • Fix large serial command input triggering watchdog.
  • Implement serial command parser with floating point support.
  • Use reference sentinel to efficiently reset dirty flags on rollover.
  • Pass variable structure as argument for memory functions.
  • Fix possible race condition and ensure proper reset flag detection.
  • Check MCUCSR for WDRF flag only.
  • Implement memory wear leveling algorithm.
  • Define memory manager constants.
  • Dump EEPROM to ensure low level memory access is working correctly.
  • Implement raw EEPROM read and write functionality.
  • Burn EESAVE fuse to preserve EEPROM on chip erase.
  • Define basic EEPROM data structures and functions.
  • Implement alternate voltage divider equation.
  • Calculate average dewpoint from multiple sensor measurements.
  • Test different approach for resistance calculation.
  • Ensure math functions are named consistently.
  • Make sure dewpoint calculations are correct.
  • Split thermistor functions into separate logical units.
  • Implement all required conversion functions.
  • Define conversion functions for TD, T and RH.
  • Update planned FREQ, ARCH, MCU and fix superfluous whitespace.
  • Define basic structure for primary state machine.
  • Remove executable bit from pdf files.
  • Add data sheet for ATMEGA1284P.
  • Poll ADC mode bit until conversion has finished.
  • Set FAN03 to maximum duty and declutter log output.
  • Calculate temperature from thermistor resistance.
  • Set ADC gain to 6.144V and fix multiplexer channel documentation.
  • Define constants for ADC multiplexer settings and describe I2C status flags.
  • Define constants for watchdog timeout flags.
  • Initialize OCR1A to FAN02_MIN_DUTY and add PWM documentation.
  • Minor coding style and consistency fixes.
  • Jump to reset vector when program exceeds specified watchdog timeout.
  • Start implementing watchdog timer.
  • Make log output slightly more readable.
  • Implement ADS1115 register reading and writing.
  • Try setting variable PWM frequency with timer2.
  • Set pin for light MOSFET to low in MOS_Init.
  • Remove invisible runtime assertions.
  • Rename module TWI to I2C and add comments.
  • Read and translate AHT20 sensor readings.
  • Move PWM and MOSFET implementations into separate module files.
  • Ensure correct naming for PWM devices.
  • Calculate PWM_CYCLE_TOP from F_CPU.
  • Add more general SetMosState() and SetPwmValue() functions.
  • Configure PWM timers for 25 KHz.
  • Handle PWM on pin PD4, PD5 and PD7.
  • Start working on system initialization.
  • Add data sheets for ADS1115 and AHT20.
  • Handle I2C multiplexer channel selection.
  • Implement USART with both RX and TX interrupts.
  • Rewrite logging system and sync state with clients.
  • Handle numeric arguments for TEMP/DEWP commands.
  • Update documentation and add USART specification.
  • Start implementing proper parser state machine.
  • Add optional project submodules 'tools' and 'webgui'.
  • Implement ring buffer and auxiliary functions.
  • Add swapfiles and bin/ to .gitignore.
  • Handle USART_RXC interrupt.
  • Implement basic UART reading.