- Oct 15, 2024
-
-
Pierre-Alain Loizeau authored
-
Pierre-Alain Loizeau authored
-
- Oct 07, 2024
-
-
Pierre-Alain Loizeau authored
-
Pierre-Alain Loizeau authored
-
- Sep 09, 2024
-
-
Pierre-Alain Loizeau authored
-
Pierre-Alain Loizeau authored
-
Pierre-Alain Loizeau authored
-
- Sep 03, 2024
-
-
Pierre-Alain Loizeau authored
-
Pierre-Alain Loizeau authored
-
- Aug 29, 2024
-
-
Pierre-Alain Loizeau authored
-
Pierre-Alain Loizeau authored
-
- Jul 29, 2024
-
-
Pierre-Alain Loizeau authored
-
Pierre-Alain Loizeau authored
-
Pierre-Alain Loizeau authored
-
Pierre-Alain Loizeau authored
-
Pierre-Alain Loizeau authored
-
- Jul 26, 2024
-
-
Pierre-Alain Loizeau authored
-
- Jul 18, 2024
-
-
Pierre-Alain Loizeau authored
- Bump ECS core to version 0.3.0 (Python 3.11 compatibility) - Bump pytest, coverage and pytest-cov to most recent versions - Upgrade package management to Poetry 1.8.2 + related fixes - Change dependency from Pyside2 v5.15 to Pyside6 v6.4 - Change all Pyside2 imports to Pyside6 ones - Update Readme about QT6/Pyside6 dependencies and commands to regenerate the GUI base classes from the UI files - Regenerate the GUI base classes from the UI files - Rename UI files folder to QT6 - Remove outdated GUI emulator - Remove all type ignore linked to missing stubs in Pyside2 - Import only necessary classes/namespaces from QtCore - Change module/class path for enums from main Qt class where necessary (ItemFlag, MatchFlag, TimeSpec) - Change module/class path for enums from QMessageBox class where necessary (ButtonRole, Icon) - Fix copy-paste typos in EcaGui::reconnectPartition (self.csca_name => pca_name) - Use sig_connect/sig_disconnect for all instances of AgentStateUpdateWatcher (fixes a spurious crash/race-condition at ECA GUI close) - [CI] Switch official version to Python 3.11 (Deb 12) + cleanup other jobs - Remove Python 3.7 test - Add Python 3.11 test and move coverage to it - Change dedicated Debian 10 runner to dedicated Debian 12 one - Replace Python 3.9 optional test with 3.12 one
-
- Jun 05, 2024
-
-
Pierre-Alain Loizeau authored
-
Pierre-Alain Loizeau authored
-
Pierre-Alain Loizeau authored
-
Pierre-Alain Loizeau authored
-
- May 31, 2024
-
-
Pierre-Alain Loizeau authored
-
- Apr 30, 2024
-
-
Pierre-Alain Loizeau authored
- In CscaMain, CentralScaPartAgent, GuiAgent, Eca, Pca and Sca, add new commands to be backported - get_agent_type_returning the class name - In Eca, add - new command to list_known_pcas - internal method fill_agent_types_list to populate the list used in the new command - In Pca, - add gui_id member + setter command to ensure only one GUI interacts with the agent - In Sca, backport changes to set_gui_agent_id from Csca/Pca decoupling - In EcaGui, - fix some typo in variable naming - keep track of connected PCAs by name and use it instead of the list of PCA processes - add support for PCA reconnection/disconnection - attempt auto-reconnection of PCAs only if reconnecting an ECA which is in Active state
-
Pierre-Alain Loizeau authored
- In Eca, add gui_id member + setter command to ensure only one GUI interacts with the agent - In Eca and Pca, add new command to be backported - rem_tracker_agent removing a ping tracker agent - In EcaGui - Add Force ECA Reconnect checkbox - Implemente ECA reconnection/disconnection - add call to rem_tracker_agent when disconnecting the ECA to avoid some ping commands timeout - add protection flag to avoid some watchers crash due to stashed calls during closing popup
-
Pierre-Alain Loizeau authored
- Add template Widget for the CSCA tabs - Owns its associated CSCA process object - Provide same functionalities as the CSCA blocks in EcaGui (Start/Term process, UI interactions) - On QT side of CscaCtrlTabTemplateWidget, add Reconnect button, ForceReconnect checkbox and Disconnect button - Provide Reconnect/disconnect functionalities (+tracking of connection state) - In GuiTools.AgentStateUpdateWatcher, add sig_connect and sig_disconnect wrapper methods to hold all info in instance - In CscaMain, add new command to be backported: rem_tracker_agent removing a ping tracker agent - In CscaMain, add gui_id member + setter command to ensure only one GUI interacts with the agent - In EcaGui - in closeEvent method, use these wrappers for the CSCA watchers - store CSCAs processes in a dict instead of members specific to each CSCA - add a generic create_csca_tab method using this widget - add a reconnectCsca method - Use only CscaCtrlTabWidget for all CSCAs (remove static tabs & corresponding methods blocks) - Add popup when closing the GUI to choose between Cancel/Close & Disconnect agents/Close & Terminate agents
-
- Mar 12, 2024
-
-
Pierre-Alain Loizeau authored
- Sca: Add command set_gui_agent_id - Sca: set master to ECA constant on startup - SCA GUI (QT): add disconnect button & ForceReconnect checkbox + fix layout size - ScaGui: keep track of whether an agent is currently attached (started or connected) with a flag - ScaGui: handle reconnected agents in termSca method - ScaGui: add disconnectSca method - ScaGui: fill the reconnectSca method (was only halfway implemented and not functional before) - ScaGui: add popup when closing the GUI in case an agent is still attached to ask user what should be done with it (disconnect or terminate) - ScaGui: add 10 ms delta to wait in sendCommand to avoid race condition with TO detection - EcaGui: add 10 ms delta to wait in sendCommand to avoid race condition with TO detection
-
- Mar 01, 2024
-
-
Pierre-Alain Loizeau authored
-
Pierre-Alain Loizeau authored
- Sca:make the Sca agent class callable as a poetry script - make it publish its state on startup - [TEMP]: overload get_combined_state to avoid crash if no subagent present when getting first status update - [TEMP]: add add_tracker_agent command to be backported to CmdCoreAgent - Add command to set On/Off the mCBM "user popup transitions" mode - For user popups, remove usage of QT Signal and replace it by request commands to GUI agent + setter commands to receive result - Use the new names conventions constants for the ECA agent ID - GuiAgent: - Add commands to trigger transition popups in GUI and send result back to attached SCA agent - Fix value of the top ID to match mCBM convention through constant usage - GuiTools: add new AgentPropertiesWatcher class to monitor all properties reported by a decoupled agent (ping + contact + master + state + conf tag) - In SCA GUI, decouple the SCA agent from the GUI - Replace internal uses of the SCA agent by GUI agent commands - Replace direct access to SCA agent properties by accessor commands emission or usage of new AgentPropertiesWatcher class - Add interface to reconnect to running bkgd SCA agent (using user selected name) - Connect transition popup methods to GuiAgent signals if running in mCBM popup mode - Send result to Sca agent through setter commands once popups return - Send request to master to add GUI as tracker when no ping received yet if not ECA - Clean disconnect of Watchers signals when closing - Add sendCommand method to hop through the GuiAgent and to minimize copy/paste from EcaPcaGui - SCA GUI: - Add GuiAgent start button - Add Agent Start/Reconnect buttons - Add line with current status of connection to Sca agent - Improve line with current status of connection to ECA and Master
-
Pierre-Alain Loizeau authored
- Introduce new GuiAgent based only on an EcsCoreAgent - Add new convention constant for GUI agents names - make the Eca agent class callable as a poetry script - make it publish its state on startup - improve timeout logging and fix memory management of reply in test_send_any (to be backported/renamed) - In GuiTools SubAgentsListWatcher, remove local "copied over sendCommand" part of sendRequest method - Add handle to sendCommand method of the overlaying GUI/Core agent as mandatory init parameter - Introduce SendFctHandle protocol class to properly handle mypy check of parameters in calls to it - GuiTools: fix flakeheaven errors/warnings - In ECA GUI, decouple the ECA agent from the GUI - Replace internal uses of the ECA agent by GUI agent - Replace direct access to ECA agent properties by accessor commands emission - Improve the sendCommand method to hop through the ECA for all other targets - Explicitely add/remove all CSCAs and PCAs as followed agent by GUI agent (not automatic as not top or master) - Add interface to reconnect to running bkgd ECA agent (easy as unique name = singleton) - Provide handle to sendCommand method to PCA tab widget to avoid copy/clone of it (passed to further lower layers) - disconnect the signal of each Watcher before terminating them (seem to fix 99% of the segfault occurences) - protect accesses to id_part_cscas with a threading lock - in PCA termination without cleanup by PCA, have CSCA take ownership/master of part CSCAs before terminating them - send add_tracker_agent with self ID as arg to ECA, CSCAs and PCA upon creation to get ping monitoring - improve timeout logging and fix memory management of replay in sendCommand - for Other/Free agents ctrl, send request to add GUI as tracker when no ping received yet - fix empty current state field in OtherAgent Tab (left on purpose nefore as redundant but was confusing in the end) - give own ID as tracker ID when asking main CSCAs to start the part CSCAs - In PCA Tab widget, decouple from ECA agent - Replace all usage of ECA agent by more generic GUI/Core agent - Add handle to sendCommand method of the overlaying GUI/Core agent as mandatory init parameter - Remove local sendCommand and replace by calls to handle of high one - disconnect the signal of each Watcher before terminating them (seem to fix 99% of the segfault occurences) - fix TOP ID to mCBM convention when removing an SCA from the partition - Provide sendCommand handle to ScaStatusWidget (see under) + send request to add GUI as tracker when no ping received yet - fix empty current state field in ScaCtrl Tab (left on purpose nefore as redundant but was confusing in the end) - CentralScaMainAgent: - rename term_part_sca method with signal to kill_part_sca and add real term_part_sca with commands to subagent - in start_part_sca, send add_tracker_agent command to newly created agent if optional tracker ID provided - fix cleanup of reply when optionally setting tracker for new Part CSCA - ScaStatusWidget: - Use sendCommand handle from top GUI to minimize copy-paste - send request to add GUI as tracker when no ping received yet - clean disconnect of Watcher signal when closing
-
- Feb 28, 2024
-
-
Pierre-Alain Loizeau authored
- Add new file to hold all central constants - Replace all raw string "ECA" with a central constant ID_ECA - Replace all CSCA IDs previously stored as ECA member variables by corresponding ID_XXXX constants
-
Pierre-Alain Loizeau authored
-
- Dec 15, 2023
-
-
Pierre-Alain Loizeau authored
-
Pierre-Alain Loizeau authored
-
Pierre-Alain Loizeau authored
- Add mcbm "user UI" mode to the SCA class + corresponding poetry command/call - Add two signal + result auxiliary classes to SCA class to trigger popups in ScaGui !!! brings dependency on PySide2 in Sca !!! - Add methods to emit signals for respectively normal transitions and error recovery + wait for result from GUI - Add methods for normal transitions and error recovery popups in ScaGui + connect them to Sca signals if in mcbm "user UI" mode
-
Pierre-Alain Loizeau authored
-
Pierre-Alain Loizeau authored
-
- Nov 10, 2023
-
-
Pierre-Alain Loizeau authored
- Bump lock file and readme to EcsCore v0.2.3 for the list_subagents command - ECA and PCA GUIs: move refresh calls position out of if/else blocks in method swapping timezones - In EcaGui: Use template TabWidget to create one tab for each new PCA - In EcaGui: keep track of Part CSCAs to prevent them being added to "free" SCAs lists - In EcaGui: Implement PCA merging, STILL LACKING PART CSCAS MERGING!! - In EcaGui: fix/cleanup PCA termination - In GuiTools: Add new watcher class/QThread to detect changes to the subagent list of an agent - In PCA control tab: Use template ScaStatusWidget to create a dynamic list of (C)SCAs and manage the attached watchers - In PCA: set itself as master for all subagents declared at creation of instance - In project settings, add flake and mypy exclusions for the new UI Widgets Python files - In example config JSON file, add tags for empty and test SCA demo partition cases
-
Pierre-Alain Loizeau authored
- Bump lock file and readme to EcsCore v0.2.2 + related cleanup - Add list_part_sca cmd in CentralScaMainAgent - Fix transitions in CentralScaPartAgent to auto-reach clean active state
-
Pierre-Alain Loizeau authored
- SCA selection for PCAat creation - unavailable and available SCAs list updates - fixes following EcsCore 0.2.1 - flakeheaven and mypy fixes
-