Exemple #1
0
void LT_writereg(unsigned char reg,unsigned char H,unsigned char L)
{
	SS_L();
	reg=SPI_write_byte(reg);
	RegH = SPI_write_byte(H);
	RegL = SPI_write_byte(L);
	SS_H();
}
Exemple #2
0
void set_LEDs_RGB(uint8_t b)
{
    b |= 0x80;
    for (uint8_t i = 0; i < 3 * PIXEL_COUNT; i++)
        SPI_write_byte(i & 3 ? 0x80 : b);
    SPI_write_byte(0x00);
    delay();
}
Exemple #3
0
/*c SPI_read_byte(c dat)
{
	c k;
	
	SS = 0;                
	SPI_write_byte(dat);          
	k = SPI_write_byte(0);    
	SS = 1;               
	return(k);       
}*/
void LT_readreg(unsigned char reg)
{
	SS_L();
	reg=SPI_write_byte(0x80+reg);
	RegH=SPI_write_byte(0xff);
	RegL=SPI_write_byte(0xff);
	SS_H();	
}
Exemple #4
0
void write_SPI_SR(uchar sReg)
{
	CS=0;
	delay();
	SPI_write_byte(WREN);
	CS=1;
	delay();
	CS=0;
	delay();
	SPI_write_byte(WRSR);
	SPI_write_byte(sReg);
	CS=1;
	delay();
}
Exemple #5
0
int main()
{
    init_timer();
    init_serial();
    init_SPI();
    init_ATX_power();
    sei();

    enable_ATX_power();
    delay_milliseconds(100);

    next_update_time = millisecond_time() + FRAME_MS;
    SPI_write_byte(0x00);
    while (true) {
        const uint8_t b1 = MAX_BRIGHTNESS / 4;
        const uint8_t b2 = MAX_BRIGHTNESS * 3 / 4; 
        const uint8_t b3 = MAX_BRIGHTNESS;
        ramp(0, b1, set_LEDs_white);
        ramp(b1, 0, set_LEDs_white);
        ramp(0, b2, set_LEDs_CMY);
        ramp(b2, 0, set_LEDs_CMY);
        ramp(0, b3, set_LEDs_RGB);
        ramp(b3, 0, set_LEDs_RGB);
    }
}
Exemple #6
0
uchar read_SPI(uchar addr)
{
	uchar dat;
	SCK=0;
	delay();
	CS=0;
	delay();
	SPI_write_byte(READ);
	SPI_write_byte(addr);
	dat=SPI_read_byte();
	CS=1;
	delay();
	SCK=0;
	delay();
	return dat;
}
Exemple #7
0
void write_SPI(uchar dat,uchar addr)
{
	SCK=0;
	CS=0;
	delay();
	SPI_write_byte(WREN);
	CS=1;
	delay();
	CS=0;
	delay();
	SPI_write_byte(WRITE);
	SPI_write_byte(addr);
	SPI_write_byte(dat);
	CS=1;
	SCK=0;
}
Exemple #8
0
uchar read_SPI_SR(void)
{
	uchar sReg=0;
	CS=0;
	delay();
	SPI_write_byte(RDSR);
	sReg=SPI_read_byte();
	CS=1;
	delay();
	return sReg;
}
Exemple #9
0
void SPI_Write_text(uint8_t * string){
	
	uint8_t * char_ptr;
	uint8_t i;
	//volatile uint8_t testbyte = 0;
	
	LCD_Select();
	LCD_Sel_Data();
	
	while(*string != 0){
		char_ptr = fontz_table[(*string - 32) & 0x7F];
		for(i = 1; i <= char_ptr[0]; i++){
			SPI_write_byte(char_ptr[i]);
		}
		SPI_write_byte(0x00);
		string++;
		
		
	}
	LCD_DeSelect();
}
Exemple #10
0
void end_LEDs_refresh()
{
    SPI_write_byte(0x00);
}
Exemple #11
0
void set_pixel_color(uint8_t red, uint8_t green, uint8_t blue)
{
    SPI_write_byte(green | 0x80);
    SPI_write_byte(red | 0x80);
    SPI_write_byte(blue | 0x80);
}
Exemple #12
0
void begin_LEDs_refresh()
{
    SPI_write_byte(0x00);
}