merge default into patterns
This commit is contained in:
commit
ab9eef310c
2
Makefile
2
Makefile
@ -29,7 +29,7 @@ rgbyteclock_patterns.o: timer.o lcd.o rgbyteclock_patterns.h rtc.o spi.o ledcont
|
||||
rgbyteclock.o: rgbyteclock_patterns.o
|
||||
main.o: rgbyteclock.o lcd.o spi.o ledcontroller.o rtc.o timer.o
|
||||
ledcontroller.o: led1642gw.o
|
||||
led1642gw.o: led1642gw.h
|
||||
led1642gw.o: led1642gw.h led1642gw_config.h
|
||||
timer.o: timer.h
|
||||
lcd.o: lcd.h timer.o
|
||||
rtc.o: rtc.h
|
||||
|
38
led1642gw.c
38
led1642gw.c
@ -15,65 +15,37 @@
|
||||
#include "led1642gw.h"
|
||||
#include <util/delay.h>
|
||||
|
||||
#include "led1642gw_config.h"
|
||||
|
||||
#define NUM_LED1642GW_CHANNELS (16)
|
||||
#define NUM_LED_CHANNELS (NUM_LED1642GW_CHANNELS*NUM_LED1642GW_ICs)
|
||||
#define NUM_LED1642GW_ICs (3)
|
||||
|
||||
static uint16_t ledbuffer[NUM_LED_CHANNELS];
|
||||
|
||||
|
||||
#define DDR_CLK (DDRC)
|
||||
#define PORT_CLK (PORTC)
|
||||
#define PIN_CLK (3)
|
||||
#define SET_CLK_H() ((PORT_CLK) |= (1<<(PIN_CLK)))
|
||||
#define SET_CLK_L() ((PORT_CLK) &= ~(1<<(PIN_CLK)))
|
||||
|
||||
#define DDR_SDI (DDRC)
|
||||
#define PORT_SDI (PORTC)
|
||||
#define PIN_SDI (4)
|
||||
#define SET_SDI_H() ((PORT_SDI) |= (1<<(PIN_SDI)))
|
||||
#define SET_SDI_L() ((PORT_SDI) &= ~(1<<(PIN_SDI)))
|
||||
|
||||
#define DDR_LE (DDRC)
|
||||
#define PORT_LE (PORTC)
|
||||
#define PIN_LE (2)
|
||||
#define SET_LE_H() ((PORT_LE) |= (1<<(PIN_LE)))
|
||||
#define SET_LE_L() ((PORT_LE) &= ~(1<<(PIN_LE)))
|
||||
|
||||
|
||||
static void write_data(uint16_t data, uint8_t le_clocks)
|
||||
{
|
||||
uint16_t mask = 0x8000;
|
||||
int8_t bit;
|
||||
//PORTC &= ~(1<<PC2);
|
||||
SET_LE_L();
|
||||
for (bit=15; bit>=le_clocks; bit--) {
|
||||
//PORTC &= ~(1<<PC3);
|
||||
SET_CLK_L();
|
||||
if(data&mask) { SET_SDI_H(); }
|
||||
else { SET_SDI_L(); }
|
||||
//PORTC |= (1<<PC3);
|
||||
SET_CLK_H();
|
||||
mask >>= 1;
|
||||
}
|
||||
|
||||
//PORTC |= (1<<PC2);
|
||||
SET_LE_H();
|
||||
for (/*noting to initialize*/; bit>=0; bit--) {
|
||||
//PORTC &= ~(1<<PC3);
|
||||
SET_CLK_L();
|
||||
if(data&mask) { SET_SDI_H(); }
|
||||
else { SET_SDI_L(); }
|
||||
//PORTC |= (1<<PC3);
|
||||
SET_CLK_H();
|
||||
mask >>= 1;
|
||||
}
|
||||
|
||||
//PORTC &= ~(1<<PC3);
|
||||
SET_CLK_L();
|
||||
//PORTC &= ~(1<<PC2);
|
||||
SET_LE_L();
|
||||
//PORTC &= ~(1<<PC4);
|
||||
SET_SDI_L();
|
||||
|
||||
}
|
||||
@ -122,17 +94,11 @@ void led1642gw_turn_all_off(void)
|
||||
void led1642gw_init(void)
|
||||
{
|
||||
|
||||
//PORTC &= ~(1<<PC3); // SCK
|
||||
SET_CLK_L();
|
||||
//PORTC &= ~(1<<PC4); // DATA
|
||||
SET_SDI_L();
|
||||
//PORTC &= ~(1<<PC2); // LE
|
||||
SET_LE_L();
|
||||
//DDRC |= (1<<PC3); // SCK
|
||||
DDR_CLK |= (1<<PIN_CLK);
|
||||
//DDRC |= (1<<PC4); // DATA
|
||||
DDR_SDI |= (1<<PIN_SDI);
|
||||
//DDRC |= (1<<PC2); // LE
|
||||
DDR_LE |= (1<<PIN_LE);
|
||||
memset(ledbuffer, 0x00, sizeof(ledbuffer));
|
||||
led1642gw_flush();
|
||||
|
28
led1642gw_config.h
Normal file
28
led1642gw_config.h
Normal file
@ -0,0 +1,28 @@
|
||||
|
||||
#ifndef LED1642GW_CONFIG_H_
|
||||
#define LED1642GW_CONFIG_H_
|
||||
|
||||
#define NUM_LED1642GW_ICs (3)
|
||||
|
||||
#define DDR_CLK (DDRC)
|
||||
#define PORT_CLK (PORTC)
|
||||
#define PIN_CLK (3)
|
||||
#define SET_CLK_H() ((PORT_CLK) |= (1<<(PIN_CLK)))
|
||||
#define SET_CLK_L() ((PORT_CLK) &= ~(1<<(PIN_CLK)))
|
||||
|
||||
#define DDR_SDI (DDRC)
|
||||
#define PORT_SDI (PORTC)
|
||||
#define PIN_SDI (4)
|
||||
#define SET_SDI_H() ((PORT_SDI) |= (1<<(PIN_SDI)))
|
||||
#define SET_SDI_L() ((PORT_SDI) &= ~(1<<(PIN_SDI)))
|
||||
|
||||
#define DDR_LE (DDRC)
|
||||
#define PORT_LE (PORTC)
|
||||
#define PIN_LE (2)
|
||||
#define SET_LE_H() ((PORT_LE) |= (1<<(PIN_LE)))
|
||||
#define SET_LE_L() ((PORT_LE) &= ~(1<<(PIN_LE)))
|
||||
|
||||
|
||||
|
||||
#endif // LED1642GW_CONFIG_H_
|
||||
|
@ -5,7 +5,7 @@
|
||||
void rgbyteclock(void)
|
||||
{
|
||||
|
||||
rgbyteclock_rounds_colored();
|
||||
rgbyteclock_rounds();
|
||||
|
||||
while (1) {
|
||||
|
||||
|
Loading…
Reference in New Issue
Block a user