Commit graph

92 commits

Author SHA1 Message Date
Edouard Lafargue
6fb888c070
server: optional AGWPE extension exposing per-frame signal quality (#669)
Direwolf measures a per-frame signal metric — audio level rec(mark/space)
plus the retry/FEC decode level — but only emits it to stdout and the
APRS-only CSV log, never over the AGWPE monitor API. This adds an opt-in,
backwards-compatible way for an AGWPE client to receive it in-band.

A client enables the feature with a new 'q' command; the server replies
with a 'q' frame carrying "ExtSig=1". For clients that opted in, the
per-frame metrics are packed into the four otherwise-zero user_reserved
header bytes of 'U'/'S'/'I' monitor frames:

    user_reserved[0] = rec      (0..255)
    user_reserved[1] = mark     (0..255; 0xFF = N/A for non-AFSK)
    user_reserved[2] = space    (0..255; 0xFF = N/A)
    user_reserved[3] = retries  (0 = clean copy)

Backwards compatibility is structural: the bytes are written only in the
copy sent to a client that sent 'q', after the header is zeroed, so any
client that does not opt in — every stock AGWPE client — receives
byte-identical frames. A stock Direwolf ignores the unknown 'q' command,
so a client requesting the extension against stock never sees the ACK and
leaves the feature off.

alevel and the retry count are threaded from app_process_rec_packet
through server_send_rec_packet into server_send_monitored. Own
transmitted ('T') frames and synthetic packets (AIS objects, APRStt) pass
a rec = -1 sentinel, which suppresses the reserved-byte write.
2026-08-10 16:54:51 -04:00
wb2osz
e494c948ad Update User Guide for release 1.8 2025-10-29 14:53:19 -04:00
wb2osz
9cfcf4960b GPIOD for bookworm and trixie. 2025-10-03 10:32:19 -04:00
wb2osz
d0cf040e2e Add sample configuration at end. 2025-09-10 16:41:50 -04:00
wb2osz
6ed85d12b1 User Guide for release 1.7. 2023-10-28 02:03:55 +01:00
wb2osz
7b9325ecb6 Documentation update for release 1.7. 2023-10-27 23:31:57 +01:00
wb2osz
fae30a6035 Move to new directory. 2023-10-14 22:34:32 +01:00
wb2osz
790c8ab723 Additional documentation location. 2023-08-07 23:51:08 +01:00
wb2osz
413855e791 Merge branch 'dev' to master for release 1.6. 2020-10-27 20:45:30 -04:00
wb2osz
bfc708d014 Final User Guide for release 1.6. 2020-10-27 20:25:09 -04:00
wb2osz
37f148ef25 Misc. RPi documentation updates for release 1.6. 2020-10-27 20:15:28 -04:00
wb2osz
ff34d92776 EAS to APRS message converter and Ham Radio of Things (HRoT). 2020-10-24 19:45:43 -04:00
wb2osz
0775e4b6a2 Misc. documentation updates. 2020-10-21 21:50:28 -04:00
wb2osz
5fd8120de7 Add AIS documentation. 2020-06-01 23:08:12 -04:00
wb2osz
e9482ca0b2 Mention FX.25 compatibility with UZ7HO soundmodem. 2020-06-01 21:02:02 -04:00
wb2osz
e654ca46a6 Documenation updates for 1.6. 2020-04-03 21:09:23 -04:00
wb2osz
63b78c9fae More commentary on the FX.25 audio recordings found.
We need some better test cases.
2020-01-12 22:48:40 -05:00
wb2osz
1f2a5cfdb8 FX.25 2020-01-05 20:08:22 -05:00
wb2osz
f73faec0b5 Move from groups.yahoo.com to groups.io and minor typo. 2019-11-23 22:13:40 -05:00
Davide Gerhard
1cf5a22333
cmake: implement basic cpack functionality
to create ZIP package run

    cpack

to add new generator modify CPACK_GENERATOR variable.

NOTE: pay attention on CPU flags optimization when you redistribuite
the package (segmentation fault)
2019-11-13 15:57:11 +01:00
Davide Gerhard
a1c16a67ef
cmake: new build tool
this step unify the builing system for all platforms (windows, linux,
osx and *BSD)

* Requirements:

  - gcc/clang (C/C++ compiler) (in debian build-essential)
  - cmake (in debian cmake)
  - git if you build from source (in debian git)
  - posix threads

** Requirements on *BSD/macOS:

  - portaudio

** Optional Requirements:

  - gpsd (in debian libgps-dev)
  - libhamlib (in debian libhamlib-dev)

** Optional Requirements in Linux

  - udev (in debian libudev-dev)
  - alsa (in debian libasound2-dev)

* Main changes:

  - version is now set only on CMakeLists.txt and automatically used
    on the code
  - cpu flags are auto-discovered in the default build and it works
    on gcc/clang/msvc on x86/x86_64/arm; you can force cpu flags with
    -DFORCE_SSE=1 for example (see CMakeLists.txt on root)
  - use a more "complex" tag on generic.conf to facilitate parsing
    by cmake (not more platform dependent). Now it is %C% or %R% for
    example
  - target `tocalls-symbols` is now called `data-update`
  - created debian/ directory to contains files to use debuild

* Example to build:

mkdir build && cd build
cmake ..
make
make install
make install-conf

then you have the binary files on src/ and in the system directory

* CMake options (see the head of CMakeLists.txt)

  - FORCE_SSE force sse instruction
  - FORCE_SSSE3 force ssse3 instruction
  - FORCE_SSE41 force ssse4.1 instruction
  - OPTIONAL_TEST compile optional test (might be broken)
  - BUILD_TESTING enable tests (ctest framework)
  - CMAKE_INSTALL_PREFIX if you want to change your install path
    prefix

for example:

  cmake .. -DOPTIONAL_TEST=ON
2019-11-09 08:26:33 +01:00
wb2osz
b37fda96fb 2400 bps PSK compatibility with MFJ-2400. 2019-05-19 20:57:56 -04:00
wb2osz
71b3ca0047 AX.25 Throughput: Why is 9600 bps Packet Radio only twice as fast
as 1200?
2019-01-22 22:05:29 -05:00
wb2osz
2d3a04d0f1 New document: Why is 9600 only twice as fast as 1200 ? 2019-01-22 21:59:41 -05:00
wb2osz
ab3796905e New document: Why is 9600 only twice as fast as 1200 ? 2019-01-22 21:49:20 -05:00
wb2osz
84efe8c59b Issue 187. Updated MicroModem performance. 2019-01-01 15:56:44 -05:00
wb2osz
a200f3da7e Add link to separate repository with presentations. 2018-11-25 15:41:04 -05:00
wb2osz
b915842c9f Add link to separate repository with presentations. 2018-11-25 15:36:26 -05:00
wb2osz
c0abb4b216 Release 1.5. 2018-10-08 10:15:21 -04:00
wb2osz
da0a33ef2a Version 1.5 2018-10-08 09:49:18 -04:00
wb2osz
4ecaf478cf Issue 132 - Sometimes, when outgoing frames would exceeed the "window" size
(MAXFRAME or EMAXFRAME) they would get stuck in a queue and not be released later.
2018-07-02 14:17:02 -04:00
wb2osz
8280971f55 Minor documentation updates. 2018-05-23 11:20:48 -04:00
wb2osz
4814011498 Minor documentation updates. 2018-05-23 11:18:34 -04:00
wb2osz
2328ecdf55 Minor documentation updates. 2018-02-06 22:33:17 -05:00
wb2osz
db4c07a2b1 1.5 beta test version. 2018-01-07 15:58:04 -05:00
wb2osz
2ac99a33dd Minor ocumentation updates. 2018-01-02 22:47:29 -05:00
wb2osz
b81de60aec Issue 85 - Don't remove duplicates for IGate RX>IS direction. 2017-10-28 21:30:04 -04:00
wb2osz
f6c0049e40 Full Duplex. 2017-10-18 20:50:59 -04:00
wb2osz
8047bebce3 Minor documentation updates. 2017-10-14 11:35:27 -04:00
wb2osz
7efe0ab40b PTT using GPIO of CM108/CM119. 2017-10-09 18:00:59 -04:00
wb2osz
cc84a610dd Add brief mention of 9600 baud. 2017-10-04 23:33:16 -04:00
wb2osz
c904b57d1d Time stamps and documentation for kissutil. 2017-09-30 13:41:58 -04:00
wb2osz
3a496aa566 Add comments after testing on Raspbian Stretch. 2017-08-20 23:10:32 -04:00
WB2OSZ
8c4c186730 Automatically enable hamlib support during compile if header file is present. 2017-06-30 22:42:48 -04:00
WB2OSZ
7fcee202ba New station Capabilities and third party Header types for packet filtering. 2017-06-30 21:23:16 -04:00
WB2OSZ
52927ce54a Allow single log file with fixed name rather than starting a new one each day. 2017-06-17 19:39:59 -04:00
WB2OSZ
0da1a9176a Add time slots for beacons. 2017-06-11 16:57:43 -04:00
WB2OSZ
f358c621d0 V20 configuration option for stations that don't understand AX.25 v2.2. 2017-05-31 20:07:52 -04:00
WB2OSZ
77f4eb4543 Add more KISS troubleshooting tips. 2017-05-28 20:27:50 -04:00
WB2OSZ
4973ae8490 Add discussion about SDR frequency inaccuracy and calibration. 2017-05-28 20:25:22 -04:00