Skip to content

Tap Recorder Module#896

Open
garethky wants to merge 1 commit into
KalicoCrew:mainfrom
garethky:pr-tap-recorder
Open

Tap Recorder Module#896
garethky wants to merge 1 commit into
KalicoCrew:mainfrom
garethky:pr-tap-recorder

Conversation

@garethky

@garethky garethky commented Jun 22, 2026

Copy link
Copy Markdown
Contributor

This is the tool that I used to collect tap data for building out the TapQualityClassifier detector.

Adds a [tap_recorder] module that can record tap data. There are gcode commands that you can use to control the recorder. This allows for the scripting of data collections routines.

Data is stored in JSONL format. This is particularly efficient when collecting large datasets because the file can be opened in append only mode and not parsing of the file needs to happen for each recording. Basically the cost to record is O(1). Libraries like Pandas support a lines argument for reading this type of file.

Checklist

  • pr title makes sense
  • added a test case if possible
  • if new feature, added to the readme
  • ci is happy and green

@rogerlz

rogerlz commented Jul 14, 2026

Copy link
Copy Markdown
Contributor

The module looks good, but it can't work against the main right now. It calls add_client() on load_cell_probe, and LoadCellPrinterProbe has no such method; only the internal TapAnalysisHelper does. Any config with [tap_recorder] fails at connect with AttributeError.

Smaller stuff: the file header still says "Load Cell Probe"; FILE should be a required param; calling TAP_RECORDER_START twice leaks the previous file handle; and a write error inside _save_tap can abort tap analysis mid-probe. Docs for the section and the two commands are missing too.

Adds a `[tap_recorder]` module that can record tap data. Data is stored in JSONL format for efficiency when collecting large datasets. This data collection tool forms the basis for ongoing work on tap classification, ooze detection etc.

Signed-off-by: Gareth Farrington <gareth@waves.ky>
@garethky

Copy link
Copy Markdown
Contributor Author

This takes a dependency on the add_client() interface in that's in #876

This also might make a good candidate for an example plugin? I don't think this is functionality that most users would want or need. This is really for researchers.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants