Hi Dave,
The waveform looks like 7 BCD protocol but the data is inverted. I can't remember if any versions of Yuriy's code support this protocol. This is a link to a website that shows the 7 BCD code. I have a powerfix caliper (From Lidle) but the one I have looks like 2 x 24 bit protocol.
This is some notes I made on the 7 BCD protocol on a set of calipers bought from Neto many years ago.
————————————————————————-
7 BCD Scales
LSB Sent first.
Static state of clock line between frames Low
Time between start of frames 330 mS
Length of data frame 820 uS
Interrecord gap 329 mS
Time between stat of nibbles within frame 110 uS
Length of clock cycle about 12 uS
Time clock pulse is negative about 6 uS
Time clock pulse is positive about 6 uS
High level at start of frame about 55 uS
High level between nibbles about 60 uS
High level at end of frame about 60 uS
Clock in the data on the negative going edge.
Top nibble
Bit 0: sign. L = +, H = –
Bit 1: in inch-mode H means +0,0005 inch, unused in mm-mode.
Bit 2: unit: mm/inch. H= mm; L= inch
Bit 3: unknown.
28 bits in a frame of data
CPI 2540 (Metric)
————————————————————————-
My interface design using an ATtiny4313 worked with this 7 BCD caliper. Let me know if you would like a copy of the source code (Written in assembler.) It may give you some ideas to write a version in "C" to run on the arduino.
Les.