Use CT_END instead of CT_PAUSE for MIDI handshake

This commit is contained in:
Shuchita Khare
2024-05-29 14:54:17 +01:00
parent a96a137533
commit 5daee760af
3 changed files with 14 additions and 13 deletions

View File

@@ -58,23 +58,26 @@ INLINE void midi_get_ack_or_data(chanend c, int &is_ack, unsigned int &datum) {
if (testct(c)) {
is_ack = 1;
(void) inct(c); // read 1-bytes control token
(void) inuchar(c);
(void) inuchar(c);
(void) inuchar(c);
chkct(c, XS1_CT_END);
}
else {
is_ack = 0;
datum = inuint(c);
chkct(c, XS1_CT_END);
}
}
#endif
INLINE void midi_send_ack(chanend c) {
outct(c, MIDI_ACK);
outuchar(c, 0);
outuchar(c, 0);
outuchar(c, 0);
outct(c, XS1_CT_END);
}
INLINE void midi_send_data(chanend c, unsigned int datum) {
outuint(c, datum);
outct(c, XS1_CT_END);
}
#define MIDI_RATE (31250)
#define MIDI_BITTIME (XS1_TIMER_MHZ * 1000000 / MIDI_RATE)
#define MIDI_BITTIME_2 (MIDI_BITTIME>>1)