Package: bc125py
BC125PyA Python-based interface for the Uniden BC125AT radio scanner.This project aims to be a Linux replacement for the Windows-only
Uniden software for the BC125AT. Presently, BC125Py only has a
command line interface, but a GUI is planned. Rest assured, the
CLI is not hard to use at all! View thechangelog here.Installationsudo pip install bc125pyIt is recommended to install bc125py as root.Quick StartMost commandsmust be ran as root.Plug the BC125AT into your computer, and power the device on.Import scanner channelssudo bc125py import --csv channels.csvThen, edit the CSV file in a spreadsheet editor!Note:Depending on your CSV editor, the channels may be offset by 1 or 2Note:All 500 channels are together. Bank 1 starts at 1 or 2, bank 2 starts at 51 or 52, etc...Note:omitting the--csvflag will import all channelsandsettings, and use thejsonfile format.Export channels to scannersudo bc125py export --csv channels.csvNote:omitting the--csvflag will export all channelsandsettings, and use thejsonfile format.Validate your files before exporting (sudo-less)bc125py validate scanner.jsonorbc125py validate --csv scanner.csvLaunch scanner shellsudo bc125py shellThe shell allows you to send commands directly to the device.
Theshellsubcommand accepts a script filename as an optional parameter.
Specifying-as the input script will tell the shell to read from stdin.The shell remembers its history by default. This can be cleared by deleting~/.bc125py_history(but usually for the root user), or by running the shell
subcommand with the-cor--clear-historyflags.Factory reset the scannersudo bc125py wipeThis willerase all channelsand reset all settings.Rescue the scanner from Program Modesudo bc125py unlockMore UsageThe following are top level flags, to be use after thebc125pybut before the subcommand.FlagUsage-vEnable debug messages-l,--logLOGAdditionally print all debug messages to LOG_FILE-p,--portPORTForce BC125Py to use port (device file) PORT--legacy-detectUse the legacy automatic port detection method. Try this if BC125Py does not initially detect your scanner. This may produce duplicate resultsimport/export and--csvBy default, import and export will process all of the scanner's channels
and settings, and work with json files. The--csvflag tells these
command to process channels only, and work with csv files.Shell ScriptsTheshellsubcommand accepts an optional parameter for an input file,
to be processed as a script. Runhelponce inside the shell to learn
more. The recommended extension for these scripts is.125at; see
thedocs directoryfor examples.Human-Friendly CTCSS/DCS TonesAs of version 0.10.0, bc125py supports human-friendly CTCSS/DCS tones.
Your old save files will still work. To view a list of possible tone values,
runbc125py --help-tonesTLPTLP, a power management tool on some laptops,
may interfere with the operation of BC125Py.
To use BC125Py on a TLP-enabled laptop, followthis guideto disable it. This is easily reversible afterwards.
If you are aware of a better way to work around TLP, please fork and submit a PR!stdin/stdoutThe import, export, and shell subcommands may accept a single dash
(-) as a filename to use stdin/stdout. In this mode, theimportsubcommand will write to stdout.exportandshellwill read from stdin.ContributingThe modulebc125py, excludingapp, should only contain library (non-executable) code.sdo.pyshall be for all scanner-data abstraction classes.Theappmodule shall be for all executable code.app/cli.pyshall be the CLI portion of the program.app/core.pyshall be all common functions for the executable portion of the program, both CLI and GUI.app/log.pyshall be the logger.Use the logger wherever possible!The 'main' branch shall be the most up-to-date version of the project. Once the main branch reaches
stability, the version number will be incremented, a release will be generated, and a 'release-x.x.x'
branch will be created to preserve the repository at its state.