feature #87
Updated by hemant harlalka 2 months ago
IN MULTIPLE BATCH CONFIGURATION THEIR ARE FOUR MAIN STATE RUNNING/PAUSE , AVAILABLE/ COMPLETE , INITIALIZING /CONFIG_DISABLE INITIALIZING, START/END (START, START, END, RUNNING, PAUSE, AVAILABLE, COMPLETE, CONFIG_DISABLE) CONFIG_DISABLE, Core States State Meaning CONFIG_DISABLE Device not allowed for batch / OFF AVAILABLE Ready to configure INITIALIZING Config UART preparing START Batch trigger started RUNNING Active process PAUSE Temporarily stopped END Stopping sequence COMPLETE Batch finished INITIALIZING → AVAILABLE → START → RUNNING → PAUSE → END → COMPLETE → AVAILABLE ON REESET ON LAST COMPLETE BATCH ELSE RESUME FROM LAST STATE This system enables batch-based process control across multiple slave devices connected to an ESP32 (DCN system). Each slave device can: Run an independent batch process Be configured individually or in groups Persist its state in NVS for crash recovery Rules: Invalid transitions must be rejected (e.g., START when already RUNNING) State must always be stored in NVS for recovery IN BATCH CONFIGURATION AT CURRENT WE HAVE TWO CONDITION JSON STRUCTURE MAINLY FOR PID (SLAVE_ID , SLAVE_NO, PROFILE STEP, ONLY_SV_SET , SCAN_RATE , BATCH_START SV_PASSWORD , BATCH_NAME ) & OTHER COMMO FOR ALL (SLAVE_ID , SLAVE_NO,BATCH_ACTION(START/STOP,PAUSE ,SCAN_RATE , BATCH_START SV_PASSWORD , BATCH_NAME) IN DCN EACH SLAVE DEVICE HAVE ITS ON INDIVIDUAL BATCH CONFIGRATUION TO START REPORT AND WITH CUSTOM SUMARRY STETAILS) TO HAVE MULTIPLE SLAVE BATCH CONFIGURE AT ONCE OR SELECTALBE WE WANT SIDE NAV BAR TO SELECT SLAVE DEVICE HAVING BATCH STATE AS (AVAILABLE / COMPLETE) & needed data as mentioned above based on batch show RUNNING/PAUSE , AVAILABLE/ COMPLETE , INITIALIZING /CONFIG_DISABLE DIFFERENTLY OR BY MARKING DEVICE BU ITS NAME AND CONFIGURATION ON INPUT DIFFERENT FIELD CHECK 15 CHARACTER MAX (STRING TYPE) , MIN/MAX VALUE , USER NAME /PASSWORD , ETC User Interface Requirements Sidebar Grouping Devices must be grouped by state: RUNNING / PAUSE Active devices Allow: Pause / Stop AVAILABLE / COMPLETE Ready for new batch Allow: Configure / Start CONFIG_DISABLE / INITIALIZING Disabled or locked No interaction Device Display Each device should show: Name Current state Batch name Status indicator (color-coded) . Validation Rules (Backend) The system must reject: START when already RUNNING STOP when not RUNNING CONFIG while RUNNING Invalid password Invalid device state Design Principles Each slave operates independently State must always be persisted System must be recoverable after crash Only valid state transitions allowed Avoid storing unnecessary data in NVS