Skip to content

Latest commit

 

History

History
97 lines (56 loc) · 4.31 KB

README.md

File metadata and controls

97 lines (56 loc) · 4.31 KB

Passive Optical Network Calculator (PONC)

Build Linux Build Windows Static Analysis CodeFactor License: MIT GitHub Releases

Description

PONC is the graphical tool used by telecommunication engineers to design, manage, and optimize Passive Optical Network layouts.

PONC performs complex calculations on the fly and serves as a fast, user-friendly replacement for existing spreadsheet-based approaches, which require hours of manual work.

Header

Subject

In PON, the optical signal is delivered to the city region over a single Input cable. In order for Clients to get the internet at their homes, the signal must be split among them using a combination of Splitter devices. They have multiple outputs, allowing the connection of additional cables while reducing the signal strength.

There are many kinds of Splitters, each with different split and signal reduction factors. The number of Clients to be connected to a single Input could also grow to hundreds in densely populated cities. This makes the number of possible network layouts enormous.

Workflow

A typical PONC workflow consists of an engineer designing or refining existing PON layouts, with the goal of finding the cheapest Splitter combination to match the number of Clients.

To achieve this, PONC provides instant reaction to changes, analytical views, and an automatic layout Calculator that could find the perfect combination in seconds.

The resulting network layouts are then implemented by the field engineers using real devices.

Features

  • Build and manage PON layouts

    Feature 1

  • Automatic flow updates and visualization

    Feature 2

  • Analytical views and navigation

    Feature 3

  • Find the most optimal layouts given the constraints

    Feature 4

  • Convenience functionality

    Feature 5

Requirements

Linux

  • OpenGL support

Windows

  • Windows 7 SP1 or newer
  • DirectX 11 support

Windows 7 might also require

No installation is required. Unpack the release archive and run the executable.

Build

Build with CMake on any supported platform.

cmake -B ./build
cmake --build ./build --config Release

See .github/workflows for build samples.

Third-party components

C++

Style

License

MIT