firmware-base/docs-c/core/enums.md
2025-06-04 16:50:34 +02:00

2.9 KiB

title description keywords
Modbus Enums and Constants Documentation for the Modbus enumerations and constants used in the industrial control application Modbus, ESP32, Industrial Control, Enumerations, Constants, Error Codes

Modbus Enumerations and Constants

Path: /src/modbus/enums.h

Revision History: Initial documentation

This file defines the core enumerations and constants used throughout the industrial control application, particularly for Modbus communications, component management, and error handling.

REQUIREMENTS

  • No direct hardware requirements
  • Consistent implementation across the codebase

PROVIDES

  • COMPONENT_KEY_BASE - Base key identifiers for system components
  • COMPONENT_TYPE - Component type classification
  • Error Code Constants - System-wide error definitions
  • OBJECT_RUN_FLAGS - Runtime behavior flags for components
  • OBJECT_NET_CAPS - Network capability flags
  • MB_REGISTER_MODE - Modbus register access modes
  • E_CALLS - Call type definitions
  • E_MessageFlags - Message processing flags
  • MB_FC - Modbus function codes
  • MODBUS_ERRORS - Standard Modbus error codes
  • E_ModbusType - Modbus data type definitions
  • E_ModbusAccess - Modbus access permissions

FEATURES

  • Comprehensive error code system with reserved ranges for subsystems
  • Modbus protocol constants aligned with industry standards
  • Component type classification for system organization
  • Runtime behavior flags for component lifecycle management
  • Message handling flags for inter-component communication

DEPENDENCIES

  • No direct dependencies on other components
graph TD
    Enums[Modbus Enumerations and Constants]
    OtherComponents[Other System Components]
    OtherComponents --> Enums

BEHAVIOUR

The enumerations and constants in this file define the protocol and behavior parameters used by other components in the system.

graph TD
    Constants[Constants Definition] --> Usage[Used by Components]
    Usage --> ComponentInteraction[Component Interaction]
    Usage --> ErrorHandling[Error Handling]
    Usage --> ModbusProtocol[Modbus Protocol Execution]

TODOS

PERFORMANCE

  • Consider using more compact types for memory-constrained applications
  • Evaluate if any enumerations could be consolidated to reduce memory usage

SECURITY

  • Ensure error codes don't leak sensitive information in production environments
  • Consider adding authentication/authorization related constants for secure Modbus implementations

COMPLIANCE

  • Maintain alignment with Modbus specification for all Modbus-related constants
  • Consider adding comments with references to specific sections of the Modbus specification

RECOMMENDATIONS

  • When extending error codes, maintain the hierarchical structure
  • When adding new component types, ensure they follow the established naming convention
  • Consider adding range validation macros alongside the constants