00001
00002
00003 #include <j2k/Fred/QNX/Board.hpp>
00004 #include <j2k/Fred/QNX/Reader.hpp>
00005 #include <j2k/Fred/QNX/Writer.hpp>
00006
00007 #include <j2k/Fred/QNX/Board.cpp>
00008 #include <j2k/Fred/QNX/Thread.cpp>
00009 #include <j2k/Fred/QNX/Reader.cpp>
00010 #include <j2k/Fred/QNX/Writer.cpp>
00011
00012 Board* b1;
00013 Reader* r1;
00014 Writer* w1;
00015
00016 Reader* r2;
00017 MsgData* m1;
00018
00019 int test1() {
00020 b1 = new Board();
00021 r1 = new Reader();
00022 w1 = new Writer();
00023
00024 printf("MAIN=[ (%d) (%d) ]\n\r", b1->Read(1), b1->Read() );
00025
00026 printf("MAIN: Start Read\n\r");
00027 r1->Start();
00028
00029 printf("MAIN: Start Write\n\r");
00030 w1->Start();
00031
00032 Msg_t m;
00033 m.type = MSG_DO;
00034
00035 printf("MAIN: Send Msg Read\n\r");
00036 Send( r1->Pid(), &m, &m, sizeof(m), sizeof(m) );
00037
00038 for(;;) {
00039 printf(".");
00040 }
00041
00042 printf("MAIN: Done!\n\r");
00043
00044 delete b1;
00045 delete r1;
00046 delete w1;
00047
00048 return 0;
00049 }
00050
00051 int test2() {
00052 int i = 0;
00053
00054 r1 = new Reader(12);
00055 r2 = new Reader(26);
00056 m1 = new MsgData(MSG_FUNCTION_CALL, 5);
00057 m1->valid = 1;
00058 m1->Show();
00059
00060 printf("\nMAIN: Start Read\n\r");
00061 r1->Start();
00062 r2->Start();
00063
00064 printf("\nMAIN: Send Msg Read0\n\r");
00065 r1->SendMsg( m1, NULL );
00066
00067 printf("\nMAIN: Send Msg Read1\n\r");
00068 r2->SendMsg( m1, NULL );
00069
00070 printf("\nMAIN: Done!\n\r");
00071 for(i = 0; i < 50; i++ ) {
00072 printf("D");
00073 }
00074
00075 r1->Stop();
00076
00077 for(i = 0; i < 50; i++ ) {
00078 printf("#1");
00079 }
00080
00081 r2->Stop();
00082
00083 for(i = 0; i < 50; i++ ) {
00084 printf(".2");
00085 }
00086
00087 delete r1;
00088 delay( 100 );
00089 delete r2;
00090 delay( 100 );
00091 delete m1;
00092 return 0;
00093 }
00094
00095 void main() {
00096 test1();
00097 }
00098