コード例 #1
0
ファイル: screen_off.c プロジェクト: Hobo2k/CBerryDisplay
void RAIO_screen_off( void ) {
  RAIO_SetRegister( PWRR , 0x40 ); 
  TFT_wait_for_raio();
}
コード例 #2
0
// set mode for BET (Block Transfer Engine)
// ----------------------------------------------------------
void BTE_mode( uint8_t bte_operation, uint8_t rop_function )
{
	RAIO_SetRegister( BECR1, bte_operation | (rop_function<<4) );
}
コード例 #3
0
ファイル: RAIO8870.c プロジェクト: Hobo2k/CBerryDisplay
// initialization of RAIO8870
// ----------------------------------------------------------
void RAIO_init( void )
{
 	static uint8_t PLL_Initial_Flag = 0;
 	
	// *************** PLL settings (System Clock)  
	
	if ( !PLL_Initial_Flag )				// wait until PLL is ready
	{ 
		PLL_Initial_Flag = 1;               // set Flag to avoid repeated PLL init
		
		RAIO_SetRegister( PLLC1, 0x07 );    // set sys_clk 
		bcm2835_delayMicroseconds( 200 );
		RAIO_SetRegister( PLLC2, 0x03 );    // set sys_clk 
		bcm2835_delayMicroseconds( 200 );
		
		RAIO_SetRegister( PWRR, 0x01 );     // Raio software reset ( bit 0 ) set
		RAIO_SetRegister( PWRR, 0x00 );     // Raio software reset ( bit 0 ) set to 0
		delay( 100 ); 


	// *************** color modes (color depths)  
	
		#ifdef CM_65K
			// System Configuration Register
			RAIO_SetRegister( SYSR, 0x0A );   // digital TFT
											  // parallel data out
											  // no external memory
											  // 8bit memory data bus
											  // 16bpp 65K color
											  // 16bit MCU-interface (data)
			RAIO_SetRegister( DPCR, 0x00 );   // one layer	
		#elif defined(CM_4K)
			// System Configuration Register
			RAIO_SetRegister( SYSR, 0x06 );  // digital TFT
											 // parallel data out
											 // no external memory
											 // 8bit memory data bus
											 // 12bpp 4K color
											 // 16bit MCU-interface (data)
			RAIO_SetRegister( DPCR, 0x80 );  // two layers	
			RAIO_SetRegister( MWCR1, BankNo_WR );
			RAIO_SetRegister( LTPR0, BankNo_RD );
		#else
			#error "color_mode not defined"
		#endif										
	}
 
 
	// *************** horizontal settings
	    
	// 0x27+1 * 8 = 320 pixel  
    RAIO_SetRegister( HDWR , (DISPLAY_WIDTH / 8) - 1 );   
    RAIO_SetRegister( HNDFTR, 0x02 ); // Horizontal Non-Display Period Fine Tuning

    // HNDR , Horizontal Non-Display Period Bit[4:0] 
    // Horizontal Non-Display Period (pixels) = (HNDR + 1)*8    
    RAIO_SetRegister( HNDR, 0x03 );                            //       0x06
    RAIO_SetRegister( HSTR, 0x04 );   //HSTR , HSYNC Start Position[4:0], HSYNC Start Position(PCLK) = (HSTR + 1)*8     0x02                                 

    // HPWR , HSYNC Polarity ,The period width of HSYNC. 
    // 1xxxxxxx activ high 0xxxxxxx activ low
    // HSYNC Width [4:0] HSYNC Pulse width
    // (PCLK) = (HPWR + 1)*8
    RAIO_SetRegister( HPWR, 0x03 );   // 0x00
    
    
    // ********************* vertical settings    
    
    // 0x0EF +1 = 240 pixel
    RAIO_SetRegister(  VDHR0 , ( (DISPLAY_HEIGHT-1) & 0xFF ) ); 
    RAIO_SetRegister(  VDHR1 , ( (DISPLAY_HEIGHT-1) >> 8)    );
    
    // VNDR0 , Vertical Non-Display Period Bit [7:0]
    // Vertical Non-Display area = (VNDR + 1)
    // VNDR1 , Vertical Non-Display Period Bit [8]
    // Vertical Non-Display area = (VNDR + 1)              
    RAIO_SetRegister( VNDR0, 0x10 );
    RAIO_SetRegister( VNDR1, 0x00 );
                      
    // VPWR , VSYNC Polarity ,VSYNC Pulse Width[6:0]
    // VSYNC , Pulse Width(PCLK) = (VPWR + 1) 
    RAIO_SetRegister( VPWR, 0x00 );
    
    
    // *************** miscellaneous settings 
    
    // active Window
    Active_Window( 0, DISPLAY_WIDTH-1, 0, DISPLAY_HEIGHT-1 );     
        
    // PCLK fetch data on rising edge 
    RAIO_SetRegister( PCLK, 0x00 );   

	// Backlight dimming       
	RAIO_SetBacklightPWMValue(50);

	Text_Background_Color( COLOR_BLACK );  
	// memory clear with background color                 
    RAIO_SetRegister( MCLR, 0x81 );     
    TFT_wait_for_raio(); 
  
    RAIO_SetRegister( IODR, 0x07 );    
    RAIO_SetRegister( PWRR, 0x80 );
}
コード例 #4
0
ファイル: RAIO8870.c プロジェクト: Hobo2k/CBerryDisplay
// set PWM value for backlight 
// ----------------------------------------------------------
void RAIO_SetBacklightPWMValue( uint8_t BL_value )
{
	RAIO_SetRegister(  P1CR, 0x88 ); 	 // Enable PWM1 output devider 256  
	RAIO_SetRegister( P1DCR, BL_value ); // -> BL_vaue = 0 (0% PWM) - 255 (100% PWM)
}
コード例 #5
0
ファイル: RAIO8870.c プロジェクト: Hobo2k/CBerryDisplay
// set font size
// ----------------------------------------------------------
void RAIO_SetFontSizeFactor( uint8_t size )
{
	size = (size & 0x0f);
	RAIO_SetRegister ( FNCR1, size );
}
コード例 #6
0
ファイル: RAIO8870.c プロジェクト: Hobo2k/CBerryDisplay
void Text_Foreground_Color( uint8_t color)
{ 
    RAIO_SetRegister( TFCR, color);
}
コード例 #7
0
ファイル: RAIO8870.c プロジェクト: Hobo2k/CBerryDisplay
// set color
// ----------------------------------------------------------
void Text_Background_Color( uint8_t color )
{ 
    RAIO_SetRegister( TBCR, color );
}