Progress with animations
This commit is contained in:
parent
bc11730b9f
commit
de0ac733c0
6 changed files with 121 additions and 7 deletions
21
drivers/fbani_starhopper.c
Normal file
21
drivers/fbani_starhopper.c
Normal file
|
@ -0,0 +1,21 @@
|
|||
#include <util/delay.h>
|
||||
#include "framebuffer.h"
|
||||
|
||||
#define HALFW (FB_WIDTH/2)
|
||||
#define HALFH (FB_HEIGHT/2)
|
||||
|
||||
void fbani_starhopper_print_rectangles(uint8_t v) {
|
||||
fb_area(0 ,0 ,HALFW ,HALFH , (v >> 3) & 1);
|
||||
fb_area(HALFW,0 ,2*HALFW,HALFH , (v >> 2) & 1);
|
||||
fb_area(0 ,HALFH,HALFW ,2*HALFH, (v >> 1) & 1);
|
||||
fb_area(HALFW,HALFH,2*HALFW,2*HALFH, (v ) & 1);
|
||||
}
|
||||
|
||||
void fbani_starhopper(uint16_t count) {
|
||||
while(count--) {
|
||||
fbani_starhopper_print_rectangles(0x0e);
|
||||
_delay_ms(600);
|
||||
fbani_starhopper_print_rectangles(0x0b);
|
||||
_delay_ms(150);
|
||||
};
|
||||
}
|
1
drivers/fbani_starhopper.h
Normal file
1
drivers/fbani_starhopper.h
Normal file
|
@ -0,0 +1 @@
|
|||
void fbani_starhopper(uint16_t count);
|
51
drivers/fbticker.c
Normal file
51
drivers/fbticker.c
Normal file
|
@ -0,0 +1,51 @@
|
|||
#include "framebuffer.h"
|
||||
#include <util/delay.h>
|
||||
|
||||
void fbticker_pushcol(uint8_t col) {
|
||||
fb_shift(col << 1);
|
||||
_delay_ms(60);
|
||||
}
|
||||
|
||||
void fbticker_putc(unsigned char c) {
|
||||
switch(c) {
|
||||
case 'A':
|
||||
fbticker_pushcol(0x7e);
|
||||
fbticker_pushcol(0x09);
|
||||
fbticker_pushcol(0x09);
|
||||
fbticker_pushcol(0x09);
|
||||
fbticker_pushcol(0x7e);
|
||||
break;
|
||||
case 'B':
|
||||
fbticker_pushcol(0x7f);
|
||||
fbticker_pushcol(0x49);
|
||||
fbticker_pushcol(0x49);
|
||||
fbticker_pushcol(0x36);
|
||||
break;
|
||||
case 'C':
|
||||
fbticker_pushcol(0x3e);
|
||||
fbticker_pushcol(0x41);
|
||||
fbticker_pushcol(0x41);
|
||||
fbticker_pushcol(0x22);
|
||||
break;
|
||||
case 'D':
|
||||
fbticker_pushcol(0x7f);
|
||||
fbticker_pushcol(0x41);
|
||||
fbticker_pushcol(0x41);
|
||||
fbticker_pushcol(0x3e);
|
||||
break;
|
||||
case 'E':
|
||||
fbticker_pushcol(0x7f);
|
||||
fbticker_pushcol(0x49);
|
||||
fbticker_pushcol(0x49);
|
||||
fbticker_pushcol(0x49);
|
||||
break;
|
||||
case 'F':
|
||||
fbticker_pushcol(0x7f);
|
||||
fbticker_pushcol(0x09);
|
||||
fbticker_pushcol(0x09);
|
||||
fbticker_pushcol(0x09);
|
||||
break;
|
||||
}
|
||||
|
||||
fbticker_pushcol(0);
|
||||
}
|
1
drivers/fbticker.h
Normal file
1
drivers/fbticker.h
Normal file
|
@ -0,0 +1 @@
|
|||
void fbticker_putc(unsigned char c);
|
|
@ -31,3 +31,32 @@ void fb_fill(uint8_t c) {
|
|||
}
|
||||
|
||||
#endif
|
||||
|
||||
|
||||
void fb_hline(uint8_t y, uint8_t x1, uint8_t x2, uint8_t c) {
|
||||
uint8_t i;
|
||||
for (i = x1; i <= x2; i++) {
|
||||
FB_SET(i, y, c);
|
||||
}
|
||||
}
|
||||
|
||||
void fb_vline(uint8_t x, uint8_t y1, uint8_t y2, uint8_t c) {
|
||||
uint8_t i;
|
||||
for (i = y1; i <= y2; i++) {
|
||||
FB_SET(x, i, c);
|
||||
}
|
||||
}
|
||||
|
||||
void fb_box(uint8_t ax, uint8_t ay, uint8_t bx, uint8_t by, uint8_t c) {
|
||||
fb_hline(ay, ax, bx, c);
|
||||
fb_hline(by, ax, bx, c);
|
||||
fb_vline(ax, ay, by, c);
|
||||
fb_vline(bx, ay, by, c);
|
||||
}
|
||||
|
||||
void fb_area(uint8_t ax, uint8_t ay, uint8_t bx, uint8_t by, uint8_t c) {
|
||||
uint8_t i;
|
||||
for (i = ay; i <= by; i++) {
|
||||
fb_hline(i, ax, bx, c);
|
||||
}
|
||||
}
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue