summaryrefslogtreecommitdiff
path: root/xpp/card_global.h
diff options
context:
space:
mode:
Diffstat (limited to 'xpp/card_global.h')
-rw-r--r--xpp/card_global.h14
1 files changed, 11 insertions, 3 deletions
diff --git a/xpp/card_global.h b/xpp/card_global.h
index 94e073b..ecf137e 100644
--- a/xpp/card_global.h
+++ b/xpp/card_global.h
@@ -43,10 +43,12 @@ DEF_RPACKET_DATA(GLOBAL, PCM_READ,
byte pcm[PCM_CHUNKSIZE];
);
DEF_RPACKET_DATA(GLOBAL, SYNC_SOURCE,
- byte mask;
+ byte sync_mode;
+ byte drift;
);
DEF_RPACKET_DATA(GLOBAL, SYNC_REPLY,
- byte mask;
+ byte sync_mode;
+ byte drift;
);
DEF_RPACKET_DATA(GLOBAL, ERROR_CODE,
byte errorcode;
@@ -55,9 +57,15 @@ DEF_RPACKET_DATA(GLOBAL, ERROR_CODE,
} info;
);
+enum sync_mode {
+ SYNC_MODE_HOST = 0x00,
+ SYNC_MODE_AB = 0x01, /* Astribank sync */
+ SYNC_MODE_PLL = 0x03, /* Adjust XPD's PLL according to HOST */
+ SYNC_MODE_QUERY = 0x80,
+};
/* 0x04 */ DECLARE_CMD(GLOBAL, DESC_REQ, int xpd_num);
-/* 0x19 */ DECLARE_CMD(GLOBAL, SYNC_SOURCE, bool setit, bool is_master);
+/* 0x19 */ DECLARE_CMD(GLOBAL, SYNC_SOURCE, enum sync_mode mode, int drift);
/* 0x11 */ DECLARE_CMD(GLOBAL, PCM_WRITE, xpp_line_t lines, volatile byte *buf);
extern xproto_table_t PROTO_TABLE(GLOBAL);