void main() { int i=0; char mymac[6]={0x74,0xf7,0x26,0x00,0x00,0x01}; unsigned char data[]={0x00,0x01,0x02,0x03,0x04,0x05,0x06,0x07,0x08,0x09,0x04,0x74,0xf7,0x26,0x00,0x00,0x01,0x65,0x00,0x00,0x0a,0x05,0x00,0x01,0x02,0x03,0x05,0x06,0x07,0x08,0x09}; bowler4_header bh; for (i=0; i<sizeof(bowler4_header); i++) bh.bytes[i]=0; bh.fields.version=0x04; bh.fields.affect=setPriority(5,setState(setAsync(bh.fields.affect))); bh.fields.payloadLength=10; bh.fields.payloadType=0; set_mac_address(mymac,&bh); calculate_checksum(&bh); printf("Verify?\t%d\n",verify_checksum(&bh)); printf("Verify?\t%d\n",verify_checksum(&bh)); printf("%X\n",check_mac_address(mymac,&bh) ); printHeader(bh); V4MicroParser_state parser; parser.state=align; parser.macaddr=&mymac; fifoInit(&parser.fifo); fifoPrint(&parser.fifo); for (i=0; i<sizeof(data); i++){ fifoPush(&parser.fifo,data[i]); int delta=parser.fifo.inPointer; printf("Pushing:\t%i\n",i); /*fifoPrint(&parser.fifo);*/ runParserSM(&parser); if (parser.fifo.inPointer!=delta) {printf("\nNew Contents of FIFO:");fifoPrint(&parser.fifo);} printf("===================\n"); } /* fifoPull(&fifo,15); */ /* fifoPrint(&fifo); */ }
static void imprimir_bonito_mundo () { int linha; printf ("%10ld", time (NULL)); printf (" %s %5d %2d %2d", ECS [mundo->estado_capitao], mundo->peixes_cais, mundo->barcos_cais, mundo->jornadas_pesca); if (mundo->estado_capitao == C_RECEBER || mundo->estado_capitao == C_AGUARDAR) printf (" %10ld", mundo->hora_regressar); printf ("\n["); fifoPrint (&mundo->espera_barcos); printf ("]\n"); int stop = max (num_barcos, max (num_cardumes, DIMENSAO_MAR)); linha = 0; while (linha < stop) { if (linha < num_barcos) { printf ("| "); imprimir_barco (stdout, barcos + linha); } else printf (" "); printf ((linha < num_barcos || linha < num_cardumes) ? " | " : " "); if (linha < num_cardumes) imprimir_cardume (stdout, cardumes + linha); else printf (" "); if (linha < DIMENSAO_MAR) { printf (" |"); int col; for (col = 0; col < DIMENSAO_MAR; col++) { static char *pattern[] = {" ", "Ca", "Ba", "CB"}; printf (pattern [ (mundo->mar [col][DIMENSAO_MAR - linha - 1].cardume == VAZIO ? 0 : 1) + (mundo->mar [col][DIMENSAO_MAR - linha - 1].barco == VAZIO ? 0 : 2)]); } printf ("|"); } printf ("\n"); linha++; } }