/// <summary> /// wait for the specficed ms until keypressed /// </summary> /// <param name="ms">The ms to wait.</param> /// <returns>The key pressed(ASC-II not guaranteed).</returns> int waitkey(double ms) { int key = -1; double start = get_real_time(); double end = start + ms / 1000; #if defined(__unix__) || defined(__unix) || defined(unix) || (defined(__APPLE__) && defined(__MACH__)) set_conio_terminal_mode(); #endif if (ms <= 0) { // disable timer if ms <= 0 end = DBL_MAX; } while (key == -1) { key = kb_hit(); //printf("%d", (int)get_elapsed_time_ms(start)); if (get_real_time() >= end) { break; } } //std::cin.get(); #if defined(__unix__) || defined(__unix) || defined(unix) || (defined(__APPLE__) && defined(__MACH__)) reset_terminal_mode(); #endif return key; }
int main(void) { I16 err, card; U16 channel=3; U16 range=AD_B_10_V; U32 read_count=2048; F64 sample_rate=2048; U32 *ai_buf; int i; if((card=Register_Card(PCI_9114DG, 0))<0){ printf("Register_Card error=%d", card); Release_Card(card); exit(1); } do{ err = AI_9114_Config(card, TRIG_INT_PACER); if(err!=0){ printf("AI_9114_Config error=%d", err); Release_Card(card); exit(1); } err = AI_AsyncDblBufferMode(card, 0); if(err!=0){ printf("AI_DblBufferMode error=%d", err); Release_Card(card); exit(1); } ai_buf = (U32*)malloc(read_count*4); memset(ai_buf, '\0', read_count*4); err = AI_ContReadChannel(card, channel, range, ai_buf, read_count, sample_rate, SYNCH_OP); if(err!=0){ printf("AI_ContReadChannel error=%d", err); Release_Card(card); free(ai_buf); exit(1); } free(ai_buf); printf("Loop %d\n", ++i); }while(!kb_hit()); Release_Card(card); return 0; }
int main(int argc, char **argv) { I16 card, err; U16 card_num; U16 acq_ch[ChNum]; U16 acq_gain[ChNum]; U16 acq_value[ChNum]; F64 voltage=0.0; int i; int j=0; for(i=0; i< ChNum; i++){ acq_ch[i]=i; acq_gain[i]=AD_B_5_V; } fout = fopen("acq.txt", "w"); printf("Please input a card number: "); scanf(" %hd", &card_num); if((card=Register_Card (PCI_9221, card_num)) < 0) { printf("Register_Card error=%d", card); exit(1); } do{ clrscr(); err = AI_ReadMultiChannels(card, ChNum, acq_ch, acq_gain, acq_value); if(err < 0){ printf("AI Read Multi Channel Error: %d\n", err); exit(1); } for(i=0; i<ChNum; i++){ AI_VoltScale(card, acq_gain[i], acq_value[i], &voltage); fprintf(fout, "%f\t", voltage); } fprintf(fout, "\n"); printf("Loop %d\n", j++); }while(!kb_hit()); err = Release_Card(card); if(err < 0){ printf("Release_Card error=%d", err); exit(1); } return 0; }
void cdecl TERMWINDOWMEMBER cOutput(const char *fmt) { // for screenblanker if (!oPhys) { kb_hit(); } const Bool oldcolor = TermCap->IsColor(); TermCap->SetColor(TRUE); outSpeech(FALSE, fmt); register const char *buf = fmt; while (*buf) { if (*buf == CTRL_A) { uchar wordBuf[MAXWORDLEN + 8]; int i; i = getWord(wordBuf, (uchar *) buf, 0, MAXWORDLEN); const Bool oldmodem = OC.Modem; OC.Modem = FALSE; termCap(buf + 1); OC.Modem = oldmodem; buf += i; } else { outCon(*buf++); } } TermCap->SetColor(oldcolor); ansi(14); OC.MCI_goto = FALSE; }
int main(int argc, char **argv) { I16 card, err; U16 card_num; U32 out_data; U16 rb_data; U16 read_data; int i; printf("Please input a card number: "); scanf(" %hd", &card_num); if((card=Register_Card (PCI_9221, card_num)) < 0) { printf("Register_Card error=%d", card); exit(1); } out_data = 1; i = 0; do{ clrscr(); //Write Data to DO Line err = DO_WriteLine(card, 0, i, out_data); if(err < 0){ printf("DO Write Line%d Error: %d\n", i, err); exit(1); } printf("DO Write Data to Line%d: 0x%x\n", i, (unsigned int)out_data); //Read Back Data from DO Line err = DO_ReadLine(card, 0, 0, &rb_data); if(err < 0){ printf("DO Read Line0 Error: %d\n", err); exit(1); } printf("DO Read Back from Line0: 0x%x\n", (unsigned int)rb_data); err = DO_ReadLine(card, 0, 1, &rb_data); if(err < 0){ printf("DO Read Line1 Error: %d\n", err); exit(1); } printf("DO Read Back from Line1: 0x%x\n", (unsigned int)rb_data); err = DO_ReadLine(card, 0, 2, &rb_data); if(err < 0){ printf("DO Read Line2 Error: %d\n", err); exit(1); } printf("DO Read Back from Line2: 0x%x\n", (unsigned int)rb_data); err = DO_ReadLine(card, 0, 3, &rb_data); if(err < 0){ printf("DO Read Line3 Error: %d\n", err); exit(1); } printf("DO Read Back from Line3: 0x%x\n", (unsigned int)rb_data); //Read Data from DI Line err = DI_ReadLine(card, 0, 0, &read_data); if(err < 0){ printf("DI Read Line0 Error: %d\n", err); exit(1); } printf("DI Read Data from Line0: 0x%x\n", (unsigned int)read_data); err = DI_ReadLine(card, 0, 1, &read_data); if(err < 0){ printf("DI Read Line1 Error: %d\n", err); exit(1); } printf("DI Read Data from Line1: 0x%x\n", (unsigned int)read_data); err = DI_ReadLine(card, 0, 2, &read_data); if(err < 0){ printf("DI Read Line2 Error: %d\n", err); exit(1); } printf("DI Read Data from Line2: 0x%x\n", (unsigned int)read_data); err = DI_ReadLine(card, 0, 3, &read_data); if(err < 0){ printf("DI Read Line3 Error: %d\n", err); exit(1); } printf("DI Read Data from Line3: 0x%x\n", (unsigned int)read_data); if((++i)==4){ i=0; out_data = (!out_data) ? 1:0; } printf("Press any key to exit...\n"); usleep(200000); }while(!kb_hit()); err = Release_Card(card); if(err < 0){ printf("Release_Card error=%d", err); exit(1); } return 0; }