Skip to content

Commit

Permalink
Merge branch 'master' into bracz-libify-update
Browse files Browse the repository at this point in the history
* master:
  Fix esp32 select race conditions. (#780)
  Latency test with maximum stats and custom process evaluation (#773)
  Fix compiler warnings in openmrn when using new GCC's. (#772)
  Upintegrate changes from the OpenMRNIDF repository (#771)
  Adds support for DCC extended accessories  (#769)
  Fix incorrect consumer identified message being emitted by dcc accy producer. (#768)
  Avoids rendering hidden segments. (#767)
  Adds trailing zero to the cdi XML file written to the filesystem. (#777)
  Fix target subdirectory name (#775)
  Fixes file comment.
  Adds an application (hub_test) for testing the throughput of a hub or a CAN-bus (#762)
  Adds a helper function to decode a 14-bit 9.2.1.1 address into address type and raw address. (#766)
  Fix broken test.
  Accessory packet refactoring and POM support (#764)
  • Loading branch information
balazsracz committed Feb 5, 2024
2 parents 1db8f18 + 157139e commit 28cc407
Show file tree
Hide file tree
Showing 77 changed files with 3,008 additions and 1,103 deletions.
3 changes: 3 additions & 0 deletions applications/hub_test/Makefile
Original file line number Diff line number Diff line change
@@ -0,0 +1,3 @@
SUBDIRS = targets
-include config.mk
include $(OPENMRNPATH)/etc/recurse.mk
36 changes: 36 additions & 0 deletions applications/hub_test/README.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,36 @@
Hub throughput testing application {#hub_test_application}
==================================

[TOC]

# Goal

The purpose of Hub testing is to verify an OpenLCB link or bus for qualitative
and quantitative performance characteristics. These are as follows.

Qualitative:
- The link has to be lossless.
- There is only limited reordering allowed within the link.
- There has to be proper throttling for ingress of packets to the link.

Quantitative:
- What is the maximum throughut of packets that can be accepted on the link.
- What is the round-trip-time of the link.
- What is the jitter on the timing of the packet round-trips.

For hubs, a relevant question is also how do these metrics change as the number
of clients on the hub are increased.

## Testing methodology

The application contains a load generator, and a receiver. For a given test,
one generator and one or more receivers have to be attached to the same bus.

The generator supplies a given load to the bus. This load may be a fixes
traffic, or the maximum traffic that the bus is willing to accept.

The receiver watches for the traffic coming from the generator, verifies the
qualitative attributes, and measures the quantitative attributes. Statistics
about this are printed to the screen.


1 change: 1 addition & 0 deletions applications/hub_test/config.mk
2 changes: 2 additions & 0 deletions applications/hub_test/subdirs
Original file line number Diff line number Diff line change
@@ -0,0 +1,2 @@
SUBDIRS = \

4 changes: 4 additions & 0 deletions applications/hub_test/targets/Makefile
Original file line number Diff line number Diff line change
@@ -0,0 +1,4 @@
SUBDIRS = \
linux.x86 \

include $(OPENMRNPATH)/etc/recurse.mk
1 change: 1 addition & 0 deletions applications/hub_test/targets/linux.x86/.gitignore
Original file line number Diff line number Diff line change
@@ -0,0 +1 @@
hub_test
2 changes: 2 additions & 0 deletions applications/hub_test/targets/linux.x86/Makefile
Original file line number Diff line number Diff line change
@@ -0,0 +1,2 @@
-include ../../config.mk
include $(OPENMRNPATH)/etc/prog.mk
Loading

0 comments on commit 28cc407

Please sign in to comment.