ISO transmission w/ libraw
Brought to you by:
aeb,
bencollins
From: Ichiro S. <ic...@fn...> - 2001-02-05 17:15:12
|
Hi, I've been trying ISO packet transmission without any success. I attach my code below, 's.cc' for the sender side and 'r.cc' for the receiver. These are running on two machines, sender and receiver each. What am I missing? (Bus reset handling and FCP transmission worked fine with similar code.) System info.: kernel: Linux 2.2.16 ieee1394: 2.2.17-20001012 libraw: 0.8.2 NIC: D-Link DFW-500 (OHCI compat.) Thanks a lot ----------------------------------------------------------------- Ichiro Suzuki ic...@fn..., http://home.fnal.gov/~ichiro/ PPD/EPP, Fermi National Accelerator Laboratory, Batavia, Illinois ----------------------------------------------------------------- ---- 8< ---- s.cc ---- 8< ---- #include "libraw1394/ieee1394.h" #include "libraw1394/raw1394.h" #include "libraw1394/csr.h" int main(int argc, char *argv[]) { raw1394handle_t handle = raw1394_get_handle(); raw1394_set_port(handle, 0); const unsigned int CHANNEL = 1; const int DATASIZE = 512; unsigned char buf[DATASIZE]; raw1394_iso_write(handle, CHANNEL, 0, 0, L1394_SPEED_400, DATASIZE, (quadlet_t *)buf); raw1394_destroy_handle(handle); exit(0); } ---- 8< ---- r.cc ---- 8< ---- #include <iostream> #include "libraw1394/raw1394.h" #include "libraw1394/csr.h" int ISOHandler(raw1394handle_t handle, int channel, size_t length, quadlet_t *data) { cout << "ISO received on channel " << channel << endl; return 0; } int main(int argc, char *argv[]) { raw1394handle_t handle = raw1394_get_handle(); raw1394_set_port(handle, 0); const unsigned int CHANNEL = 1; raw1394_set_iso_handler(handle, CHANNEL, ISOHandler); raw1394_start_iso_rcv(handle, CHANNEL); raw1394_loop_iterate(handle); raw1394_stop_iso_rcv(handle, CHANNEL); raw1394_destroy_handle(handle); exit(0); } |