• 1.0.0 fafc23591a

    1.0.0 Stable

    ismail released this 2025-09-13 11:00:56 +02:00 | 0 commits to main since this release

    🚀 Highlights

    • Added single-channel and multi-channel modes with ready-to-use examples.
    • Introduced run limit support with NVS persistence.
    • Modularized listener notification system with queue-based dispatch.
    • Improved tilt handling: fixed STOP/REVERSE issues, added upper limit checks.
    • Enhanced NVS module with background task for async writes and better flash wear management.
    • Added new public APIs:
      • relay_chn_tilt_get_default_sensitivity
      • relay_chn_state_to_str
      • *_all and *_all_with functions
    • Optimized event loop, timer callbacks, and memory usage.
    • Expanded and refactored unit tests for higher coverage.

    ⚠️ Breaking Changes

    • Config parameters: All renamed to their original CONFIG_* form.
    • Run limit API: time_seclimit_sec.
    • Channel selection: RELAY_CHN_ID_ALL replaced with new *_all functions.
    • State string API: relay_chn_state_str renamed to relay_chn_state_to_str and made public.
    • STOP & TILT logic: behavior updated — STOP no longer issued when idle; STOP/TILT validated and prioritized.
    • NVS operations: now handled asynchronously in a background task.

    📖 Migration Guide

    • Update configs to use CONFIG_* parameters.
    • Replace old API usage (time_sec, RELAY_CHN_ID_ALL, relay_chn_state_str) with new equivalents.
    • Review application STOP/TILT handling — logic may differ.
    • Adapt listener handling to the new notification module.
    • If relying on synchronous NVS writes, adjust for async model.
    Downloads
  • 0.5.0 1776c81c8d

    0.5.0 Stable

    ismail released this 2025-07-23 17:01:50 +02:00 | 79 commits to main since this release

    Switched to ESP component based project tree structure, fixed some bugs and added more unit tests to cover more code.

    The project tree structure has been reorganised to align with Espressif's patterns. Test cases have been categorised for better maintainability and modularity, and more test cases have been implemented to prepare for automated testing in CI/CD pipelines.

    The one large test file (test_relay_chn.c) has broken down into categories each category having its own test file. A utility shell script has also been implemented for building tests and testing in qemu. add more tests to increase coverage and break down tests into categories.

    All related tickets for this PR:

    • Added more unit tests - refs #1030.
    • Switched to Espressif's project tree based structure - refs #1033
    • Fixed RELAY_CHN_ID_ALL issue in get_state* functions - refs #1037
    • Implemented missing destroy function - refs #1048
    • Fixed listener memory allocation bug - refs #1049
    • Fixed missing NULL handling in relay_chn_create - refs #1050
    • Added test cases for direction flipping - refs #1051
    • Added test cases for RELAY_CHN_ID_ALL - refs #1052
    • Broke down test cases into categories - refs #1054
    • Added missing test cases for tilt API - refs #1056
    • Fixed imbalanced tilt count control logic - refs #1057
    Downloads
  • 0.4.0 0ebe1c791e

    0.4.0 Stable

    ismail released this 2025-07-07 13:56:39 +02:00 | 0 commits to release-0.4.0 since this release

    • Added unit testing to the API. refs #134.
    • Updated documentation. refs #1027.
    • Implemented handling transition from tilt mode to run mode. refs #1028.
    Downloads
  • 0.3.2 c0c7fbf3df

    0.3.2 Stable

    ismail released this 2025-04-03 15:31:53 +02:00 | 115 commits to main since this release

    Small bug fixes.

    Downloads
  • v0.3.1 fb425edc4b

    ismail released this 2025-03-21 15:11:21 +01:00 | 117 commits to main since this release

    • Fixed error handling issues in the relay_chn_create function. #21
    • Updated gitignore as per the esp-idf gitignore. #21
    Downloads
  • v0.3.0 496755ed56

    ismail released this 2025-03-03 11:58:25 +01:00 | -1 commits to release-0.3.0 since this release

    What's Changed

    • Improved tilting algorithm and code structure. See commit 0e68c1f627 for more info.
    • Added reverse tilting capability with limit. See commit 46f7c28829 for more info.
    • Fixed a bug in the sensitvity setter and getter functions.
    • Fixed unclosed code fence in the README file.
    • Fixed #17
    • Fixed #18
    Downloads
  • v0.2.1 4b8b6fd636

    kozmotronik released this 2025-02-22 09:31:20 +01:00 | 128 commits to main since this release

    Downloads
  • v0.1.1 a06f58f42b

    kozmotronik released this 2025-02-21 15:59:13 +01:00 | 0 commits to v0.1 since this release

    Many bug fixes and improvements.

    This version features only basic relay channel driving such as; forward, reverse and stop.

    Downloads
  • v0.2.0 f5481f79e7

    kozmotronik released this 2025-02-21 12:50:32 +01:00 | 134 commits to main since this release

    • Add tilt feature.

    • Fix the following bugs:

      • warning: comparison is always true due to limited range of data type.
      • Remove unnecessary esp_timer checks.
      • The scheduled FREE command disrupts the current command.
      • Fatal pin mapping issue.
    • Make code optimizations and improvements:

      • Optimize event loop queue size depending on channel count.
      • Change the channels' starting state to FREE.
      • Remove the unnecessary relay_chn_invalidate_inertia_timer function.
      • Change the relay_chn_start_inertia_timer function as relay_chn_start_esp_timer_once and modify the function so that it be a generic esp timer start function.
      • Optimize the if statement that checks the last run cmd in the relay_chn_execute_stop.
    • Fixes #1

    • Fixes #3

    • Fixes #4

    • Fixes #5

    • Closes #2

    Downloads
  • v0.1.0 dcb5453522

    ismail released this 2025-02-14 15:10:09 +01:00 | 137 commits to main since this release

    Features

    • Controls multiple relay channel pairs (up to 8 channels)
    • Built-in direction change inertia protection
    • Automatic command sequencing and timing
    • Event-driven architecture for reliable operation
    • Forward/Reverse direction control
    • Direction flipping capability
    • State monitoring and reporting
    Downloads