00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011 #include <signal.h>
00012 #include <korebot/korebot.h>
00013
00028 static int quitReq = 0;
00029 static knet_dev_t * koreio;
00030
00031
00035 static void ctrlc_handler( int sig )
00036 {
00037 quitReq = 1;
00038 }
00039
00040
00043 int quit( int argc , char * argv[] , void * data)
00044 {
00045 quitReq = 1;
00046 }
00047
00048
00053 int readios( int argc , char * argv[] , void * data)
00054 {
00055
00056 }
00057
00058
00059 int help( int argc , char * argv[] , void * data);
00060
00064 static kb_command_t cmds[] = {
00065 { "quit" , 0 , 0 , quit } ,
00066 { "exit" , 0 , 0 , quit } ,
00067 { "bye" , 0 , 0 , quit } ,
00068 { "help" , 0 , 0 , help } ,
00069 { NULL , 0 , 0 , NULL }
00070 };
00071
00072
00075 int help( int argc , char * argv[] , void * data)
00076 {
00077 kb_command_t * scan = cmds;
00078 while(scan->name != NULL)
00079 {
00080 printf("%s\r\n",scan->name);
00081 scan++;
00082 }
00083 return 0;
00084 }
00085
00086
00090 static char buf[1024];
00091
00092 int main( int argc , char * argv[] )
00093 {
00094 int rc,ver,io,ad,pw = 0, freq;
00095 char newpage = 12, state;
00096 uint16_t val;
00097 uint32_t time;
00098
00099
00100
00101 kb_set_debug_level(2);
00102
00103 if((rc = kb_init( argc , argv )) < 0 )
00104 return 1;
00105
00106 signal( SIGINT , ctrlc_handler );
00107
00108 printf("K-Team KoreIO Test Program\r\n");
00109
00110 koreio = knet_open( "KoreIO:Board", KNET_BUS_ANY, 0 , NULL );
00111 if(!koreio)
00112 {
00113 printf("Cannot open KoreIO device trying alternate address\r\n");
00114 koreio = knet_open( "KoreIO:AltBoard", KNET_BUS_ANY, 0 , NULL );
00115 if(!koreio)
00116 {
00117 printf("Cannot open KoreIO device\r\n");
00118 return 1;
00119 }
00120 }
00121
00122
00123 kio_GetFWVersion(koreio,&ver);
00124
00125 printf("KoreIO firmware %d.%d\r\n", (ver&0x000000F0)>>4, (ver&0x0000000F));
00126
00127
00128 io = 0;
00129 while(io < 16)
00130 while(io < 16)
00131 {
00132 kio_ConfigIO(koreio,io,1);
00133 io++;
00134 usleep(1000);
00135 }
00136
00137 io = 0;
00138 while(io < 16)
00139 {
00140 kio_SetIO(koreio,io);
00141 io+= 2;
00142 }
00143
00144 io = 1;
00145 while(io < 16)
00146 {
00147 kio_ClearIO(koreio,io);
00148 io+= 2;
00149 }
00150
00151
00152
00153
00154 while (!quitReq) {
00155 printf("\n> ");
00156
00157
00158
00159
00160
00161
00162
00163
00164
00165
00166
00167
00168 io = 0;
00169 while(io < 16)
00170 {
00171 kio_ChangeIO(koreio,io);
00172 io++;
00173
00174
00175 }
00176
00177
00178 kio_GetFWVersion(koreio,&ver);
00179
00180 printf("KoreIO firmware %d.%d\r\n", (ver&0x000000F0)>>4, (ver&0x0000000F));
00181
00182
00183
00184
00185
00186
00187
00188
00189
00190
00191
00192
00193
00194
00195
00196
00197
00198
00199
00200
00201
00202 usleep(200000);
00203 printf("%c", newpage);
00204
00205 }
00206
00207 knet_close( koreio );
00208 }