📄 mainloop.c
字号:
cprintf("Please select: ");
break;
case '4':bD09flags.bits.mode_state = TGPB0;
Hal4Sys_ControlD09Interrupt(FALSE);
F_Main_Menu();
printf("Transparent GENERAL PURPOSE BUFFER mode 00, SE0_VM -> D-, DAT_VP -> D+\n");
Hal4D09_UART2();
cprintf("Please select: ");
break;
case '5':bD09flags.bits.mode_state = TGPB1;
Hal4Sys_ControlD09Interrupt(FALSE);
F_Main_Menu();
printf("Transparent GENERAL PURPOSE BUFFER mode 01, SE0_VM <- D-, DAT_VP -> D+\n");
Hal4D09_UART2();
cprintf("Please select: ");
break;
case '6':bD09flags.bits.mode_state = TGPB2;
Hal4Sys_ControlD09Interrupt(FALSE);
F_Main_Menu();
printf("Transparent GENERAL PURPOSE BUFFER mode 02, SE0_VM <- D-, DAT_VP <- D+\n");
Hal4D09_UART2();
cprintf("Please select: ");
break;
case '7':bD09flags.bits.mode_state = TGPB3;
Hal4Sys_ControlD09Interrupt(FALSE);
F_Main_Menu();
printf("Transparent GENERAL PURPOSE BUFFER mode 03, SE0_VM -> D-, DAT_VP <- D+\n");
Hal4D09_UART2();
cprintf("Please select: ");
break;
case 't':
case 'T':bD09flags.bits.mode_state = Audio_Stereo;
F_Main_Menu();
printf("Stereo Audio mode\n");
cprintf("Please select: ");
Hal4D09_Stereo();
break;
case 'n':
case 'N':bD09flags.bits.mode_state = Audio_Data;
F_Main_Menu();
printf("Audio during data mode\n");
cprintf("Please select: ");
Hal4D09_Audio_Data();
break;
case 'h':
case 'H': bD09flags.value = 0;
Hal4Sys_ResetPCBA();
bD09flags.bits.bus_state = I2C;
Hal4Sys_SetI2C_Mode();
F_Main_Menu();
printf("Hard reset ISP1302\n");
cprintf("Please select: ");
break;
default:
break;
}
}
if(inten_state)
fn_usb_isr();
}
Main_Menu();
}
void Main_Menu(void)
{
clrscr();
textattr(0x07);
printf("Paralle Port PC Kit\n");
printf("ISP1302 IC TEST FIRMWARE REV 1.10\n");
printf("Philips Electronics Singapore PTE. LTD. APIC\n");
printf("Getting more info on http://www.philips.com\n");
printf("or contact wired.support@philips.com\r\n");
printf("VenderID=0x%04x ",Hal4D09_Get_ChipID());
printf("ProductID=0x%04x ",Hal4D09_Get_ProductID());
printf("VersionID=0x%04x\n",Hal4D09_Get_VersionID());
textattr(0x05);
cprintf("***************** ISP1302 Eva Main Menu ****************\r\n");
textattr(0x07);
cprintf(" Access register through \r\n");
if(bD09flags.bits.bus_state == SPI)
textattr(0x02);
else
textattr(0x03);
cprintf(" S: SPI, ");
if(bD09flags.bits.bus_state == I2C && bD09flags.bits.adr_state ==0)
textattr(0x02);
else
textattr(0x03);
cprintf(" I: I2C,ADR=1,");
if(bD09flags.bits.bus_state == I2C && bD09flags.bits.adr_state ==1)
textattr(0x02);
else
textattr(0x03);
cprintf(" i: I2C,ADR=0 \r\n");
cprintf(" \r\n");
textattr(0x07);
cprintf(" User Mode select \r\n");
textattr(0x03);
cprintf(" F: Functional mode, T: Test mode \r\n");
cprintf(" \r\n");
cprintf(" H: Hard Reset ISP1302 Esc: Exit \r\n");
textattr(0x04);
cprintf(" Note: Green states are selected \r\n");
textattr(0x05);
cprintf("***************** End of Main Menu ****************\r\n");
textattr(0x07);
cprintf("Please select: ");
}
void F_Main_Menu(void)
{
clrscr();
textattr(0x05);
cprintf("*************** Functional mode Menu *******************\r\n");
textattr(0x07);
cprintf("Set SERVICE_N Pin \r\n");
if(bD09flags.bits.service_state == 1)
textattr(0x02);
else
textattr(0x03);
cprintf(" 0: Low, 2.8V signaling for UART Mode");
if(bD09flags.bits.service_state == 0)
textattr(0x02);
else
textattr(0x03);
cprintf(" 1: High, 3.3V signaling \r\n");
// cprintf(" \r\n");
textattr(0x07);
cprintf("Set OE_N Pin pullup/down \r\n");
if(bD09flags.bits.OE_state == 1)
textattr(0x02);
else
textattr(0x03);
cprintf(" 2: OE_N pull Low ");
if(bD09flags.bits.OE_state == 0)
textattr(0x02);
else
textattr(0x03);
cprintf(" 3: OE_N pull High \r\n");
// cprintf(" \r\n");
textattr(0x07);
cprintf("Set USB Speed \r\n");
if(bD09flags.bits.low_full_state == FULL)
textattr(0x02);
else
textattr(0x03);
cprintf(" F: Full speed");
if(bD09flags.bits.low_full_state == LOW)
textattr(0x02);
else
textattr(0x03);
cprintf(" L: Low speed \r\n");
// cprintf(" \r\n");
textattr(0x07);
cprintf("Set USB Suspend/Active state\r\n");
if(bD09flags.bits.suspend_state == ACTIVE)
textattr(0x02);
else
textattr(0x03);
cprintf(" A: Active ");
if(bD09flags.bits.suspend_state == SUSPEND)
textattr(0x02);
else
textattr(0x03);
cprintf(" S: Suspend \r\n");
// cprintf(" \r\n");
textattr(0x07);
cprintf("Enable/Disable Charge Pump\r\n");
if(bD09flags.bits.charge_state == 0)
textattr(0x02);
else
textattr(0x03);
cprintf(" D: Disable ChargePump ");
if(bD09flags.bits.charge_state == 1)
textattr(0x02);
else
textattr(0x03);
cprintf(" E: Enable ChargePump \r\n");
// cprintf(" \r\n");
textattr(0x07);
cprintf("Functional Mode is\r\n");
/* if(bD09flags.bits.mode_state == USB_VPVM_U)
textattr(0x02);
else
textattr(0x03);
cprintf(" U: USB_VPVM_U");
if(bD09flags.bits.mode_state == USB_DAT_SE0_U)
textattr(0x02);
else
textattr(0x03);
cprintf(" D: USB_DAT_SE0_U \r\n");
*/ if(bD09flags.bits.mode_state == USB_VPVM_B)
textattr(0x02);
else
textattr(0x03);
cprintf(" V: USB_VPVM_B");
if(bD09flags.bits.mode_state == USB_DAT_SE0_B)
textattr(0x02);
else
textattr(0x03);
cprintf(" B: USB_DAT_SE0_B \r\n");
if(bD09flags.bits.mode_state == Audio_Stereo)
textattr(0x02);
else
textattr(0x03);
cprintf(" T: Audio Stereo");
if(bD09flags.bits.mode_state == Audio_Data)
textattr(0x02);
else
textattr(0x03);
cprintf(" N: Data During Audio mode\r\n");
if(bD09flags.bits.mode_state == UART)
textattr(0x02);
else
textattr(0x03);
cprintf(" U: UART1");
if(bD09flags.bits.mode_state == TGPB0)
textattr(0x02);
else
textattr(0x03);
cprintf(" 4: TGPB mode 00 \r\n");
if(bD09flags.bits.mode_state == TGPB1)
textattr(0x02);
else
textattr(0x03);
cprintf(" 5: TGPB mode 01 ");
if(bD09flags.bits.mode_state == TGPB2)
textattr(0x02);
else
textattr(0x03);
cprintf(" 6: TGPB mode 10 \r\n");
if(bD09flags.bits.mode_state == TGPB3)
textattr(0x02);
else
textattr(0x03);
cprintf(" 7: TGPB mode 11 \r\n");
textattr(0x03);
cprintf("H: Hard Reset ISP1302 \r\n");
cprintf("Esc: Exit to Main Menu");
textattr(0x04);
cprintf(" Note: Green states are selected \r\n");
textattr(0x05);
cprintf("******************** End of Menu ********************\r\n");
textattr(0x07);
cprintf("Please select: ");
}
/*
//*************************************************************************
// Subroutines for silicon verification only, for products, pls remove it
//*************************************************************************
*/
void T_Main_Menu(void)
{
clrscr();
textattr(0x05);
cprintf("******************** Test mode Menu ******************\r\n");
cprintf(" \r\n");
textattr(0x03);
cprintf("D: Data input A: Address input\r\n");
cprintf("R: Read register W: Write register\r\n");
cprintf("F: CLK SWITCH off N: CLK SWITCH on\r\n");
cprintf("L: Interrupt en_low U: Interrupt en_high\r\n");
cprintf("G: List all register \r\n");
cprintf(" \r\n");
cprintf("Esc : Exit to Main Menu H: Hard Reset ISP1302 \r\n");
textattr(0x05);
cprintf("******************** End of Menu ******************\r\n");
textattr(0x07);
cprintf("Please select: ");
}
void Test_mode(void)
{
T_Main_Menu();
Test_loop();
Main_Menu();
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -