00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00015
00016
00017
00018
00019
00020
00021
00022
00023
00024 #include <iostream>
00025 #include <cstdlib>
00026 #include <sched.h>
00027
00028 #include "ossie/ossieSupport.h"
00029 #include "ossie/debug.h"
00030
00031 #include "USRP.h"
00032
00033
00034 int main(int argc, char* argv[])
00035
00036 {
00037
00038 if (argc != 4) {
00039 std::cerr << argv[0] << " <identifier> <usage name> <software profile>" << std::endl;
00040 exit (-1);
00041 }
00042
00043 ossieDebugLevel = 3;
00044
00045 struct sched_param prio;
00046
00047 prio.sched_priority = 5;
00048
00049 int rc = sched_setscheduler(0, SCHED_RR, &prio);
00050
00051 if (rc < 0)
00052 std::cerr << "Failed to set RR scheduler for USRP device." << std::endl;
00053
00054 ossieSupport::ORB *orb = new ossieSupport::ORB;
00055
00056 char *id = argv[1];
00057 char *label = argv[2];
00058 char *profile = argv[3];
00059
00060
00061 USRP_i* usrp_servant;
00062 CF::Device_var usrp_var;
00063
00064
00065
00066 usrp_servant = new USRP_i(id, label, profile);
00067 usrp_var = usrp_servant->_this();
00068
00069 std::string objName = "DomainName1/";
00070 objName += label;
00071 orb->bind_object_to_name((CORBA::Object_ptr) usrp_var, objName.c_str());
00072
00073
00074
00075 orb->orb->run();
00076
00077 }