void UI_SwitchToAUTOBAUD() { UI_State = UI_STATE_AUTOBAUD; LCD_SetDisplayType(DISP_TYPE_BAUD); AUTOBAUD_Engage(); }
void UI_SwitchToPORTNUM_D() { LCD_SetDisplayType(DISP_TYPE_NUMBER); LCD_SetDisplayValue(UI_PortNumber); timer = PORTNUM_TO_ACT_TIME; UI_State = UI_STATE_PORTNUM_D; }
void UI_SwitchToPORTNUM() { LCD_SetDisplayType(DISP_TYPE_NUMBER); LCD_SetDisplayValue(UI_PortNumber); timer = 0; UI_State = UI_STATE_PORTNUM; }
void UI_Init() { UI_State = UI_STATE_UNCONF; UI_PortNumber = NO_PORT_NUMBER; UI_BtnTimer = 0; LCD_Init(); LCD_SetDisplayType(DISP_TYPE_TEST); }
//------------------------------------------------------------------------------ /// Initializes the LCD controller using the board-specific parameters (stored /// in the corresponding board.h). The LCD and DMA are not enabled by this /// function; this is done during the first call to LCDD_DisplayBuffer. //------------------------------------------------------------------------------ void LCDD_Initialize(void) { const Pin pPins[] = {PINS_LCD}; // Enable pins PIO_Configure(pPins, PIO_LISTSIZE(pPins)); // Enable peripheral clock AT91C_BASE_PMC->PMC_PCER = 1 << AT91C_ID_LCDC; #if defined(at91sam9261) AT91C_BASE_PMC->PMC_SCER = AT91C_PMC_HCK1; #endif // Disable the LCD and the DMA LCD_DisableDma(); LCD_Disable(0); // Configure the LCD controller LCD_SetPixelClock(BOARD_MCK, BOARD_LCD_PIXELCLOCK); LCD_SetDisplayType(BOARD_LCD_DISPLAYTYPE); LCD_SetScanMode(AT91C_LCDC_SCANMOD_SINGLESCAN); LCD_SetBitsPerPixel(BOARD_LCD_BPP); LCD_SetPolarities(BOARD_LCD_POLARITY_INVVD, BOARD_LCD_POLARITY_INVFRAME, BOARD_LCD_POLARITY_INVLINE, BOARD_LCD_POLARITY_INVCLK, BOARD_LCD_POLARITY_INVDVAL); LCD_SetClockMode(BOARD_LCD_CLOCKMODE); LCD_SetMemoryFormat((unsigned int) AT91C_LCDC_MEMOR_LITTLEIND); LCD_SetSize(BOARD_LCD_WIDTH, BOARD_LCD_HEIGHT); // Configure timings LCD_SetVerticalTimings(BOARD_LCD_TIMING_VFP, BOARD_LCD_TIMING_VBP, BOARD_LCD_TIMING_VPW, BOARD_LCD_TIMING_VHDLY); LCD_SetHorizontalTimings(BOARD_LCD_TIMING_HBP, BOARD_LCD_TIMING_HPW, BOARD_LCD_TIMING_HFP); // Configure contrast (TODO functions) LCD_SetContrastPrescaler(AT91C_LCDC_PS_NOTDIVIDED); LCD_SetContrastPolarity(AT91C_LCDC_POL_POSITIVEPULSE); LCD_SetContrastValue(0x80); LCD_EnableContrast(); // Configure DMA LCD_SetFrameSize(BOARD_LCD_FRAMESIZE); LCD_SetBurstLength(4); }
void UI_SwitchToACT() { UI_State = UI_STATE_ACT; LCD_SetDisplayType(DISP_TYPE_ACT); timer = ACT_TO_PORTNUM_TIME; }
void UI_SwitchToNOPORTNUM() { UI_State = UI_STATE_NOPORTNUM; LCD_SetDisplayType(DISP_TYPE_WAIT); }