diff --git a/RTCP/Cobalt/InputProc/src/Station/capture.cc b/RTCP/Cobalt/InputProc/src/Station/capture.cc new file mode 100644 index 0000000000000000000000000000000000000000..aad8c5145bf849d2c104ba53b6b77e8ffc6bfe8c --- /dev/null +++ b/RTCP/Cobalt/InputProc/src/Station/capture.cc @@ -0,0 +1,70 @@ +//# capture.cc: Capture data from a single station. +//# Copyright (C) 2012-2013 ASTRON (Netherlands Institute for Radio Astronomy) +//# P.O. Box 2, 7990 AA Dwingeloo, The Netherlands +//# +//# This file is part of the LOFAR software suite. +//# The LOFAR software suite is free software: you can redistribute it and/or +//# modify it under the terms of the GNU General Public License as published +//# by the Free Software Foundation, either version 3 of the License, or +//# (at your option) any later version. +//# +//# The LOFAR software suite is distributed in the hope that it will be useful, +//# but WITHOUT ANY WARRANTY; without even the implied warranty of +//# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +//# GNU General Public License for more details. +//# +//# You should have received a copy of the GNU General Public License along +//# with the LOFAR software suite. If not, see <http://www.gnu.org/licenses/>. +//# +//# $Id$ + +#include <lofar_config.h> + +#include <string> +#include <vector> +#include <omp.h> + +#include <Common/LofarLogger.h> +#include <CoInterface/Stream.h> + +#include <InputProc/Station/PacketsToBuffer.h> + +using namespace LOFAR; +using namespace Cobalt; +using namespace std; + +int main( int argc, char **argv ) +{ + INIT_LOGGER( "capture" ); + + omp_set_nested(true); + omp_set_num_threads(16); + + if (argc < 3) { + cerr << "Syntax: capture stationname stream [stream] ..." << endl; + exit(1); + } + + const string stationName = argv[1]; + + vector< SmartPtr<Stream> > inputStreams; + for (int i = 2; i < argc; ++i) { + const string desc = argv[i]; + + LOG_INFO_STR("Connecting to " << desc); + inputStreams.push_back(createStream(desc, true)); + LOG_INFO_STR("Connected."); + } + + // Fill a BufferSettings object + struct StationID stationID(stationName, "LBA", 200, 16); + struct BufferSettings settings(stationID, false); + + MultiPacketsToBuffer mpb(settings, inputStreams); + + mpb.process(); + + return 0; +} + + diff --git a/RTCP/Cobalt/InputProc/src/Station/generate.cc b/RTCP/Cobalt/InputProc/src/Station/generate.cc new file mode 100644 index 0000000000000000000000000000000000000000..0e42a9e81afa7ff944f5258b24fbc6ad84a1bbc1 --- /dev/null +++ b/RTCP/Cobalt/InputProc/src/Station/generate.cc @@ -0,0 +1,68 @@ +//# generator.cc: Generates fake data resembling a single station. +//# Copyright (C) 2012-2013 ASTRON (Netherlands Institute for Radio Astronomy) +//# P.O. Box 2, 7990 AA Dwingeloo, The Netherlands +//# +//# This file is part of the LOFAR software suite. +//# The LOFAR software suite is free software: you can redistribute it and/or +//# modify it under the terms of the GNU General Public License as published +//# by the Free Software Foundation, either version 3 of the License, or +//# (at your option) any later version. +//# +//# The LOFAR software suite is distributed in the hope that it will be useful, +//# but WITHOUT ANY WARRANTY; without even the implied warranty of +//# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +//# GNU General Public License for more details. +//# +//# You should have received a copy of the GNU General Public License along +//# with the LOFAR software suite. If not, see <http://www.gnu.org/licenses/>. +//# +//# $Id$ + +#include <lofar_config.h> + +#include <string> +#include <vector> +#include <omp.h> + +#include <Common/LofarLogger.h> +#include <CoInterface/Stream.h> + +#include <InputProc/Station/PacketFactory.h> +#include <InputProc/Station/Generator.h> + +using namespace LOFAR; +using namespace Cobalt; +using namespace std; + +int main( int argc, char **argv ) +{ + INIT_LOGGER( "generator" ); + + omp_set_nested(true); + omp_set_num_threads(16); + + if (argc < 3) { + cerr << "Syntax: generator stationname stream [stream] ..." << endl; + exit(1); + } + + const string stationName = argv[1]; + vector< SmartPtr<Stream> > outputStreams; + for (int i = 2; i < argc; ++i) { + const string desc = argv[i]; + + LOG_INFO_STR("Connecting to " << desc); + outputStreams.push_back(createStream(desc, false)); + LOG_INFO_STR("Connected."); + } + + struct StationID stationID(stationName, "LBA", 200, 16); + struct BufferSettings settings(stationID, false); + + PacketFactory factory(settings); + Generator g(settings, outputStreams, factory); + + // Generate packets + g.process(); +} +