📄 console-recording.c
字号:
unsigned char spur_dev, unsigned char spur_cnt){ memset( &(cd2401_debug_buffer[cd2401_debug_index]), '\0', sizeof( struct cd2401_debug_info ) ); cd2401_debug_buffer[cd2401_debug_index].discriminant = CD2401_TX_ISR_SPURIOUS_INFO; cd2401_debug_buffer[cd2401_debug_index].record_size = cd2401_get_record_size( sizeof( struct cd2401_tx_isr_spurious_info ) ); cd2401_debug_buffer[cd2401_debug_index].u.tx_isr_spurious_info.channel = ch; cd2401_debug_buffer[cd2401_debug_index].u.tx_isr_spurious_info.status = status; cd2401_debug_buffer[cd2401_debug_index].u.tx_isr_spurious_info.initial_ier = initial_ier; cd2401_debug_buffer[cd2401_debug_index].u.tx_isr_spurious_info.final_ier = final_ier; cd2401_debug_buffer[cd2401_debug_index].u.tx_isr_spurious_info.spurdev = spur_dev; cd2401_debug_buffer[cd2401_debug_index].u.tx_isr_spurious_info.spurcount = spur_cnt; cd2401_debug_index = (cd2401_debug_index + 1 ) % CD2401_DEBUG_BUFFER_SIZE;}void cd2401_record_tx_isr_buserr_info( unsigned char ch, unsigned char status, unsigned char initial_ier, unsigned char buserr, unsigned long buserr_type, unsigned long buserr_addr){ memset( &(cd2401_debug_buffer[cd2401_debug_index]), '\0', sizeof( struct cd2401_debug_info ) ); cd2401_debug_buffer[cd2401_debug_index].discriminant = CD2401_TX_ISR_BUSERR_INFO; cd2401_debug_buffer[cd2401_debug_index].record_size = cd2401_get_record_size( sizeof( struct cd2401_tx_isr_buserr_info ) ); cd2401_debug_buffer[cd2401_debug_index].u.tx_isr_buserr_info.channel = ch; cd2401_debug_buffer[cd2401_debug_index].u.tx_isr_buserr_info.status = status; cd2401_debug_buffer[cd2401_debug_index].u.tx_isr_buserr_info.initial_ier = initial_ier; cd2401_debug_buffer[cd2401_debug_index].u.tx_isr_buserr_info.buserr = buserr; cd2401_debug_buffer[cd2401_debug_index].u.tx_isr_buserr_info.type = buserr_type; cd2401_debug_buffer[cd2401_debug_index].u.tx_isr_buserr_info.addr = buserr_addr; cd2401_debug_index = (cd2401_debug_index + 1 ) % CD2401_DEBUG_BUFFER_SIZE;}void cd2401_record_rx_isr_info( unsigned char ch, unsigned char total, char * buffer){ int max_length; max_length = (total < CD2401_DEBUG_CHAR_BUFSIZE ) ? total : CD2401_DEBUG_CHAR_BUFSIZE; memset( &(cd2401_debug_buffer[cd2401_debug_index]), '\0', sizeof( struct cd2401_debug_info ) ); cd2401_debug_buffer[cd2401_debug_index].discriminant = CD2401_RX_ISR_INFO; cd2401_debug_buffer[cd2401_debug_index].record_size = cd2401_get_record_size( sizeof( struct cd2401_rx_isr_info ) ); cd2401_debug_buffer[cd2401_debug_index].u.rx_isr_info.length = max_length; memcpy ( &(cd2401_debug_buffer[cd2401_debug_index].u.rx_isr_info.buffer), buffer, max_length ); cd2401_debug_index = (cd2401_debug_index + 1 ) % CD2401_DEBUG_BUFFER_SIZE;}void cd2401_record_rx_isr_spurious_info( unsigned char ch, unsigned char status, rtems_unsigned32 spur_dev, rtems_unsigned32 spur_cnt){ memset( &(cd2401_debug_buffer[cd2401_debug_index]), '\0', sizeof( struct cd2401_debug_info ) ); cd2401_debug_buffer[cd2401_debug_index].discriminant = CD2401_RX_ISR_SPURIOUS_INFO; cd2401_debug_buffer[cd2401_debug_index].record_size = cd2401_get_record_size( sizeof( struct cd2401_rx_isr_spurious_info ) ); cd2401_debug_buffer[cd2401_debug_index].u.rx_isr_spurious_info.channel = ch; cd2401_debug_buffer[cd2401_debug_index].u.rx_isr_spurious_info.status = status; cd2401_debug_buffer[cd2401_debug_index].u.rx_isr_spurious_info.spurdev = spur_dev; cd2401_debug_buffer[cd2401_debug_index].u.rx_isr_spurious_info.spurcount = spur_cnt; cd2401_debug_index = (cd2401_debug_index + 1 ) % CD2401_DEBUG_BUFFER_SIZE;}void cd2401_record_re_isr_spurious_info( unsigned char ch, rtems_unsigned32 spur_dev, rtems_unsigned32 spur_cnt){ memset( &(cd2401_debug_buffer[cd2401_debug_index]), '\0', sizeof( struct cd2401_debug_info ) ); cd2401_debug_buffer[cd2401_debug_index].discriminant = CD2401_RE_ISR_SPURIOUS_INFO; cd2401_debug_buffer[cd2401_debug_index].record_size = cd2401_get_record_size( sizeof( struct cd2401_re_isr_spurious_info ) ); cd2401_debug_buffer[cd2401_debug_index].u.re_isr_spurious_info.channel = ch; cd2401_debug_buffer[cd2401_debug_index].u.re_isr_spurious_info.spurdev = spur_dev; cd2401_debug_buffer[cd2401_debug_index].u.re_isr_spurious_info.spurcount = spur_cnt; cd2401_debug_index = (cd2401_debug_index + 1 ) % CD2401_DEBUG_BUFFER_SIZE;}void cd2401_record_modem_isr_spurious_info( unsigned char ch, rtems_unsigned32 spur_dev, rtems_unsigned32 spur_cnt){ memset( &(cd2401_debug_buffer[cd2401_debug_index]), '\0', sizeof( struct cd2401_debug_info ) ); cd2401_debug_buffer[cd2401_debug_index].discriminant = CD2401_MODEM_ISR_SPURIOUS_INFO; cd2401_debug_buffer[cd2401_debug_index].record_size = cd2401_get_record_size( sizeof( struct cd2401_modem_isr_spurious_info ) ); cd2401_debug_buffer[cd2401_debug_index].u.modem_isr_spurious_info.channel = ch; cd2401_debug_buffer[cd2401_debug_index].u.modem_isr_spurious_info.spurdev = spur_dev; cd2401_debug_buffer[cd2401_debug_index].u.modem_isr_spurious_info.spurcount = spur_cnt; cd2401_debug_index = (cd2401_debug_index + 1 ) % CD2401_DEBUG_BUFFER_SIZE;}void cd2401_record_first_open_info( unsigned char ch, rtems_unsigned8 init_count){ memset( &(cd2401_debug_buffer[cd2401_debug_index]), '\0', sizeof( struct cd2401_debug_info ) ); cd2401_debug_buffer[cd2401_debug_index].discriminant = CD2401_FIRST_OPEN_INFO; cd2401_debug_buffer[cd2401_debug_index].record_size = cd2401_get_record_size( sizeof( struct cd2401_first_open_info ) ); cd2401_debug_buffer[cd2401_debug_index].u.first_open_info.channel = ch; cd2401_debug_buffer[cd2401_debug_index].u.first_open_info.init_count = init_count; cd2401_debug_index = (cd2401_debug_index + 1 ) % CD2401_DEBUG_BUFFER_SIZE;}void cd2401_record_last_close_info( unsigned char ch, rtems_unsigned8 init_count){ memset( &(cd2401_debug_buffer[cd2401_debug_index]), '\0', sizeof( struct cd2401_debug_info ) ); cd2401_debug_buffer[cd2401_debug_index].discriminant = CD2401_LAST_CLOSE_INFO; cd2401_debug_buffer[cd2401_debug_index].record_size = cd2401_get_record_size( sizeof( struct cd2401_last_close_info ) ); cd2401_debug_buffer[cd2401_debug_index].u.last_close_info.channel = ch; cd2401_debug_buffer[cd2401_debug_index].u.last_close_info.init_count = init_count; cd2401_debug_index = (cd2401_debug_index + 1 ) % CD2401_DEBUG_BUFFER_SIZE;}void cd2401_record_start_remote_tx_info( unsigned char ch){ memset( &(cd2401_debug_buffer[cd2401_debug_index]), '\0', sizeof( struct cd2401_debug_info ) ); cd2401_debug_buffer[cd2401_debug_index].discriminant = CD2401_START_REMOTE_TX_INFO; cd2401_debug_buffer[cd2401_debug_index].record_size = cd2401_get_record_size( sizeof( struct cd2401_start_remote_tx_info ) ); cd2401_debug_buffer[cd2401_debug_index].u.start_remote_tx_info.channel = ch; cd2401_debug_index = (cd2401_debug_index + 1 ) % CD2401_DEBUG_BUFFER_SIZE;}void cd2401_record_stop_remote_tx_info( unsigned char ch){ memset( &(cd2401_debug_buffer[cd2401_debug_index]), '\0', sizeof( struct cd2401_debug_info ) ); cd2401_debug_buffer[cd2401_debug_index].discriminant = CD2401_STOP_REMOTE_TX_INFO; cd2401_debug_buffer[cd2401_debug_index].record_size = cd2401_get_record_size( sizeof( struct cd2401_stop_remote_tx_info ) ); cd2401_debug_buffer[cd2401_debug_index].u.stop_remote_tx_info.channel = ch; cd2401_debug_index = (cd2401_debug_index + 1 ) % CD2401_DEBUG_BUFFER_SIZE;}void cd2401_record_set_attributes_info( int minor, rtems_unsigned8 need_reinit, rtems_unsigned8 csize, rtems_unsigned8 cstopb, rtems_unsigned8 parodd, rtems_unsigned8 parenb, rtems_unsigned8 ignpar, rtems_unsigned8 inpck, rtems_unsigned8 hw_flow_ctl, rtems_unsigned8 sw_flow_ctl, rtems_unsigned8 extra_flow_ctl, rtems_unsigned8 icrnl, rtems_unsigned8 igncr, rtems_unsigned8 inlcr, rtems_unsigned8 brkint, rtems_unsigned8 ignbrk, rtems_unsigned8 parmrk, rtems_unsigned8 istrip, rtems_unsigned16 tx_period, rtems_unsigned16 rx_period, rtems_unsigned32 out_baud, rtems_unsigned32 in_baud){ memset( &(cd2401_debug_buffer[cd2401_debug_index]), '\0', sizeof( struct cd2401_debug_info ) ); cd2401_debug_buffer[cd2401_debug_index].discriminant = CD2401_SET_ATTRIBUTE_INFO; cd2401_debug_buffer[cd2401_debug_index].record_size = cd2401_get_record_size( sizeof( struct cd2401_set_attribute_info ) ); cd2401_debug_buffer[cd2401_debug_index].u.set_attribute_info.minor = minor; cd2401_debug_buffer[cd2401_debug_index].u.set_attribute_info.need_reinit = need_reinit; cd2401_debug_buffer[cd2401_debug_index].u.set_attribute_info.txEmpty = CD2401_Channel_Info[minor].txEmpty; cd2401_debug_buffer[cd2401_debug_index].u.set_attribute_info.csize = csize; cd2401_debug_buffer[cd2401_debug_index].u.set_attribute_info.cstopb = cstopb; cd2401_debug_buffer[cd2401_debug_index].u.set_attribute_info.parodd = parodd; cd2401_debug_buffer[cd2401_debug_index].u.set_attribute_info.parenb = parenb; cd2401_debug_buffer[cd2401_debug_index].u.set_attribute_info.ignpar = ignpar; cd2401_debug_buffer[cd2401_debug_index].u.set_attribute_info.inpck = inpck; cd2401_debug_buffer[cd2401_debug_index].u.set_attribute_info.hw_flow_ctl = hw_flow_ctl; cd2401_debug_buffer[cd2401_debug_index].u.set_attribute_info.sw_flow_ctl = sw_flow_ctl; cd2401_debug_buffer[cd2401_debug_index].u.set_attribute_info.extra_flow_ctl = extra_flow_ctl; cd2401_debug_buffer[cd2401_debug_index].u.set_attribute_info.icrnl = icrnl; cd2401_debug_buffer[cd2401_debug_index].u.set_attribute_info.igncr = igncr; cd2401_debug_buffer[cd2401_debug_index].u.set_attribute_info.inlcr = inlcr; cd2401_debug_buffer[cd2401_debug_index].u.set_attribute_info.brkint = brkint; cd2401_debug_buffer[cd2401_debug_index].u.set_attribute_info.ignbrk = ignbrk; cd2401_debug_buffer[cd2401_debug_index].u.set_attribute_info.parmrk = parmrk; cd2401_debug_buffer[cd2401_debug_index].u.set_attribute_info.istrip = istrip; cd2401_debug_buffer[cd2401_debug_index].u.set_attribute_info.tx_period = tx_period; cd2401_debug_buffer[cd2401_debug_index].u.set_attribute_info.rx_period = rx_period; cd2401_debug_buffer[cd2401_debug_index].u.set_attribute_info.out_baud = out_baud; cd2401_debug_buffer[cd2401_debug_index].u.set_attribute_info.in_baud = in_baud; cd2401_debug_index = (cd2401_debug_index + 1 ) % CD2401_DEBUG_BUFFER_SIZE;}void cd2401_record_drain_output_info( rtems_unsigned8 txEmpty, rtems_unsigned8 own_buf_A, rtems_unsigned8 own_buf_B){ memset( &(cd2401_debug_buffer[cd2401_debug_index]), '\0', sizeof( struct cd2401_debug_info ) ); cd2401_debug_buffer[cd2401_debug_index].discriminant = CD2401_DRAIN_OUTPUT_INFO; cd2401_debug_buffer[cd2401_debug_index].record_size = cd2401_get_record_size( sizeof( struct cd2401_drain_output_info ) ); cd2401_debug_buffer[cd2401_debug_index].u.drain_output_info.txEmpty = txEmpty; cd2401_debug_buffer[cd2401_debug_index].u.drain_output_info.own_buf_A = own_buf_A; cd2401_debug_buffer[cd2401_debug_index].u.drain_output_info.own_buf_B = own_buf_B; cd2401_debug_index = (cd2401_debug_index + 1 ) % CD2401_DEBUG_BUFFER_SIZE;}void cd2401_record_delay_info( rtems_interval start, rtems_interval end, rtems_interval current, unsigned long loop_count){ memset( &(cd2401_debug_buffer[cd2401_debug_index]), '\0', sizeof( struct cd2401_debug_info ) ); cd2401_debug_buffer[cd2401_debug_index].discriminant = CD2401_DELAY_INFO; cd2401_debug_buffer[cd2401_debug_index].record_size = cd2401_get_record_size( sizeof( struct cd2401_delay_info ) ); cd2401_debug_buffer[cd2401_debug_index].u.delay_info.start = start; cd2401_debug_buffer[cd2401_debug_index].u.delay_info.end = end; cd2401_debug_buffer[cd2401_debug_index].u.delay_info.current = current; cd2401_debug_buffer[cd2401_debug_index].u.delay_info.loop_count = loop_count; cd2401_debug_index = (cd2401_debug_index + 1 ) % CD2401_DEBUG_BUFFER_SIZE;}#else/* Do not call the data recording functions */#define CD2401_RECORD_WRITE_INFO( args )#define CD2401_RECORD_TX_ISR_INFO( args )#define CD2401_RECORD_TX_ISR_SPURIOUS_INFO( args )#define CD2401_RECORD_TX_ISR_BUSERR_INFO( args )#define CD2401_RECORD_RX_ISR_INFO( args )#define CD2401_RECORD_RX_ISR_SPURIOUS_INFO( args )#define CD2401_RECORD_RE_ISR_SPURIOUS_INFO( args )#define CD2401_RECORD_MODEM_ISR_SPURIOUS_INFO( args )#define CD2401_RECORD_FIRST_OPEN_INFO( args )#define CD2401_RECORD_LAST_CLOSE_INFO( args )#define CD2401_RECORD_START_REMOTE_TX_INFO( args )#define CD2401_RECORD_STOP_REMOTE_TX_INFO( args )#define CD2401_RECORD_SET_ATTRIBUTES_INFO( args )#define CD2401_RECORD_DRAIN_OUTPUT_INFO( args )#define CD2401_RECORD_DELAY_INFO( args )#endif
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -