Package: semi-ate-control-app
Semi-ATESemiconductorAutomatedTestEquipmentSemi-ATEis a tester- and instrumentsAGNOSTICframework forSemiconductorATEASIC testing projects.This means that the system isnotbuild around a specific instrument (let's consider an ATE tester for a moment as a super instrument), it rather focuses on
organizing semiconductor testing in such a way thatalluse- (and special) corner cases have their well known place. This enables the users (read: DE's, TCE's, TE's & PE's) to focus on theREALwork, being the writing of good, fast and stable tests. Organizing tests into test-programs and test-programs in to flows is handled by wizards, so the only code that needs writing is the actual test! (motto:Code is our enemy)TheSemi-ATEpackage is written purely in Python (noarch) and provides besides libraries also a plugin to theSpyderIDE.PackagesThe Semi-ATE project is maintained in this single repository, however it is released as a set of packages (all with the same version number) to accomodate the different use-cases.Package NamePyPI Versionconda VersionfeedstockSemi-ATE-commonSemi-ATE-project-databaseSemi-ATE-sammySemi-ATE-pluginsSemi-ATE-testersSemi-ATE-spyderSemi-ATE-apps-commonSemi-ATE-control-appSemi-ATE-master-appSemi-ATE-test-appSemi-ATE-installer3rd party packages needed:mosquitto:Installation (on a MiniSCT)login as sct/sctin the home directory there should be a directoryreposinreposthere is aSemi-ATEdirectory (holding the relevant Semi-ATE git repositories)TCC_actuators: git cloneRun (on a MiniSCT)Make sure you have a "test cell" configured as follows :===
Installation of the packages can be achieved viacondaorpip.Installation using pipEach package can be installed usingpython -m pip install <package-name>:python -m pip install semi-ate-commonpython -m pip install semi-ate-project-databasepython -m pip install semi-ate-sammypython -m pip install semi-ate-pluginspython -m pip install semi-ate-testerspython -m pip install semi-ate-spyderpython -m pip install semi-ate-apps-commonpython -m pip install semi-ate-control-apppython -m pip install semi-ate-master-apppython -m pip install semi-ate-test-appOr all at once:python -m pip install semi-ate-common semi-ate-project-database semi-ate-sammy semi-ate-plugins semi-ate-testers semi-ate-spyder semi-ate-apps-common semi-ate-control-app semi-ate-master-app semi-ate-test-appInstallation via CondaTo be definedDevelopment ProcessTest program development process documentation can be foundhereThe semi-ate-control-app packageThis package provides some a command line tool (launch_control). In order to use this application you have to configure it first. This tool should be run on some test node, i.e. some host controlling measurement instruments. It communicates with the master application from thesemi-ate-master-apppackage by MQTT. The master application sends mqtt-messages to steer the control application. The control application itself is responsible for loading/unloading and executing some test-program. Test results, i.e. STDF records, are send back to the master application.ConfigurationConfiguration of the control application is done by writing a JSON file calledcontrol_config_file.json. The following key-value-pairs have to be defined:{"broker_host":"127.0.0.1","broker_port":1883,"device_id":"SCT-82-1F","site_id":"0","loglevel":10}broker_hostdefines the ip address of the mqtt broker.broker_portdefines the prot of the mqtt broker.device_iddefines a unique id of the so-called test-system. A test system can contain several host running he control applications. And some host running the master application.site_idis the unique identifier of the host running the control applicationlogleveldefines the log-level of the control applicationThedevice_idandsite_idis used to build unique mqtt-message-topics automatically. The idea is that no test-system influences some other test system.Starting the Control ApplicationWe assume that the semi-ate-control-app has been installed in the current python environment. Further configurationcontrol_config_file.jsonfile is located in the current folder.IMPORTANT: The configuration file has to be namedcontrol_config_file.json(environment)> launch_controlcontrol 0|21/03/2022 04:14:10 PM |INFO    |mqtt connectedcontrol 0|21/03/2022 04:14:10 PM |INFO    |control state is: idle