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 Serial device interface
@ -78,7 +79,7 @@ void device_serial_interface::set_tra_rate(int baud)
m_tra_clock->adjust(attotime::never); m_tra_clock->adjust(attotime::never);
} }
void device_serial_interface::tra_timer(void *ptr, int param) void device_serial_interface::tra_clock()
{ {
tra_callback(); tra_callback();
if(is_transmit_register_empty()) 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(); rcv_callback();
if(is_receive_register_full()) 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) 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; m_df_word_length = num_data_bits;

View File

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