Commit Graph

271 Commits

Author SHA1 Message Date
Dan Smith
7eec52b0b8 Remove python3 test progress tracking
The share of python3-uncompliant drivers has dropped to such a small
fraction that I've forgotten to enforce that new drivers be added to
the matrix.

So, at this point, it's time to flip the whitelist to a blacklist and
just mark the drivers that haven't been tested. This removes the
matrix and generation script, content from the makesupported target,
and instructions from the PR template. It replaces those with a simple
list of drivers in tests/py3-untested-drivers.txt
2024-08-27 14:53:06 -07:00
Alexandre J. Raymond
ad868db01f Alias Baofeng UV-25 to UV-17Pro driver
Fixes #11260
2024-06-05 20:19:53 -07:00
Dan Smith
12ce9c1d57 Fix experttune style and types as now checked
Since this is now in the chirp/ module, it's getting checked.
2024-05-10 19:11:48 -07:00
Dan Smith
7db8b1ad12 Move experttune to chirp.cli
Also install it as a console script
2024-05-10 19:11:48 -07:00
Dan Smith
9a69f4dc2d Fix several mypy warnings in chirp.drivers
This is really kinda meh in terms of usefulness but getting these
squared away (or ignored) allows us to run the rest of mypy on the
drivers for the other benefits we might be able to actually see.
2024-04-12 18:10:22 -07:00
Dan Smith
54df5981be expert: Add 30m and 6m bands, fix power level 2024-04-09 14:38:00 -07:00
Dan Smith
0e7baccd34 Add tool for tuning an expert linear with Icom
This adds a tool (more like a demonstration) that allows for running
the radio through the tuning process for an expert linear. It makes
the radio jump through the published band center frequencies in RTTY
mode and also supports automatic CW ID at the end of each step in
the cycle.
2024-04-03 15:11:17 -07:00
Tony F
fbcca4a9d1 check_commit.sh: Ignore word paste 2024-02-23 16:05:23 -08:00
Dan Smith
b85efbd4ac Add commit check banning the use of eval() 2024-02-07 15:49:29 -08:00
Daniele Forsi
2205c0f01e Remove clean files from tools/cpep8.blacklist 2024-01-21 14:25:09 -08:00
Daniele Forsi
cf8bca38d8 Fix the check for lines added to cpep8.manifest and cpep8.blacklist
It was grepping a file name in the list of added lines.
2024-01-21 14:25:09 -08:00
Daniele Forsi
a4777b6202 Handle plurals in translations 2024-01-16 16:30:07 -08:00
Dan Smith
3c1ff5b16b Disable match_model PR check because it's too dumb
We need to stop implementing this, but it should be defaulted to
just "return False" but we don't have a super good way to do that
really.
2023-11-24 11:24:42 -08:00
Dan Smith
cf4eefd021 Only check added python files for sameness 2023-11-22 08:29:21 -08:00
Dan Smith
2f28fccd1c Change common-file check definition
This makes us grab the "percent in common" stat for the new file being
added instead of just looking at the "percent changed" for the old one.
The latter ignores what may be a large amount of things considered to
be deleted, making the change amount look larger.
2023-11-22 08:29:21 -08:00
Dan Smith
6301c58554 Check for new instances of match_model()
This method should not be implemented by new drivers, so fail the
check if it looks like it is present.
2023-11-05 10:58:51 -08:00
Dan Smith
5f14b51a82 Fix check_commit for added image files
This makes us not log errors when a binary image file is checked
against existing drivers.
2023-10-26 17:51:28 -07:00
Dan Smith
68f6a46f5c Add a basic pre-commit config
Also fix some things it cleaned up in default config.
2023-10-02 17:12:42 -07:00
Dan Smith
ffd2e63e23 Make style checker use proper list for args
The style checker currently always applies new rules to files on the
argument list. This makes it use the same logic for those as "all
files" mode. Also fix some style issues in tools/ scripts.
2023-10-02 17:12:42 -07:00
Daniele Forsi
334cf6fc4f Remove clean files from tools/cpep8.manifest 2023-07-21 18:44:00 -07:00
Dan Smith
e20d445440 Update check_patch to look for similar drivers 2023-07-04 08:49:10 -07:00
Dan Smith
d9a8f48196 Amend check_commit and PR template
Require GPLv3 license and check for violations.
2023-07-02 20:40:10 -07:00
Daniele Forsi
0af12dd085 Remove clean files from tools/cpep8.manifest 2023-06-26 17:29:02 -07:00
Dan Smith
fb7982b3af Add PR check for added driver with no added image 2023-06-18 20:54:30 -07:00
Dan Smith
4b7cee5a4c Make fast-driver fall back to all drivers
If we detect that we selected none with our keywords, just run all
of them to avoid a false failure.
2023-06-18 20:54:30 -07:00
Dan Smith
b7dd6c7989 Make fast-driver look for dependencies
If a module that other drivers inherit from has changed, we need to
test those drivers to make sure they aren't broken.
2023-06-18 20:54:30 -07:00
Dan Smith
95b388d0be Fetch full history for check-patch test
Also clean up the reporting for locale files needing update.
2023-06-14 18:22:34 -07:00
Daniele Forsi
94abcc20c8 Fix whitespace according to pep8
Fixed with:
autopep8 --recursive --select E101,E111,E114,E116,E117,E122,E127,E128,E201,E202,E203,E221,E222,E225,E231,E251,E261,E271,E275,E302,E303,E305,E306,W191,W291,W293,W391 --in-place .

