- number = number/100
- if self.options['unit'] == 'inch':
- number = round(number/inchmm,4)
- inch = 1
-
- units = "in" if inch else "mm"
-
- measurement = (str(number)+units)
- #print(measurement)
-
- if ((self.options['changes'] == 'no') or (self.last_measurement != measurement)):
- self.put(self.ss_cmd, self.es_cmd, self.out_ann, [0, [measurement, str(number)]])
- self.last_measurement = measurement
-
- #Prepare for next packet
+ number /= 100
+ if want_unit == 'inch':
+ number = round(number / mm_per_inch, 4)
+ is_inch = True
+ unit = 'in' if is_inch else 'mm'
+
+ # Construct and emit an annotation.
+ if show_all or (number, unit) != last_sent:
+ self.putg(self.ss, self.es, 0, [
+ '{number}{unit}'.format(**locals()),
+ '{number}'.format(**locals()),
+ ])
+ last_sent = (number, unit)
+
+ # Reset internal state for the start of the next packet.