initial outline of new structure
see if txt readme looks better
remove readme.md
update readout with more details about class heirarchy
add simple demo of new framework
basic demo plot app works
remove accidentally committed file
change directory structure, now you want to add the git repo to your path.
Left apps at top level for now
These are Bjorn's changes. Included: two new versions of catcher (PacketCatcher is the newest). Note: create_data_product_custom is an altered class in aggregator. Coordinator was only altered to use the new catcher class. demo_plot and run_coordinator should work the same.
Changed custom function from create_data_products_udp to create_data_products_experimental.
Changed names to work together
Added gather function to aggregator. Used for checking packet order and puts them in a larger buffer before pushing them to create_data_product. Need to implement timestamp with gather function.
Minor changes to be more multiple-channel friendly.
Added a clock array to the catcher. Need to review how the FPGA writes to determine better values, but it does send an array of the same length as the data. Also wrote a new gather function, gather_no_buff, that checks the order of the packets without aggregating them into a buffer.
Switched packet order checking to the catcher. Now in PacketCatcher.order(packet).
Changed order in catcher to accurately increment the clock for filler arrays. Also added in an iterative loop so that the filling keeps happening until the packet_counter is equal to the packet_index. Changed names to better match pep8 conventions. Removed old classes UDPCatcher and function gather.
Created new catcher class DemultiplexCatcher. This returns a list of dictionaries, each containing the data and clock for a separate channel. Added create_data_products_dict to aggregator to take into account the dictionaries rather than named tuples. May switch back to named tuples, but the output will stay demultiplexed.

Added the code running on the roach to the branch under new directory ppc. This code sends data from the filebuffers in the roach as UDP packets. Also included the python program startup_fileserver that runs this on the roach without having to manually ssh into the roach.
Updated catcher to include the correct channel_id for each demultiplexed packet. Program is now running with two channels.
get_clock in DemultiplexCatcher now assigns consecutive clock counts to both subsequent indexed packets and subsequent "chunks" of 16 packets. time_zero is set as soon as the program is run.
The check_order function has been debugged and tested. It works.