Checked that this only affects space, tabs and lines:
git diff --ignore-all-space --ignore-blank-lines
2023-06-04 10:56:20 -07:00
Daniele Forsi
16f2ad3444 Update tools/cpep8.manifest 2023-06-04 10:56:20 -07:00
Daniele Forsi
84206c9dc1 Fix spelling
Fixed with:
codespell --skip=.git,.tox,locale,fips.py --ignore-words-list=ans,covert,damon,nam,parm,parms,rcall,ro,samwich,sav,ser,setts,synopsys,wth --summary --write-changes
2023-06-04 10:42:08 -07:00
Dan Smith
29f7c93d1d Make fast-driver a no-op for all-excluded 2023-06-01 18:29:31 -07:00
Dan Smith
40cd6f64d3 Update tdh8 to stricter style standard 2023-03-18 09:21:38 -07:00
cong
9c348b180b New driver UV68 and TDH8
Fixes #10059
2023-03-18 09:21:38 -07:00
Dan Smith
44cab4d434 Convert ft4.py to stricter style standard
While I'm here working on it, convert ft4.py to pass the stricter
style rules.
2023-03-18 08:32:57 -07:00
Dan Smith
97d8af35ff Avoid confusing __( for _( in check_commit 2023-03-14 21:28:20 -07:00
Dan Smith
360d75e995 Add warning to top of cpep8.manifest 2023-03-10 18:07:04 -08:00
Dan Smith
8902b7b82a Move drivers with two errors to flake8 2023-03-10 18:07:04 -08:00
Dan Smith
9be9368e24 Move drivers with one error to flake8 2023-03-10 18:07:04 -08:00
Dan Smith
3074abacfb Fix some trivial flake8 fails on the blacklist 2023-03-10 18:07:04 -08:00
Dan Smith
fec7443b6b Fix flake8 errors in pyPEG 2023-03-10 18:07:04 -08:00
Dan Smith
3aedd76cd3 Fix flake8 errors in chirp_common 2023-03-10 18:07:04 -08:00
Dan Smith
cdc0c95bb9 Fix trivial chirp/ flake8 failures 2023-03-10 18:07:04 -08:00
Dan Smith
22cca139c2 Remove some old tools and orphaned files
bitdiff.py is from before we had GUI developer tools, and is not py3
  compliant anyway.
img2thd72.py is no longer useful now that the thd72 driver can open
  those files directly, and is not py3 compliant anyway.
elib_intl.py is something to do with internationalization on win32
  (it seems). Not sure if/when we ever used that, but we don't anymore
  and thus it is removed.
2023-03-10 18:07:04 -08:00
Dan Smith
2f5eb1503a Remove flake8-compliant files from cpep8
These files already adhere to the stricter rules, so keep them that
way.
2023-03-10 18:07:04 -08:00
Dan Smith
32e6548b61 Make flake8 default style linter for new files
This makes cpep8 run flake8 on anything *not* in the manifest or
*not* in the blacklist. Thus, all new files will get flake8 run against
them by default. It adds a bunch of files to the blacklist that were
not in manifest and thus still aren't compliant. Those need to get
cleaned up, obviously.

No new files should be added to cpep8.manifest going forward so that
the stricter flake8 rules get applied by default. Ideally we'd also
remove files from cpep8.manifest as well so we can move to just one
set of rules for everything, but that will take a while.
2023-03-10 18:07:04 -08:00
Dan Smith
f2052d66ac Fix untranslatable driver prompt strings
Long ago, an anti-pattern was introduced by a driver whereby the prompt
string were marked for translation, but wrapped around a call to
dedent() for formatting. In order for gettext to pick up the strings
when building the catalog, the actual literals must be marked. Even
though the gettext call works at runtime, the static analysis does not
understand enough python to push through that call.

This is the first step of re-writing all those instances to avoid
using dedent() and instead use multiple string lines inside the gettext
call. This was done en masse, so it's possible that some of this is
not right, but it's a good start and much more reasonable than doing
it manually in so many places.

This also includes a dumb rule in check_commit.sh to help prevent
future introduction of this, although it won't catch all cases.

Related to #10434
2023-03-10 15:48:15 -08:00
Finn Thain
aa08e097c4 Add a driver for Q-MAC HF-90 radio
The Q-MAC HF-90 radio was in production during the 1990's and 2000's.
In 2009, Q-MAC Electronics was acquired by Barrett Communications and
Barrett was acquired by Motorola Solutions in 2022.

Several models were produced: HF-90A (Australia), HF-90E (export),
HF-90H (frequency hopping) and HF-90M (military). The aim of this driver
is to support HF-90A and HF-90E as that's the hardware I have available.
Most likely this driver is also compatible with HF-90H.

There were numerous firmware changes over the years and some radios
can't be programmed with the latest PC software from Q-MAC. Here's the
warning from Qmac.exe v3.0.4 (from 2004):

    This programming software is for use on radios with Export Version
    firmware (HF-90E or HF-90H) and firmware version 301 or greater.
    Earlier firmware versions will be corrupted if programmed using this
    software and will render the HF-90 inoperable.

Consequently, this driver comes in two flavours: "v300 or earlier" which
imitates the older v2 dealer software for use with early firmware, and
"v301 or later" which imitates the more recent v3 dealer software and
is not for use with early firmware.

Perhaps technical documentation will come to light that would explain
the quirks of the various firmware revisions. If that should happen,
the v300/v301 scheme could be improved upon. For now, it's the best
I can do.

Fixes: #10428
2023-03-09 21:45:12 -08:00
Dan Smith
ed829f5b4b Check patches to see if locale files need update
This makes msgmerge use sorted output to make the files stable.
2023-03-06 18:15:14 -08:00
Dan Smith
c4f0c614c9 Updates to check-patch job
Log the base and commits we are checking and also relax the
check for merges, since we seem to not be catching them in the
github workflow.
2023-02-23 16:01:43 -08:00
Dan Smith
9419d5b298 Remove legacy platform serial enumeration
...and mox-based tests thereof.
2023-02-22 19:23:41 -08:00