An interface for Uniden radio scanners, written in Rust
README.md

arctictis #

This crate implements the serial programming protocol for the Uniden BC125AT "Bearcat" Radio Scanner. You can use this crate to modify the scanner's settings and program its channels. See the documentation for more details, as well as the examples.

For details on the protocol anda list of possible commands, see the spec (archived).

Naming #

The Bearcat's scientific name is Arctictis binturong.

https://youtu.be/2FspwOKfGPY

AI Disclosure #

With the below exceptions, all tests, code, and documentation, including this document as well as doc comments, was written by hand by a human being. All API design was done by a human being.

I like programming, I don't want to offload that to a computer. But I do want to evaulate the capabilities of AI agents in a narrow, limited scope.

AI was used for the following tasks, with close verification by a human (this may expand in the future):

CTCSS/DCS code mappings #

The scanner maps CTCSS frequencies and DCS codes to an internal code. There's 154 of these, and mapping them by hand would be tedious and error-prone. Since the mapping is in a PDF (see page 13) there wasn't really an easy way to parse this. I let Claude ingest the protocol document and fill out the match statements, then visually verified all mappings were correct.