Skip to content

Add IPv4 UDP Receiver and -exclude Flag for Source Filtering#529

Merged
rokath merged 1 commit intorokath:masterfrom
srgg:master
May 25, 2025
Merged

Add IPv4 UDP Receiver and -exclude Flag for Source Filtering#529
rokath merged 1 commit intorokath:masterfrom
srgg:master

Conversation

@srgg
Copy link
Copy Markdown
Contributor

@srgg srgg commented May 16, 2025

This pull request introduces two key enhancements:

  1. IPv4 UDP Receiver
    Adds support for receiving data over IPv4 using UDP. This enables integration with systems that broadcast or transmit telemetry, logs, or other messages over the network.

  2. -exclude Flag
    Introduces a command-line flag -exclude that allows users to specify one or more source addresses to be omitted from scanning or processing. This improves flexibility in environments with known noisy or irrelevant sources.

-port UDP4 Example

To receive Trice logs over IPv4 UDP, use the -port UDP4 option. By default, it listens on 0.0.0.0:17005, which accepts packets on all network interfaces. You can specify a different address or multicast group via -args.

trice log -p UDP4

-exclude Flag Example

The -exclude flag can be used multiple times to omit specific files or directories from scanning. Wildcards are not supported.

trice insert -v -src ./_test/ -exclude _test/src/trice.h -exclude _test/generated/

Related Issue

Closes #528

@srgg srgg force-pushed the master branch 2 times, most recently from 2720aa6 to 115134f Compare May 25, 2025 05:28
@srgg
Copy link
Copy Markdown
Contributor Author

srgg commented May 25, 2025

Test logs:

