- cntr/cntr.sch: change input circuit according to ECN0006
- cntr/cntr.sch: make P2_0 yet another version ID input
- cntr/cntr.cmp: surprise, this wasn't checked in either
- cntr/cntr.brd: update for above changes
- cntr/cntr.brd: adjust for resized USB connector
- cntr/cntr.brd: top ground fill was very spotty - removed it
- cntr/cntr.brd: board can now be 100 mil shorter
- cntr/cam/pcb.pl: updated for new board outline
- cntr/README, ecn/INDEX, ecn/ecn0006.txt: moved discussion of the input
circuit from README to ECN0006
- cntr/cntr.sch: changed pointer from README to ECN0006
- ecn/ecn0006.txt: added more measurements, explanations, and an analysis
of the situation
- tools/cntr/cntr.c (measure, print_f): moved pretty-printing of the
frequency to a separate function
- tools/cntr/cntr.c (count_bursts): print a frequency estimate after each
burst
- tools/cntr/cntr.c (count_bursts): added comment explaining when and where
we take the various samples
- tools/cntr/cntr.c (measure): also stop if ^C is pressed while we're
unsuccessfully trying to communicate with the device
- tools/cntr/cntr.c (main): report a usage error if an argument is given to
-i or -r
- tools/cntr/cntr.c (arm_stop, measure): moveing open-coded arming of the
SIGINT handler to separate function
- tools/cntr/cntr.c (count_bursts, usage, main): added burst counter mode
(cntr -b [timeout_s])
- cntr/cntr.h: new file for variables shared among cntr.c and ep0.c
- cntr/cntr.c (cntr), cntr/ep0.c (cntr): moved to cntr/cntr.h
- fw/common/io.h (VERSION_ID): we can detect the board version by reading
P2_1 (GND on version 1, open on version 2)
- cntr/cntr.c (init_io): added board version detection, board-specific
GPIO initialization, and a LED blink to indicate version 2
- cntr/cntr.h (hw_type), cntr/cntr.c (hw_type), cntr/ep0.c (my_setup),
common/config.h (HW_TYPE): the hardware type is now determined at run
time
- cntr/README: change the name from "Arbitrary-precision counter" to
"Arbitrary-precision frequency counter"
- cntr/README: added list of known hardware issues
- cntr/fw/common/io.h (LED): define version-specific LED pins
- cntr/fw/common/io.h (PROBE_TERM): describe how the role differs between
version 1 and 2
- cntr/fw/common/config.h (PLATFORM_ENTER, PLATFORM_EXIT): add the version
2 LED
- cntr/cam/doit: use cameo
- cntr/cam/pcb.pl (cut): use exact value of pi, to make sure arcs meet
with lines connecting to them
- cntr/cam/pcb.pl (hhole): force cut to be continuous
- cntr/cam/pcb.pl (arc, hhole, pcb): don't compensate for the tool size.
Cameo now does this for us.
- cntr/cam/pcb.pl: switch to 2nd piece position
- cam/Makefile (pcb, spool): generate the job and spool it to the mill
- cam/doit: coordinate transform and format conversions
- cam/pcb.pl: PCB outline and holes
- cntr/cntr.pro, cntr/cntr.brd: reduced PCB edge line width from 15 mil to
5 mil
- cntr/cntr.brd: make edge follow hole for MMCX connector
- cntr/cntr.brd: fill bottom and input area with ground
- cntr/cntr.sch, cntr/cntr.brd (R4): replace 0 Ohm jumper and GND via
P2.1 with vias
- cntr/cntr.pro: added usb_a_plug.lib, mmcx-f-edge.mod, usb_a_plug_smt.mod,
and sot-323.mod
- cntr/cntr.sch, cntr/cntr.brd: reassigned LED and pull GPIO for easier
routing
- cntr/cntr.sch, cntr/cntr.brd: replaced mini-USB receptacle with USB A
plug and removed 0 Ohm resistor previously used for swapping D+/D-
- cntr/cntr.sch, cntr/cntr.brd: changed TVSs on USB from 200 pF 0603 to
100 pF 0402 type
- cntr/cntr.sch, cntr/cntr.brd: replaced basically unterminated 100 mil
header with properly terminated MMCX connector
- cntr/cntr.brd: reduced board width (nominally 15.8 mm) to USB connector
width (16 mm)
- modules/mmcx-f-edge.fpd: swap contacts for compatibility with "BNC"
symbol
- cntr/cntr.sch (VR1, VR2, VR3): reverted change to 0402, because this
would be too difficult to route with current board
- cntr/cntr.sch (VR1, VR2, VR3): change voltage from 5.6 V to 5.5 V,
for compatibility with selected part
- cntr/cntr.brd: updated for value change
- term/Makefile: "make qucs" shortcut for invoking qucs
- term/term.sch: disable switch to .dpl page after simulation
- term/term.sch: changed R3 from 50 Ohm to the more common 47 Ohm
- term/term.sch: changed C2 from 22 pF to 330 pF to match TVS
- term/term.sch: renamed Vin to Vdst and put graph in diagram on top
- term/term.sch: added more annotations
- cntr/cntr.sch: LED part number is LTST-C190KRKT, not LTST-C190KTKR
- cntr/cntr.sch: changed Vdc of VR4 from 5.6 V to 5.5 V (to match EPCOS
CT0603M4G
- cntr/cntr.sch: changed VR1 through VR3 to 0402 for lower capacitance
error bound.
- cntr/tools/cntr/cntr.c (measure): use the middle of a round-trip interval
for the sample's nominal time
- cntr/tools/cntr/cntr.c (measure): error bound is only +/- RTT/2, not
+/- RTT
- cntr/README: description of the counter board and its application
- cntr/fw/common/crc32.c: variant of CRC32-IEEE802.3 shared by firmware and
measurement application
- cntr/fw/cntr/ep0.c (my_setup), cntr/tools/cntr/cntr.c (get_sample):
protect the counter value with a CRC and an one's complement copy
- cntr/fw/include/cntr/ep0.h: oops, wasn't checked into repository
- cntr/tools/cntr/cntr.c: added section titles
- cntr/tools/cntr/cntr.c (measure): show communication statistics at the end
- cntr/tools/cntr/cntr.c (measure, usage, main): new option -d to enable
reporting of communication errors
- cntr/tools/cntr/cntr.c (set_stop, measure): let user stop measurement with
SIGINT
- cntr/tools/cntr/cntr.c (measure): get multiple "first samples" and keep
the one with the shortest round-trip time
- cntr/tools/cntr/cntr.c (measure): changed unit "ppk" (1/1000) to percent
(1/100)
- cntr/tools/cntr/cntr.c (usage, main): command-line argument is now the
accuracy goal, while the system clock deviation is set with the new
option -c
- TODO: some more things to do
- cntr/tools/Makefile: the usual recursive Makefile
- cntr/tools/cntr/Makefile, cntr/tools/cntr/cntr.c: user-space tool to
periodically read the free-running counter and to calculate frequency
and deviation from it
quite formidable low-pass filter that almost completely eliminated the
1 MHz signal.
- cntr/cntr.sch, cntr/cntr.brd: changed R1 from 100k to 1k to increase
input bandwidth
- TODO: "cntr" now makes it to DFU and beyond
- atrf/fw/common/config.h (PLATFORM_SETUP): rename to PLATFORM_ENTER
- cntr/fw/common/config.h (PLATFORM_SETUP): rename to PLATFORM_ENTER and
make the new PLATFORM_SETUP turn off the watchdog