Skip to content
Snippets Groups Projects

explicitly load the bwtek library

Merged Christoph Lange requested to merge dockerfile_for_spectrometer_server into main
8 files
+ 103
55
Compare changes
  • Side-by-side
  • Inline
Files
8
import ctypes
import json
import os
import grpc
import logging
@@ -17,11 +19,23 @@ logger = logging.getLogger(__name__)
class SpectrometerServicer(RamanChefServicer):
def startup_procedure(self, default_channel):
def startup_procedure(self, default_channel, bwtek_dll_path: str = ""):
self.default_channel = default_channel
self.spectrometer_configs = initialize_spectrometer()
logger.debug("Initialized %s spectrometers", len(self.spectrometer_configs))
set_temperatures(self.spectrometer_configs)
if bool(os.environ.get("BWTEK_MOCK", "False")):
self.bwtek_dll = None
else:
self.bwtek_dll = ctypes.CDLL(bwtek_dll_path)
self.spectrometer_configs = initialize_spectrometer(
bwtek_dll=self.bwtek_dll,
)
logger.debug(
"Initialized %s spectrometers", len(self.spectrometer_configs)
)
set_temperatures(
self.spectrometer_configs, bwtek_dll=self.bwtek_dll
)
logger.debug("Set temperatures according to EEPROM values")
def record_spectrum(
self: Self,
@@ -33,6 +47,7 @@ class SpectrometerServicer(RamanChefServicer):
request.duration,
request.laser_power,
self.default_channel,
bwtek_dll=self.bwtek_dll
)
response = RecordSpectrumResponse(
spectrometer_config_json=json.dumps(
Loading