diserial: Added methods for clocking the receiver/transmitter outside of the timers. [Curt Coder]

This commit is contained in:
Curt Coder 2013-05-21 13:34:00 +00:00
parent 8c977ed101
commit 9f1f052429
2 changed files with 15 additions and 2 deletions

View File

@ -1,3 +1,4 @@
/***************************************************************************
Serial device interface
@ -78,7 +79,7 @@ void device_serial_interface::set_tra_rate(int baud)
m_tra_clock->adjust(attotime::never);
}
void device_serial_interface::tra_timer(void *ptr, int param)
void device_serial_interface::tra_clock()
{
tra_callback();
if(is_transmit_register_empty())
@ -88,7 +89,12 @@ void device_serial_interface::tra_timer(void *ptr, int param)
}
}
void device_serial_interface::rcv_timer(void *ptr, int param)
void device_serial_interface::tra_timer(void *ptr, int param)
{
tra_clock();
}
void device_serial_interface::rcv_clock()
{
rcv_callback();
if(is_receive_register_full())
@ -98,6 +104,11 @@ void device_serial_interface::rcv_timer(void *ptr, int param)
}
}
void device_serial_interface::rcv_timer(void *ptr, int param)
{
rcv_clock();
}
void device_serial_interface::set_data_frame(int num_data_bits, int stop_bit_count, int parity_code)
{
m_df_word_length = num_data_bits;

View File

@ -93,6 +93,8 @@ public:
void set_rcv_rate(int baud);
void set_tra_rate(int baud);
void tra_clock();
void rcv_clock();
void transmit_register_reset();
void transmit_register_add_bit(int bit);