int eventlog_write_event(eventlog_t *l, eventlog_event_t *le) { fwrite32(l->f, MAGIC); le->eventnum = l->eventcount; fwrite64(l->f, le->eventnum); fwrite64(l->f, le->timestamp); fwrite32(l->f, le->channellen); fwrite32(l->f, le->datalen); fwrite(le->channel, 1, le->channellen, l->f); fwrite(le->data, 1, le->datalen, l->f); l->eventcount++; return 0; }
int lcm_eventlog_write_event(lcm_eventlog_t *l, lcm_eventlog_event_t *le) { if (0 != fwrite32(l->f, MAGIC)) return -1; le->eventnum = l->eventcount; if (0 != fwrite64(l->f, le->eventnum)) return -1; if (0 != fwrite64(l->f, le->timestamp)) return -1; if (0 != fwrite32(l->f, le->channellen)) return -1; if (0 != fwrite32(l->f, le->datalen)) return -1; if (le->channellen != fwrite(le->channel, 1, le->channellen, l->f)) return -1; if (le->datalen != fwrite(le->data, 1, le->datalen, l->f)) return -1; l->eventcount++; return 0; }
/** * Writes compressed frames to a file */ static int save_frames(FrmGrabber* fg, FILE* out, const V2UCompressParams* cp, const V2U_VideoMode *vm) { int result = 0; int i = 0; int totalsize = 0; int totaltime; V2U_TIME starttime = v2u_time(); V2U_UINT32 palette = cp->cformat->value; FrmGrab_Start(fg); /* Make sure that the first frame is a key frame */ palette |= V2U_GRABFRAME_KEYFRAME_FLAG; for( i=0; i<cp->count && result == 0; i++ ) { V2U_GrabFrame2* frame = FrmGrab_Frame(fg, palette, NULL); if (frame) { /* Write the frame size followed by the frame data */ if (fwrite32(out, frame->imagelen) && fwrite(frame->pixbuf, frame->imagelen, 1, out) == 1) { /* Clear the keyframe flag after the first frame */ palette &= ~V2U_GRABFRAME_KEYFRAME_FLAG; totalsize += frame->imagelen + sizeof(frame->imagelen); } else { printf("File write error\n"); result = STATUS_IOERR; } FrmGrab_Release(fg, frame); } else { printf("FrmGrab ioctl error\n"); result = STATUS_GRABERR; } } totaltime = (int)(v2u_time() - starttime); FrmGrab_Stop(fg); printf("Wrote %d frames, %d bytes, %d ms, %.2f fps\n", i, totalsize, totaltime, i*1000.0/totaltime); return result; }
void GetFF() { char fname[256]; TDate date; TTime time; GetDateTime(&date, &time); sprintf(fname,"%s\\FF_%02d%02d%d_%02d%02d.bin",_CurPath, date.day, date.month, date.year,time.hour,time.min); int f, #ifdef NEWSGOLD size=0x4000000; #else size=0x2000000; #endif Busy = 1; initprogr(ind_rec); progr_max=1; incprogr(0); if(fname && (f=_open(fname,A_WriteOnly+A_BIN+A_Create+A_Truncate,P_WRITE,&err))!=-1) { fwrite32(f,(char*)0xA0000000,size,&err); _close(f,&err); } if(progr_stop) fsrm(fname, 0); DoRefresh(); //�שול ןונג�י פאיכ int ind = GetCurTabFileIndex(GetFileName(fname)); SetCurTabIndex(ind, 0); endprogr(); Busy = 0; }