/*! \brief configure the TSI peripheral \param[in] none \param[out] none \retval none */ void tsi_config(void) { /* TSI configure */ tsi_init(TSI_CTCDIV_DIV8,TSI_CHARGE_4CTCLK,TSI_TRANSFER_8CTCLK,TSI_MAXNUM4095); tsi_sofeware_mode_config(); tsi_sample_pin_enable(TSI_SAMPCFG_G2P1); tsi_group_enable(TSI_GCTL_GE2); /* disable hysteresis mode */ tsi_hysteresis_off(TSI_PHM_G2P1|TSI_PHM_G2P2|TSI_PHM_G2P3); /* enable TSI */ tsi_enable(); }
int8_t tsi_initial_interface() { if(inited==1) return 0; #ifdef TSI_LIVE tsi_err_e err; memset(&init, 0, sizeof(tsi_t)); memset(&en, 0, sizeof(fen_t)); memset(&cfg, 0, sizeof(fcfg_t)); memset((void*)pid_val,-1,sizeof(uint32_t)*PID_NUM); //memset(packet_number_pre_interrupt,0,sizeof(uint32_t)*PID_NUM); fid_bitmap = 0; //memset(node_len,0,sizeof(uint8_t)*12); init.reg = (void *)0x04200000;//register address init.pkt_sz = TS_188; init.mode = MODE; init.filter = FT_MODE; init.circular_buffer_length[TSI_CTRL_BUFFINDEX] = TSI_CTRL_BUFFLEN; init.circular_buffer_length[TSI_MEDIA_DATA_BUFFINDEX] = TSI_MEDIADATA_BUFFLEN; init.circular_buffer_length[TSI_SUBTITLE_BUFFINDEX] = TSI_SUBTITLE_BUFFLEN; init.circular_buffer_length[TSI_EPG_BUFFINDEX] = TSI_EPG_BUFFLEN; init.circular_buffer_length[TSI_TIME_BUFFINDEX] = TSI_TIME_BUFFLEN; // init.pio_buffer_length = (188*16); //only in pio mode : PACKAGE SIZE * NUMBER OF PACKAGE....for number of package, please assign a multiple of 16 for now.. init.pio_buffer_length = 0; err = tsi_init(test); if(err <0) { printf("init: tsi_init(test) err: %i\n", err); return err; } enable_filter(fid_bitmap); inited = 1; tsi_remove_pid_from_filter(-1); #endif return 0; }