Skip to content

Commit 5d0699b

Browse files
Merge pull request #90 from DiamondLightSource/revert_algo
Revert algo
2 parents 2f10933 + b87fd0e commit 5d0699b

File tree

9 files changed

+56
-104
lines changed

9 files changed

+56
-104
lines changed

.gitignore

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -12,3 +12,4 @@ dist
1212
qt.conf
1313
*.exe
1414
main.spec
15+
debug.log

dls_barcode/geometry/unipuck.py

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -15,7 +15,7 @@ class Unipuck:
1515
TYPE_NAME = "Unipuck"
1616
NUM_SLOTS = Template.NUM_SLOTS
1717

18-
def __init__(self, center, radius, rotation=math.pi/4, feature_center=None, feature_boarder=None):
18+
def __init__(self, center, radius, rotation=0.0, feature_center=None, feature_boarder=None):
1919
# rotation=math.pi/2 - align the read dot of the camera with the screw
2020
""" Determine the puck geometry (position and orientation) for the locations of the
2121
centers of some (or all of the pins).

dls_barcode/geometry/unipuck_calculator.py

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -109,8 +109,8 @@ def _determine_puck_orientation(puck, pin_centers):
109109
original_angle = puck.angle()
110110

111111
# For each angular increment, calculate the sum of squared errors in slot center position
112-
for a in range(-16, 16, 1):
113-
angle = original_angle + a / (180 / math.pi)
112+
for a in range(0, 360, 2):
113+
angle = a / (180 / math.pi)
114114
puck.set_rotation(angle)
115115
sse = 0
116116
for p in pin_centers:

dls_barcode/gui/main_window.py

Lines changed: 17 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,4 @@
1+
from dls_barcode.camera.scanner_message import ScanErrorMessage
12
from dls_barcode.frame_grabber_controller import FrameGrabberController
23
from dls_util.beeper import Beeper
34

@@ -125,26 +126,30 @@ def set_actions_triger(self):
125126
self._record_table.cell_pressed_action_triggered(self._stop_frame_grabber)
126127

127128
def _stop_frame_grabber(self):
129+
self._log.debug("Frame grabber stopper")
128130
self._scan_button.setStartLayout()
129131
self.resetCountdown()
130132
self._frame_grabber_controller.kill_grabber_thread()
131133

132134
def _start_frame_grabber(self):
135+
self._log.debug("Frame grabber started")
133136
self._scan_button.setStopLayout()
134137
self._frame_grabber_controller.start_grabber_thread(self.displayHolderFrame, self.displayPuckFrame,
135138
self.displayCameraErrorMessage)
136139

137140
def _on_about_action_clicked(self):
141+
self._log.debug("About menu clicked")
138142
QtWidgets.QMessageBox.about(self, 'About', "Version: " + self._version)
139143

140144
def _on_scan_action_clicked(self):
141-
self._log.debug("MAIN: Scan menu clicked")
145+
self._log.debug("Scan menu clicked")
142146
if self._scan_button.is_running():
143147
self._stop_frame_grabber()
144148
else:
145149
self._start_frame_grabber()
146150

147151
def _on_options_action_clicked(self):
152+
self._log.debug("Options menu clicked")
148153
self._frame_grabber_controller.kill_grabber_thread()
149154
dialog = BarcodeConfigDialog(self._config)
150155
self._stop_frame_grabber()
@@ -157,6 +162,7 @@ def closeEvent(self, event):
157162
event.accept()
158163

159164
def displayCameraErrorMessage(self):
165+
self._log.debug("Camera Error")
160166
message_box = QMessageBox(self)
161167
message_box.setIcon(QMessageBox.Critical)
162168
message_box.setWindowTitle("Camera Error")
@@ -173,6 +179,7 @@ def displayCameraErrorMessage(self):
173179

174180
def displayPuckScanCompleteMessage(self):
175181
self._message_box.display(MessageFactory.puck_scan_completed_message())
182+
self._log.debug("Puck scan complete")
176183

177184
def clear_frame(self):
178185
self._result_frame.clear_frame()
@@ -181,6 +188,7 @@ def displayScanTimeoutMessage(self):
181188
if self._config.get_scan_beep():
182189
Beeper.beep()
183190
self._message_box.display(MessageFactory.scan_timeout_message())
191+
self._log.debug("Scan timeout")
184192

185193
@pyqtSlot(Frame)
186194
def displayPuckFrame(self, frame):
@@ -195,6 +203,7 @@ def displayHolderFrame(self, frame):
195203
self._holder_frame.display_image(frame.frame_to_image())
196204

197205
def _load_store_records(self):
206+
self._log.debug("Stored records loaded")
198207
self._record_table._load_store_records()
199208

200209
def addRecordFrame(self, top_result, side_result):
@@ -206,12 +215,15 @@ def addRecordFrame(self, top_result, side_result):
206215
self._plate_beep(plate, self._config.get_scan_beep())
207216

208217
def startCountdown(self, duration):
218+
self._log.debug("Countdown started")
209219
self._countdown_box.start_countdown(duration)
210220

211221
def resetCountdown(self):
222+
self._log.debug("Countdown re-set")
212223
self._countdown_box.reset_countdown()
213224

214225
def scanCompleted(self):
226+
self._log.debug("Countdown completed")
215227
self._countdown_box.scan_completed()
216228

217229
def is_latest_holder_barcode(self, result_barcode):
@@ -228,8 +240,10 @@ def _plate_beep(self, plate, do_beep):
228240

229241
#@pyqtSlot(ScanErrorMessage)
230242
#def displayScanErrorMessage(self, scanner_msg):
231-
# self._message_box.display(MessageFactory.from_scanner_message(scanner_msg))
243+
#self._message_box.display(MessageFactory.from_scanner_message(scanner_msg))
244+
#self._log.debug("Scan Error message", scanner_msg.content())
232245

233-
#@pyqtSlot(ScanErrorMessage)
246+
#pyqtSlot(ScanErrorMessage)
234247
#def clear_frame_display_message(self, scanner_msg):
235248
# self._result_frame.clear_frame_and_set_text(scanner_msg.content())
249+

dls_barcode/version.py

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1 +1 @@
1-
VERSION = "v1.6.0"
1+
VERSION = "v1.7.0"

dls_util/logging/process_logging.py

Lines changed: 0 additions & 73 deletions
This file was deleted.
Lines changed: 17 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,17 @@
1+
Release Notes (Development)
2+
===========================
3+
4+
Changes merged into master
5+
--------------------------
6+
| Jira Task | GitHub Issue | Type | Description |
7+
|-----------|--------------|------|-------------|
8+
| - | - |Minor |Rall back to the previous version of the puck orientation algo|
9+
| - | - |Minor |Add more logs and log to a local file only|
10+
11+
Change Types:
12+
* Major - Backward incompatible change
13+
* Minor - Backward compatible change in API/functionality
14+
* Patch - Bug fix, no change in functionality
15+
16+
17+

logconfig.py

Lines changed: 12 additions & 20 deletions
Original file line numberDiff line numberDiff line change
@@ -8,7 +8,6 @@
88
import json
99
import logging.config
1010
import logging.handlers
11-
import getpass
1211
import threading
1312

1413

@@ -41,34 +40,27 @@
4140
"formatter": "simple",
4241
"stream": "ext://sys.stdout"
4342
},
44-
45-
"graylog_gelf": {
46-
"class": "pygelf.GelfUdpHandler",
47-
"level": "INFO",
48-
# Obviously a DLS-specific configuration: the graylog server address and port
49-
# Use the input "Load Balanced GELF TCP" on graylog2.
50-
"host": "graylog2.diamond.ac.uk",# "localhost", - use locaklhost for tests
51-
"port": 12201,
52-
"debug": True,
53-
# The following custom fields will be disabled if setting this False
54-
"include_extra_fields": True,
55-
"username": getpass.getuser(),
56-
"pid": os.getpid(),
57-
"application": "BarcodeScanner",
58-
"facility": "XChem",
59-
"_version": version.VERSION
43+
44+
"local_file_handler": {
45+
"class": "logging.handlers.RotatingFileHandler",
46+
# "class": "logging.handlers.FileHandler",
47+
"level": "DEBUG",
48+
"formatter": "extended",
49+
"filename": "debug.log",
50+
"maxBytes": MAXBYTES,
51+
"backupCount": BACKUPCOUNT,
52+
"encoding": ENCODING,
53+
"delay" : True
6054
},
6155

6256
},
6357
"root": {
6458
# Set the level here to be the default minimum level of log record to be produced
6559
# If you set a handler to level DEBUG you will need to set either this level
6660
"level": "DEBUG",
67-
"handlers": ["console", "graylog_gelf"]
61+
"handlers": ["local_file_handler"] #["console", "local_file_handler"]
6862
}
6963
}
70-
71-
7264
class ThreadContextFilter(logging.Filter):
7365
"""A logging context filter to add thread name and ID."""
7466

main.py

Lines changed: 5 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
from dls_barcode.gui.main_window import DiamondBarcodeMainWindow
2-
32
import logging
3+
import logconfig
44
import sys
55

66
from os.path import dirname
@@ -29,14 +29,15 @@
2929

3030

3131
def main(config_file, version):
32-
# Start process logge
32+
# Start process logger
33+
logconfig.setup_logging()
3334

3435
log = logging.getLogger(".".join([__name__]))
3536
log.info("CONFIG: " + config_file)
36-
37+
log.debug(version)
3738
app = QtWidgets.QApplication(sys.argv)
3839
config = BarcodeConfig(config_file, FileManager())
39-
ui = DiamondBarcodeMainWindow(config, version, None)
40+
ui = DiamondBarcodeMainWindow(config, 'version', None)
4041

4142

4243
ui.set_actions_triger()

0 commit comments

Comments
 (0)