Skip to content

Mipppy/NYSSRA

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

71 Commits
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Got some time to spare, so I guess I'll start documentation.

Overall goal

I was "employed" for this projects for my passion for Nordic and resume building by Bob Underwood and NYSSRA. The end goals for the programs are:

  • Unify all of New York Nordic skiing under one set of programs.
  • Provide easy API access to all Nordic race results under these programs.
  • Update old systems that are relics of the past for accessability and ease of use. These include the NYSSRA website and the BART timing system. Due to the lack of existing source code, both will have to be completely rewritten.
  • Make a functional live timing system for Nordic, as it has not been in operation in a while.

Some of the goals that will have to be accomplished as a result:

  • Creating a python wrapper and documentation for the SRT Timing System, as it is exceptionally hard to find any records on it.

LIVETIMING/

This directory contains all the files for the new timing system that is in development. It uses the SRT Timing DLL for interfacing with the Summit Race Timers, and uses PyQt5 to render HTML files to allow the user to easily interact with the timers.

cpp/

This is a directory that contains the failed attempts I had at compiling the DLLs with C++. This likely failed due to me trying to compile the 32-bit DLLS on a 64-bit Linux laptop, but neverless I moved onto python, which showed more promise somehow.
Brief overview of the directory:

File Purpose
main.cpp This was meant to house the main file for the timing system, but due to it failing this has broken code. If the code looks slopply or obviously wrong, it is because this was probably my 1000th attempt, and I tried a lot of stuff. I don't think my code was the issue, it was just me trying to compile a 32-bit Windows DLL made on XP to a 64-bit Fedora Linux Laptop
main.exe The exe compiled from said broken code
main.exe.so This was me trying random stuff with the compiler until something different happened
lib/srt_data_acquisition_dll.def See above
include/ Contains my squashed hopes and dreams of writing the timing system in C++
src/ Also contains my squashed hopes and dreams of writing the timing system in C++

python/

The real meat of the the LIVETIMING directory. It runs fine with wine on Fedora Linux, and I don't have to mess with a compiler to get it working. Brief overview of the directory:

File Purpose
main.py This will be the main file for the program. Nothing is gets exported from it. Currently, it is used in testing the DLL and the GUI together
livetiming.py The original "main" file of the directory, which is exclusively used for testing the DLL and GUI independently. Will probably be deleted once the project is done, and an actually testing file will be made.
xc_timer.py Provides a class for interfacing with the xc_timer_dll.dll. Contains a replica of some of the functions in the DLL with accurate descriptions and type handling. Use this over srt_acquisition.py
srt_acquisition.py Provides a class for interfacing with the srt_acquisition_dll.dll. This was made before I realized that xc_timer_dll.dll was the main DLL and the one to use, so it has pretty much no use and will likely not be used in the program.
announcer.py This will have the TTS part of the system when I make it.
settings.py Handles the settings, using files bart2_settings.txt for setting storage and bart2_settings_defaults.txt for the defaults so I can add a reset to defaults button. I know there is a config library, but I had already made a settings system at that point so it would be worthless.
helpers.py Contains every function that may be used in more than one file and doesn't neatly fit into other files. It also contains the function to load and use the logger, loaded with bart2_logging.conf.
render.py This is the GUI side of the program, it deals with the rendering and cconnection of the HTML and JS.
srt/*, open.txt, srt_log.txt Files generated by the DLL containing various useful information about what it is doing. Very useful in debugging
rendering/index.html The file that gets rendered by render.py. It contains all the JS and CSS within it, not in separate files, because
A. I didn't feel like it.
B. I wanted to
C. Why would I want a neat, organized file and folder structure?
rendering/static/* All the libraries used in rendering/index.html, because I don't want to rely on CDNs. These get their own file because I felt like it.
includes/* The Summit Race Timing DLLS.

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Packages

No packages published