diff --git a/JavaScript/.vscode/4992.json b/JavaScript/.vscode/4992.json new file mode 100644 index 0000000..0e57ab3 --- /dev/null +++ b/JavaScript/.vscode/4992.json @@ -0,0 +1,286 @@ +{ + "prodSpec": { + "keyId": 4992, + "specType": null, + "status": "Inactive", + "minutesPerWafer": 15.74, + "proveInTime": 381.7, + "layerType": "Standard 2 Layer", + "reactorType": "HTR", + "susceptorType": "GMSI", + "tubePressureType": "AP", + "recipeLayers": [ + { + "layerNo": 1, + "layerId": "L1", + "layerType": "DEP", + "layerRecipe": null, + "layerDopant": null, + "layerThickMin": 18.05, + "layerThickTarget": 19, + "layerThickMax": 19.95, + "layerThickUnits": "�m", + "layerThickAMin": null, + "layerThickATarget": null, + "layerThickAMaxes": null, + "layerThickAUnits": null, + "layerResMin": 1.9, + "layerResTarget": 2, + "layerResMax": 2.1, + "layerResUnits": "�-cm", + "layerSResMin": null, + "layerSResTarget": null, + "layerSResMax": null, + "layerSResUnits": null + }, + { + "layerNo": 2, + "layerId": "L2", + "layerType": "DEP", + "layerRecipe": null, + "layerDopant": null, + "layerThickMin": 20.9, + "layerThickTarget": 22, + "layerThickMax": 23.1, + "layerThickUnits": "�m", + "layerThickAMin": null, + "layerThickATarget": null, + "layerThickAMaxes": null, + "layerThickAUnits": null, + "layerResMin": 5.7, + "layerResTarget": 6, + "layerResMax": 6.3, + "layerResUnits": "�-cm", + "layerSResMin": null, + "layerSResTarget": null, + "layerSResMax": null, + "layerSResUnits": null + }, + { + "layerNo": 3, + "layerId": 2, + "layerType": "CMB", + "layerRecipe": null, + "layerDopant": null, + "layerThickMin": 38.95, + "layerThickTarget": 41, + "layerThickMax": 43.05, + "layerThickUnits": "�m", + "layerThickAMin": null, + "layerThickATarget": null, + "layerThickAMaxes": null, + "layerThickAUnits": null, + "layerResMin": null, + "layerResTarget": null, + "layerResMax": null, + "layerResUnits": null, + "layerSResMin": null, + "layerSResTarget": null, + "layerSResMax": null, + "layerSResUnits": null + } + ], + "prodVers": [ + { + "keyId": 14574 + } + ], + "epiPart": { + "keyID": "U021E", + "waferSize": "200 mm 8 in" + }, + "custEpiParts": [ + { + "keyId": "7113*U021E" + } + ], + "prsStages": [ + { + "keyId": "4992*UNLOAD", + "psn": 4992, + "stage": "UNLOAD", + "cleans": { + "cleanRecipe": null, + "cleanSigReq": false, + "cleanTools": [] + }, + "inspection": { + "microscope": false, + "brightlight": false, + "inspSigReq": false, + "inspInterval": null, + "frontSide": { + "lpd": null, + "scratches": null, + "scratchLen": null, + "pits": null, + "mounds": null, + "stackFaults": null, + "spikes": null, + "spots": null, + "blDefects": null + }, + "backSide": { + "scratches": null, + "scratchLen": null, + "nodules": null, + "spikes": null + } + }, + "surfscan": { + "surfscanSigReq": false, + "surfscanRecipes": [] + }, + "qaMetTests": [ + { + "test": "THICK_ONLY", + "property": "THICK", + "propertyDesc": "Thickness", + "toolClass": "FTIR", + "recipe": "8IN_INF", + "recipePattern": "8IN_INF", + "min": 38.95, + "max": 43.05, + "phaseMin": null, + "slots": "L", + "wfrQty": 1, + "reactSched": false, + "interval": 2, + "start": 1, + "sequence": "1, 3, 5..." + }, + { + "test": "CRES", + "property": "CRES", + "propertyDesc": "HgCv Res", + "toolClass": "HGCV", + "recipe": "8IN4_10.SET", + "recipePattern": "8IN4_10.SET", + "min": 5.385, + "max": 5.952, + "phaseMin": 88.5, + "slots": 1, + "wfrQty": 1, + "reactSched": true, + "interval": 8, + "start": 1, + "sequence": "1, 9, 17..." + } + ] + }, + { + "keyId": "4992*LWI", + "psn": 4992, + "stage": "LWI", + "cleans": { + "cleanRecipe": null, + "cleanSigReq": false, + "cleanTools": [] + }, + "inspection": { + "microscope": true, + "brightlight": true, + "inspSigReq": true, + "inspInterval": null, + "frontSide": { + "lpd": 20, + "scratches": 1, + "scratchLen": 1, + "pits": 1, + "mounds": 1, + "stackFaults": 10, + "spikes": 5, + "spots": 3, + "blDefects": 1 + }, + "backSide": { + "scratches": 1, + "scratchLen": 1, + "nodules": null, + "spikes": null + } + }, + "surfscan": { + "surfscanSigReq": true, + "surfscanRecipes": [ + { + "recipe": "8IN_IFX_ROTR", + "defects": 40, + "haze": 2, + "sampleSize": 6 + }, + { + "recipe": "IFX100_ROTR", + "defects": 40, + "haze": 2, + "sampleSize": 25 + } + ] + } + }, + { + "keyId": "4992*QA", + "psn": 4992, + "stage": "QA", + "cleans": { + "cleanRecipe": null, + "cleanSigReq": false, + "cleanTools": [] + }, + "inspection": { + "microscope": false, + "brightlight": false, + "inspSigReq": false, + "inspInterval": null, + "frontSide": { + "lpd": null, + "scratches": null, + "scratchLen": null, + "pits": null, + "mounds": null, + "stackFaults": null, + "spikes": null, + "spots": null, + "blDefects": null + }, + "backSide": { + "scratches": null, + "scratchLen": null, + "nodules": null, + "spikes": null + } + }, + "surfscan": { + "surfscanSigReq": false, + "surfscanRecipes": [] + }, + "qaMetTests": [ + { + "test": "ADE", + "property": "THICK", + "propertyDesc": "Thickness", + "toolClass": "FTIR", + "recipe": "8IN_INF", + "recipePattern": "Centerpoint", + "min": 38.95, + "max": 43.05, + "phaseMin": null, + "slots": 1, + "wfrQty": 1, + "reactSched": false, + "interval": 1, + "start": 1, + "sequence": "1, 2, 3..." + } + ] + } + ] + }, + "_links": { + "self": { + "href": "https://messa014.infineon.com/api/oiWizard/materials/PROD_SPEC/4992", + "title": "Self" + } + }, + "_class": "resource" +} \ No newline at end of file diff --git a/JavaScript/.vscode/5227.json b/JavaScript/.vscode/5227.json new file mode 100644 index 0000000..9ec8be9 --- /dev/null +++ b/JavaScript/.vscode/5227.json @@ -0,0 +1,316 @@ +{ + "prodSpec": { + "keyId": 5227, + "specType": "Production", + "status": "Active", + "minutesPerWafer": 15.99, + "proveInTime": 339.8, + "layerType": "Standard 1 Layer", + "reactorType": "ASM", + "susceptorType": "GMSI", + "tubePressureType": "AP", + "recipeLayers": [ + { + "layerNo": 1, + "layerId": "L1", + "layerType": "DEP", + "layerRecipe": 946, + "layerDopant": "Phosphorus", + "layerThickMin": 21.15, + "layerThickTarget": 21.8, + "layerThickMax": 22.45, + "layerThickUnits": "�m", + "layerThickAMin": null, + "layerThickATarget": null, + "layerThickAMaxes": null, + "layerThickAUnits": null, + "layerResMin": 5.102, + "layerResTarget": 5.26, + "layerResMax": 5.418, + "layerResUnits": "�-cm", + "layerSResMin": null, + "layerSResTarget": null, + "layerSResMax": null, + "layerSResUnits": null + } + ], + "prodVers": [ + { + "keyId": 15185 + }, + { + "keyId": 15186 + }, + { + "keyId": 15187 + }, + { + "keyId": 15526 + } + ], + "epiPart": { + "keyID": "U108", + "waferSize": "200 mm 8 in" + }, + "custEpiParts": [ + { + "keyId": "7127*U108" + } + ], + "prsStages": [ + { + "keyId": "5227*UNLOAD", + "psn": 5227, + "stage": "UNLOAD", + "cleans": { + "cleanRecipe": null, + "cleanSigReq": false, + "cleanTools": [] + }, + "inspection": { + "microscope": false, + "brightlight": false, + "inspSigReq": false, + "inspInterval": null, + "frontSide": { + "lpd": null, + "scratches": null, + "scratchLen": null, + "pits": null, + "mounds": null, + "stackFaults": null, + "spikes": null, + "spots": null, + "blDefects": null + }, + "backSide": { + "scratches": null, + "scratchLen": null, + "nodules": null, + "spikes": null + } + }, + "surfscan": { + "surfscanSigReq": false, + "surfscanRecipes": [] + }, + "qaMetTests": [ + { + "test": "THICK_ONLY", + "property": "THICK", + "propertyDesc": "Thickness", + "toolClass": "FTIR", + "recipe": "PROD_8inch", + "recipePattern": "14PT_3mm", + "min": 21.05, + "max": 22.45, + "phaseMin": null, + "slots": "L", + "wfrQty": 1, + "reactSched": false, + "interval": 2, + "start": 1, + "sequence": "1, 3, 5..." + }, + { + "test": "CRES", + "property": "CRES", + "propertyDesc": "HgCv Res", + "toolClass": "HGCV", + "recipe": "8IN4_10.SET", + "recipePattern": "8IN4_10.SET", + "min": 4.74, + "max": 5.47, + "phaseMin": 88.5, + "slots": 1, + "wfrQty": 1, + "reactSched": true, + "interval": 8, + "start": 1, + "sequence": "1, 9, 17..." + } + ] + }, + { + "keyId": "5227*LWI", + "psn": 5227, + "stage": "LWI", + "cleans": { + "cleanRecipe": null, + "cleanSigReq": false, + "cleanTools": [] + }, + "inspection": { + "microscope": true, + "brightlight": true, + "inspSigReq": true, + "inspInterval": 2, + "frontSide": { + "lpd": 20, + "scratches": 1, + "scratchLen": 1, + "pits": 1, + "mounds": 1, + "stackFaults": 10, + "spikes": 5, + "spots": 4, + "blDefects": 1 + }, + "backSide": { + "scratches": 1, + "scratchLen": 1, + "nodules": 10, + "spikes": null + } + }, + "surfscan": { + "surfscanSigReq": true, + "surfscanRecipes": [ + { + "recipe": "8IN_IFX_ROTR", + "defects": 40, + "haze": 2, + "sampleSize": 3 + }, + { + "recipe": "IFX100_ROTR", + "defects": 40, + "haze": 2, + "sampleSize": 6 + }, + { + "recipe": "IFX25_ROTR", + "defects": 40, + "haze": 2, + "sampleSize": 25 + } + ] + } + }, + { + "keyId": "5227*POST", + "psn": 5227, + "stage": "POST", + "cleans": { + "cleanRecipe": "8INCLEAN", + "cleanSigReq": false, + "cleanTools": [] + }, + "inspection": { + "microscope": false, + "brightlight": false, + "inspSigReq": false, + "inspInterval": null, + "frontSide": { + "lpd": null, + "scratches": null, + "scratchLen": null, + "pits": null, + "mounds": null, + "stackFaults": null, + "spikes": null, + "spots": null, + "blDefects": null + }, + "backSide": { + "scratches": null, + "scratchLen": null, + "nodules": null, + "spikes": null + } + }, + "surfscan": { + "surfscanSigReq": false, + "surfscanRecipes": [ + { + "recipe": "IFXPOSTCLEAN", + "defects": 40, + "haze": 2, + "sampleSize": null + } + ] + } + }, + { + "keyId": "5227*QA", + "psn": 5227, + "stage": "QA", + "cleans": { + "cleanRecipe": null, + "cleanSigReq": false, + "cleanTools": [] + }, + "inspection": { + "microscope": false, + "brightlight": false, + "inspSigReq": false, + "inspInterval": null, + "frontSide": { + "lpd": null, + "scratches": null, + "scratchLen": null, + "pits": null, + "mounds": null, + "stackFaults": null, + "spikes": null, + "spots": null, + "blDefects": null + }, + "backSide": { + "scratches": null, + "scratchLen": null, + "nodules": null, + "spikes": null + } + }, + "surfscan": { + "surfscanSigReq": false, + "surfscanRecipes": [] + }, + "qaMetTests": [ + { + "test": "ADE", + "property": "THICK", + "propertyDesc": "Thickness", + "toolClass": "FTIR", + "recipe": "8inch Centerpoint", + "recipePattern": "Centerpoint", + "min": 21.05, + "max": 22.45, + "phaseMin": null, + "slots": 1, + "wfrQty": 1, + "reactSched": false, + "interval": 1, + "start": 1, + "sequence": "1, 2, 3..." + }, + { + "test": "ADE", + "property": "THICK", + "propertyDesc": "Thickness", + "toolClass": "FTIR", + "recipe": "8inch Centerpoint", + "recipePattern": "Centerpoint", + "min": 21.05, + "max": 22.45, + "phaseMin": null, + "slots": "L", + "wfrQty": 1, + "reactSched": false, + "interval": 1, + "start": 1, + "sequence": "1, 2, 3..." + } + ] + } + ] + }, + "_links": { + "self": { + "href": "http://messa014.infineon.com/api/oiWizard/materials/PROD_SPEC/5227", + "title": "Self" + } + }, + "_class": "resource" +} \ No newline at end of file diff --git a/JavaScript/.vscode/launch.json b/JavaScript/.vscode/launch.json new file mode 100644 index 0000000..8aaeb39 --- /dev/null +++ b/JavaScript/.vscode/launch.json @@ -0,0 +1,11 @@ +{ + "version": "0.2.0", + "configurations": [ + { + "type": "node", + "request": "launch", + "name": "Launch Current Opened File", + "program": "${file}" + } + ] + } \ No newline at end of file diff --git a/JavaScript/index.js b/JavaScript/index.js new file mode 100644 index 0000000..e36ffd6 --- /dev/null +++ b/JavaScript/index.js @@ -0,0 +1,21 @@ +var _apiUrl = "http://messa014.infineon.com/api/oiWizard"; + +fetch(_apiUrl + '/materials/PROD_SPEC/4992', { method: 'GET' }) + .then(response => response.json()) + .then(data => { + for (const prsStage of data.prodSpec.prsStages) { + if (!prsStage.qaMetTests) + continue; + for (const qaMetTest of prsStage.qaMetTests) { + console.log(qaMetTest.test); + console.log(qaMetTest.slots); + console.log(qaMetTest.recipe); + console.log(qaMetTest.recipePattern); + if (qaMetTest.test !== 'THICK_ONLY') + continue; + console.log(qaMetTest.min); + console.log(qaMetTest.max); + } + } + }) + .catch(error => console.log(error)); \ No newline at end of file diff --git a/azure-pipelines-server.yml b/azure-pipelines-server.yml index 93aaaa2..c96cadb 100644 --- a/azure-pipelines-server.yml +++ b/azure-pipelines-server.yml @@ -46,7 +46,7 @@ stages: workingDirectory: Server displayName: "Safe storage of app secrets - Server" - - script: "dotnet build --configuration $(BuildConfiguration)" + - script: "dotnet build --configuration $(BuildConfiguration) --source https://eaf-prod.mes.infineon.com/v3/index.json" workingDirectory: Server displayName: "Core Build - Server"