Add option to disable Refresh Modules code to use persistent config
Option exists on the Main Page of System Explorer
When enabled, do not call Refresh Modules during auto-detect or deployment
Why should this Pull Request be merged?
For customers with unique EtherCAT configurations, the default logic in the Custom Device can delete a working configuration file set on the RT Target. If the ECAT config was set programmatically or in LabVIEW, this setting allows users to detect and deploy to an existing configuration that is not regenerated in VeriStand.
What testing has been done?
Configured ECAT config in LabVIEW, deployed the ECAT Master, re-enabled VeriStand as the startup .rtexe, then auto-detected with the modified custom device build.
I tested with one EtherCAT AKD, making a 'fake revision' ESI file for it that wouldn't otherwise be detected by auto-detect in VeriStand. Then I deployed successfully.
Scan Engine Scripting.lvlib--Get Disable Refresh Modules.vi.png
![capture](https://raw.githubusercontent.com/niveristand-diff-bot/diff-images/master/ni/niveristand-scan-engine-ethercat-custom-device/PR-255/2023-09-25/11%3A52%3A55/Scan%20Engine%20Scripting.lvlib--Get%20Disable%20Refresh%20Modules.vi.png)Scan Engine Scripting.lvlib--Set Disable Refresh Modules.vi.png
![capture](https://raw.githubusercontent.com/niveristand-diff-bot/diff-images/master/ni/niveristand-scan-engine-ethercat-custom-device/PR-255/2023-09-25/11%3A52%3A55/Scan%20Engine%20Scripting.lvlib--Set%20Disable%20Refresh%20Modules.vi.png)SEECD Engine.lvlib--Build RT Data Cluster.vi.png
![capture](https://raw.githubusercontent.com/niveristand-diff-bot/diff-images/master/ni/niveristand-scan-engine-ethercat-custom-device/PR-255/2023-09-25/11%3A52%3A55/SEECD%20Engine.lvlib--Build%20RT%20Data%20Cluster.vi.png)SEECD Engine.lvlib--Get Local and ECAT Config.vi.png
![capture](https://raw.githubusercontent.com/niveristand-diff-bot/diff-images/master/ni/niveristand-scan-engine-ethercat-custom-device/PR-255/2023-09-25/11%3A52%3A55/SEECD%20Engine.lvlib--Get%20Local%20and%20ECAT%20Config.vi.png)SEECD Engine.lvlib--Get Master and Local Mod IOVs.vi.png
![capture](https://raw.githubusercontent.com/niveristand-diff-bot/diff-images/master/ni/niveristand-scan-engine-ethercat-custom-device/PR-255/2023-09-25/11%3A52%3A55/SEECD%20Engine.lvlib--Get%20Master%20and%20Local%20Mod%20IOVs.vi.png)SEECD Shared.lvlib--Property Strings.vi.png
![capture](https://raw.githubusercontent.com/niveristand-diff-bot/diff-images/master/ni/niveristand-scan-engine-ethercat-custom-device/PR-255/2023-09-25/11%3A52%3A55/SEECD%20Shared.lvlib--Property%20Strings.vi.png)SEECD System Explorer.lvlib--Get Scan Engine CD from Target.vi.png
![capture](https://raw.githubusercontent.com/niveristand-diff-bot/diff-images/master/ni/niveristand-scan-engine-ethercat-custom-device/PR-255/2023-09-25/11%3A52%3A55/SEECD%20System%20Explorer.lvlib--Get%20Scan%20Engine%20CD%20from%20Target.vi.png)SEECD System Explorer.lvlib--Host - Find Path.vi.png
![capture](https://raw.githubusercontent.com/niveristand-diff-bot/diff-images/master/ni/niveristand-scan-engine-ethercat-custom-device/PR-255/2023-09-25/11%3A52%3A55/SEECD%20System%20Explorer.lvlib--Host%20-%20Find%20Path.vi.png)SEECD System Explorer.lvlib--Host - Find Slave Path.vi.png
![capture](https://raw.githubusercontent.com/niveristand-diff-bot/diff-images/master/ni/niveristand-scan-engine-ethercat-custom-device/PR-255/2023-09-25/11%3A52%3A55/SEECD%20System%20Explorer.lvlib--Host%20-%20Find%20Slave%20Path.vi.png)SEECD System Explorer.lvlib--Main - Auto Detect Modules.vi.png
![capture](https://raw.githubusercontent.com/niveristand-diff-bot/diff-images/master/ni/niveristand-scan-engine-ethercat-custom-device/PR-255/2023-09-25/11%3A52%3A55/SEECD%20System%20Explorer.lvlib--Main%20-%20Auto%20Detect%20Modules.vi.png)SEECD System Explorer.lvlib--Scan Engine Main Page.vi.png
![capture](https://raw.githubusercontent.com/niveristand-diff-bot/diff-images/master/ni/niveristand-scan-engine-ethercat-custom-device/PR-255/2023-09-25/11%3A52%3A55/SEECD%20System%20Explorer.lvlib--Scan%20Engine%20Main%20Page.vi.png)
What does this Pull Request accomplish?
Add option to disable
Refresh Modules
code to use persistent configRefresh Modules
during auto-detect or deploymentWhy should this Pull Request be merged?
For customers with unique EtherCAT configurations, the default logic in the Custom Device can delete a working configuration file set on the RT Target. If the ECAT config was set programmatically or in LabVIEW, this setting allows users to detect and deploy to an existing configuration that is not regenerated in VeriStand.
What testing has been done?
Configured ECAT config in LabVIEW, deployed the ECAT Master, re-enabled VeriStand as the startup .rtexe, then auto-detected with the modified custom device build. I tested with one EtherCAT AKD, making a 'fake revision' ESI file for it that wouldn't otherwise be detected by auto-detect in VeriStand. Then I deployed successfully.