// display "Welcome", odd position from left and even position from right
#include "ecen.h"
uint8_t font[7][8] = {
{0x00, 0x7e, 0x40, 0x38, 0x38, 0x40, 0x7e, 0x00}, //W
{0x00, 0x24, 0x4a, 0x4a, 0x4a, 0x4a, 0x3c, 0x00}, //e
{0x00, 0x00, 0x00, 0x40, 0x7F, 0x02, 0x00, 0x00}, //l
{0x00, 0x00, 0x24, 0x42, 0x42, 0x42, 0x3c, 0x00}, //c
{0x00, 0x3c, 0x42, 0x42, 0x42, 0x42, 0x3c, 0x00}, //0
{0x00, 0x7e, 0x02, 0x0c, 0x0c, 0x02, 0x7e, 0x00}, //m
{0x00, 0x24, 0x4a, 0x4a, 0x4a, 0x4a, 0x3c, 0x00}, //e
};
void setup(){
volatile char *dir_A=0x21 , *dir_B=0x24;
*dir_A = 0xff, *dir_B = 0xff;
}
void loop(){
for(int m=0;m<7;m++){
int arr[8]={0};
int delay_ms = 100;
for(int i=0; i<9; i++){
if(i==8) delay_ms = 600;
long start = millis();
while(millis()-start < delay_ms){
for(int j=0; j<8; j++){
pulse(~(1<<j),arr[j]);
}
}
for(int j=0; j<7; j++){
arr[j] = arr[j+1];
}
arr[7]=font[m][i];
}
m++;
if(m==7) break;
delay_ms = 100;
int brr[8] = {0};
for(int i=0; i<9; i++){
if(i==8) delay_ms = 600;
long start = millis();
while(millis()-start<delay_ms){
for(int j=0; j<8; j++){
pulse(~(0x80>>j),brr[j]);
}
}
for(int j=0; j<7; j++){
brr[j]=brr[j+1];
}
brr[7]=font[m][7-i];
}
}
}