|
ENLIGHTEN
Cross-platform desktop GUI for Wasatch Photonics spectrometers
|
Note this script is currently coded to ENG-0120 BLE API rev 7. More...
Public Member Functions | |
| __init__ (self) | |
| Lifecycle. | |
| acquire_notification (self, sender, data) | |
| apply_startup_settings (self) | |
| Acquisition Parameters. | |
| battery_notification (self, sender, data) | |
| debug (self, msg) | |
| Utility. | |
| decode (self, data) | |
| detection_callback (self, device, advertisement_data) | |
| discovered device 13874014-5EDA-5E6B-220E-605D00FE86DF: WP-SiG:WP-01791, advertisement_data AdvertisementData(local_name='WP-SiG:WP-01791', service_uuids=['0000ff00-0000-1000-8000-00805f9b34fb', 'd1a7ff00-af78-4449-a34f-4da1afaf51bc'], tx_power=0, rssi=-67) | |
| disconnected_callback (self) | |
| display_eeprom (self) | |
| dump (self, device, advertisement_data) | |
| exercise_accessors (self) | |
| Accessors. | |
| exercise_generic_accessors (self) | |
| expand_path (self, name, data) | |
| generate_wavecal (self) | |
| get_battery_state (self) | |
| Monitor. | |
| get_generic_value (self, name) | |
| Generics. | |
| get_laser_state (self) | |
| get_name_by_uuid (self, uuid) | |
| get_spectrum (self) | |
| get_status (self) | |
| get_uuid_by_name (self, name) | |
| init_ramps (self) | |
| Ramps. | |
| is_xs (self, device, advertisement_data=None) | |
| laser_state_notification (self, sender, data) | |
| load_characteristics (self) | |
| load_device_information (self) | |
| monitor (self) | |
| parse_acquire_status (self, status, payload) | |
| parse_args (self) | |
| parse_eeprom_pages (self) | |
| parse_laser_state (self, data) | |
| perform_collection (self) | |
| Spectra. | |
| read_char (self, name, min_len=None, quiet=False) | |
| read_eeprom (self) | |
| EEPROM. | |
| read_eeprom_pages (self) | |
| tweaked version of get_generic_value | |
| run (self) | |
| search_for_devices (self) | |
| BLE Connection. | |
| set_gain_db (self, db) | |
| set_integration_time_ms (self, ms) | |
| set_laser_enable (self, flag) | |
| Laser Control. | |
| set_laser_tec_mode (self, str mode) | |
| set_laser_warning_delay_sec (self, sec) | |
| set_power_watchdog_sec (self, sec) | |
| Timeouts. | |
| set_scans_to_average (self, n) | |
| set_start_line (self, n) | |
| set_stop_line (self, n) | |
| set_vertical_roi (self, pair) | |
| stop_notifications (self) | |
| stop_scanning (self) | |
| sync_laser_state (self) | |
| unpack_eeprom_field (self, address, data_type, field) | |
| update_ramps (self, i) | |
| wrap_uuid (self, code) | |
| write_char (self, name, data, quiet=False, callback=None, ack_name=None) | |
Public Attributes | |
| acquire_notification = "ACQUIRE": | |
| args = parser.parse_args() | |
| battery_notification = "BATTERY_STATE": | |
| dict | char_by_name = {} |
| client = None | |
| dict | code_by_name |
| dict | device_info = {} |
| dict | eeprom = None |
| eeprom_field_loc = EEPROMFields.get_eeprom_fields() | |
| excitation = self.eeprom["excitation_nm_float"] | |
| generics = Generics() | |
| int | integration_time_ms = 0 |
| bool | keep_scanning = True |
| bool | laser_enable = False |
| laser_state_notification = "LASER_STATE": | |
| int | laser_warning_delay_sec = 3 |
| int | last_integration_time_ms = 2000 |
| last_spectrum_received = None | |
| dict | name_by_uuid = { self.wrap_uuid(code): name for name, code in self.code_by_name.items() } |
| notifications = set() | |
| list | pages = [] |
| pixels | |
| int | pixels_read = self.pixels: |
| list | ramped_avg = None |
| list | ramped_gain = None |
| list | ramped_integ = None |
| list | ramped_roi = None |
| bool | ramping = False |
| int | scans_to_average = 1 |
| list | spectrum = [0] * self.pixels |
| start_time = datetime.now() | |
| stop_scanning_event = asyncio.Event() | |
| list | wavelengths = [] |
| list | wavenumbers |
Static Public Attributes | |
| dict | ACQUIRE_STATUS_CODES |
| str | DISCOVERY_SERVICE = "0000ff00-0000-1000-8000-00805f9b34fb" |
| list | LASER_TEC_MODES = ['OFF', 'ON', 'AUTO', 'AUTO_ON'] |
| str | VERSION = "1.0.5" |
| str | WASATCH_SERVICE = "D1A7FF00-AF78-4449-A34F-4DA1AFAF51BC" |
Note this script is currently coded to ENG-0120 BLE API rev 7.
| ble-util.Fixture.__init__ | ( | self | ) |
Lifecycle.
| ble-util.Fixture.acquire_notification | ( | self, | |
| sender, | |||
| data ) |
| ble-util.Fixture.apply_startup_settings | ( | self | ) |
Acquisition Parameters.
| ble-util.Fixture.battery_notification | ( | self, | |
| sender, | |||
| data ) |
| ble-util.Fixture.debug | ( | self, | |
| msg ) |
Utility.
| ble-util.Fixture.decode | ( | self, | |
| data ) |
| ble-util.Fixture.detection_callback | ( | self, | |
| device, | |||
| advertisement_data ) |
discovered device 13874014-5EDA-5E6B-220E-605D00FE86DF: WP-SiG:WP-01791, advertisement_data AdvertisementData(local_name='WP-SiG:WP-01791', service_uuids=['0000ff00-0000-1000-8000-00805f9b34fb', 'd1a7ff00-af78-4449-a34f-4da1afaf51bc'], tx_power=0, rssi=-67)
| device | is a bleak.backends.device.BLEDevice |
| ble-util.Fixture.disconnected_callback | ( | self | ) |
| ble-util.Fixture.display_eeprom | ( | self | ) |
| ble-util.Fixture.dump | ( | self, | |
| device, | |||
| advertisement_data ) |
| ble-util.Fixture.exercise_accessors | ( | self | ) |
Accessors.
| ble-util.Fixture.exercise_generic_accessors | ( | self | ) |
| ble-util.Fixture.expand_path | ( | self, | |
| name, | |||
| data ) |
| ble-util.Fixture.generate_wavecal | ( | self | ) |
| ble-util.Fixture.get_battery_state | ( | self | ) |
Monitor.
These will be pushed automatically 1/min from Central, if-and-only-if no acquisition is occuring at the time of the scheduled event. However, at least some(?) clients (Bleak on MacOS) don't seem to receive the notifications until the next explicit read/write of a Characteristic (any Chararacteristic? seemingly observed with ACQUIRE_CMD).
| ble-util.Fixture.get_generic_value | ( | self, | |
| name ) |
| ble-util.Fixture.get_laser_state | ( | self | ) |
| ble-util.Fixture.get_name_by_uuid | ( | self, | |
| uuid ) |
| ble-util.Fixture.get_spectrum | ( | self | ) |
| ble-util.Fixture.get_status | ( | self | ) |
| ble-util.Fixture.get_uuid_by_name | ( | self, | |
| name ) |
| ble-util.Fixture.init_ramps | ( | self | ) |
Ramps.
| ble-util.Fixture.is_xs | ( | self, | |
| device, | |||
| advertisement_data = None ) |
| ble-util.Fixture.laser_state_notification | ( | self, | |
| sender, | |||
| data ) |
| ble-util.Fixture.load_characteristics | ( | self | ) |
| ble-util.Fixture.load_device_information | ( | self | ) |
| ble-util.Fixture.monitor | ( | self | ) |
| ble-util.Fixture.parse_acquire_status | ( | self, | |
| status, | |||
| payload ) |
| ble-util.Fixture.parse_args | ( | self | ) |
| ble-util.Fixture.parse_eeprom_pages | ( | self | ) |
| ble-util.Fixture.parse_laser_state | ( | self, | |
| data ) |
| ble-util.Fixture.perform_collection | ( | self | ) |
Spectra.
| ble-util.Fixture.read_char | ( | self, | |
| name, | |||
| min_len = None, | |||
| quiet = False ) |
| ble-util.Fixture.read_eeprom | ( | self | ) |
EEPROM.
| ble-util.Fixture.read_eeprom_pages | ( | self | ) |
tweaked version of get_generic_value
| ble-util.Fixture.run | ( | self | ) |
| ble-util.Fixture.search_for_devices | ( | self | ) |
BLE Connection.
| ble-util.Fixture.set_gain_db | ( | self, | |
| db ) |
| ble-util.Fixture.set_integration_time_ms | ( | self, | |
| ms ) |
| ble-util.Fixture.set_laser_enable | ( | self, | |
| flag ) |
Laser Control.
| ble-util.Fixture.set_laser_tec_mode | ( | self, | |
| str | mode ) |
| ble-util.Fixture.set_laser_warning_delay_sec | ( | self, | |
| sec ) |
| ble-util.Fixture.set_power_watchdog_sec | ( | self, | |
| sec ) |
Timeouts.
| ble-util.Fixture.set_scans_to_average | ( | self, | |
| n ) |
| ble-util.Fixture.set_start_line | ( | self, | |
| n ) |
| ble-util.Fixture.set_stop_line | ( | self, | |
| n ) |
| ble-util.Fixture.set_vertical_roi | ( | self, | |
| pair ) |
| ble-util.Fixture.stop_notifications | ( | self | ) |
| ble-util.Fixture.stop_scanning | ( | self | ) |
| ble-util.Fixture.sync_laser_state | ( | self | ) |
| ble-util.Fixture.unpack_eeprom_field | ( | self, | |
| address, | |||
| data_type, | |||
| field ) |
| ble-util.Fixture.update_ramps | ( | self, | |
| i ) |
| ble-util.Fixture.wrap_uuid | ( | self, | |
| code ) |
| ble-util.Fixture.write_char | ( | self, | |
| name, | |||
| data, | |||
| quiet = False, | |||
| callback = None, | |||
| ack_name = None ) |
| ble-util.Fixture.acquire_notification = "ACQUIRE": |
|
static |
| ble-util.Fixture.args = parser.parse_args() |
| ble-util.Fixture.battery_notification = "BATTERY_STATE": |
| dict ble-util.Fixture.char_by_name = {} |
| ble-util.Fixture.client = None |
| dict ble-util.Fixture.code_by_name |
| dict ble-util.Fixture.device_info = {} |
|
static |
| dict ble-util.Fixture.eeprom = None |
| ble-util.Fixture.eeprom_field_loc = EEPROMFields.get_eeprom_fields() |
| ble-util.Fixture.excitation = self.eeprom["excitation_nm_float"] |
| ble-util.Fixture.generics = Generics() |
| int ble-util.Fixture.integration_time_ms = 0 |
| bool ble-util.Fixture.keep_scanning = True |
| bool ble-util.Fixture.laser_enable = False |
| ble-util.Fixture.laser_state_notification = "LASER_STATE": |
|
static |
| int ble-util.Fixture.laser_warning_delay_sec = 3 |
| int ble-util.Fixture.last_integration_time_ms = 2000 |
| ble-util.Fixture.last_spectrum_received = None |
| dict ble-util.Fixture.name_by_uuid = { self.wrap_uuid(code): name for name, code in self.code_by_name.items() } |
| ble-util.Fixture.notifications = set() |
| ble-util.Fixture.pages = [] |
| ble-util.Fixture.pixels |
| int ble-util.Fixture.pixels_read = self.pixels: |
| ble-util.Fixture.ramped_avg = None |
| list ble-util.Fixture.ramped_gain = None |
| list ble-util.Fixture.ramped_integ = None |
| list ble-util.Fixture.ramped_roi = None |
| bool ble-util.Fixture.ramping = False |
| int ble-util.Fixture.scans_to_average = 1 |
| ble-util.Fixture.spectrum = [0] * self.pixels |
| ble-util.Fixture.start_time = datetime.now() |
| ble-util.Fixture.stop_scanning_event = asyncio.Event() |
|
static |
|
static |
| list ble-util.Fixture.wavelengths = [] |
| list ble-util.Fixture.wavenumbers |