ENLIGHTEN
Cross-platform desktop GUI for Wasatch Photonics spectrometers
Loading...
Searching...
No Matches
wasatch.WrapperWorker.WrapperWorker Class Reference

Continuously process in background thread. More...

Inheritance diagram for wasatch.WrapperWorker.WrapperWorker:
[legend]
Collaboration diagram for wasatch.WrapperWorker.WrapperWorker:
[legend]

Public Member Functions

 __init__ (self, device_id, command_queue, response_queue, settings_queue, message_queue, is_ocean, is_andor, is_spi, is_ble, is_tcp, is_ids, log_level, callback=None, alert_queue=None)
 
 dedupe (self, Queue q)
 
 run (self)
 This is essentially the main() loop in a thread.
 

Public Attributes

 alert_queue = alert_queue
 
 callback = callback
 
 command_queue = command_queue
 
 connected_device = None
 
 device_id = device_id
 
bool initial_connection_logging = True
 
 is_andor = is_andor
 
 is_ble = is_ble
 
 is_ids = is_ids
 
 is_ocean = is_ocean
 
 is_spi = is_spi
 
 is_tcp = is_tcp
 
 log_level = log_level
 
 message_queue = message_queue
 
 response_queue = response_queue
 
 settings_queue = settings_queue
 
 thread_start = datetime.now()
 

Static Public Attributes

int DEBUG_SEC = 20
 
float POLLER_WAIT_SEC = 0.005
 

Detailed Description

Continuously process in background thread.

While waiting forever for the None poison pill on the command queue, continuously read from the device and post the results on the response queue.

Consider moving this class, and WasatchDeviceWrapper, our of Wasatch.PY and into ENLIGHTEN. Let Wasatch.PY be a simple single-spectrometer blocking driver, similar to Wasatch.NET and Wasatch.VCPP. No need to have Wasatch.PY handle the threads.

Constructor & Destructor Documentation

◆ __init__()

wasatch.WrapperWorker.WrapperWorker.__init__ ( self,
device_id,
command_queue,
response_queue,
settings_queue,
message_queue,
is_ocean,
is_andor,
is_spi,
is_ble,
is_tcp,
is_ids,
log_level,
callback = None,
alert_queue = None )

Member Function Documentation

◆ dedupe()

wasatch.WrapperWorker.WrapperWorker.dedupe ( self,
Queue q )

◆ run()

wasatch.WrapperWorker.WrapperWorker.run ( self)

This is essentially the main() loop in a thread.

All communications with the parent thread are routed through one of the three queues (cmd inputs, response outputs, and a one-shot SpectrometerSettings).

Member Data Documentation

◆ alert_queue

wasatch.WrapperWorker.WrapperWorker.alert_queue = alert_queue

◆ callback

wasatch.WrapperWorker.WrapperWorker.callback = callback

◆ command_queue

wasatch.WrapperWorker.WrapperWorker.command_queue = command_queue

◆ connected_device

wasatch.WrapperWorker.WrapperWorker.connected_device = None

◆ DEBUG_SEC

wasatch.WrapperWorker.WrapperWorker.DEBUG_SEC = 20
static

◆ device_id

wasatch.WrapperWorker.WrapperWorker.device_id = device_id

◆ initial_connection_logging

bool wasatch.WrapperWorker.WrapperWorker.initial_connection_logging = True

◆ is_andor

wasatch.WrapperWorker.WrapperWorker.is_andor = is_andor

◆ is_ble

wasatch.WrapperWorker.WrapperWorker.is_ble = is_ble

◆ is_ids

wasatch.WrapperWorker.WrapperWorker.is_ids = is_ids

◆ is_ocean

wasatch.WrapperWorker.WrapperWorker.is_ocean = is_ocean

◆ is_spi

wasatch.WrapperWorker.WrapperWorker.is_spi = is_spi

◆ is_tcp

wasatch.WrapperWorker.WrapperWorker.is_tcp = is_tcp

◆ log_level

wasatch.WrapperWorker.WrapperWorker.log_level = log_level

◆ message_queue

wasatch.WrapperWorker.WrapperWorker.message_queue = message_queue

◆ POLLER_WAIT_SEC

float wasatch.WrapperWorker.WrapperWorker.POLLER_WAIT_SEC = 0.005
static

◆ response_queue

wasatch.WrapperWorker.WrapperWorker.response_queue = response_queue

◆ settings_queue

wasatch.WrapperWorker.WrapperWorker.settings_queue = settings_queue

◆ thread_start

wasatch.WrapperWorker.WrapperWorker.thread_start = datetime.now()

The documentation for this class was generated from the following file: