Skip to content

Latest commit

 

History

History
26 lines (19 loc) · 1.89 KB

README.md

File metadata and controls

26 lines (19 loc) · 1.89 KB

FoxConnect

Web based tool to automatically generate logic flow diagrams for Foxboro I/A series DCS based on configuration files dumped from the ICC.

Warning

This app is entirely experimental and an early work in progress, designed for one specific control system and may need to be adapted for others.

Structure

  • packages/app is the main web application built on Quart, broken up into blueprints:
    • blocks has the detail/diagram views and graphing logic
    • main has the main page templates, navigation, error handling, etc.
    • search has the search/index view
  • packages/pyfastmurmur3 is a thin wrapper around the Rust crate fastmurmur3, used for fast non-cryptographic string hashing
  • packages/quart_d3graphviz is a Quart extension to serve the node modules required for d3-graphviz as static files
  • packages/quart_foxdata is a Quart extension that encapsulates the data side of the application, i.e. parsing, data models, access/querying, etc.
  • packages/quart_htmx is a Quart extension to serve the node modules required for HTMX as static files and provide helper functionality

Setup

Important

Docker is required and the directory containing your ICC configuration files must be accessible locally.

  1. Build the icc_dumps volume by running scripts/build_volume.bat with the path to the directory containing your ICC configuration files as an argument, i.e. ./scripts/build_volume ../icc_dumps. This will create a new Docker volume, attach it to a dummy container, copy the configuration files into the volume, then delete the dummy container.
  2. Start the server using docker-compose up - this will build the project from source and start the production server.
  3. Access the application in the browser at 127.0.0.1:5000.