Skip to content
Snippets Groups Projects
Commit b0c360a0 authored by Christoph Schmidt's avatar Christoph Schmidt
Browse files

Updated files

parent 800c452f
No related branches found
No related tags found
No related merge requests found
......@@ -236,4 +236,7 @@ cython_debug/
# be found at https://github.com/github/gitignore/blob/main/Global/JetBrains.gitignore
# and can be added to the global gitignore or merged into this file. For a more nuclear
# option (not recommended) you can uncomment the following to ignore the entire idea folder.
#.idea/
\ No newline at end of file
#.idea/
flexsensor.log
autosave_configs/
.sim/
\ No newline at end of file
......@@ -7,7 +7,7 @@
<excludeFolder url="file://$MODULE_DIR$/src/FlexSensor/MeasurementEvaluation" />
<excludeFolder url="file://$MODULE_DIR$/src/FlexSensor/MeasurementEvaluationTool" />
</content>
<orderEntry type="jdk" jdkName="Python 3.12 (flexsensor)" jdkType="Python SDK" />
<orderEntry type="jdk" jdkName="Python 3.10 (flexsensor)" jdkType="Python SDK" />
<orderEntry type="sourceFolder" forTests="false" />
</component>
<component name="PackageRequirementsSettings">
......
......@@ -3,5 +3,5 @@
<component name="Black">
<option name="sdkName" value="Python 3.11 (pythonProject1)" />
</component>
<component name="ProjectRootManager" version="2" project-jdk-name="Python 3.12 (flexsensor)" project-jdk-type="Python SDK" />
<component name="ProjectRootManager" version="2" project-jdk-name="Python 3.10 (flexsensor)" project-jdk-type="Python SDK" />
</project>
\ No newline at end of file
# - Configuration file stored 2024-01-07 19:15:50.237051 -
LaserLibSimulatorConfig: #!!python/object:controller.LaserLibSimulatorConfig
currentWavelengthPositionIs: 0.0 # Current wavelength position: Current wavelength position in nm
current_wavelength: 840.0 # Current wavelength: Current wavelength in nm
velocity: 1.0 # Velocity: Velocity in nm/s
acceleration: 2.0 # Acceleration: Acceleration in nm/s^2
deceleration: 2.0 # Deceleration: Deceleration in nm/s^2
......@@ -16,13 +16,25 @@ If you find any bugs or have any suggestions, please open an issue.
![](https://upload.wikimedia.org/wikipedia/commons/f/f0/Baustelle-mittel.png)
# Installation
## Get the source files
Clone the repository to your local machine.
```bash
git clone git@gitlab.tugraz.at:flexsensor-public/flexsensor.git
```
Create a virtual environment (highly recommended) and install the dependencies.
```python
python -m venv .venv
source .venv/Scripts/Activate
python -m venv .venv;
source .venv/Scripts/Activate;
pip install -r requirements.txt
```
# Starting the software
To start the software, simply run the `examples/main.py` file.
```python
python main.py
```
# Measuring using Flexsensor
## Input Structure File
The measuring process relies on a ```vas```-File that store the positions to the structures. in priciple
......
# - Configuration file stored 2024-01-07 12:56:15.978896 -
FlexSensorConfig: #!!python/object:controller.FlexSensorConfig
wafer_version: "MaskARY1_Jakob_full" # Wafer Version: Wafer Version to be measured
wafer_number: "T40741W177G0" # Wafer Number: Wafer Number to be measured
output_directory: "@Path:<.>" # Output Directory: Measurement output directory
log_file: "fs.log" # Log File:
# Sub-Configurations
wafer_config: #!!python/object:controller.WaferConfig
dies: [29, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46] # dies: None
structure_file: "@Path:<H:/ET PhD - Dokumente/Silicon Photonics/FlexSensor 6/flexsensor-public/flexsensor/jakob.vas>" # structure_file: None
wafermap_file: "@Path:<H:/ET PhD - Dokumente/Silicon Photonics/FlexSensor 6/flexsensor-public/flexsensor/Wafermapary1_48dies.map>" # wafermap_file: None
log_file: "@Path:<{output_directory}/log_{date_time}.log>" # log_file: None
measurement_output: "@Path:<{output_directory}/measurement/measurement_{date_time}.csv>" # measurement_output: None
measurement_mat_file: "@Path:<{output_directory}/measurement/measurement_die_{die}_struct_{structure}_{date_time}_{it}.mat>" # measurement_mat_file: None
scope_image_file: "@Path:<{output_directory}/scope_shots/scope_{wafer_nr}_die_{die}_struct_{structure}_{time}.png>" # scope_image_file: None
bookmark_file: "@Path:<{output_directory}/klayout_bookmarks/bookmarks_{wafer_version}.lyb>" # bookmark_file: None
app_config: #!!python/object:controller.AppSettings
ENABLE_CUSTOM_TITLE_BAR: True # ENABLE_CUSTOM_TITLE_BAR: None
MENU_WIDTH: 240 # MENU_WIDTH: None
LEFT_BOX_WIDTH: 240 # LEFT_BOX_WIDTH: None
RIGHT_BOX_WIDTH: 240 # RIGHT_BOX_WIDTH: None
TIME_ANIMATION: 500 # TIME_ANIMATION: None
BTN_LEFT_BOX_COLOR: "background-color: rgb(44, 49, 58);" # BTN_LEFT_BOX_COLOR: None
BTN_RIGHT_BOX_COLOR: "background-color: #ff79c6;" # BTN_RIGHT_BOX_COLOR: None
MENU_SELECTED_STYLESHEET: " border-left: 22px solid qlineargradient(spread:pad, x1:0.034, y1:0, x2:0.216, y2:0, stop:0.499 rgba(255, 121, 198, 255), stop:0.5 rgba(85, 170, 255, 0)); background-color: rgb(40, 44, 52); " # MENU_SELECTED_STYLESHEET: None
laser_config: #!!python/object:controller.LaserConfig
wl_sweep_start: 830 # wl_sweep_start: None
wl_sweep_stop: 840 # wl_sweep_stop: None
velocity: 1.0 # velocity: None
acceleration: 1.0 # acceleration: None
deceleration: 2.0 # deceleration: None
available_ports: ['USB0', 'USB1', 'USB2', 'USB3', 'USB4', 'USB5', 'USB6', 'USB7', 'USB8', 'USB9'] # available_ports: None
port: "USB0" # port: None
captdev_config: #!!python/object:controller.CaptDeviceConfig
selected_device_index: 0 # Selected device: Selected device from the device list provided by the DreamWaves API.
sample_rate: 500 # Sample rate: Sample rate of the device
streaming_rate: 500 # Streaming rate: Streaming rate in Hz (should be below 1kHz)
ain_channel: <1>[(0, 'Channel 0'), (1, 'Channel 1')]> # -> 1 # Analog In Channel: Analog in channel. Defines which channel is used for capturing.
show_simulator: True # Show Simulators: Show available simulators in the device list provided by the DreamWaves API.
streaming_history: <3>[(100, '100 ms'), (200, '200 ms'), (500, '500 ms'), (1000, '1 s'), (2000, '2 s'), (5000, '5 s'), (10000, '10 s'), (20000, '20 s'), (30000, '30 s')]> # -> 1000 # Streaming history: Defines the range of the stream in ms
File moved
This diff is collapsed.
......@@ -12,11 +12,18 @@ from .controller.ProberController import ProberController as Controller
from .controller.OpticalProbesPosition import OpticalProbesPosition as ProbePosition
if os.getenv("VELOX_SIM") == "TRUE":
from .velox_api.simulator.VeloxSimulator import MessageServerInterface
from .velox_api.simulator.VeloxSimulator import (MessageServerInterface, SetChuckHome, SetMapHome,
ReadChuckPosition, ReadChuckHeights, MoveChuck,
SnapImage, GetDieDataAsColRow, StepToDie,
ReportKernelVersion)
try:
from .velox_api.simulator.VeloxSimulator import MessageServerInterface
from .velox_api.simulator.VeloxSimulator import (MessageServerInterface, SetChuckHome, SetMapHome,
ReadChuckPosition, ReadChuckHeights, MoveChuck,
SnapImage, GetDieDataAsColRow, StepToDie,
ReportKernelVersion)
except Exception as e:
from .velox_api.simulator.VeloxSimulator import MessageServerInterface
from .velox_api.simulator.VeloxSimulator import (MessageServerInterface, SetChuckHome, SetMapHome,
ReadChuckPosition, ReadChuckHeights, MoveChuck,
SnapImage, GetDieDataAsColRow, StepToDie,
ReportKernelVersion)
else:
try:
from .velox_api.velox.vxmessageserver import MessageServerInterface
......
This diff is collapsed.
This diff is collapsed.
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Please register or to comment