notaz.gp2x.de
/
teensytas.git
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
implement vsync irq-based frame counter
[teensytas.git]
/
host
/
main.c
diff --git
a/host/main.c
b/host/main.c
index
e7026d3
..
9c8021a
100644
(file)
--- a/
host/main.c
+++ b/
host/main.c
@@
-445,6
+445,7
@@
int main(int argc, char *argv[])
fd_set rfds, wfds;
struct gmv_tas *gmv = NULL;
const char *tasfn = NULL;
fd_set rfds, wfds;
struct gmv_tas *gmv = NULL;
const char *tasfn = NULL;
+ int use_readinc = 0; // frame increment on read
int tas_skip = 0;
int enable_sent = 0;
int frame_count = 0;
int tas_skip = 0;
int enable_sent = 0;
int frame_count = 0;
@@
-472,6
+473,9
@@
int main(int argc, char *argv[])
missing_arg(i);
tas_skip = atoi(argv[i]);
continue;
missing_arg(i);
tas_skip = atoi(argv[i]);
continue;
+ case 'r':
+ use_readinc = 1;
+ continue;
default:
fprintf(stderr, "bad arg: %s\n", argv[i]);
return 1;
default:
fprintf(stderr, "bad arg: %s\n", argv[i]);
return 1;
@@
-702,7
+706,8
@@
int main(int argc, char *argv[])
switch (pkt_in.type) {
case PKT_STREAM_REQ:
switch (pkt_in.type) {
case PKT_STREAM_REQ:
- printf("%d/%d\n", frames_sent, frame_count);
+ printf("%d/%d/%d\n", pkt_in.req.frame,
+ frames_sent, frame_count);
for (i = 0; i < sizeof(pkt_out.data); i++) {
pkt_out.data[i * 2 + 0] = 0x33;
for (i = 0; i < sizeof(pkt_out.data); i++) {
pkt_out.data[i * 2 + 0] = 0x33;
@@
-767,6
+772,8
@@
int main(int argc, char *argv[])
if (gmv != NULL && !enable_sent) {
memset(&pkt_out, 0, sizeof(pkt_out));
pkt_out.type = PKT_STREAM_ENABLE;
if (gmv != NULL && !enable_sent) {
memset(&pkt_out, 0, sizeof(pkt_out));
pkt_out.type = PKT_STREAM_ENABLE;
+ pkt_out.start.use_readinc = use_readinc;
+
ret = submit_urb(dev.fd, &urb[URB_DATA_OUT], dev.ifaces[0].ep_out,
&pkt_out, sizeof(pkt_out));
if (ret != 0) {
ret = submit_urb(dev.fd, &urb[URB_DATA_OUT], dev.ifaces[0].ep_out,
&pkt_out, sizeof(pkt_out));
if (ret != 0) {