go test ./...                            
ok  	github.com/rokath/trice/cmd/trice	(cached)
ok  	github.com/rokath/trice/internal/args	(cached)
ok  	github.com/rokath/trice/internal/charDecoder	(cached)
ok  	github.com/rokath/trice/internal/com	(cached)
ok  	github.com/rokath/trice/internal/decoder	(cached)
?   	github.com/rokath/trice/internal/do	[no test files]
ok  	github.com/rokath/trice/internal/dumpDecoder	(cached)
ok  	github.com/rokath/trice/internal/emitter	(cached)
ok  	github.com/rokath/trice/internal/id	(cached)
ok  	github.com/rokath/trice/internal/keybcmd	(cached)
ok  	github.com/rokath/trice/internal/link	(cached)
ok  	github.com/rokath/trice/internal/receiver	0.231s
?   	github.com/rokath/trice/internal/translator	[no test files]
ok  	github.com/rokath/trice/internal/trexDecoder	(cached)
?   	github.com/rokath/trice/pkg/ant	[no test files]
ok  	github.com/rokath/trice/pkg/cipher	(cached)
ok  	github.com/rokath/trice/pkg/endian	(cached)
ok  	github.com/rokath/trice/pkg/msg	(cached)
ok  	github.com/rokath/trice/pkg/tst	(cached)
./testAll.sh                     
Sat May 24 23:02:31 MDT 2025
This can take a while ...
ok  	github.com/rokath/trice/cmd/trice	1.168s
ok  	github.com/rokath/trice/internal/args	0.769s
ok  	github.com/rokath/trice/internal/charDecoder	0.708s
ok  	github.com/rokath/trice/internal/com	3.791s
ok  	github.com/rokath/trice/internal/decoder	0.373s
?   	github.com/rokath/trice/internal/do	[no test files]
ok  	github.com/rokath/trice/internal/dumpDecoder	0.825s
ok  	github.com/rokath/trice/internal/emitter	0.485s
ok  	github.com/rokath/trice/internal/id	3.328s
ok  	github.com/rokath/trice/internal/keybcmd	0.676s
ok  	github.com/rokath/trice/internal/link	0.772s
ok  	github.com/rokath/trice/internal/receiver	0.884s
?   	github.com/rokath/trice/internal/translator	[no test files]
ok  	github.com/rokath/trice/internal/trexDecoder	0.866s
?   	github.com/rokath/trice/pkg/ant	[no test files]
ok  	github.com/rokath/trice/pkg/cipher	0.969s
ok  	github.com/rokath/trice/pkg/endian	1.060s
ok  	github.com/rokath/trice/pkg/msg	1.264s
ok  	github.com/rokath/trice/pkg/tst	1.166s
ok  	github.com/rokath/trice/_test/be_dblB_de_tcobs_ua	172.172s
ok  	github.com/rokath/trice/_test/be_staticB_di_xtea_cobs_rtt32	172.402s
ok  	github.com/rokath/trice/_test/dblB_de_cobs_ua	172.679s
ok  	github.com/rokath/trice/_test/dblB_de_multi_cobs_ua	173.070s
ok  	github.com/rokath/trice/_test/dblB_de_multi_nopf_ua	172.841s
ok  	github.com/rokath/trice/_test/dblB_de_multi_tcobs_ua	173.435s
ok  	github.com/rokath/trice/_test/dblB_de_multi_xtea_cobs_ua	173.466s
ok  	github.com/rokath/trice/_test/dblB_de_multi_xtea_tcobs_ua	172.620s
ok  	github.com/rokath/trice/_test/dblB_de_nopf_ua	173.118s
ok  	github.com/rokath/trice/_test/dblB_de_tcobs_ua	172.569s
ok  	github.com/rokath/trice/_test/dblB_de_xtea_cobs_ua	173.374s
ok  	github.com/rokath/trice/_test/dblB_de_xtea_tcobs_ua	172.247s
ok  	github.com/rokath/trice/_test/dblB_di_nopf_rtt32__de_cobs_ua	346.188s
ok  	github.com/rokath/trice/_test/dblB_di_nopf_rtt32__de_multi_cobs_ua	346.217s
ok  	github.com/rokath/trice/_test/dblB_di_nopf_rtt32__de_multi_tcobs_ua	344.725s
ok  	github.com/rokath/trice/_test/dblB_di_nopf_rtt32__de_tcobs_ua	344.857s
ok  	github.com/rokath/trice/_test/dblB_di_nopf_rtt32__de_xtea_cobs_ua	344.498s
ok  	github.com/rokath/trice/_test/dblB_di_nopf_rtt8__de_cobs_ua	344.693s
ok  	github.com/rokath/trice/_test/dblB_di_nopf_rtt8__de_multi_cobs_ua	344.735s
ok  	github.com/rokath/trice/_test/dblB_di_nopf_rtt8__de_multi_tcobs_ua	344.868s
ok  	github.com/rokath/trice/_test/dblB_di_nopf_rtt8__de_tcobs_ua	345.032s
ok  	github.com/rokath/trice/_test/ringB_de_cobs_ua	172.938s
ok  	github.com/rokath/trice/_test/ringB_de_multi_tcobs_ua	172.894s
ok  	github.com/rokath/trice/_test/ringB_de_multi_xtea_cobs_ua	173.009s
ok  	github.com/rokath/trice/_test/ringB_de_multi_xtea_tcobs_ua	173.116s
ok  	github.com/rokath/trice/_test/ringB_de_nopf_ua	172.901s
ok  	github.com/rokath/trice/_test/ringB_de_tcobs_ua	172.405s
ok  	github.com/rokath/trice/_test/ringB_de_xtea_cobs_ua	172.364s
ok  	github.com/rokath/trice/_test/ringB_de_xtea_tcobs_ua	172.293s
ok  	github.com/rokath/trice/_test/ringB_di_cobs_rtt32__de_tcobs_ua	344.374s
ok  	github.com/rokath/trice/_test/ringB_di_cobs_rtt8__de_tcobs_ua	344.544s
ok  	github.com/rokath/trice/_test/ringB_di_nopf_rtt32__de_tcobs_ua	344.499s
ok  	github.com/rokath/trice/_test/ringB_di_nopf_rtt32__de_xtea_cobs_ua	344.703s
ok  	github.com/rokath/trice/_test/ringB_di_nopf_rtt8__de_tcobs_ua	344.286s
ok  	github.com/rokath/trice/_test/ringB_di_tcobs_rtt32__de_tcobs_ua	344.243s
ok  	github.com/rokath/trice/_test/ringB_di_xtea_cobs_rtt32__de_xtea_cobs_ua	344.529s
ok  	github.com/rokath/trice/_test/special_for_debug	0.270s
ok  	github.com/rokath/trice/_test/special_protect_dblB_de_tcobs_ua	0.338s
ok  	github.com/rokath/trice/_test/stackB_di_nopf_aux32	172.451s
ok  	github.com/rokath/trice/_test/stackB_di_nopf_aux8	172.930s
ok  	github.com/rokath/trice/_test/stackB_di_nopf_rtt32	172.794s
ok  	github.com/rokath/trice/_test/stackB_di_nopf_rtt8	172.613s
ok  	github.com/rokath/trice/_test/stackB_di_xtea_cobs_rtt8	172.584s
ok  	github.com/rokath/trice/_test/staticB_di_nopf_aux32	172.187s
ok  	github.com/rokath/trice/_test/staticB_di_nopf_aux8	172.308s
ok  	github.com/rokath/trice/_test/staticB_di_nopf_rtt32	172.247s
ok  	github.com/rokath/trice/_test/staticB_di_nopf_rtt8	172.158s
ok  	github.com/rokath/trice/_test/staticB_di_tcobs_rtt32	172.179s
ok  	github.com/rokath/trice/_test/staticB_di_tcobs_rtt8	172.244s
ok  	github.com/rokath/trice/_test/staticB_di_xtea_cobs_rtt32	172.238s
Script run 897 seconds.

@rokath rokath merged commit c041973 into rokath:master May 25, 2025
1 check passed
@rokath
Copy link
Copy Markdown
Owner

rokath commented May 25, 2025

Would you please tell, what your intention was concerning the alias CLI option and why you removed it.

@srgg
Copy link
Copy Markdown
Contributor Author

srgg commented May 25, 2025

@rokath I'm still working on aliases and decided to split that work into a separate PR.

The goal is to introduce a mechanism for using custom macros that map to either trice or triceS. This allows for more project-specific naming and enables redefining the logging/probing logic—not just turning it on/off (as trice currently supports), but also conditionally changing the behavior at compile time.

For example, depending on the application, it could switch to a MicroSD logger, a plain serial console (without trice), or another backend.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Projects

None yet

Development

Successfully merging this pull request may close these issues.

Does Trice support receiving trace data from an MCU over UDP or TCP?

2 participants