Commit graph

194 commits

Author SHA1 Message Date
Paul Kronenwetter 6a565ffe41 Merge branch 'main' into refactor_N2KIQ-202205-2 2022-05-28 11:52:05 -04:00
Paul Kronenwetter 4c16efaf2c Add retries to test_tnc to make passing more likely. 2022-05-24 18:28:06 -04:00
DJ2LS e05bc262ad and some more typos and whitespace correction.. 2022-05-23 14:26:14 +02:00
Paul Kronenwetter 5c6cee1c21
Enhance tests (#185)
* Initial attempt to create unit tests for DATA class (tnc).

* Completed initial set of tests.

* Adding pytest to install packages.

* Corrects issue #173 fix

I didn't look carefully enough at `helpers.check_callsign` to see that it returns a list. The first element of the list is `True`/`False`.

* Making check_callsign evaluation more consistent.

* Update .gitignore

this is more a test commit to see if GitHub Client for MacOS is working,

* mkfifo test prototype

First partially working prototype for testing the full tnc with mkfifo named pipes.

* single tnc test file

moved to a single file for running tnc tests

* fixed typo

* Added parameters to tests.

Make other minor tweaks and documentation.

* Clean up two existing tests.

Adapted both tests to pytest and maintained
compatibility with existing ctest method.
Tweaked CMakeLists.txt .

* Adding pure python  highsnr_stdio_P_P_multi test.

Intended to replace highsnr_stdio_P_P_multi which uses POSIX shell.

* Adding pure python  highsnr_stdio_P_P_datac0 test.

Intended to replace highsnr_stdio_P_P_datac0 which uses POSIX shell.

* Parameterize recent tests.

Renamed datac0 to datacx after including all data codecs in test.

* Parameterize mode as well.

Add ability to run tests from main directory as well as within test/.

* Add list of tests and brief descriptions.

* Add more native python tests conversions.

* Update README with new tests.

* Tweak README again.

* Rename test to be findable by pytest.

* Rename test for ctest.

* Update correct file this time.

* Minor test tweaks.

* Add modem test proof-of-concept.

* Adjustment to ARQ short test.

* Various refactorings.

Type hints, trailing backslash, range usage, etc.

* Ignore unknown arguments in argparse.

* Minor cleanups.

* Update test/README.md.

* Update test_pa to quiet pylint.

* Give up trying to suppress structlog output.

* Correct module comments.

* Remove excess trailing spaces.

* Remove excess newlines.

* Various refactorings.

Type hints, trailing backslash, range usage, etc.

* mkfifo test prototype

First partially working prototype for testing the full tnc with mkfifo named pipes.

* Update test_tnc and tweak IRS/ISS.

* Correct test_modem to detect failures.

* Trying to be less dependent on env variables.

* Add IRS/ISS tests to ctests

* Pin codec2 revision to v1.0.3.

* Correcting git mistake.

* Pin codec2 revision to master.

This should be a specific release, that implements freedv_set_tuning_range.

Co-authored-by: DJ2LS <75909252+DJ2LS@users.noreply.github.com>
2022-05-21 23:04:17 +00:00
dj2ls ea133f054d moved simple test from pyaudio to sounddevice
thisis just a test as I'm not happy with the overall way we are dong tests. This has been great during first steps with the tnc ( virtual audio devices ) but now we should to a more reliable way with named pipes for example
2022-04-30 12:27:14 +02:00
dj2ls a90abb122f enable/disable cq response
Enable and disable CQ response via GUI. Also moved settings to settings modal - with a small redesign. Auto updater still WIP
2022-04-18 17:17:53 +02:00
Paul Kronenwetter ee2eb790fa Minor typo correction. 2022-04-15 07:17:35 -04:00
dj2ls 7d6256ba6a fixed ctest 2022-04-15 11:29:40 +02:00
Paul Kronenwetter 4358dd9c8a Correcting some typos. 2022-04-10 13:20:58 -04:00
dj2ls a2552be843 repeat frame ack and fixed repeat transmission from gui 2022-04-06 10:15:14 +02:00
dj2ls 16f23d2f1d new chat release 2022-03-29 22:24:35 +02:00
dj2ls 1519c22358 connection mode, documentation, ...
changes in all areas
2022-03-04 16:50:32 +01:00
dj2ls 2d36411a72 fixed arq test
@drowe67 thanks, I forgit to move the test to the new fifo queue
2022-01-12 07:42:37 +01:00
dj2ls 32021ddfe5 updated readme 2022-01-12 07:32:09 +01:00
dj2ls 9458843a43 time meassurement for tests
added time meassurement for raw decoding time #106
2022-01-10 10:51:26 +01:00
DJ2LS 71be19ecc4
Merge branch 'main' into ls-hamlib-test 2022-01-05 11:54:31 +01:00
dj2ls f93415d0b8 test and ARQ improvements
preparation for possible N>1 frames per burst
2022-01-04 23:02:29 +01:00
dj2ls 6f3e8b9468 first arq ctest 2022-01-04 15:29:51 +01:00
dj2ls 2256d87816 accessed static 2021-12-28 21:25:19 +01:00
dj2ls 50328946a2 latest changes
latest results from valley of tears
2021-12-28 18:25:52 +01:00
dj2ls 5a15064a35 slight cleanup 2021-12-28 17:36:50 +01:00
dj2ls 8cc4c33f0c uploaded hamlib test
@drowe67 this is the file where I try to implement libhamlib directly
2021-12-28 17:27:26 +01:00
dj2ls a0486a6b00 multimode callback TX 2021-12-22 11:19:43 +01:00
dj2ls 705600a3b1 code cleanup 2021-12-22 11:19:27 +01:00
dj2ls 24f46204ea transmitting in callback mode
used a FIFO queue to store modulation...crazy somehow. But its working
2021-12-22 10:31:21 +01:00
dj2ls 05e65018d8 added stream.is_active excepotion
not sure if we really need this
2021-12-21 10:39:07 +01:00
dj2ls 3c01ff1301 logging in own thread
and also a small cleanup
2021-12-21 09:25:06 +01:00
drowe67 342dd29747 audio buffer thread sfaety test 2021-12-21 08:20:02 +10:30
dj2ls 82619ef098 reduced bytes_out buffer size factor *2
buffer was too large. this didnt affect the tests, but not that nice...
2021-12-20 15:57:32 +01:00
dj2ls 8b8dfd5233 added option for sending testframes
this testframes are used to interact with the TNC
2021-12-20 15:37:46 +01:00
dj2ls 5d62952e8a small cleanup
removed unused function
2021-12-20 12:16:03 +01:00
dj2ls 2bca7b26cd multimode callback tests
first working version
2021-12-20 12:15:35 +01:00
dj2ls eaa26d3672 updated to new folder structure
Ooops, I forgot this file...where's my brain...
2021-12-20 11:15:32 +01:00
dj2ls 83b420be9a changed folder structure
removed subdirectories for each test group
2021-12-20 11:10:41 +01:00
dj2ls 75e7ef64a1 removed old code 2021-12-20 10:35:52 +01:00
dj2ls 9608e3412d additional test with decoding outside callback
added this to see any differences
2021-12-20 10:33:35 +01:00
dj2ls 1c4bb7bfbc moved code to class
less globals and we also need this later
2021-12-20 10:22:55 +01:00
drowe67 84bf1970dd first pass callback model rx working 2021-12-20 09:36:39 +10:30
dj2ls 72b653b188 preparation for ARQ test
added a directory 003_highsnr_stdio_arq for working on ARQ tests
2021-12-19 19:45:08 +01:00
dj2ls 8b8678853d new codec2.py location
forgot this file....
2021-12-19 16:10:39 +01:00
dj2ls 8159e9b1ab moved codec2 to tnc folder
preparation for migration to codec2 module for the entire TNC
2021-12-19 15:14:52 +01:00
dj2ls a6d60dea1c initial callback test
crashes at the moment within resambler
2021-12-19 15:04:35 +01:00
drowe67 a0e7c210fb fixed exception checking logic, still getting occasional fails on virtual sound card tests 2021-12-17 06:16:40 +10:30
drowe67 2bf5c44cbb adding resampler to MM tests. still occasional fails on virtual card Pyaudio tests 2021-12-16 21:40:30 +10:30
drowe67 03dccc4348 test program to get experience with Pyaudio 2021-12-16 18:33:07 +10:30
drowe67 37c57b83f6 test_virtual2.sh pasing most of the time 2021-12-16 17:53:11 +10:30
drowe67 fa4e22c64b catching exceptions on stream.read() to help us spot buffer size issues, also saving a file of samples received to help debugging 2021-12-16 17:52:42 +10:30
drowe67 27a43f1cb0 fine grained virtual audio tests working PyAudio at 48 kHz 2021-12-16 17:44:07 +10:30
drowe67 8fcf882767 Shouldn't pass np.int16 to pyaudio stream.write(), must convert to Python bytes. Working OK now 2021-12-16 17:42:29 +10:30
drowe67 64b7582913 resampler working with pipe tests, but not virtual sound card 2021-12-16 13:54:59 +10:30
drowe67 a04cfa62f3 refactored resampler to handle arb length arrays 2021-12-16 12:31:35 +10:30
drowe67 5b9ca6d463 resampler on test_rx.py is doing something sensible 2021-12-16 12:10:03 +10:30
drowe67 84f5cd315e resampler class 2021-12-16 11:56:39 +10:30
drowe67 b95562740a automated test for FreeDV resampler 2021-12-16 07:50:24 +10:30
drowe67 653713918d C array offset working, upsampled sine wave sounds OK :-) 2021-12-16 07:22:02 +10:30
drowe67 dfcc136583 Work in progress t48_8_short.py 2021-12-16 07:07:30 +10:30
drowe67 3f2bedfd4f building up resampler support and audio_buffer comments 2021-12-16 06:15:33 +10:30
drowe67 cbd89324f3 multimode virtual test working better 2021-12-15 16:43:47 +10:30
drowe67 53a88bfaae tell us when we Tx a frame 2021-12-15 16:43:30 +10:30
drowe67 e418f0be7a larger buffers, and an different approach to logging 2021-12-15 16:42:38 +10:30
drowe67 2e66a67884 test_multimode_rx.py using audio_buffer calls and working well :) 2021-12-15 15:05:30 +10:30
drowe67 da478d3b83 create audiobuffer class 2021-12-15 14:38:29 +10:30
drowe67 3e1dc4ee1c buffering system based on design in codec2/demo/freedv_datac0c1_rx.c 2021-12-15 14:08:53 +10:30
drowe67 f1992d16f6 test_multimode_tx.py sounds good through sound card, and test_rx.py can receiver each mode OK 2021-12-15 12:19:43 +10:30
drowe67 ae80958b65 longer timeout on test_virtual2 2021-12-15 12:19:06 +10:30
drowe67 b619b341d1 wait until output buffer empties before finishing 2021-12-15 11:33:07 +10:30
drowe67 8c9f1c5761 fine grained tests at 48000 Hz, currently won't work as resampler commented out of test_tx.py and test_rx.py 2021-12-15 11:12:31 +10:30
drowe67 8a93ec4896 display tx auto sound device selection 2021-12-15 09:26:55 +10:30
dj2ls b27563fe77 redesign of buffer management 2021-12-14 23:07:01 +01:00
drowe67 2642ae414b added finer grained tests - cirtual sound card using aplay/arecord which works well 2021-12-15 07:21:54 +10:30
drowe67 55ae1c31ef counting errors based on rx_status 2021-12-15 07:00:20 +10:30
drowe67 e93dc4d197 rx_status table to return flags in text format 2021-12-15 06:48:18 +10:30
drowe67 eeb221a31b simpler script 2021-12-15 06:47:36 +10:30
drowe67 dee3f87ceb sound card input coded but not working in test_multimode_rx.py 2021-12-14 14:24:45 +10:30
drowe67 290d2dd8b7 test_multimode_tx.py sounds OK through a sound card 2021-12-14 13:46:20 +10:30
drowe67 e7fbca9405 enable use of default sound card devnum 0 2021-12-14 13:42:47 +10:30
drowe67 b8a9f4126b first attempt at test using virtual sound cards 2021-12-14 13:18:12 +10:30
drowe67 52841da285 added cmd line arument to list audiodev by number, test_tx.py and test_rx.py working OK with virtual audio card, updated README.md with latest examples 2021-12-14 12:35:19 +10:30
dj2ls af99e53ec7 more debugging info
added buffer length to multimode test to see why it takes so much time
2021-12-13 22:03:56 +01:00
dj2ls cd8f522f85 added time measurement
writing to stdout seems to be really slow after the first run...
2021-12-13 21:47:30 +01:00
dj2ls e79aa0b457 multimode testrun
added multimode test and added a SM and MM for single mode and multimode
2021-12-13 21:11:09 +01:00
dj2ls 9565005f71 meaningful mode names
easier mode selection by string name like datac0 instead of 14
2021-12-13 19:00:38 +01:00
drowe67 2f4a04a233 removed test 000 2021-12-13 08:51:27 +10:30
drowe67 1a5d9e632b added constants to codec2.py, interpreting modes as meaningful strings 2021-12-13 08:09:03 +10:30
dj2ls 34788be3ba updated codec2 header file 2021-12-12 22:00:50 +01:00
dj2ls d5d6a80b34 outsourced ctypes header 2021-12-12 21:52:03 +01:00
dj2ls f70be11d95 added more tests 2021-12-12 13:54:23 +01:00
dj2ls 305bb3b160 changed cli output and usage of ctypes 2021-12-12 12:09:13 +01:00
drowe67 fde0c1432c testing multiple frames per burst 2021-12-12 09:45:23 +10:30
drowe67 d132357d9c 001 test_tx.py working, tested against freedv_data_raw_rx 2021-12-12 09:20:53 +10:30
drowe67 06d88a5ca1 skeleton cmake test framework, not doing any significant etsting yet 2021-12-12 08:09:31 +10:30
DJ2LS 1675bdcec1
Delete test directory 2021-08-10 21:41:03 +02:00
DJ2LS 1577e49be6
Add files via upload 2021-08-10 20:06:47 +02:00
DJ2LS fc1e45c210
Create test 2021-08-10 20:06:19 +02:00