Skip to content

v2.0.0

Choose a tag to compare

@MrRyabena MrRyabena released this 31 Mar 21:28

V2.0.0

Releaze Notes

  • Build System: Completed a comprehensive project build system using CMake and Shell.
  • Data Structures and Algorithms: Added algorithms and containers for working with ordered data:
    • shs::SortedBuf: A container for working with ordered std::vector.
    • shs_algorithms: Template functions for searching, inserting, and deleting elements in containers.
  • Memory Management: Improved memory handling with added move semantics.
  • SHSDTP Module: Major changes, divided into components and expanded:
    • Component classes:
      • shs::DTP: A container class for linking data buses and API handlers.
      • shs::DTPbus: An abstract class for a data bus that accepts and sends messages.
      • shs::DTPdiscover: A class for discovering devices on a local network.
      • shs::DTPless: Comparison operators for search and sorting algorithms.
      • shs::DTPpacket: A class for creating, encrypting, and decrypting messages.
    • Fully tested.
  • Program Time: Function names have been changed, optimized, bugs fixed, and tested.
  • Fixed-Point Numbers: Created shs::SimpleFixed, a temporary implementation for convenience.
  • Network Module:
    • Updated and debugged shs::ControlWiFi.
    • Added shs::IP class for storing and working with IP addresses.
    • Created and tested classes for working with Qt sockets:
      • shs::qt::TcpSocket
      • shs::qt::UdpSocket
    • shs::TcpServer: Updated functionality, debugged, and tested.
      • Automatically attaches clients to shs::DTP.
      • Configures clients to delete when the connection is closed.
    • shs::TcpSocket: Updated functionality, debugged, and tested.
      • Based on shs::DTPbus.
      • Automatic reconnection in case of connection loss.
      • Qt support.
    • UDP Support:
      • Created shs::UDP, providing an interface for working with UDP.
      • shs::UdpBus: Works with UDP as with shs::DTPbus.
      • shs::UdpBroadcastBus: Sending and receiving broadcast messages.
      • shs::UdpMulticastBus: Sending and receiving messages in a group.
  • Load Components: Redesigned, debugged, and tested.
  • Types Module: Developed from shs_settings_private.h.
  • Sensor Module:
    • Redesigned, debugged, and tested.
    • Functionality changes:
      • update() must be called before getting the value.
      • updateFast(), if supported by the sensor, measures less accurately but faster.
      • Added error status.
      • Support for multiple metrics.
  • Library Updates:
    • The library has been expanded and now includes new components:
      • GRGB API: An API for working with GRGB (from AlexGyver's library).
      • RGB Color Music Library: A library for managing RGB color music effects.
      • Sensor Support: Added support for various sensor types:
        • BME280
        • DHT
        • DS18
        • MHZ19
        • Thermistor
        • SensorTypes: An enumeration for different sensor types.
  • Undebugged Components:
    • shs::StreamBus: Not debugged, has bugs. Support and development expected in future versions.
    • shs::EventTracker: Has bugs and errors.
  • Unused Components:
    • shs::CreateProcess: The class creates a process from function pointer templates.
    • shs::MutexSafe: Component of an unused OS module.
  • Underdeveloped Components:
    • shs::Time: Unix time storage and parsing (not developed).

Changes (see also here)

SHScore-changes-v2_0_0.png


SHScore-scheme


SHSlibrary-scheme