Beispiel #1
0
int main (void)
{
	static const prog_char mess1[] = "test2.c software uart sample program\r\n";
	const prog_char *s;
	char c;

	/* Initialize I/O ports */
	PORTB = 0b11111110;	/* PB0:Tx/Rx */
	DDRB  = 0b00000000;
	PORTD = 0b01111111;	/* Pull-up Port D */


	/* Send message */
	s = mess1;
	for (;;) {
		c = pgm_read_byte(s++);
		if (!c) break;
		xmit(c);
	}

	/* Receives data and echos it in incremented data */
	for(;;) {
		c = rcvr();
		c++;
		xmit(c);
	}

}
Beispiel #2
0
int main()
{
    sout << locker << "\n  Console Receiver Demo "
         << "\n =======================\n" << unlocker;

    try
    {
        EndPoint rep("127.0.0.1",8081);
        //EndPoint sep("127.0.0.1",2049);

        // MsgReceiver_Proc is your receiver's server message handling
        // FileReceiver_Proc is your receiver's server file handling
        Communicator rcvr(rep);
        MsgHandler<MsgReceiver_Proc> rMsgHandler;
        rMsgHandler.setCommunicator(&rcvr);
        rcvr.attachMsgHandler(&rMsgHandler);
        FileHandler<FileReceiver_Proc> rFileHandler;
        rFileHandler.setFileDestination(".\\debug");
        rFileHandler.setCommunicator(&rcvr);
        rcvr.attachFileHandler(&rFileHandler);
        rcvr.listen();

        sout << "\n\n  press key to exit:  ";
        sout.flush();
        _getche();
        sout << "\n\n";
        rcvr.disconnect();
    }
    catch(std::exception& ex)
    {
        sout << locker << "\n  " << ex.what() << "\n\n" << unlocker;
    }
}
Beispiel #3
0
// split_nodes cannot have predecessors
// they do not reject messages and always forward.
// they reject edge reversals from successors.
void TestSplitNode() {
    typedef tbb::flow::split_node<tbb::flow::tuple<int> > snode_type;
    tbb::flow::graph g;
    snode_type snode(g);
    tbb::flow::function_node<int> rcvr(g,tbb::flow::unlimited, receiverBody<int>());
    REMARK("Testing split_node\n");
    ASSERT(tbb::flow::output_port<0>(snode).my_successors.empty(), "Constructed split_node has successors");
    // tbb::flow::output_port<0>(snode)
    tbb::flow::make_edge(tbb::flow::output_port<0>(snode), rcvr);
    ASSERT(!(tbb::flow::output_port<0>(snode).my_successors.empty()), "after make_edge, split_node has no successor.");
    snode.try_put(tbb::flow::tuple<int>(1));
    g.wait_for_all();
    g.reset();
    ASSERT(!(tbb::flow::output_port<0>(snode).my_successors.empty()), "after reset(), split_node has no successor.");
    g.reset(tbb::flow::rf_clear_edges);
    ASSERT(tbb::flow::output_port<0>(snode).my_successors.empty(), "after reset(rf_clear_edges), split_node has a successor.");
}
///////////////////////////receiver main function////////////////////////
int main()
{
  int ret = 0;
  BlockingQueue<AcknowlegementMsg> ackMsgQ;
  AcknowlegementMsg ackmsg;
  try
  {
    Receiver rcvr(ackMsgQ);
    rcvr.start(8080);
  }
  catch(std::exception& ex)
  {
    std::cout << "\n\n  " << ex.what();
    ret = 1;
  }
  catch(...)
  {
    sout << "\n  something bad happened";
    ret = 1;
  }
  sout << "\n\n";
  return ret;
}
Beispiel #5
0
void *rcvr_thread(void* arg)
{	
	rcvr(fd, msglen, interval, nmsg);
	printd(lostmsgs ? "lost messages" : "");
	return 0;
}