Skip to content

Commit

Permalink
Merge branch 'master' into bracz-esp-compiler-warnings
Browse files Browse the repository at this point in the history
* master:
  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)
  Adds support for Offset(n) attribute in the CDI  (#765)
  Adds local loopback to TractionThrottle. (#756)
  Fix test flakiness.
  Fix compile error on FdUtils under freertos.
  • Loading branch information
balazsracz committed Feb 2, 2024
2 parents 91c419e + 4d452a6 commit 850c9ba
Show file tree
Hide file tree
Showing 27 changed files with 1,647 additions and 86 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.86 \

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 850c9ba

Please sign in to comment.