Created
December 14, 2020 11:45
-
-
Save tomjuggler/5968fe77284cb43e64715fcafaeb0e44 to your computer and use it in GitHub Desktop.
Example 36px Smart Poi Nano version 1 - with millis() timer
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
// Most of this code is the hard work of Tom Hastings www.bigtop.co.za // | |
// other credits here! Many thanks to .....// | |
volatile unsigned long millisecs = 0; | |
unsigned long seconds = 0; | |
volatile int variable = 0; | |
#include <avr/io.h> | |
#include <avr/interrupt.h> | |
//#include "FastSPI_LED2.h" | |
#include "FastLED.h" | |
//FastLED.h working now! | |
//#define BRIGHTNESS 20 //brightness done in code now | |
// | |
//////////////////////Colour Pallette Code://///////////// | |
boolean upDown = true; | |
#define BRIGHTNESS 200 | |
#define UPDATES_PER_SECOND 30000 | |
CRGBPalette16 currentPalette; | |
TBlendType currentBlending; | |
extern CRGBPalette16 myRedWhiteBluePalette; | |
extern const TProgmemPalette16 myRedWhiteBluePalette_p PROGMEM; | |
//////////////////end Colour Pallette Code////////////////////////////// | |
#include <avr/pgmspace.h> | |
#define NUM_LEDS 37 | |
CRGB leds[NUM_LEDS]; | |
#define PIN 6 | |
//eeprom stuff: | |
#include <EEPROM.h> | |
byte eeprom_option; | |
byte eeprom_address = 0; | |
//text variables | |
byte mask = 1; | |
int z = 0; | |
//flash | |
//#include <Flash.h> | |
struct dataRGB { byte r; | |
byte g; | |
byte b; }; | |
struct pattern { byte numLeds; | |
byte numFrames; | |
PROGMEM const prog_uchar *patData; }; | |
struct pattern2 { byte numLeds; | |
byte numFrames;}; | |
PROGMEM const prog_uchar message1Data[] = | |
{63, 63, 31, 31, 22, 9, 0, 0, -112, -3, -4, -4, -40, 68, 64, -92, -64, -32, -64, -60, -92, 96, 100, -8, -3, -4, -3, -111, 0, 0, 5, 22, 31, 31, 31, 63, | |
18, 63, 63, 63, 63, 18, 4, 0, 0, -112, -3, -3, -7, -43, 100, -128, -60, -64, -96, -92, -128, 100, -11, -3, -3, -3, 112, 0, 0, 4, 18, 95, 63, 63, 59, 22, | |
4, 18, 59, 63, 63, 63, 18, 4, 0, 32, -112, -3, -3, -3, -44, 96, -128, -60, -96, 96, 96, -44, -3, -3, -3, 112, 4, 0, 4, 17, 63, 63, 91, 91, 18, 5, | |
0, 8, 18, 59, 31, 63, 63, 18, 4, 0, 36, -112, -3, -3, -7, -44, 96, 96, 96, 100, -44, -3, -3, -35, 112, 0, 0, 4, 49, 95, 63, 63, 91, 50, 5, 0, | |
0, 0, 5, 18, 63, 63, 63, 63, 14, 4, 0, 4, -112, -3, -3, -3, -48, 68, 100, -44, -3, -4, -3, -112, 0, 0, 4, 17, 63, 63, 63, 63, 46, 5, 0, 0, | |
1, 0, 0, 5, 18, 59, 63, 31, 95, 18, 4, 0, 0, -112, -3, -3, -3, -40, -76, -3, -3, -3, 112, 0, 0, 4, 18, 95, 63, 27, 63, 18, 5, 0, 0, 1, | |
2, 2, 1, 0, 0, 50, 95, 63, 31, 63, 18, 4, 0, 0, -112, -3, -4, -4, -4, -4, -3, -112, 0, 0, 4, 50, 63, 31, 63, 63, 50, 5, 1, 1, 1, 2, | |
3, 2, 1, 1, 0, 0, 18, 95, 31, 31, 63, 18, 0, 0, 0, -80, -3, -4, -4, -3, -112, 0, 0, 4, 50, 95, 63, 63, 59, 18, 5, 1, 1, 1, 2, 2, | |
3, 3, 2, 2, 1, 0, 4, 50, 95, 31, 63, 63, 18, 4, 0, 0, -80, -3, -3, -112, 0, 0, 4, 50, 95, 63, 63, 59, 50, 5, 0, 1, 2, 2, 3, 3, | |
3, 3, 3, 2, 2, 1, 0, 4, 18, 95, 63, 31, 63, 18, 4, 0, 36, -112, 108, 4, 0, 4, 18, 95, 31, 63, 91, 50, 4, 0, 1, 1, 2, 3, 3, 3, | |
3, 3, 3, 3, 2, 2, 1, 0, 4, 50, 59, 31, 63, 63, 18, 4, 0, 0, 0, 0, 4, 18, 63, 31, 63, 59, 50, 4, 0, 1, 2, 2, 3, 3, 3, 3, | |
2, 2, 3, 3, 3, 2, 2, 1, 0, 4, 18, 63, 31, 63, 63, 18, 4, 0, 0, 4, 54, 63, 31, 31, 63, 18, 4, 0, 1, 2, 2, 3, 3, 3, 3, 3, | |
34, 2, 2, 3, 3, 3, 2, 2, 1, 0, 5, 50, 59, 63, 63, 63, 17, 8, 9, 18, 63, 63, 31, 63, 18, 5, 0, 1, 2, 2, 3, 3, 3, 2, 2, 34, | |
-121, 66, 34, 2, 3, 3, 3, 2, 2, 1, 0, 5, 18, 59, 63, 63, 95, 18, 22, 95, 63, 63, 63, 18, 4, 0, 1, 2, 2, 3, 3, 3, 3, 34, 66, -121, | |
-57, -93, 66, 34, 2, 3, 3, 3, 2, 2, 1, 0, 4, 50, 91, 63, 63, 63, 31, 31, 63, 95, 50, 4, 0, 1, 2, 3, 3, 3, 3, 2, 34, 66, -125, -89, | |
-29, -61, -89, 66, 2, 2, 3, 3, 3, 2, 1, 0, 0, 4, 18, 63, 31, 31, 31, 31, 63, 18, 0, 0, 0, 1, 2, 3, 3, 3, 3, 2, 66, -122, -57, -29, | |
-29, -29, -89, 98, 34, 2, 3, 3, 3, 3, 1, 1, 0, 0, 9, 59, 31, 31, 31, 31, 59, 9, 0, 0, 1, 2, 3, 3, 3, 3, 2, 2, 103, -89, -61, -29, | |
-29, -61, -93, 66, 2, 3, 3, 3, 3, 2, 1, 0, 0, 4, 18, 63, 31, 31, 31, 31, 95, 18, 0, 0, 1, 2, 2, 3, 3, 3, 3, 2, 66, -125, -61, -29, | |
-57, -93, 98, 34, 2, 3, 3, 3, 2, 2, 1, 0, 4, 18, 63, 63, 63, 63, 63, 63, 27, 95, 18, 4, 0, 0, 1, 2, 3, 3, 3, 3, 34, 98, -93, -57, | |
-89, 98, 34, 2, 3, 3, 3, 2, 2, 1, 0, 5, 50, 91, 63, 63, 59, 18, 22, 59, 63, 63, 95, 18, 4, 0, 0, 1, 3, 3, 3, 3, 2, 34, 98, -121, | |
34, 34, 3, 3, 3, 3, 2, 2, 1, 0, 5, 18, 63, 63, 59, 95, 17, 4, 5, 18, 95, 59, 63, 63, 18, 9, 0, 1, 2, 2, 3, 3, 3, 2, 2, 34, | |
2, 3, 3, 3, 3, 2, 1, 1, 0, 5, 18, 63, 63, 63, 59, 50, 4, 0, 0, 4, 13, 95, 63, 63, 63, 18, 5, 0, 1, 2, 2, 3, 3, 3, 2, 2, | |
3, 3, 3, 3, 2, 1, 1, 0, 5, 18, 63, 63, 63, 59, 18, 0, 0, 0, 4, 0, 0, 50, 59, 63, 63, 27, 18, 5, 0, 1, 2, 2, 3, 3, 3, 3, | |
3, 3, 3, 2, 1, 1, 0, 5, 50, 59, 63, 31, 63, 18, 4, 0, 36, -112, -112, 0, 0, 4, 50, 63, 31, 63, 63, 18, 4, 0, 1, 2, 3, 3, 3, 3, | |
3, 3, 2, 1, 0, 0, 5, 50, 63, 63, 63, 95, 17, 4, 0, 4, -112, -3, -3, -112, 0, 0, 5, 18, 63, 31, 63, 63, 50, 4, 0, 1, 2, 2, 3, 3, | |
3, 2, 1, 1, 0, 4, 18, 59, 63, 27, 95, 18, 4, 0, 4, -75, -3, -3, -3, -3, -108, 0, 0, 4, 18, 59, 63, 31, 59, 18, 5, 0, 1, 2, 2, 2, | |
2, 2, 1, 0, 5, 18, 59, 63, 59, 95, 13, 4, 0, 0, -112, -3, -4, -4, -4, -3, -3, -108, 0, 0, 5, 18, 63, 63, 63, 59, 50, 5, 0, 1, 1, 2, | |
1, 1, 0, 4, 18, 59, 63, 63, 91, 18, 4, 0, 36, -112, -3, -3, -3, -44, -40, -4, -4, -3, -112, 0, 0, 4, 18, 59, 63, 63, 59, 50, 4, 0, 1, 1, | |
0, 0, 5, 50, 59, 63, 63, 91, 49, 0, 0, 36, -112, -3, -3, -3, -48, 64, 100, -80, -4, -4, -3, -112, 0, 0, 4, 17, 59, 63, 63, 91, 50, 4, 0, 0, | |
0, 4, 50, 91, 63, 63, 95, 18, 0, 0, 4, -112, -3, -3, -7, -48, 96, 96, 64, 100, -48, -4, -4, -3, -112, 36, 0, 4, 18, 59, 63, 63, 91, 18, 4, 0, | |
9, 18, 63, 63, 63, 91, 50, 4, 0, 4, -112, -3, -4, -3, -48, 96, -128, -96, -92, 96, 96, -43, -3, -3, -4, -112, 36, 0, 4, 18, 63, 31, 63, 27, 18, 9, | |
22, 63, 63, 31, 63, 18, 4, 0, 0, -112, -3, -4, -4, -44, 100, -128, -64, -64, -64, -96, -128, 96, -44, -3, -4, -3, -112, 0, 0, 5, 18, 63, 31, 31, 63, 22, | |
63, 31, 31, 63, 18, 4, 0, 0, -112, -3, -4, -4, -44, 68, 96, -92, -64, -32, -32, -64, -96, 96, 68, -40, -4, -4, -3, -111, 0, 0, 4, 22, 31, 31, 31, 63 }; | |
struct pattern message1 = {36, 33,message1Data}; | |
PROGMEM const prog_uchar message2Data[] = | |
{-39, -3, -7, 104, 64, 64, 64, 64, 65, 65, -119, -6, -3, -108, 0, 0, 0, 0, 0, 0, 0, 4, 22, 63, 91, 10, 1, 1, 1, 1, 1, 5, 13, 59, 95, 58, | |
36, -76, -3, -7, -120, 64, 64, 64, 65, 64, 64, -116, -7, -3, -112, 0, 0, 0, 0, 0, 4, 50, 95, 59, 10, 5, 1, 1, 1, 1, 5, 14, 59, 91, 18, 9, | |
0, 36, -43, -3, -7, -120, 32, 65, 65, 65, 64, 96, -116, -7, -3, -112, 0, 0, 0, 4, 18, 127, 91, 14, 1, 1, 1, 1, 1, 1, 10, 55, 123, 50, 4, 0, | |
0, 0, 36, -75, -3, -39, 104, 64, 64, 97, 97, 64, 64, -116, -7, -3, 113, 4, 4, 18, 91, 91, 13, 1, 1, 1, 1, 1, 1, 10, 87, 91, 50, 5, 0, 0, | |
0, 0, 0, 36, -75, -3, -7, 104, 64, 64, 97, 65, 64, 64, -116, -2, -34, 81, 22, 91, 91, 14, 1, 1, 1, 1, 1, 1, 9, 87, 91, 50, 4, 0, 0, 0, | |
0, 0, 0, 0, 4, -39, -3, -7, -120, 64, 64, 97, 65, 64, 68, 108, -66, -98, 127, 59, 14, 5, 1, 1, 1, 1, 1, 9, 87, 127, 50, 9, 0, 0, 0, 0, | |
0, 0, 0, 0, 0, 36, -44, -3, -12, 104, 64, 64, 65, 33, 33, 4, 86, 123, 91, 14, 5, 1, 1, 1, 1, 1, 9, 54, 127, 54, 5, 0, 0, 0, 0, 0, | |
0, 0, 0, 0, 0, 0, 36, -43, -3, -7, 104, 64, 65, 33, 5, 50, 91, 91, 14, 1, 1, 1, 1, 1, 1, 9, 55, 127, 54, 4, 0, 0, 0, 0, 0, 0, | |
0, 0, 0, 0, 0, 0, 0, 4, -75, -3, -7, 104, 0, 5, 50, 91, 91, 10, 1, 1, 1, 1, 1, 1, 14, 59, 95, 54, 4, 0, 0, 0, 0, 0, 0, 0, | |
0, 0, 0, 0, 0, 0, 0, 0, 36, -76, -3, -39, 77, 50, 91, 59, 10, 5, 1, 1, 1, 0, 1, 10, 55, 95, 54, 4, 4, 0, 0, 0, 0, 0, 0, 0, | |
0, 0, 0, 0, 0, 0, 0, 0, 0, 36, -107, -66, 122, 91, 91, 14, 5, 1, 1, 1, 1, 1, 14, 59, 91, 18, 4, 0, 0, 0, 0, 0, 0, 0, 0, 0, | |
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 8, 89, 127, 91, 14, 1, 1, 0, 1, 1, 1, 10, 55, 95, 90, 4, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, | |
0, 0, 0, 0, 0, 0, 0, 0, 0, 4, 17, 91, 91, 14, 1, 1, 1, 1, 1, 1, 10, 55, 127, 126, -66, 113, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, | |
0, 0, 0, 0, 0, 0, 0, 0, 4, 50, 91, 91, 14, 1, 1, 1, 1, 1, 1, 10, 87, 123, 86, 81, -34, -2, -112, 0, 0, 0, 0, 0, 0, 0, 0, 0, | |
0, 0, 0, 0, 0, 0, 0, 4, 50, 91, 87, 14, 1, 1, 1, 1, 1, 1, 14, 55, 95, 87, 5, 32, -116, -7, -3, -108, 0, 0, 0, 0, 0, 0, 0, 0, | |
0, 0, 0, 0, 0, 0, 4, 49, 91, 91, 14, 1, 1, 1, 1, 1, 1, 10, 59, 95, 55, 5, 1, 65, 64, -116, -3, -3, -112, 0, 0, 0, 0, 0, 0, 0, | |
0, 0, 0, 0, 0, 4, 18, 95, 59, 10, 1, 1, 1, 1, 0, 5, 13, 59, 90, 86, 5, 1, 65, 65, 64, 64, -116, -7, -3, -112, 32, 0, 0, 0, 0, 0, | |
0, 0, 0, 0, 4, 50, 91, 91, 14, 5, 1, 1, 1, 1, 5, 9, 59, 95, 126, -102, 73, 64, 64, 65, 65, 64, 64, -116, -7, -3, -116, 32, 0, 0, 0, 0, | |
0, 0, 0, 4, 18, 91, 91, 14, 1, 1, 1, 1, 1, 1, 14, 55, 95, 54, 117, -34, -39, 104, 64, 65, 65, 65, 64, 64, -116, -7, -3, -112, 0, 0, 0, 0, | |
0, 0, 4, 18, 91, 91, 14, 1, 1, 1, 1, 1, 1, 10, 55, 95, 50, 4, 4, -71, -3, -39, 104, 32, 65, 65, 65, 64, 64, -83, -3, -35, 108, 36, 0, 0, | |
0, 4, 18, 95, 91, 14, 1, 1, 0, 1, 1, 1, 10, 55, 95, 54, 4, 0, 0, 36, -76, -3, -7, 104, 32, 64, 64, 64, 64, 64, -116, -3, -3, -112, 36, 0, | |
4, 50, 63, 59, 14, 1, 0, 1, 1, 1, 1, 10, 87, 95, 54, 4, 0, 0, 0, 0, 36, -76, -3, -7, 104, 64, 64, 97, 65, 32, 68, -112, -3, -35, -112, 0, | |
50, 91, 59, 14, 5, 1, 1, 0, 1, 1, 10, 87, 59, 22, 8, 0, 0, 0, 0, 0, 0, 36, -40, -3, -7, 100, 96, 97, 97, 65, 64, 32, -112, -3, -3, -108, | |
14, 91, 95, 18, 5, 1, 1, 1, 1, 0, 5, 87, 59, 59, 9, 0, 0, 0, 0, 0, 0, 72, -39, -3, -43, 100, 97, 65, 65, 65, 64, 68, -112, -3, -3, 108, | |
0, 13, 59, 95, 18, 5, 1, 1, 1, 1, 1, 5, 50, 95, 59, 9, 0, 0, 0, 0, 72, -3, -2, -79, 64, 64, 65, 65, 97, 64, 68, -79, -3, -39, 108, 0, | |
0, 4, 13, 59, 91, 18, 5, 1, 1, 1, 1, 1, 5, 50, 95, 55, 9, 0, 0, 72, -39, -3, -79, 100, 64, 64, 65, 65, 64, 68, -79, -3, -39, 108, 0, 0, | |
0, 0, 0, 13, 91, 95, 18, 5, 1, 1, 1, 1, 1, 9, 55, 91, 86, 45, 40, -39, -3, -43, 68, 32, 64, 65, 65, 64, 64, -47, -3, -39, 108, 0, 0, 0, | |
0, 0, 0, 0, 13, 91, 95, 14, 1, 1, 1, 1, 1, 1, 9, 87, -101, 117, -67, -3, -43, 68, 64, 64, 65, 65, 64, 68, -80, -3, -7, 108, 0, 0, 0, 0, | |
0, 0, 0, 0, 0, 14, 91, 95, 14, 5, 1, 1, 1, 1, 0, 4, 117, -34, -2, -43, 68, 64, 65, 65, 65, 64, 68, -80, -3, -7, 108, 0, 0, 0, 0, 0, | |
0, 0, 0, 0, 0, 0, 13, 91, 95, 14, 5, 1, 0, 0, 0, 40, -39, -35, -75, 100, 64, 64, 65, 65, 64, 68, -80, -3, -7, 108, 0, 0, 0, 0, 0, 0, | |
0, 0, 0, 0, 0, 0, 0, 13, 91, 91, 50, 5, 0, 0, 72, -39, -3, -75, 68, 64, 64, 97, 65, 64, 68, -80, -3, -7, 104, 0, 0, 0, 0, 0, 0, 0, | |
0, 0, 0, 0, 0, 0, 0, 0, 13, 91, 91, 50, 4, 72, -39, -3, -75, 100, 64, 64, 97, 97, 64, 64, -79, -3, -7, 108, 0, 0, 0, 0, 0, 0, 0, 0, | |
0, 0, 0, 0, 0, 0, 0, 0, 0, 13, 122, -102, 117, -39, -3, -47, 68, 64, 65, 64, 97, 96, 64, -79, -3, -39, 108, 0, 0, 0, 0, 0, 0, 0, 0, 0, | |
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 44, 121, -34, -3, -80, 100, 64, 64, 65, 65, 64, 64, -47, -2, -71, 76, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, | |
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 40, -71, -2, -43, 68, 64, 97, 65, 32, 64, 68, -112, -2, -34, 121, 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, | |
0, 0, 0, 0, 0, 0, 0, 0, 0, 72, -71, -35, -75, 68, 64, 65, 65, 65, 64, 68, -112, -3, -2, -107, 122, 54, 9, 0, 0, 0, 0, 0, 0, 0, 0, 0, | |
0, 0, 0, 0, 0, 0, 0, 0, 68, -39, -3, -43, 68, 64, 65, 65, 65, 32, 100, -80, -3, -3, 108, 40, 86, 127, 55, 9, 0, 0, 0, 0, 0, 0, 0, 0, | |
0, 0, 0, 0, 0, 0, 0, 72, -7, -3, -44, 68, 64, 65, 97, 65, 64, 100, -80, -3, -35, 108, 0, 0, 9, 51, 95, 91, 9, 0, 0, 0, 0, 0, 0, 0, | |
0, 0, 0, 0, 0, 0, 72, -39, -3, -47, 100, 64, 64, 65, 64, 64, 68, -79, -2, -35, 76, 0, 0, 1, 1, 5, 51, 127, 58, 9, 0, 0, 0, 0, 0, 0, | |
0, 0, 0, 0, 0, 72, -39, -3, -47, 100, 64, 65, 64, 64, 64, 68, -75, -3, -34, 113, 4, 0, 1, 1, 1, 1, 5, 50, 95, 58, 9, 0, 0, 0, 0, 0, | |
0, 0, 0, 0, 72, -39, -3, -43, 68, 64, 65, 65, 65, 32, 100, -80, -3, -35, -102, 122, 50, 5, 1, 1, 1, 1, 1, 5, 50, 95, 54, 9, 0, 0, 0, 0, | |
0, 0, 0, 72, -40, -3, -43, 68, 64, 65, 65, 65, 64, 68, -80, -3, -39, 76, 13, 90, 91, 18, 5, 1, 1, 1, 1, 1, 9, 55, 91, 54, 9, 0, 0, 0, | |
0, 0, 72, -40, -3, -43, 100, 64, 64, 65, 65, 64, 68, -79, -3, -3, 108, 0, 0, 13, 91, 95, 18, 5, 0, 1, 1, 1, 1, 10, 55, 95, 87, 9, 0, 0, | |
0, 72, -40, -3, -43, 100, 64, 65, 65, 65, 64, 100, -80, -3, -39, 108, 0, 0, 0, 0, 13, 91, 91, 18, 5, 0, 1, 1, 1, 1, 9, 55, 91, 54, 9, 0, | |
40, -39, -3, -40, 100, 64, 64, 65, 65, 64, 64, -83, -3, -3, 108, 0, 0, 0, 0, 0, 0, 14, 95, 91, 46, 1, 1, 1, 1, 1, 1, 10, 59, 95, 87, 9 }; | |
struct pattern message2 = {36, 45,message2Data}; | |
PROGMEM const prog_uchar message3Data[] = | |
{53, 53, 53, 53, 53, 53, 53, 53, 53, 85, 85, 85, 85, 85, 85, 49, 13, 4, 9, 9, 4, 13, 85, 53, 53, 53, 53, 53, 53, 53, 53, 53, 53, 53, 53, 53, | |
53, 53, 53, 53, 53, 53, 53, 53, 85, 49, 12, 8, 8, 8, 49, 13, 9, 46, 55, 55, 46, 4, 13, 85, 53, 53, 53, 53, 53, 53, 53, 53, 53, 53, 53, 53, | |
53, 53, 53, 53, 53, 53, 53, 85, 49, 4, 9, 13, 14, 9, 9, 9, 14, 55, 23, 23, 55, 13, 12, 85, 53, 53, 53, 53, 53, 53, 53, 53, 53, 53, 53, 53, | |
53, 53, 53, 53, 53, 53, 53, 85, 45, 8, 18, 55, 55, 55, 13, 5, 14, 23, 23, 23, 23, 18, 8, 49, 85, 53, 53, 53, 53, 53, 53, 53, 53, 53, 53, 53, | |
53, 53, 53, 53, 53, 53, 53, 85, 49, 8, 18, 55, 23, 23, 18, 9, 18, 23, 23, 23, 23, 18, 9, 17, 85, 53, 53, 53, 53, 53, 53, 53, 53, 53, 53, 53, | |
53, 53, 53, 53, 53, 53, 53, 85, 85, 8, 9, 50, 23, 23, 19, 10, 14, 23, 23, 23, 23, 18, 9, 49, 85, 53, 53, 53, 53, 53, 53, 53, 53, 53, 53, 53, | |
53, 53, 53, 53, 53, 53, 53, 53, 85, 49, 8, 13, 19, 23, 55, 14, 14, 23, 23, 23, 51, 9, 13, 85, 85, 53, 53, 53, 53, 53, 53, 53, 53, 53, 53, 53, | |
53, 53, 53, 53, 53, 53, 53, 53, 85, 85, 9, 9, 14, 51, 55, 14, 14, 55, 23, 55, 14, 4, 13, 49, 49, 85, 85, 53, 53, 53, 53, 53, 53, 53, 53, 53, | |
53, 53, 53, 53, 53, 53, 53, 53, 85, 12, 9, 13, 9, 18, 87, 14, 14, 50, 50, 14, 5, 0, 4, 9, 13, 13, 49, 53, 85, 53, 53, 53, 53, 53, 53, 53, | |
53, 53, 53, 53, 53, 53, 53, 85, 45, 8, 18, 55, 14, 10, 14, 10, 5, 5, 9, 5, 9, 9, 14, 18, 13, 13, 8, 12, 53, 85, 53, 53, 53, 53, 53, 53, | |
53, 53, 53, 53, 53, 53, 85, 53, 9, 13, 55, 23, 19, 14, 9, 5, 0, 0, 0, 9, 55, 55, 23, 23, 23, 23, 18, 9, 13, 85, 85, 53, 53, 53, 53, 53, | |
53, 53, 53, 53, 53, 53, 85, 17, 9, 18, 23, 23, 23, 55, 50, 5, 0, 0, 0, 14, 55, 23, 23, 23, 23, 23, 55, 13, 13, 85, 85, 53, 53, 53, 53, 53, | |
53, 53, 53, 53, 53, 53, 53, 13, 13, 55, 23, 23, 23, 23, 55, 10, 0, 0, 0, 14, 55, 23, 23, 23, 23, 55, 50, 9, 13, 53, 53, 53, 53, 53, 53, 53, | |
53, 53, 53, 53, 53, 53, 53, 13, 14, 55, 23, 23, 23, 23, 55, 14, 5, 9, 5, 9, 55, 55, 23, 23, 18, 13, 9, 8, 49, 53, 53, 53, 53, 53, 53, 53, | |
53, 53, 53, 53, 53, 53, 53, 13, 14, 55, 23, 23, 23, 23, 55, 14, 14, 51, 14, 5, 10, 50, 50, 14, 4, 8, 49, 49, 53, 53, 53, 53, 53, 53, 53, 53, | |
53, 53, 53, 53, 53, 53, 53, 13, 14, 55, 23, 23, 23, 23, 51, 10, 14, 55, 51, 14, 5, 5, 9, 9, 8, 49, 85, 85, 85, 53, 53, 53, 53, 53, 53, 53, | |
53, 53, 53, 53, 53, 53, 53, 13, 14, 55, 23, 23, 23, 55, 14, 9, 18, 55, 23, 55, 14, 9, 9, 85, 85, 85, 85, 53, 85, 53, 53, 53, 53, 53, 53, 53, | |
53, 53, 53, 53, 53, 53, 53, 12, 13, 54, 55, 55, 18, 14, 4, 5, 50, 55, 23, 23, 55, 14, 8, 85, 85, 53, 85, 53, 53, 53, 53, 53, 53, 53, 53, 53, | |
53, 53, 53, 53, 53, 53, 53, 17, 8, 13, 50, 50, 5, 0, 40, 40, 8, 50, 23, 23, 55, 18, 4, 49, 85, 53, 85, 53, 53, 53, 53, 53, 53, 53, 53, 53, | |
53, 53, 53, 53, 53, 53, 53, 85, 45, 4, 4, 4, 4, 4, -75, -34, 40, 8, 50, 23, 55, 18, 4, 49, 85, 53, 53, 53, 53, 53, 53, 53, 53, 53, 53, 53, | |
53, 53, 53, 53, 53, 53, 53, 85, 49, 12, 45, 44, 36, -76, -3, -3, -35, 40, 13, 54, 55, 18, 9, 49, 85, 53, 53, 53, 53, 53, 53, 53, 53, 53, 53, 53, | |
53, 53, 53, 53, 53, 53, 53, 53, 85, 117, 44, 40, -76, -3, -4, -4, -3, -108, 4, 50, 54, 50, 13, 17, 85, 53, 53, 53, 53, 53, 53, 53, 53, 53, 53, 53, | |
53, 53, 53, 53, 53, 53, 53, 53, 85, 44, 4, -108, -3, -4, -4, -4, -4, -3, 112, 4, 82, 50, 8, 49, 85, 53, 53, 53, 53, 53, 53, 53, 53, 53, 53, 53, | |
53, 53, 53, 53, 53, 53, 53, 53, 85, 8, 76, -3, -4, -4, -4, -4, -4, -4, -35, 8, 45, 13, 8, 85, 53, 53, 53, 53, 53, 53, 53, 85, 53, 53, 53, 53, | |
53, 53, 53, 53, 53, 53, 53, 85, 85, 44, -108, -3, -4, -4, -4, -4, -4, -4, -3, -108, 4, 8, 16, 85, 53, 53, 53, 53, 53, 53, 53, 53, 53, 53, 53, 53, | |
53, 53, 53, 53, 53, 53, 53, 85, 85, 44, -76, -4, -4, -4, -4, -4, -4, -4, -4, -108, 40, 117, 85, 53, 53, 53, 53, 53, 53, 53, 85, 53, 53, 53, 53, 53, | |
53, 53, 53, 85, 85, 85, 85, 85, 48, 8, -76, -4, -4, -4, -4, -4, -4, -4, -4, -108, 40, 85, 85, 53, 53, 53, 53, 53, 53, 53, 53, 53, 53, 53, 53, 53, | |
85, 85, 85, 48, 48, 48, 48, 80, 44, 40, -76, -4, -4, -4, -4, -4, -4, -4, -36, 112, 40, 85, 85, 85, 85, 85, 53, 53, 53, 53, 53, 53, 53, 53, 53, 53, | |
81, 44, 40, 4, 76, 80, 76, 40, 4, 36, -76, -3, -4, -4, -4, -4, -4, -4, -35, 40, 76, 81, 81, 48, 44, 49, 85, 85, 85, 53, 53, 53, 53, 53, 53, 53, | |
44, 4, 112, -112, -40, -36, -40, -112, 72, 0, 108, -7, -4, -4, -4, -4, -4, -4, -39, 36, 76, 44, 44, 40, 8, 8, 8, 48, 81, 85, 85, 85, 53, 53, 53, 53, | |
76, 76, -3, -3, -4, -4, -4, -4, -40, 108, 36, 108, -7, -4, -4, -4, -4, -3, 108, 4, 40, -108, -76, -76, -76, -112, 72, 4, 4, 44, 117, 85, 85, 85, 53, 53, | |
76, 72, -4, -4, -4, -4, -4, -4, -4, -4, -80, 36, 108, -3, -4, -4, -4, -40, 36, 36, -72, -3, -4, -4, -4, -4, -40, -108, 40, 4, 8, 44, 81, 85, 85, 85, | |
76, 112, -4, -4, -4, -4, -4, -4, -4, -4, -3, -112, 36, 108, -76, -3, -3, 108, 0, -76, -3, -4, -4, -4, -4, -4, -4, -4, -40, -76, 76, 4, 4, 4, 44, 81, | |
76, 76, -3, -4, -4, -4, -4, -4, -4, -4, -4, -4, -112, 36, 68, -39, -39, 36, 108, -3, -4, -4, -4, -4, -4, -4, -4, -4, -4, -4, -39, -112, 112, 76, 4, 44, | |
76, 4, -76, -4, -4, -4, -4, -4, -4, -4, -4, -4, -3, -116, 0, 68, 36, 32, -76, -3, -4, -4, -4, -4, -4, -4, -4, -4, -4, -4, -4, -3, -3, -35, 4, 44, | |
81, 4, 40, -3, -4, -4, -4, -4, -4, -4, -4, -4, -4, -3, 72, 0, 0, 0, -116, -3, -4, -4, -4, -4, -4, -4, -4, -4, -4, -4, -4, -3, -3, 112, 4, 81, | |
85, 80, 4, -112, -3, -4, -4, -4, -4, -4, -4, -4, -4, -3, 72, 0, 0, 0, 72, -3, -4, -4, -4, -4, -4, -4, -4, -4, -4, -4, -3, -76, 40, 4, 48, 85, | |
85, 85, 44, 4, -112, -3, -4, -4, -4, -4, -4, -4, -40, -80, 36, 0, 0, 0, 0, -116, -80, -4, -4, -4, -4, -4, -4, -4, -3, -35, 76, 4, 8, 80, 85, 85, | |
53, 85, 81, 44, 4, 76, -39, -4, -4, -4, -4, -3, -76, 36, 108, 36, 0, 0, 104, -112, 72, 72, -80, -3, -4, -3, -39, 108, 40, 40, 4, 44, 85, 85, 53, 53, | |
53, 53, 85, 85, 48, 4, 40, -76, -36, -3, -3, 108, 32, 72, -39, -39, 36, 72, -7, -3, -76, 108, 72, -112, -76, -108, 76, 4, 4, 80, 85, 85, 85, 53, 53, 53, | |
53, 53, 53, 85, 85, 80, 8, 4, 40, 108, 72, 32, 72, -40, -3, -3, -116, 36, -76, -3, -4, -3, -76, 36, 36, 76, 44, 80, 85, 85, 85, 53, 53, 53, 53, 53, | |
53, 53, 53, 53, 53, 85, 85, 81, 76, 4, 0, -116, -7, -4, -4, -4, -7, 72, 36, -7, -4, -4, -3, -76, 40, 76, 117, 85, 85, 53, 53, 53, 53, 53, 53, 53, | |
53, 53, 53, 53, 53, 53, 85, 85, 44, 0, 72, -39, -4, -4, -4, -4, -4, -76, 36, -76, -4, -4, -4, -4, -76, 4, 44, 85, 85, 53, 53, 53, 53, 53, 53, 53, | |
53, 53, 53, 53, 53, 53, 85, 48, 4, 40, -76, -4, -4, -4, -4, -4, -4, -3, 72, 68, -40, -4, -4, -4, -36, 76, 8, 81, 85, 53, 53, 53, 53, 53, 53, 53, | |
53, 53, 53, 53, 53, 53, 85, 8, 4, -76, -3, -4, -4, -4, -4, -4, -4, -3, 108, 0, 72, -4, -4, -4, -4, -40, 40, 8, 85, 53, 53, 53, 53, 53, 53, 53, | |
53, 53, 53, 53, 53, 53, 85, 8, 72, -3, -4, -4, -4, -4, -4, -4, -4, -39, 72, 40, 0, -39, -4, -4, -4, -4, -72, 44, 48, 85, 53, 53, 53, 53, 53, 53, | |
53, 53, 53, 53, 53, 85, 85, 44, 108, -3, -4, -4, -4, -4, -4, -4, -3, -112, 0, 76, 0, -112, -3, -4, -4, -4, -40, 76, 48, 85, 53, 53, 53, 53, 53, 53, | |
53, 53, 53, 53, 53, 85, 48, 40, -76, -3, -4, -4, -4, -4, -4, -40, 108, 36, 4, 72, 0, 32, -80, -4, -4, -4, -35, 76, 44, 85, 53, 53, 53, 53, 53, 53, | |
53, 53, 53, 53, 53, 85, 44, 4, -108, -4, -4, -4, -4, -3, -39, 76, 0, 4, 68, 32, 96, 100, 64, -80, -3, -4, -3, 76, 44, 85, 53, 53, 53, 53, 53, 53, | |
53, 53, 53, 53, 53, 85, 44, 40, -72, -3, -40, -40, -40, -72, 76, 0, 4, 109, 64, 64, -91, -91, 96, 100, -8, -3, -40, 76, 48, 85, 53, 53, 53, 53, 53, 53, | |
53, 53, 53, 53, 53, 85, 44, 80, -3, -35, 108, 36, 36, 4, 4, 44, 113, 68, 64, -91, -59, -59, -92, 64, -116, -3, -39, 76, 80, 85, 53, 53, 53, 53, 53, 53, | |
53, 53, 53, 53, 53, 85, 48, 8, -108, 112, 4, 40, 44, 44, 44, 113, 72, 32, -128, -59, -63, -63, -91, 96, 68, -39, -39, 76, 48, 85, 53, 53, 53, 53, 53, 53, | |
53, 53, 53, 53, 53, 53, 85, 44, 44, 8, 44, 85, 85, 85, 117, 113, 32, 96, -91, -63, -31, -63, -91, 96, 32, -112, -39, 76, 48, 85, 53, 53, 53, 53, 53, 53, | |
53, 53, 53, 53, 53, 53, 85, 85, 81, 81, 85, 85, 53, 85, 81, 4, 64, -91, -59, -31, -31, -59, -124, 64, 36, 108, 112, 40, 48, 85, 53, 53, 53, 53, 53, 53, | |
53, 53, 53, 53, 53, 53, 53, 53, 85, 85, 53, 53, 53, 85, 77, 32, -123, -59, -63, -31, -31, -59, 96, 68, 113, 76, 44, 44, 85, 85, 53, 53, 53, 53, 53, 53, | |
53, 53, 53, 53, 53, 53, 53, 53, 53, 85, 85, 85, 85, 85, 109, 68, -91, -63, -31, -31, -63, -95, 64, 109, -107, 117, 117, 85, 85, 85, 53, 53, 53, 53, 53, 53, | |
53, 53, 53, 53, 53, 53, 53, 85, 85, 81, 76, 76, 81, 113, 109, 64, -91, -63, -31, -31, -59, -91, 64, 100, 109, 76, 113, 117, 85, 85, 53, 53, 53, 53, 53, 53, | |
53, 53, 53, 53, 53, 53, 85, 81, 44, 4, 0, 0, 0, 105, 68, 96, -59, -63, -31, -63, -59, 96, 64, 96, 100, 64, 68, 72, 76, 81, 85, 85, 53, 53, 53, 53, | |
53, 53, 53, 53, 53, 85, 85, 44, 0, 64, -123, -123, 100, 64, 32, -124, -59, -63, -63, -59, -91, 96, -91, -91, -91, -91, -91, 100, 36, 77, 85, 85, 85, 53, 53, 53, | |
53, 53, 53, 53, 53, 85, 81, 36, 64, -123, -59, -59, -91, -128, 96, -128, -91, -59, -59, -91, 96, -128, -59, -59, -63, -63, -59, -91, 100, 36, 76, 85, 53, 53, 53, 53, | |
53, 53, 53, 53, 85, 81, 36, 64, -91, -59, -63, -63, -63, -59, -128, 96, -128, -124, 96, 96, 96, -95, -59, -63, -31, -63, -63, -91, -123, 0, 8, 85, 53, 53, 53, 53, | |
53, 53, 53, 53, 85, 81, 32, 96, -59, -63, -31, -31, -31, -63, -59, 96, 32, 32, 64, -128, -91, -59, -63, -31, -31, -63, -59, -124, 64, 0, 44, 85, 53, 53, 53, 53, | |
53, 53, 53, 85, 85, 76, 64, -91, -59, -31, -31, -31, -31, -63, -91, 96, 32, 0, 32, 96, -59, -63, -31, -31, -63, -59, 96, 32, 40, 81, 85, 85, 53, 53, 53, 53, | |
53, 53, 53, 85, 81, 40, 96, -59, -63, -31, -31, -31, -31, -63, -91, 64, 32, 0, 32, 96, -59, -59, -63, -63, -59, -128, 32, 40, 113, 85, 85, 53, 53, 53, 53, 53, | |
53, 53, 53, 85, 81, 72, 96, -59, -63, -31, -31, -31, -31, -63, -59, 96, 32, 32, 32, 64, -91, -59, -59, -91, -123, 64, 36, 81, 85, 85, 53, 53, 53, 53, 53, 53, | |
53, 53, 53, 85, 81, 40, 64, -91, -59, -31, -31, -31, -31, -63, -91, 96, 64, 64, 96, 64, 96, -123, -128, 100, 64, 36, 81, 85, 85, 53, 53, 53, 53, 53, 53, 53, | |
53, 53, 53, 53, 85, 76, 32, -123, -59, -63, -31, -31, -63, -63, -128, 96, -128, -91, -91, -128, 96, 64, 64, 72, 72, 81, 85, 85, 53, 53, 53, 53, 53, 53, 53, 53, | |
53, 53, 53, 53, 85, 81, 40, 32, -124, -91, -59, -59, -59, -128, 96, -91, -91, -59, -59, -59, -91, 96, 32, 109, 117, 85, 85, 53, 53, 53, 53, 53, 53, 53, 53, 53, | |
53, 53, 53, 53, 53, 85, 81, 40, 32, 64, -124, -91, -128, 96, -95, -59, -63, -63, -63, -63, -59, -91, 64, 36, 113, 85, 85, 53, 53, 53, 53, 53, 53, 53, 53, 53, | |
53, 53, 53, 53, 53, 85, 85, 85, 76, 36, 100, 96, 96, -128, -91, -91, -128, -95, -59, -63, -63, -59, -123, 68, 113, 85, 53, 53, 53, 53, 53, 53, 53, 53, 53, 53, | |
53, 53, 53, 53, 53, 53, 53, 85, 85, 113, -111, 68, 96, -91, -91, -128, 100, 64, -91, -59, -63, -59, -124, 36, 113, 85, 53, 53, 53, 53, 53, 53, 53, 53, 53, 53, | |
53, 53, 53, 53, 53, 53, 53, 53, 85, 117, 109, 64, -128, -91, -91, 64, 105, 68, 64, -91, -59, -91, 100, 36, 85, 85, 53, 53, 53, 53, 53, 53, 53, 53, 53, 53, | |
53, 53, 53, 53, 53, 53, 53, 85, 85, 76, 32, 96, -91, -59, -123, 64, 113, 113, 36, 64, -91, -91, 100, 76, 85, 53, 53, 53, 53, 53, 53, 53, 53, 53, 53, 53, | |
53, 53, 53, 53, 53, 53, 53, 85, 44, 0, 96, -91, -59, -91, 96, 68, 113, 85, 77, 36, 100, 105, 4, 76, 85, 53, 53, 53, 53, 53, 53, 53, 53, 53, 53, 53, | |
53, 53, 53, 53, 53, 53, 85, 81, 36, 64, -91, -59, -59, -91, 64, 76, 85, 85, 85, 76, 0, 4, 4, 81, 85, 53, 53, 53, 53, 53, 53, 53, 53, 53, 53, 53, | |
53, 53, 53, 53, 53, 85, 85, 40, 32, -124, -91, -59, -59, 96, 36, 113, 85, 53, 85, 81, 49, 81, 81, 85, 53, 53, 53, 53, 53, 53, 53, 53, 53, 53, 53, 53, | |
53, 53, 53, 53, 53, 85, 85, 40, 64, -119, -91, -91, -123, 32, 76, 85, 85, 53, 53, 85, 85, 85, 85, 85, 53, 53, 53, 53, 53, 53, 53, 53, 53, 53, 53, 53, | |
53, 53, 53, 53, 53, 85, 85, 40, 32, 64, 96, 96, 64, 36, 81, 85, 53, 53, 53, 53, 53, 53, 53, 53, 53, 53, 53, 53, 53, 53, 53, 53, 53, 53, 53, 85 }; | |
struct pattern message3 = {36, 78,message3Data}; | |
PROGMEM const prog_uchar message4Data[] = | |
{-120, -4, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, | |
-120, -4, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -44, -44, -44, -44, -44, 0, 0, 0, 0, 0, 0, 0, 0, | |
-120, -4, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -44, -4, -4, -4, -4, -4, -44, 0, 0, 0, 0, 0, 0, 0, | |
-120, -4, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -44, -4, -44, -44, -44, -8, -8, -4, -44, 0, 0, 0, 0, 0, 0, | |
-120, -4, 0, 0, 0, -8, -4, -48, 0, 0, 0, -8, -4, -48, 0, 0, 0, -44, -4, -44, -44, -44, -44, -8, -4, -44, 0, 0, 0, 0, 0, 0, | |
-120, -4, 68, -120, 68, -4, -1, -12, 68, -120, 68, -4, -1, -12, 68, -120, 68, -44, -4, -44, -44, -8, -4, -4, -4, -44, 0, 0, 0, 0, 0, 0, | |
-120, -4, 0, 0, 0, -8, -4, -48, 0, 0, 0, -8, -4, -48, 0, 0, 0, -44, -4, -8, -44, -4, -1, -1, -4, -44, 0, 0, 0, 0, 0, 0, | |
-120, -4, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -44, -4, -8, -8, -4, -1, -1, -4, -44, 0, 0, 0, 0, 0, 0, | |
-120, -4, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -44, -4, -4, -4, -4, -4, -44, 0, 0, 0, 0, 0, 0, 0, | |
-120, -4, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -44, -44, -44, -44, -44, 0, 0, 0, 0, 0, 0, 0, 0, | |
-120, -4, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, | |
-120, -4, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, | |
-120, -4, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -93, -93, -93, -93, -93, 0, 0, | |
-120, -8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -93, -5, -13, -13, -13, -13, -93, 0, | |
-120, -8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -93, -5, -93, -93, -93, -25, -25, -13, -93, | |
-120, -8, 0, 0, 0, -8, -4, -48, 0, 0, 0, -8, -4, -48, 0, 0, 0, -8, -4, -48, 0, 0, 0, -93, -13, -93, -93, -93, -93, -25, -13, -93, | |
-120, -8, 68, -120, 68, -4, -1, -12, 68, -120, 68, -4, -1, -12, 68, -120, 68, -4, -1, -12, 68, -120, 68, -93, -13, -93, -93, -25, -5, -5, -13, -93, | |
-120, -8, 0, 0, 0, -8, -4, -48, 0, 0, 0, -8, -4, -48, 0, 0, 0, -8, -4, -48, 0, 0, 0, -93, -13, -25, -93, -5, -1, -1, -5, -93, | |
-120, -8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -93, -13, -25, -25, -5, -1, -1, -5, -93, | |
-120, -8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -93, -13, -13, -13, -5, -5, -93, 0, | |
-120, -4, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -93, -93, -93, -93, -93, 0, 0, | |
-120, -4, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, | |
-120, -4, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, | |
-120, -4, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 56, 56, 56, 56, 56, 0, 0, 0, 0, 0, 0, 0, 0, | |
-120, -4, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 56, -34, -67, -67, -67, -67, 56, 0, 0, 0, 0, 0, 0, 0, | |
-120, -4, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 56, -34, 56, 56, 56, 124, 124, -67, 56, 0, 0, 0, 0, 0, 0, | |
-120, -4, 0, 0, 0, -8, -4, -48, 0, 0, 0, -8, -4, -48, 0, 0, 0, 56, -67, 56, 56, 56, 56, 124, -67, 56, 0, 0, 0, 0, 0, 0, | |
-120, -4, 68, -120, 68, -4, -1, -12, 68, -120, 68, -4, -1, -12, 68, -120, 68, 56, -67, 56, 56, 124, -34, -34, -67, 56, 0, 0, 0, 0, 0, 0, | |
-120, -4, 0, 0, 0, -8, -4, -48, 0, 0, 0, -8, -4, -48, 0, 0, 0, 56, -67, 124, 56, -34, -1, -1, -34, 56, 0, 0, 0, 0, 0, 0, | |
-120, -4, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 56, -67, 124, 124, -34, -1, -1, -34, 56, 0, 0, 0, 0, 0, 0, | |
-120, -4, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 56, -67, -67, -67, -34, -34, 56, 0, 0, 0, 0, 0, 0, 0, | |
-120, -4, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 56, 56, 56, 56, 56, 0, 0, 0, 0, 0, 0, 0, 0, | |
-120, -4, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, | |
-120, -4, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, | |
-120, -4, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -16, -16, -16, -16, -16, 0, 0, | |
-120, -8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -16, -8, -12, -12, -12, -12, -16, 0, | |
-120, -8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -16, -8, -16, -16, -16, -16, -16, -12, -16, | |
-120, -8, 0, 0, 0, -8, -4, -48, 0, 0, 0, -8, -4, -48, 0, 0, 0, -8, -4, -48, 0, 0, 0, -16, -12, -16, -16, -16, -16, -16, -12, -16, | |
-120, -8, 68, -120, 68, -4, -1, -12, 68, -120, 68, -4, -1, -12, 68, -120, 68, -4, -1, -12, 68, -120, 68, -16, -12, -16, -16, -16, -8, -8, -12, -16, | |
-120, -8, 0, 0, 0, -8, -4, -48, 0, 0, 0, -8, -4, -48, 0, 0, 0, -8, -4, -48, 0, 0, 0, -16, -12, -16, -16, -8, -1, -1, -8, -16, | |
-120, -8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -16, -12, -16, -16, -8, -1, -1, -8, -16, | |
-120, -8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -16, -12, -12, -12, -8, -8, -16, 0, | |
-120, -4, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -16, -16, -16, -16, -16, 0, 0, | |
-120, -4, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, | |
-120, -4, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 23, 23, 23, 23, 23, 0, 0, 0, 0, 0, 0, 0, 0, | |
-120, -4, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 23, -65, 123, 123, 123, 123, 23, 0, 0, 0, 0, 0, 0, 0, | |
-120, -4, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 23, -65, 23, 23, 23, 55, 55, 123, 23, 0, 0, 0, 0, 0, 0, | |
-120, -4, 0, 0, 0, -8, -4, -48, 0, 0, 0, -8, -4, -48, 0, 0, 0, 23, 123, 23, 23, 23, 23, 55, 123, 23, 0, 0, 0, 0, 0, 0, | |
-120, -4, 68, -120, 68, -4, -1, -12, 68, -120, 68, -4, -1, -12, 68, -120, 68, 23, 123, 23, 23, 55, -65, -65, 123, 23, 0, 0, 0, 0, 0, 0, | |
-120, -4, 0, 0, 0, -8, -4, -48, 0, 0, 0, -8, -4, -48, 0, 0, 0, 23, 123, 55, 23, -65, -1, -1, -65, 23, 0, 0, 0, 0, 0, 0, | |
-120, -4, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 23, 123, 55, 55, -65, -1, -1, -65, 23, 0, 0, 0, 0, 0, 0, | |
-120, -4, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 23, 123, 123, 123, -65, -65, 23, 0, 0, 0, 0, 0, 0, 0, | |
-120, -4, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 23, 23, 23, 23, 23, 0, 0, 0, 0, 0, 0, 0, 0, | |
-120, -4, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, | |
-120, -4, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, | |
-120, -4, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -64, -64, -64, -64, -64, 0, 0, | |
-120, -8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -64, -14, -22, -22, -22, -22, -64, 0, | |
-120, -8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -64, -14, -64, -64, -64, -31, -31, -22, -64, | |
-120, -8, 0, 0, 0, -8, -4, -48, 0, 0, 0, -8, -4, -48, 0, 0, 0, -8, -4, -48, 0, 0, 0, -64, -22, -64, -64, -64, -64, -31, -22, -64, | |
-120, -8, 68, -120, 68, -4, -1, -12, 68, -120, 68, -4, -1, -12, 68, -120, 68, -4, -1, -12, 68, -120, 68, -64, -22, -64, -64, -31, -14, -14, -22, -64, | |
-120, -8, 0, 0, 0, -8, -4, -48, 0, 0, 0, -8, -4, -48, 0, 0, 0, -8, -4, -48, 0, 0, 0, -64, -22, -31, -64, -14, -1, -1, -14, -64, | |
-120, -8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -64, -22, -31, -31, -14, -1, -1, -14, -64, | |
-120, -8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -64, -22, -22, -22, -14, -14, -64, 0, | |
-120, -4, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -64, -64, -64, -64, -64, 0, 0, | |
-120, -4, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }; | |
struct pattern message4 = {32, 65,message4Data}; | |
PROGMEM const prog_uchar message5Data[] = | |
{0, -90, -1, 66, 0, 0, 66, -1, 66, 0, 0, 0, 66, -1, 66, 0, 66, -1, -90, 0, 0, 0, 0, 66, -1, -90, 0, 0, 66, -1, -90, 0, | |
0, -90, -9, 66, 0, 0, 66, -9, 66, 0, 0, 0, 66, -9, 66, 0, 66, -9, -90, 0, 0, 0, 0, -90, -1, -90, 0, 0, -90, -1, 66, 0, | |
0, -90, -1, -90, 98, 0, 66, -9, -90, 66, 0, 0, 66, -9, 66, 0, 66, -9, -90, 0, 0, 0, -90, -1, -90, -90, 0, 0, 66, -9, -90, 66, | |
0, 66, -90, -1, 98, 0, 0, -9, -90, 66, 0, 0, 66, -9, 66, 0, 66, -9, -90, 0, 0, 0, -90, -1, -90, -90, 0, 0, 66, -9, -90, 66, | |
0, 0, 66, -1, 66, 0, 0, -90, -1, -90, 0, 0, 66, -9, 66, 0, 0, -90, -1, 66, 0, 0, 98, 66, -1, -90, 0, 0, 98, -90, -1, -90, | |
0, 0, 66, -1, -90, 0, 0, 66, -9, -1, 66, 0, 66, -9, 66, 0, 0, 66, -1, -90, 66, 0, 98, -90, -1, 66, 0, 0, 0, 66, -1, -90, | |
0, 0, 66, -1, -90, 66, 0, 0, -90, -1, 66, 0, 66, -9, -90, 66, 0, 66, -90, -1, 66, -90, -90, 98, -9, 66, 0, 0, 0, 66, -1, -90, | |
0, 0, 66, -9, -1, 66, 66, 0, -90, -9, 66, 0, 66, -90, -9, 66, 0, 0, 66, -9, -90, -1, -90, -9, -90, 0, 0, 0, 0, 66, -9, -90, | |
0, 0, 66, -90, -1, 66, 66, 0, -90, -9, 66, 0, 0, 66, -9, 66, 0, 0, 0, -90, -1, -90, -1, -90, 66, 0, 0, 0, 0, -90, -9, -90, | |
0, 0, 0, 66, -9, -90, 66, 66, -1, -9, 66, 0, 0, 66, -9, 66, 0, 0, 66, -1, -90, 66, -1, 66, 0, 0, 0, 0, 0, -90, -1, 66, | |
0, 0, 0, 66, -90, -1, -90, -90, -9, -90, 0, 0, 0, 66, -9, 66, 0, -90, -1, -90, 0, 66, -9, -90, 66, 0, 0, 0, 0, -90, -1, 66, | |
0, 0, 0, 0, 66, -90, -9, -90, -9, 66, 0, 0, 0, 66, -9, 66, 66, -1, -9, 66, 0, 0, -90, -1, -90, 0, 0, 0, 0, -90, -1, 66, | |
0, 0, 0, 0, 98, 66, -90, -1, -90, 66, 0, 0, 0, 66, -1, -90, 66, -1, -90, 0, 0, 0, 66, -1, -1, 66, 0, 0, 0, 66, -1, -90, | |
0, 0, 0, 0, 98, 0, 66, -9, 66, 0, 0, 0, 0, 0, -90, -1, -90, -9, -90, 0, 0, 0, 0, -90, -1, -90, 0, 0, 0, 66, -9, 66, | |
0, 0, 0, 0, 98, 0, 66, -9, -90, 66, 0, 0, 0, 0, 0, 66, -1, -9, -90, 0, 0, 0, 0, 66, -1, -90, 0, 0, 66, -90, -9, 66, | |
0, 0, 0, 0, 98, 0, 0, -90, -1, 66, 0, 0, 0, 0, 0, 66, -9, -90, 66, 0, 0, 0, 0, 66, -1, -90, 0, 0, -90, -1, -90, 98, | |
0, 0, 0, 0, 66, 98, 0, -90, -1, -90, 66, 0, 0, 0, 0, 0, -1, -90, 66, 0, 0, 0, 0, 66, -1, -90, 0, 0, -90, -1, -90, 0, | |
0, 0, 0, 0, 66, 0, 98, 0, -90, -1, -90, 66, 0, 0, 0, 66, -1, -90, 66, 0, 0, 0, 0, -90, -1, 66, 0, 66, -1, -90, 66, 0, | |
0, 0, 0, 98, 0, 0, 98, 0, 66, -90, -1, 66, 0, 0, 0, 66, -9, -90, 66, 0, 0, 0, 0, -90, -9, 66, 0, 66, -1, 66, 0, 0, | |
0, 0, 66, 0, 0, 0, 0, 66, 66, -90, -9, 66, 0, 0, 0, 66, -9, -90, 66, 0, 0, 0, 0, -90, -9, 66, 66, -90, -1, 98, 0, 0, | |
0, 66, 0, 0, 66, -90, -90, -1, -1, -9, -90, 0, 0, 0, 0, 0, -1, -90, 66, 0, 0, 0, 0, -90, -9, 66, -90, -1, 66, 98, 0, 0, | |
0, 98, 0, 0, -90, -90, -1, -90, -90, -90, 66, 0, 0, 0, 0, 66, -90, -1, 66, 0, 0, 0, 0, -90, -1, 66, -1, -9, 66, 0, 0, 0, | |
0, 66, 0, 0, -90, -1, 66, 0, 0, 98, 0, 0, 0, 0, -90, -1, -90, -1, -90, 0, 0, 0, 0, -90, -1, -90, -9, -90, 0, 0, 0, 0, | |
0, 66, 0, 0, -90, -1, 66, 0, 0, 0, 98, 0, 0, 66, -1, -90, 0, -90, -1, -90, 0, 0, 0, -90, -9, -1, -90, 66, 0, 0, 0, 0, | |
0, 66, 0, 0, -90, -1, -90, 0, 0, 0, 98, 0, 0, 66, -9, -9, 66, 66, -90, -1, 66, 0, 0, 66, -90, -1, 66, 0, 0, 0, 0, 0, | |
98, 0, 0, 0, 66, -90, -1, -90, 0, 0, 0, 98, 0, 0, -90, -9, 66, 0, 66, -9, 66, 0, 0, -90, -1, -9, -90, 66, 0, 0, 0, 0, | |
0, 98, 66, 0, 66, 66, -90, -1, 66, 0, 0, 98, 0, 66, -1, -9, 66, 0, 66, -1, 66, 0, 0, -90, -9, -90, -1, 66, 0, 0, 0, 0, | |
0, 0, 0, 66, -90, -90, -9, -1, 66, 0, 0, 98, 0, -90, -1, -90, 0, 0, 66, -1, 66, 0, 0, -90, -9, -90, -1, -90, 0, 0, 0, 0, | |
0, 0, 66, 66, -1, -1, -1, -90, 66, 0, 98, 0, 66, -1, 66, 0, 0, 0, 66, -1, 66, 0, 66, -1, -9, 66, -9, -90, 0, 0, 0, 0, | |
0, 0, 66, -1, -90, 66, 66, 66, 0, 98, 0, 0, 66, -9, 66, 0, 0, 0, 0, -9, -90, 66, 66, -9, -90, 66, -9, -1, 66, 0, 0, 0, | |
0, 0, -90, -1, 66, 0, 0, 0, 98, 98, 0, 0, 0, -1, -90, 66, 0, 0, 0, -9, -90, 66, 66, -9, -90, 0, -90, -1, 66, 0, 0, 0, | |
0, 66, -90, -1, 66, 0, 0, 0, 98, 0, 0, 0, 66, -90, -9, 66, 0, 0, 0, -9, -90, 66, -90, -9, -90, 0, -90, -9, 66, 0, 0, 0, | |
0, -90, -1, -90, 98, 98, 0, 0, 98, 0, 0, 66, 66, -90, -9, 66, 0, 0, 0, -90, -9, -90, -1, 66, 0, 66, -1, -9, 66, 0, 0, 0, | |
0, -90, -1, 66, 0, 98, 0, 0, 98, 0, 66, -90, -1, -1, -90, 66, 0, 0, 0, -90, -1, -1, -90, 0, 0, 66, -1, -90, 0, 0, 0, 0, | |
66, -1, -90, 0, 0, 66, 66, 0, 98, 66, -1, -1, -90, 66, 0, 0, 0, 0, 0, -90, -9, -90, 0, 0, 0, 66, -9, -90, 98, 0, 0, 0, | |
66, -1, -90, 0, 0, 0, 66, 66, -90, -90, -9, 66, 0, 0, 0, 0, 0, 66, -90, -9, -90, -1, -90, 0, 0, 66, -9, -90, 98, 0, 0, 0, | |
66, -9, -1, 66, 0, 0, 66, -90, -9, -1, -90, 66, 0, 0, 0, 0, 0, -90, -1, -90, 66, -90, -1, 66, 0, -90, -9, -90, 98, 0, 0, 0, | |
0, 66, -1, -90, 0, 0, 66, -9, -90, 66, 66, 0, 0, 0, 0, 0, 0, -90, -1, 66, 0, 0, -90, -1, -90, -1, -90, 66, 0, 0, 0, 0, | |
0, 66, -1, -90, 0, 0, 66, -90, -1, 66, 0, 0, 0, 0, 0, 0, 0, -90, -1, 66, 0, 0, 0, -90, -90, -1, 66, 0, 98, 0, 0, 0, | |
0, 66, -1, -90, 0, 66, 66, -90, -1, 66, 98, 0, 0, 0, 0, 0, 0, -90, -9, 66, 0, 0, 0, 66, 66, -9, 66, 0, 98, 0, 0, 0, | |
0, 66, -1, -90, 0, -90, -1, -1, -90, -90, 0, 98, 98, 0, 0, 0, 0, -90, -9, 66, 0, 0, 0, 0, 66, -9, 66, 98, 98, 0, 0, 0, | |
66, -90, -1, -90, -90, -1, -90, 66, -9, -90, 0, 0, 0, 98, 0, 0, -90, -1, -9, 66, 0, 0, 0, 0, 66, -9, -90, -90, 66, 98, 0, 0, | |
66, -90, -1, 66, -1, -90, 66, 66, -90, -1, 66, 0, 0, 98, 0, 66, -1, -9, -90, 0, 0, 0, 0, 0, 66, -90, -1, -1, -90, 98, 98, 0, | |
0, 0, -90, -1, -90, 66, 0, 0, -90, -9, 66, 0, 0, 98, 0, 66, -9, -90, 66, 0, 0, 0, 0, 0, 0, 66, 66, -90, -1, 66, 66, 0, | |
0, 0, -90, -9, -90, 66, 0, 0, -90, -9, 66, 0, 0, 0, 98, 0, -90, -1, -90, 0, 0, 0, 0, 0, 0, 0, 0, 66, -9, -1, -90, 0, | |
0, 0, 66, -9, -1, 66, 0, 0, 0, -90, -9, 66, 0, 0, 98, 0, 66, -1, -90, 0, 0, 0, 0, 0, 0, 0, 0, 0, -90, -9, -1, 66, | |
0, 0, 66, -9, -90, -1, -90, 0, 0, 66, -1, -90, 0, 0, 98, 0, 0, -90, -1, 66, 0, 0, 0, 0, 0, 0, 0, 0, 0, 66, -9, 66, | |
0, 0, 66, -9, 0, -90, -1, 66, 66, -90, -1, -90, 0, 98, 0, 0, 0, -90, -1, 66, 66, 0, 0, 0, 0, 0, 0, 0, 0, -90, -9, 66, | |
0, 0, 66, -9, 0, -90, -9, 66, 66, -1, -90, 0, 0, 98, 0, 0, 0, -90, -9, -1, -90, 66, 0, 0, 0, 0, 0, 0, 0, -1, -90, 66, | |
0, 0, -90, -9, 0, -90, -9, 66, -90, -1, 66, 0, 98, 0, 0, 0, 0, 0, 66, -9, -1, -1, 66, 0, 0, 0, 0, 0, 0, -1, -90, 66, | |
0, 0, -90, -1, 0, 66, -90, -90, -90, -9, 66, 98, 0, 0, 0, 0, 0, 0, 0, 0, 66, -90, -1, -90, 0, 0, 0, 0, 0, -90, -1, 66, | |
0, 0, -90, -9, 0, 66, -90, -90, -1, -9, 66, 98, 0, 0, 0, 0, 0, 0, 0, 0, 0, 66, -90, -1, 66, 0, 0, 0, 0, 66, -1, 66, | |
0, 66, -9, -90, 0, 66, -90, -90, -9, -90, 0, 98, 0, 0, 0, 0, 0, 0, 0, 0, 0, 66, -90, -1, 66, 0, 0, 0, 0, 66, -1, 66, | |
0, 66, -1, -90, 0, 0, 66, -1, -90, 66, 0, 98, 98, 0, 0, 0, 0, 0, 0, 0, 0, 66, -1, -90, 0, 0, 0, 0, 0, 66, -9, 66, | |
0, 66, -1, -90, 0, 0, 66, -9, -90, 66, 0, 0, 98, 0, 0, 0, 0, 0, 0, 0, 66, -1, -90, 66, 0, 0, 0, 0, 0, -90, -9, 66, | |
0, -90, -1, -90, 0, 66, -90, -90, -1, -90, 0, 0, 0, 98, 0, 0, 0, 0, 0, 0, 66, -9, 66, 0, 0, 0, 0, 0, 0, -90, -9, 66, | |
66, -1, -9, 66, 0, 66, -90, -90, -90, -1, 66, 0, 0, 98, 98, 0, 0, 0, 0, 0, 66, -9, -90, -90, 66, 66, 0, 0, 0, -90, -1, 66, | |
66, -1, -90, 0, 0, 66, -90, -90, -1, -9, -90, 0, 0, 0, 98, 0, 0, 0, 0, 0, 0, 66, -1, -1, -1, -90, 66, 0, 0, 66, -1, 66, | |
66, -1, -90, 0, 0, 66, -90, -1, 66, -90, -1, 66, 0, 0, 98, 0, 0, 0, 0, 0, 0, 0, 66, -90, -90, -1, -90, 66, 0, 66, -1, 66, | |
66, -1, -90, 0, 0, 66, -1, -90, 0, 66, -9, -90, 66, 0, 98, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -90, -9, -90, 98, 66, -1, 66, | |
66, -1, -90, 0, 0, 66, -1, -90, 0, 0, -90, -1, 66, 98, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -90, -1, -90, 66, -1, -90, 66, | |
66, -1, -90, 0, 0, 66, -90, -1, 66, 0, 66, -1, -90, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -90, -1, -90, 0, 66, -1, -90, 66, | |
66, -1, -90, 0, 0, 66, 66, -9, 66, 0, 0, -90, -1, -90, 0, 0, 0, 0, 0, 0, 0, 0, 0, 66, -1, 66, 98, 0, 66, -1, 66, 66, | |
66, -9, -90, 0, 0, 66, 66, -9, 66, 0, 0, 66, -90, -1, 66, 0, 0, 0, 0, 0, 0, 0, 0, 66, -9, 66, 0, 0, 66, -1, -90, 66, | |
0, -90, -1, 66, 0, 0, 66, -9, 66, 0, 0, 98, 0, -1, -90, 66, 0, 0, 0, 0, 0, 0, 0, 66, -1, -90, 0, 0, 0, -90, -1, -90, | |
0, -90, -9, 66, 0, 66, -1, -90, 0, 0, 0, 98, 0, -90, -1, 66, 0, 0, 0, 0, 0, 0, 0, 66, -90, -1, 66, 0, 0, -90, -9, -90, | |
0, -90, -9, 66, 0, -90, -1, -90, 0, 0, 98, 0, 0, -90, -1, -90, 0, 0, 0, 0, 0, 0, 0, -90, -1, -1, 66, 0, 0, 66, -1, -90, | |
0, 66, -90, -9, 66, -1, -90, 0, 0, 0, 98, 0, 0, 66, -9, -90, 0, 0, 0, 0, 0, 0, -90, -1, -90, -9, -1, 66, 0, 66, -1, 66, | |
0, -90, -1, -90, -1, -90, 66, 0, 0, 0, 98, 0, 0, 66, -9, -90, 0, 0, 0, 0, 0, 66, -1, 66, 0, -90, -1, 66, 98, 66, -1, 66, | |
0, -90, -1, -90, -90, -1, 66, 0, 0, 98, 0, 0, 0, 66, -9, -90, 0, 0, 0, 0, 66, -90, -9, 66, 0, -90, -1, -90, 98, 66, -1, 66, | |
0, 66, -9, -1, -90, -1, -90, 0, 98, 98, 0, 0, 0, 0, -90, -1, 66, 0, 0, 66, -1, -1, 66, 0, 0, 66, -9, -90, 0, 66, -1, 66, | |
0, -90, -1, -90, -1, -90, -1, 66, 98, 0, 0, 0, 0, 0, -90, -9, 66, 0, 0, -90, -1, 66, 0, 0, 0, 66, -9, -90, 0, 66, -9, 66, | |
0, -90, -1, 66, -1, -90, -9, -90, 0, 0, 0, 0, 0, 0, -90, -9, 66, 0, 66, -1, -90, 66, 0, 0, 0, 66, -9, -90, 0, -90, -9, 66, | |
66, -90, -9, 0, -90, -1, -90, -1, 66, 0, 0, 0, 0, 0, -90, -9, 66, 66, -90, -9, 66, 0, 0, 0, 0, -1, -90, 66, 0, -9, -90, 0, | |
-90, -1, -90, 66, -90, -1, -90, -9, 66, 0, 0, 0, 0, 66, -1, -9, 66, -90, -1, -90, 0, 0, 0, 0, 66, -1, 66, 0, 0, -9, -90, 0, | |
-90, -1, 66, 0, 66, -1, -90, -9, 66, 0, 0, 0, 0, -90, -9, -90, 0, -90, -1, 66, 0, 0, 0, 0, 66, -9, 66, 0, 0, -1, -90, 0, | |
-90, -9, 66, 66, 98, -90, -1, -9, 66, 0, 0, 0, 0, -90, -90, 66, 66, -1, -90, 0, 0, 0, 0, 66, -1, -90, 0, 0, 0, -9, -90, 0, | |
-90, -9, 66, 98, 0, 0, 66, -9, 66, 0, 0, 0, 66, -1, 66, 0, 66, -9, -90, 0, 0, 0, 0, 66, -1, -90, 0, 0, 0, -1, -90, 0 }; | |
struct pattern message5 = {32, 78,message5Data}; | |
PROGMEM const prog_uchar message6Data[] = | |
{0, 0, 0, 123, 0, 0, 0, 123, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, | |
0, 0, 123, 123, 0, 0, 0, 123, 123, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, | |
0, 0, 0, 0, 123, 0, 123, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 59, 59, 0, 0, 0, 0, 0, 0, | |
0, 123, 0, 0, 0, 123, 0, 0, 0, 123, 0, 0, 0, 0, 0, 91, 91, 0, 91, 91, 0, 0, 0, 59, 0, 0, 59, 0, 0, 0, 0, 0, | |
0, 0, 123, 123, 123, 0, 123, 123, 123, 0, 0, 0, 0, 0, 0, 0, -65, 91, -65, 0, 0, 0, 0, 59, 0, 0, 59, 0, 0, 0, 0, 0, | |
0, 123, 0, 0, 0, 123, 0, 0, 0, 123, 0, 0, 0, 91, 0, 0, 91, -65, 91, 0, 0, 91, 0, 0, 59, 59, 0, 0, 0, 0, 0, 0, | |
0, 0, 0, 0, 123, 0, 123, 0, 0, 0, 0, 0, 91, -65, 0, 0, 0, -33, 0, 0, 0, -65, 91, 0, 0, 0, 0, 0, 0, 0, 0, 0, | |
0, 0, 123, 123, 0, 0, 0, 123, 123, 0, 0, 91, -65, -33, 91, 0, 91, -65, 91, 0, 91, -33, -65, 91, 0, 0, 0, 0, 0, 0, 0, 0, | |
0, 0, 0, 123, 0, 0, 0, 123, 0, 0, 0, 0, 0, 0, 91, 91, -65, -33, -65, 91, -65, 0, 0, 0, 0, 0, 0, 0, 23, 0, 23, 0, | |
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -65, -33, -33, -33, -65, 0, 0, 0, 0, 0, 0, 0, 0, 0, 23, 0, 0, | |
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 91, 91, -65, -33, -65, 91, 91, 0, 0, 0, 0, 0, 0, 0, 23, 0, 23, 0, | |
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 91, -65, -33, 91, 0, 91, -65, 91, 0, 91, -33, -65, 91, 0, 0, 0, 0, 0, 0, 0, 0, | |
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 91, -65, 0, 0, 0, 91, 0, 0, 0, -65, 91, 0, 0, 0, 0, 0, 0, 0, 0, 0, | |
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 91, 0, 0, 91, -33, 91, 0, 0, 91, 0, 0, 0, 0, 59, 59, 0, 0, 0, 0, | |
0, 0, 0, 0, 0, 0, 0, 0, 59, 59, 0, 0, 0, 0, 0, 0, -65, 91, -65, 0, 0, 0, 0, 0, 0, 59, 0, 0, 59, 0, 0, 0, | |
0, 0, 0, 0, 0, 0, 0, 59, 0, 0, 59, 0, 0, 0, 0, 91, 91, 0, 91, 91, 0, 0, 0, 0, 0, 59, 0, 0, 59, 0, 0, 0, | |
0, 0, 0, 0, 0, 0, 0, 59, 0, 0, 59, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 59, 59, 0, 0, 0, 0, | |
0, 0, 0, 0, 0, 0, 0, 0, 59, 59, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, | |
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, | |
0, 0, 0, 0, 0, 0, 91, 0, 0, 0, 91, 0, 0, 0, 0, 0, 0, 0, 0, 123, 0, 0, 0, 123, 0, 0, 0, 0, 0, 0, 0, 0, | |
0, 0, 0, 0, 0, 91, -65, 0, 0, 0, -65, 91, 0, 0, 0, 0, 0, 0, 123, 123, 0, 0, 0, 123, 123, 0, 0, 0, 0, 0, 0, 0, | |
0, 0, 0, 0, 91, -65, -33, 0, 0, 0, -33, -65, 91, 0, 0, 0, 0, 0, 0, 0, 123, 0, 123, 0, 0, 0, 0, 0, 0, 0, 0, 0, | |
0, 0, 0, 0, 0, 0, 91, -65, 0, 91, 91, 0, 0, 0, 0, 0, 0, 123, 0, 0, 0, 123, 0, 0, 0, 123, 0, 0, 0, 0, 0, 0, | |
0, 0, 91, 0, 0, 0, 0, 91, -65, 91, 0, 0, 0, 0, 91, 0, 0, 0, 123, 123, 123, 0, 123, 123, 123, 0, 0, 0, 0, 0, 0, 0, | |
0, 0, 91, -65, 91, 0, 91, -65, -33, -65, 91, 0, 91, -65, 91, 0, 0, 123, 0, 0, 0, 123, 0, 0, 0, 123, 0, 0, 0, 0, 0, 0, | |
0, 0, 0, 91, -65, -33, -65, -33, -33, -33, -65, 91, -33, 91, 0, 0, 0, 0, 0, 0, 123, 0, 123, 0, 0, 0, 0, 0, 0, 0, 0, 0, | |
0, 0, 91, -65, 91, 0, 91, -65, -33, -65, 91, 0, 91, -65, 91, 0, 0, 0, 123, 123, 0, 0, 0, 123, 123, 0, 0, 0, 0, 0, 0, 0, | |
0, 0, 91, 0, 0, 0, 0, 91, -65, 91, 0, 0, 0, 0, 91, 0, 0, 0, 0, 123, 0, 0, 0, 123, 0, 0, 23, 0, 23, 0, 0, 0, | |
0, 0, 0, 0, 0, 0, 91, 91, 0, 91, 91, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 23, 0, 0, 0, 0, | |
0, 0, 0, 0, 91, -65, -33, 0, 0, 0, -33, -65, 91, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 23, 0, 23, 0, 0, 0, | |
0, 0, 0, 0, 0, 91, -65, 0, 0, 0, -65, 91, 0, 0, 0, 0, 0, 0, 0, 0, 91, 0, 0, 0, 91, 0, 0, 0, 0, 0, 0, 0, | |
0, 0, 0, 0, 0, 0, 91, 0, 0, 0, 91, 0, 0, 0, 0, 0, 0, 0, 0, 91, -65, 0, 0, 0, -65, 91, 0, 0, 0, 0, 0, 0, | |
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 91, -65, -33, 0, 0, 0, -33, -65, 91, 0, 0, 0, 0, 0, | |
0, 59, 59, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 91, -65, 0, 91, 91, 0, 0, 0, 0, 0, 0, 0, | |
59, 0, 0, 59, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 91, 0, 0, 0, 0, 91, -65, 91, 0, 0, 0, 0, 91, 0, 0, 0, | |
59, 0, 0, 59, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 91, -65, 91, 0, 91, -65, -33, -65, 91, 0, 91, -65, 91, 0, 0, 0, | |
0, 59, 59, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 91, -65, -33, -65, -33, -33, -33, -65, 91, -33, 91, 0, 0, 0, 0, | |
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 91, -65, 91, 0, 91, -65, -33, -65, 91, 0, 91, -65, 91, 0, 0, 0, | |
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 59, 59, 0, 0, 91, 0, 0, 0, 0, 91, -65, 91, 0, 0, 0, 0, 91, 0, 0, 0, | |
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 59, 0, 0, 59, 0, 0, 0, 0, 0, 91, 91, 0, 91, 91, 0, 0, 0, 0, 0, 0, 0, | |
0, 0, 0, 0, 0, 23, 0, 23, 0, 0, 0, 59, 0, 0, 59, 0, 0, 0, 91, -65, -33, 0, 0, 0, -33, -65, 91, 0, 0, 0, 0, 0, | |
0, 0, 0, 0, 0, 0, 23, 0, 0, 0, 0, 0, 59, 59, 0, 0, 0, 0, 0, 91, -65, 0, 0, 0, -65, 91, 0, 0, 0, 0, 0, 0, | |
0, 0, 0, 0, 0, 23, 0, 23, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 91, 0, 0, 0, 91, 0, 0, 0, 0, 0, 0, 0, | |
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, | |
0, 0, 0, 0, 0, 0, 0, 91, 91, 0, 91, 91, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, | |
0, 0, 0, 0, 0, 0, 0, 0, -65, 91, -65, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, | |
0, 0, 0, 0, 0, 91, 0, 0, 91, -65, 91, 0, 0, 91, 0, 0, 0, 0, 23, 0, 23, 0, 0, 0, 0, 123, 0, 0, 0, 123, 0, 0, | |
0, 0, 0, 0, 91, -65, 0, 0, 0, -33, 0, 0, 0, -65, 91, 0, 0, 0, 0, 23, 0, 0, 0, 0, 123, 123, 0, 0, 0, 123, 123, 0, | |
0, 0, 0, 91, -65, -33, 91, 0, 91, -65, 91, 0, 91, -33, -65, 91, 0, 0, 23, 0, 23, 0, 0, 0, 0, 0, 123, 0, 123, 0, 0, 0, | |
0, 0, 0, 0, 0, 0, 91, 91, -65, -33, -65, 91, -65, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 123, 0, 0, 0, 123, 0, 0, 0, 123, | |
0, 0, 0, 0, 0, 0, 0, -65, -33, -33, -33, -65, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 123, 123, 123, 0, 123, 123, 123, 0, | |
0, 0, 0, 0, 0, 0, 91, 91, -65, -33, -65, 91, 91, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 123, 0, 0, 0, 123, 0, 0, 0, 123, | |
0, 0, 0, 91, -65, -33, 91, 0, 91, -65, 91, 0, 91, -33, -65, 91, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 123, 0, 123, 0, 0, 0, | |
0, 0, 0, 0, 91, -65, 0, 0, 0, 91, 0, 0, 0, -65, 91, 0, 0, 0, 0, 0, 0, 0, 0, 0, 123, 123, 0, 0, 0, 123, 123, 0, | |
0, 0, 0, 0, 0, 91, 0, 0, 91, -33, 91, 0, 0, 91, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 123, 0, 0, 0, 123, 0, 0, | |
0, 0, 0, 0, 0, 0, 0, 0, -65, 91, -65, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, | |
0, 0, 0, 0, 0, 0, 0, 91, 91, 0, 91, 91, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, | |
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, | |
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 59, 59, 0, 0, 0, | |
0, 0, 0, 0, 0, 59, 59, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 59, 0, 0, 59, 0, 0, | |
0, 0, 0, 0, 59, 0, 0, 59, 0, 0, 0, 0, 0, 0, 0, 0, 123, 0, 0, 0, 123, 0, 0, 0, 0, 0, 59, 0, 0, 59, 0, 0, | |
0, 0, 0, 0, 59, 0, 0, 59, 0, 0, 0, 0, 0, 0, 0, 123, 123, 0, 0, 0, 123, 123, 0, 0, 0, 0, 0, 59, 59, 0, 0, 0, | |
0, 0, 0, 0, 0, 59, 59, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 123, 0, 123, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, | |
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 123, 0, 0, 0, 123, 0, 0, 0, 123, 0, 0, 0, 0, 0, 0, 0, 0, 0, | |
0, 0, 0, 0, 0, 0, 0, 0, 0, 23, 0, 23, 0, 0, 0, 123, 123, 123, 0, 123, 123, 123, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, | |
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 23, 0, 0, 0, 123, 0, 0, 0, 123, 0, 0, 0, 123, 0, 0, 0, 0, 0, 0, 0, 0, 0, | |
0, 0, 0, 0, 0, 0, 0, 0, 0, 23, 0, 23, 0, 0, 0, 0, 0, 123, 0, 123, 0, 0, 0, 0, 0, 23, 0, 23, 0, 0, 0, 0, | |
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 123, 123, 0, 0, 0, 123, 123, 0, 0, 0, 0, 23, 0, 0, 0, 0, 0, | |
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 123, 0, 0, 0, 123, 0, 0, 0, 0, 23, 0, 23, 0, 0, 0, 0 }; | |
struct pattern message6 = {32, 69,message6Data}; | |
PROGMEM prog_uchar bytesA[] ={ | |
B00000000, B00000000, B00000000, B00000000, | |
B00011111, B11111111, B11100000, B00000000, | |
B00011111, B11111111, B11110000, B00000000, | |
B00011111, B11111111, B11110000, B00000000, | |
B00000000, B01110000, B01111100, B00000000, | |
B00000000, B01110000, B00011110, B00000000, | |
B00000000, B01110000, B00011111, B00000000, | |
B00000000, B01110000, B00001111, B10000000, | |
B00000000, B01110000, B00001111, B10000000, | |
B00000000, B01110000, B00001111, B10000000, | |
B00000000, B01110000, B00011111, B00000000, | |
B00000000, B01110000, B00011100, B00000000, | |
B00000000, B01110000, B01111100, B00000000, | |
B00011111, B11111111, B11110000, B00000000, | |
B00011111, B11111111, B11110000, B00000000, | |
B00011111, B11111111, B11100000, B00000000, | |
B00000000, B00000000, B00000000, B00000000, | |
B00000000, B00000000, B00000000, B00000000, | |
B00000000, B00000000, B00000000, B00000000, | |
}; | |
struct pattern messageA = {4, 19, bytesA}; | |
PROGMEM prog_uchar bytesB[] ={ | |
B00000000, B00000000, B00000000, B00000000, | |
B00011111, B11111111, B11111111, B10000000, | |
B00011111, B11111111, B11111111, B10000000, | |
B00011111, B11111111, B11111111, B10000000, | |
B00011100, B00000111, B00000011, B10000000, | |
B00011100, B00000111, B00000011, B10000000, | |
B00011100, B00000111, B00000011, B10000000, | |
B00011100, B00000111, B00000011, B10000000, | |
B00011100, B00000111, B00000011, B10000000, | |
B00011100, B00000111, B00000011, B10000000, | |
B00011100, B00000111, B00000011, B10000000, | |
B00011100, B00000111, B00000011, B10000000, | |
B00011111, B00011111, B10000111, B10000000, | |
B00000111, B11111111, B11111111, B00000000, | |
B00000111, B11111111, B11111111, B00000000, | |
B00000011, B11110000, B11111100, B00000000, | |
B00000000, B00000000, B00000000, B00000000, | |
B00000000, B00000000, B00000000, B00000000, | |
B00000000, B00000000, B00000000, B00000000, | |
}; | |
struct pattern messageB = {4, 19, bytesB}; | |
PROGMEM prog_uchar bytesC[] ={ | |
B00000000, B00000000, B00000000, B00000000, | |
B00000011, B11111111, B11111100, B00000000, | |
B00000111, B11111111, B11111111, B00000000, | |
B00000111, B11111111, B11111111, B00000000, | |
B00011111, B00000000, B00000111, B10000000, | |
B00011100, B00000000, B00000011, B10000000, | |
B00011100, B00000000, B00000011, B10000000, | |
B00011100, B00000000, B00000011, B10000000, | |
B00011100, B00000000, B00000011, B10000000, | |
B00011100, B00000000, B00000011, B10000000, | |
B00011100, B00000000, B00000011, B10000000, | |
B00011100, B00000000, B00000011, B10000000, | |
B00011111, B00000000, B00001111, B10000000, | |
B00000111, B10000000, B00011111, B00000000, | |
B00000111, B10000000, B00011111, B00000000, | |
B00000011, B10000000, B00011100, B00000000, | |
B00000000, B00000000, B00000000, B00000000, | |
B00000000, B00000000, B00000000, B00000000, | |
B00000000, B00000000, B00000000, B00000000, | |
}; | |
struct pattern messageC = {4, 19, bytesC}; | |
PROGMEM prog_uchar bytesD[] ={ | |
B00000000, B00000000, B00000000, B00000000, | |
B00011111, B11111111, B11111111, B10000000, | |
B00011111, B11111111, B11111111, B10000000, | |
B00011111, B11111111, B11111111, B10000000, | |
B00011100, B00000000, B00000011, B10000000, | |
B00011100, B00000000, B00000011, B10000000, | |
B00011100, B00000000, B00000011, B10000000, | |
B00011100, B00000000, B00000011, B10000000, | |
B00011100, B00000000, B00000011, B10000000, | |
B00011100, B00000000, B00000011, B10000000, | |
B00011100, B00000000, B00000011, B10000000, | |
B00011110, B00000000, B00000011, B10000000, | |
B00011111, B00000000, B00000111, B10000000, | |
B00000111, B11111111, B11111111, B00000000, | |
B00000111, B11111111, B11111111, B00000000, | |
B00000011, B11111111, B11111100, B00000000, | |
B00000000, B00000000, B00000000, B00000000, | |
B00000000, B00000000, B00000000, B00000000, | |
B00000000, B00000000, B00000000, B00000000, | |
}; | |
struct pattern messageD = {4, 19, bytesD}; | |
PROGMEM prog_uchar bytesE[] ={ | |
B00000000, B00000000, B00000000, B00000000, | |
B00011111, B11111111, B11111111, B10000000, | |
B00011111, B11111111, B11111111, B10000000, | |
B00011111, B11111111, B11111111, B10000000, | |
B00011100, B00000111, B00000011, B10000000, | |
B00011100, B00000111, B00000011, B10000000, | |
B00011100, B00000111, B00000011, B10000000, | |
B00011100, B00000111, B00000011, B10000000, | |
B00011100, B00000111, B00000011, B10000000, | |
B00011100, B00000111, B00000011, B10000000, | |
B00011100, B00000111, B00000011, B10000000, | |
B00011100, B00000111, B00000011, B10000000, | |
B00011100, B00000111, B00000011, B10000000, | |
B00011100, B00000000, B00000011, B10000000, | |
B00011100, B00000000, B00000011, B10000000, | |
B00011100, B00000000, B00000011, B10000000, | |
B00000000, B00000000, B00000000, B00000000, | |
B00000000, B00000000, B00000000, B00000000, | |
B00000000, B00000000, B00000000, B00000000, | |
}; | |
struct pattern messageE = {4, 19, bytesE}; | |
PROGMEM prog_uchar bytesF[] ={ | |
B00000000, B00000000, B00000000, B00000000, | |
B00011111, B11111111, B11111111, B10000000, | |
B00011111, B11111111, B11111111, B10000000, | |
B00011111, B11111111, B11111111, B10000000, | |
B00000000, B00000111, B00000011, B10000000, | |
B00000000, B00000111, B00000011, B10000000, | |
B00000000, B00000111, B00000011, B10000000, | |
B00000000, B00000111, B00000011, B10000000, | |
B00000000, B00000111, B00000011, B10000000, | |
B00000000, B00000111, B00000011, B10000000, | |
B00000000, B00000111, B00000011, B10000000, | |
B00000000, B00000111, B00000011, B10000000, | |
B00000000, B00000111, B00000011, B10000000, | |
B00000000, B00000000, B00000011, B10000000, | |
B00000000, B00000000, B00000011, B10000000, | |
B00000000, B00000000, B00000011, B10000000, | |
B00000000, B00000000, B00000000, B00000000, | |
B00000000, B00000000, B00000000, B00000000, | |
B00000000, B00000000, B00000000, B00000000, | |
}; | |
struct pattern messageF = {4, 19, bytesF}; | |
PROGMEM prog_uchar bytesG[] ={ | |
B00000000, B00000000, B00000000, B00000000, | |
B00000011, B11111111, B11111100, B00000000, | |
B00000111, B11111111, B11111111, B00000000, | |
B00000111, B11111111, B11111111, B00000000, | |
B00011111, B00000000, B00000111, B10000000, | |
B00011100, B00000000, B00000011, B10000000, | |
B00011100, B00000000, B00000011, B10000000, | |
B00011100, B00000000, B00000011, B10000000, | |
B00011100, B00000111, B00000011, B10000000, | |
B00011100, B00000111, B00000011, B10000000, | |
B00011100, B00000111, B00000011, B10000000, | |
B00011110, B00000111, B00000011, B10000000, | |
B00011111, B00000111, B00000111, B10000000, | |
B00000111, B11111111, B00011111, B00000000, | |
B00000011, B11111111, B00011111, B00000000, | |
B00000011, B11111111, B00011100, B00000000, | |
B00000000, B00000000, B00000000, B00000000, | |
B00000000, B00000000, B00000000, B00000000, | |
B00000000, B00000000, B00000000, B00000000, | |
}; | |
struct pattern messageG = {4, 19, bytesG}; | |
PROGMEM prog_uchar bytesH[] ={ | |
B00000000, B00000000, B00000000, B00000000, | |
B00011111, B11111111, B11111111, B10000000, | |
B00011111, B11111111, B11111111, B10000000, | |
B00011111, B11111111, B11111111, B10000000, | |
B00000000, B00000111, B00000000, B00000000, | |
B00000000, B00000111, B00000000, B00000000, | |
B00000000, B00000111, B00000000, B00000000, | |
B00000000, B00000111, B00000000, B00000000, | |
B00000000, B00000111, B00000000, B00000000, | |
B00000000, B00000111, B00000000, B00000000, | |
B00000000, B00000111, B00000000, B00000000, | |
B00000000, B00000111, B00000000, B00000000, | |
B00000000, B00000111, B00000000, B00000000, | |
B00011111, B11111111, B11111111, B10000000, | |
B00011111, B11111111, B11111111, B10000000, | |
B00011111, B11111111, B11111111, B10000000, | |
B00000000, B00000000, B00000000, B00000000, | |
B00000000, B00000000, B00000000, B00000000, | |
B00000000, B00000000, B00000000, B00000000, | |
}; | |
struct pattern messageH = {4, 19, bytesH}; | |
PROGMEM prog_uchar bytesI[] ={ | |
B00000000, B00000000, B00000000, B00000000, | |
B00011100, B00000000, B00000011, B10000000, | |
B00011100, B00000000, B00000011, B10000000, | |
B00011100, B00000000, B00000011, B10000000, | |
B00011111, B11111111, B11111111, B10000000, | |
B00011111, B11111111, B11111111, B10000000, | |
B00011111, B11111111, B11111111, B10000000, | |
B00011100, B00000000, B00000011, B10000000, | |
B00011100, B00000000, B00000011, B10000000, | |
B00011100, B00000000, B00000011, B10000000, | |
B00000000, B00000000, B00000000, B00000000, | |
B00000000, B00000000, B00000000, B00000000, | |
B00000000, B00000000, B00000000, B00000000, | |
B00000000, B00000000, B00000000, B00000000, | |
B00000000, B00000000, B00000000, B00000000, | |
B00000000, B00000000, B00000000, B00000000, | |
}; | |
struct pattern messageI = {4, 16, bytesI}; | |
PROGMEM prog_uchar bytesJ[] ={ | |
B00000000, B00000000, B00000000, B00000000, | |
B00000011, B10000000, B00000000, B00000000, | |
B00000111, B10000000, B00000000, B00000000, | |
B00000111, B10000000, B00000000, B00000000, | |
B00011111, B00000000, B00000000, B00000000, | |
B00011100, B00000000, B00000000, B00000000, | |
B00011100, B00000000, B00000000, B00000000, | |
B00011100, B00000000, B00000011, B10000000, | |
B00011110, B00000000, B00000011, B10000000, | |
B00011111, B00000000, B00000011, B10000000, | |
B00000111, B11111111, B11111111, B10000000, | |
B00000011, B11111111, B11111111, B10000000, | |
B00000011, B11111111, B11111111, B10000000, | |
B00000000, B00000000, B00000011, B10000000, | |
B00000000, B00000000, B00000011, B10000000, | |
B00000000, B00000000, B00000011, B10000000, | |
B00000000, B00000000, B00000000, B00000000, | |
B00000000, B00000000, B00000000, B00000000, | |
B00000000, B00000000, B00000000, B00000000, | |
}; | |
struct pattern messageJ = {4, 19, bytesJ}; | |
PROGMEM prog_uchar bytesK[] ={ | |
B00000000, B00000000, B00000000, B00000000, | |
B00011111, B11111111, B11111111, B10000000, | |
B00011111, B11111111, B11111111, B10000000, | |
B00011111, B11111111, B11111111, B10000000, | |
B00000000, B00000111, B00000000, B00000000, | |
B00000000, B00011111, B10000000, B00000000, | |
B00000000, B00011111, B10000000, B00000000, | |
B00000000, B00111111, B11100000, B00000000, | |
B00000000, B11111001, B11110000, B00000000, | |
B00000000, B11111001, B11110000, B00000000, | |
B00000011, B11100000, B01111100, B00000000, | |
B00000011, B10000000, B00011100, B00000000, | |
B00001111, B10000000, B00011111, B00000000, | |
B00011111, B00000000, B00001111, B10000000, | |
B00011110, B00000000, B00001111, B10000000, | |
B00011100, B00000000, B00000011, B10000000, | |
B00000000, B00000000, B00000000, B00000000, | |
B00000000, B00000000, B00000000, B00000000, | |
B00000000, B00000000, B00000000, B00000000, | |
}; | |
struct pattern messageK = {4, 19, bytesK}; | |
PROGMEM prog_uchar bytesL[] ={ | |
B00000000, B00000000, B00000000, B00000000, | |
B00011111, B11111111, B11111111, B10000000, | |
B00011111, B11111111, B11111111, B10000000, | |
B00011111, B11111111, B11111111, B10000000, | |
B00011100, B00000000, B00000000, B00000000, | |
B00011100, B00000000, B00000000, B00000000, | |
B00011100, B00000000, B00000000, B00000000, | |
B00011100, B00000000, B00000000, B00000000, | |
B00011100, B00000000, B00000000, B00000000, | |
B00011100, B00000000, B00000000, B00000000, | |
B00011100, B00000000, B00000000, B00000000, | |
B00011100, B00000000, B00000000, B00000000, | |
B00011100, B00000000, B00000000, B00000000, | |
B00011100, B00000000, B00000000, B00000000, | |
B00011100, B00000000, B00000000, B00000000, | |
B00011100, B00000000, B00000000, B00000000, | |
B00000000, B00000000, B00000000, B00000000, | |
B00000000, B00000000, B00000000, B00000000, | |
B00000000, B00000000, B00000000, B00000000, | |
}; | |
struct pattern messageL = {4, 19, bytesL}; | |
PROGMEM prog_uchar bytesM[] ={ | |
B00000000, B00000000, B00000000, B00000000, | |
B00011111, B11111111, B11111111, B10000000, | |
B00011111, B11111111, B11111111, B10000000, | |
B00011111, B11111111, B11111111, B10000000, | |
B00000000, B00000000, B01111100, B00000000, | |
B00000000, B00000000, B11110000, B00000000, | |
B00000000, B00000001, B11110000, B00000000, | |
B00000000, B00000111, B11100000, B00000000, | |
B00000000, B00000111, B11100000, B00000000, | |
B00000000, B00000111, B11100000, B00000000, | |
B00000000, B00000001, B11110000, B00000000, | |
B00000000, B00000000, B01110000, B00000000, | |
B00000000, B00000000, B01111100, B00000000, | |
B00011111, B11111111, B11111111, B10000000, | |
B00011111, B11111111, B11111111, B10000000, | |
B00011111, B11111111, B11111111, B10000000, | |
B00000000, B00000000, B00000000, B00000000, | |
B00000000, B00000000, B00000000, B00000000, | |
B00000000, B00000000, B00000000, B00000000, | |
}; | |
struct pattern messageM = {4, 19, bytesM}; | |
PROGMEM prog_uchar bytesN[] ={ | |
B00000000, B00000000, B00000000, B00000000, | |
B00011111, B11111111, B11111111, B10000000, | |
B00011111, B11111111, B11111111, B10000000, | |
B00011111, B11111111, B11111111, B10000000, | |
B00000000, B00000001, B11110000, B00000000, | |
B00000000, B00000011, B11100000, B00000000, | |
B00000000, B00000011, B11100000, B00000000, | |
B00000000, B00000111, B10000000, B00000000, | |
B00000000, B00011111, B00000000, B00000000, | |
B00000000, B00011111, B00000000, B00000000, | |
B00000000, B01111100, B00000000, B00000000, | |
B00000000, B01111000, B00000000, B00000000, | |
B00000000, B11111000, B00000000, B00000000, | |
B00011111, B11111111, B11111111, B10000000, | |
B00011111, B11111111, B11111111, B10000000, | |
B00011111, B11111111, B11111111, B10000000, | |
B00000000, B00000000, B00000000, B00000000, | |
B00000000, B00000000, B00000000, B00000000, | |
B00000000, B00000000, B00000000, B00000000, | |
}; | |
struct pattern messageN = {4, 19, bytesN}; | |
PROGMEM prog_uchar bytesO[] ={ | |
B00000000, B00000000, B00000000, B00000000, | |
B00000011, B11111111, B11111100, B00000000, | |
B00000111, B11111111, B11111111, B00000000, | |
B00000111, B11111111, B11111111, B00000000, | |
B00011111, B00000000, B00000111, B10000000, | |
B00011100, B00000000, B00000011, B10000000, | |
B00011100, B00000000, B00000011, B10000000, | |
B00011100, B00000000, B00000011, B10000000, | |
B00011100, B00000000, B00000011, B10000000, | |
B00011100, B00000000, B00000011, B10000000, | |
B00011100, B00000000, B00000011, B10000000, | |
B00011110, B00000000, B00000011, B10000000, | |
B00011111, B00000000, B00000111, B10000000, | |
B00000111, B11111111, B11111111, B00000000, | |
B00000111, B11111111, B11111111, B00000000, | |
B00000011, B11111111, B11111100, B00000000, | |
B00000000, B00000000, B00000000, B00000000, | |
B00000000, B00000000, B00000000, B00000000, | |
B00000000, B00000000, B00000000, B00000000, | |
}; | |
struct pattern messageO = {4, 19, bytesO}; | |
PROGMEM prog_uchar bytesP[] ={ | |
B00000000, B00000000, B00000000, B00000000, | |
B00011111, B11111111, B11111111, B10000000, | |
B00011111, B11111111, B11111111, B10000000, | |
B00011111, B11111111, B11111111, B10000000, | |
B00000000, B00000111, B00000011, B10000000, | |
B00000000, B00000111, B00000011, B10000000, | |
B00000000, B00000111, B00000011, B10000000, | |
B00000000, B00000111, B00000011, B10000000, | |
B00000000, B00000111, B00000011, B10000000, | |
B00000000, B00000111, B00000011, B10000000, | |
B00000000, B00000111, B00000011, B10000000, | |
B00000000, B00000111, B00000011, B10000000, | |
B00000000, B00000111, B10000111, B10000000, | |
B00000000, B00000011, B11111110, B00000000, | |
B00000000, B00000011, B11111110, B00000000, | |
B00000000, B00000000, B11111100, B00000000, | |
B00000000, B00000000, B00000000, B00000000, | |
B00000000, B00000000, B00000000, B00000000, | |
B00000000, B00000000, B00000000, B00000000, | |
}; | |
struct pattern messageP = {4, 19, bytesP}; | |
PROGMEM prog_uchar bytesQ[] ={ | |
B00000000, B00000000, B00000000, B00000000, | |
B00000011, B11111111, B11111100, B00000000, | |
B00001111, B11111111, B11111110, B00000000, | |
B00001111, B11111111, B11111110, B00000000, | |
B00011111, B00000000, B00001111, B10000000, | |
B00011100, B00000000, B00000011, B10000000, | |
B00011100, B00000000, B00000011, B10000000, | |
B00011100, B01110000, B00000011, B10000000, | |
B00011100, B11110000, B00000011, B10000000, | |
B00011100, B11110000, B00000011, B10000000, | |
B00001111, B11000000, B00000011, B10000000, | |
B00001111, B10000000, B00000011, B10000000, | |
B00001111, B10000000, B00001111, B10000000, | |
B00011111, B11111111, B11111110, B00000000, | |
B00011111, B11111111, B11111110, B00000000, | |
B00011100, B11111111, B11111100, B00000000, | |
B00000000, B00000000, B00000000, B00000000, | |
B00000000, B00000000, B00000000, B00000000, | |
B00000000, B00000000, B00000000, B00000000, | |
}; | |
struct pattern messageQ = {4, 19, bytesQ}; | |
PROGMEM prog_uchar bytesR[] ={ | |
B00000000, B00000000, B00000000, B00000000, | |
B00011111, B11111111, B11111111, B10000000, | |
B00011111, B11111111, B11111111, B10000000, | |
B00011111, B11111111, B11111111, B10000000, | |
B00000000, B00000111, B00000011, B10000000, | |
B00000000, B00011111, B00000011, B10000000, | |
B00000000, B00011111, B00000011, B10000000, | |
B00000000, B01111111, B00000011, B10000000, | |
B00000000, B11111111, B00000011, B10000000, | |
B00000000, B11111111, B00000011, B10000000, | |
B00000011, B11100111, B00000011, B10000000, | |
B00000011, B10000111, B00000011, B10000000, | |
B00001111, B10000111, B10000111, B10000000, | |
B00011111, B00000011, B11111110, B00000000, | |
B00011110, B00000011, B11111110, B00000000, | |
B00011100, B00000000, B11111100, B00000000, | |
B00000000, B00000000, B00000000, B00000000, | |
B00000000, B00000000, B00000000, B00000000, | |
B00000000, B00000000, B00000000, B00000000, | |
}; | |
struct pattern messageR = {4, 19, bytesR}; | |
PROGMEM prog_uchar bytesS[] ={ | |
B00000000, B00000000, B00000000, B00000000, | |
B00000011, B10000000, B11111100, B00000000, | |
B00000111, B10000011, B11111110, B00000000, | |
B00001111, B10000011, B11111111, B00000000, | |
B00011111, B00000111, B10000111, B10000000, | |
B00011100, B00000111, B00000011, B10000000, | |
B00011100, B00000111, B00000011, B10000000, | |
B00011100, B00000111, B00000011, B10000000, | |
B00011100, B00000111, B00000011, B10000000, | |
B00011100, B00000111, B00000011, B10000000, | |
B00011100, B00000111, B00000011, B10000000, | |
B00011110, B00000111, B00000011, B10000000, | |
B00011111, B00011111, B00000111, B10000000, | |
B00000111, B11111100, B00011110, B00000000, | |
B00000011, B11111000, B00011110, B00000000, | |
B00000011, B11110000, B00011100, B00000000, | |
B00000000, B00000000, B00000000, B00000000, | |
B00000000, B00000000, B00000000, B00000000, | |
B00000000, B00000000, B00000000, B00000000, | |
}; | |
struct pattern messageS = {4, 19, bytesS}; | |
PROGMEM prog_uchar bytesT[] ={ | |
B00000000, B00000000, B00000000, B00000000, | |
B00000000, B00000000, B00000011, B10000000, | |
B00000000, B00000000, B00000011, B10000000, | |
B00000000, B00000000, B00000011, B10000000, | |
B00000000, B00000000, B00000011, B10000000, | |
B00000000, B00000000, B00000011, B10000000, | |
B00000000, B00000000, B00000011, B10000000, | |
B00011111, B11111111, B11111111, B10000000, | |
B00011111, B11111111, B11111111, B10000000, | |
B00011111, B11111111, B11111111, B10000000, | |
B00000000, B00000000, B00000011, B10000000, | |
B00000000, B00000000, B00000011, B10000000, | |
B00000000, B00000000, B00000011, B10000000, | |
B00000000, B00000000, B00000011, B10000000, | |
B00000000, B00000000, B00000011, B10000000, | |
B00000000, B00000000, B00000011, B10000000, | |
B00000000, B00000000, B00000000, B00000000, | |
B00000000, B00000000, B00000000, B00000000, | |
B00000000, B00000000, B00000000, B00000000, | |
}; | |
struct pattern messageT = {4, 19, bytesT}; | |
PROGMEM prog_uchar bytesU[] ={ | |
B00000000, B00000000, B00000000, B00000000, | |
B00000011, B11111111, B11111111, B10000000, | |
B00000111, B11111111, B11111111, B10000000, | |
B00000111, B11111111, B11111111, B10000000, | |
B00011110, B00000000, B00000000, B00000000, | |
B00011100, B00000000, B00000000, B00000000, | |
B00011100, B00000000, B00000000, B00000000, | |
B00011100, B00000000, B00000000, B00000000, | |
B00011100, B00000000, B00000000, B00000000, | |
B00011100, B00000000, B00000000, B00000000, | |
B00011100, B00000000, B00000000, B00000000, | |
B00011100, B00000000, B00000000, B00000000, | |
B00011110, B00000000, B00000000, B00000000, | |
B00000111, B11111111, B11111111, B10000000, | |
B00000111, B11111111, B11111111, B10000000, | |
B00000011, B11111111, B11111111, B10000000, | |
B00000000, B00000000, B00000000, B00000000, | |
B00000000, B00000000, B00000000, B00000000, | |
B00000000, B00000000, B00000000, B00000000, | |
}; | |
struct pattern messageU = {4, 19, bytesU}; | |
PROGMEM prog_uchar bytesV[] ={ | |
B00000000, B00000000, B00000000, B00000000, | |
B00000000, B01111111, B11111111, B10000000, | |
B00000000, B11111111, B11111111, B10000000, | |
B00000000, B11111111, B11111111, B10000000, | |
B00000011, B11100000, B00000000, B00000000, | |
B00000111, B10000000, B00000000, B00000000, | |
B00001111, B10000000, B00000000, B00000000, | |
B00011111, B00000000, B00000000, B00000000, | |
B00011111, B00000000, B00000000, B00000000, | |
B00011111, B00000000, B00000000, B00000000, | |
B00001111, B10000000, B00000000, B00000000, | |
B00000011, B10000000, B00000000, B00000000, | |
B00000011, B11100000, B00000000, B00000000, | |
B00000000, B11111111, B11111111, B10000000, | |
B00000000, B11111111, B11111111, B10000000, | |
B00000000, B01111111, B11111111, B10000000, | |
B00000000, B00000000, B00000000, B00000000, | |
B00000000, B00000000, B00000000, B00000000, | |
B00000000, B00000000, B00000000, B00000000, | |
}; | |
struct pattern messageV = {4, 19, bytesV}; | |
PROGMEM prog_uchar bytesW[] ={ | |
B00000000, B00000000, B00000000, B00000000, | |
B00000011, B11111111, B11111111, B10000000, | |
B00000111, B11111111, B11111111, B10000000, | |
B00000111, B11111111, B11111111, B10000000, | |
B00011111, B00000000, B00000000, B00000000, | |
B00011111, B00000000, B00000000, B00000000, | |
B00011111, B00000000, B00000000, B00000000, | |
B00000111, B11111111, B00000000, B00000000, | |
B00000111, B11111111, B00000000, B00000000, | |
B00000111, B11111111, B00000000, B00000000, | |
B00011111, B00000000, B00000000, B00000000, | |
B00011111, B00000000, B00000000, B00000000, | |
B00011111, B00000000, B00000000, B00000000, | |
B00000111, B11111111, B11111111, B10000000, | |
B00000111, B11111111, B11111111, B10000000, | |
B00000011, B11111111, B11111111, B10000000, | |
B00000000, B00000000, B00000000, B00000000, | |
B00000000, B00000000, B00000000, B00000000, | |
B00000000, B00000000, B00000000, B00000000, | |
}; | |
struct pattern messageW = {4, 19, bytesW}; | |
PROGMEM prog_uchar bytesX[] ={ | |
B00000000, B00000000, B00000000, B00000000, | |
B00011111, B10000000, B00011111, B10000000, | |
B00011111, B11100000, B00111111, B10000000, | |
B00011111, B11100000, B01111111, B10000000, | |
B00000000, B11111001, B11110000, B00000000, | |
B00000000, B01111111, B11100000, B00000000, | |
B00000000, B00111111, B11100000, B00000000, | |
B00000000, B00011111, B10000000, B00000000, | |
B00000000, B00011111, B10000000, B00000000, | |
B00000000, B00011111, B10000000, B00000000, | |
B00000000, B00111111, B11100000, B00000000, | |
B00000000, B01111001, B11100000, B00000000, | |
B00000000, B11111001, B11110000, B00000000, | |
B00011111, B11100000, B01111111, B10000000, | |
B00011111, B11100000, B00111111, B10000000, | |
B00011111, B10000000, B00011111, B10000000, | |
B00000000, B00000000, B00000000, B00000000, | |
B00000000, B00000000, B00000000, B00000000, | |
B00000000, B00000000, B00000000, B00000000, | |
}; | |
struct pattern messageX = {4, 19, bytesX}; | |
PROGMEM prog_uchar bytesY[] ={ | |
B00000000, B00000000, B00000000, B00000000, | |
B00000000, B00000000, B11111111, B10000000, | |
B00000000, B00000011, B11111111, B10000000, | |
B00000000, B00000011, B11111111, B10000000, | |
B00000000, B00001111, B10000000, B00000000, | |
B00000000, B00011111, B00000000, B00000000, | |
B00000000, B00011110, B00000000, B00000000, | |
B00011111, B11111100, B00000000, B00000000, | |
B00011111, B11111100, B00000000, B00000000, | |
B00011111, B11111100, B00000000, B00000000, | |
B00000000, B00011111, B00000000, B00000000, | |
B00000000, B00001111, B00000000, B00000000, | |
B00000000, B00001111, B10000000, B00000000, | |
B00000000, B00000011, B11111111, B10000000, | |
B00000000, B00000001, B11111111, B10000000, | |
B00000000, B00000000, B11111111, B10000000, | |
B00000000, B00000000, B00000000, B00000000, | |
B00000000, B00000000, B00000000, B00000000, | |
B00000000, B00000000, B00000000, B00000000, | |
}; | |
struct pattern messageY = {4, 19, bytesY}; | |
PROGMEM prog_uchar bytesZ[] ={ | |
B00000000, B00000000, B00000000, B00000000, | |
B00011111, B10000000, B00000011, B10000000, | |
B00011111, B11100000, B00000011, B10000000, | |
B00011111, B11100000, B00000011, B10000000, | |
B00011100, B11111000, B00000011, B10000000, | |
B00011100, B01111100, B00000011, B10000000, | |
B00011100, B00111100, B00000011, B10000000, | |
B00011100, B00011111, B00000011, B10000000, | |
B00011100, B00000111, B10000011, B10000000, | |
B00011100, B00000111, B10000011, B10000000, | |
B00011100, B00000011, B11100011, B10000000, | |
B00011100, B00000001, B11100011, B10000000, | |
B00011100, B00000001, B11110011, B10000000, | |
B00011100, B00000000, B01111111, B10000000, | |
B00011100, B00000000, B01111111, B10000000, | |
B00011100, B00000000, B00011111, B10000000, | |
B00000000, B00000000, B00000000, B00000000, | |
B00000000, B00000000, B00000000, B00000000, | |
B00000000, B00000000, B00000000, B00000000, | |
}; | |
struct pattern messageZ = {4, 19, bytesZ}; | |
PROGMEM prog_uchar bytesa[] ={ | |
B00000000, B00000000, B00000000, B00000000, | |
B00000000, B00000000, B00000000, B00000000, | |
B00000000, B00000000, B00000000, B00000000, | |
B00000011, B11111100, B00000000, B00000000, | |
B00001111, B11111111, B00011111, B11000000, | |
B00011110, B00000011, B11111000, B11100000, | |
B00011100, B00000000, B11100000, B00110000, | |
B00011000, B00000001, B11000000, B00110000, | |
B00011000, B00000011, B11000000, B00110000, | |
B00011000, B00001110, B00110000, B01110000, | |
B00001100, B00111100, B00011111, B11100000, | |
B00000110, B01110000, B00000111, B10000000, | |
B00000011, B11100000, B00000000, B00000000, | |
B00000011, B11111111, B11000000, B00000000, | |
B00001111, B00001111, B11000000, B00000000, | |
B00011100, B00000000, B00000000, B00000000, | |
B00011000, B00000000, B00000000, B00000000, | |
B00000000, B00000000, B00000000, B00000000, | |
B00000000, B00000000, B00000000, B00000000, | |
}; | |
struct pattern messagea = {4, 19, bytesa}; | |
PROGMEM prog_uchar bytesNum1[] ={ | |
B00000000, B00000000, B00000000, B00000000, | |
B00011100, B00000000, B00011100, B00000000, | |
B00011100, B00000000, B00011110, B00000000, | |
B00011100, B00000000, B00011110, B00000000, | |
B00011111, B11111111, B11111111, B10000000, | |
B00011111, B11111111, B11111111, B10000000, | |
B00011111, B11111111, B11111111, B10000000, | |
B00011100, B00000000, B00000000, B00000000, | |
B00011100, B00000000, B00000000, B00000000, | |
B00011100, B00000000, B00000000, B00000000, | |
B00000000, B00000000, B00000000, B00000000, | |
B00000000, B00000000, B00000000, B00000000, | |
B00000000, B00000000, B00000000, B00000000, | |
B00000000, B00000000, B00000000, B00000000, | |
B00000000, B00000000, B00000000, B00000000, | |
B00000000, B00000000, B00000000, B00000000, | |
}; | |
struct pattern messageNum1 = {4, 16, bytesNum1}; | |
PROGMEM prog_uchar bytesNum2[] ={ | |
B00000000, B00000000, B00000000, B00000000, | |
B00011111, B11111000, B00011100, B00000000, | |
B00011111, B11111100, B00011110, B00000000, | |
B00011111, B11111100, B00011111, B00000000, | |
B00011100, B00011111, B00000111, B10000000, | |
B00011100, B00000111, B00000011, B10000000, | |
B00011100, B00000111, B00000011, B10000000, | |
B00011100, B00000111, B00000011, B10000000, | |
B00011100, B00000111, B00000011, B10000000, | |
B00011100, B00000111, B00000011, B10000000, | |
B00011100, B00000111, B00000011, B10000000, | |
B00011100, B00000111, B00000011, B10000000, | |
B00011100, B00000111, B10000111, B10000000, | |
B00011100, B00000011, B11111110, B00000000, | |
B00011100, B00000011, B11111110, B00000000, | |
B00011100, B00000000, B11111100, B00000000, | |
B00000000, B00000000, B00000000, B00000000, | |
B00000000, B00000000, B00000000, B00000000, | |
B00000000, B00000000, B00000000, B00000000, | |
}; | |
struct pattern messageNum2 = {4, 19, bytesNum2}; | |
PROGMEM prog_uchar bytesNum3[] ={ | |
B00000000, B00000000, B00000000, B00000000, | |
B00000011, B10000000, B00011100, B00000000, | |
B00000111, B10000000, B00011111, B00000000, | |
B00000111, B10000000, B00011111, B00000000, | |
B00011111, B00000000, B00000111, B10000000, | |
B00011100, B00000000, B00000011, B10000000, | |
B00011100, B00000000, B00000011, B10000000, | |
B00011100, B00000111, B00000011, B10000000, | |
B00011100, B00000111, B00000011, B10000000, | |
B00011100, B00000111, B00000011, B10000000, | |
B00011100, B00000111, B00000011, B10000000, | |
B00011100, B00000111, B00000011, B10000000, | |
B00011111, B00011111, B10000111, B10000000, | |
B00000111, B11111111, B11111111, B00000000, | |
B00000111, B11111101, B11111111, B00000000, | |
B00000011, B11110000, B11111100, B00000000, | |
B00000000, B00000000, B00000000, B00000000, | |
B00000000, B00000000, B00000000, B00000000, | |
B00000000, B00000000, B00000000, B00000000, | |
}; | |
struct pattern messageNum3 = {4, 19, bytesNum3}; | |
PROGMEM prog_uchar bytesNum4[] ={ | |
B00000000, B00000000, B00000000, B00000000, | |
B00000000, B01111110, B00000000, B00000000, | |
B00000000, B01111111, B10000000, B00000000, | |
B00000000, B01111111, B10000000, B00000000, | |
B00000000, B01110011, B11100000, B00000000, | |
B00000000, B01110001, B11110000, B00000000, | |
B00000000, B01110000, B11110000, B00000000, | |
B00000000, B01110000, B01111100, B00000000, | |
B00000000, B01110000, B00011110, B00000000, | |
B00000000, B01110000, B00011111, B00000000, | |
B00011111, B11111111, B11111111, B10000000, | |
B00011111, B11111111, B11111111, B10000000, | |
B00011111, B11111111, B11111111, B10000000, | |
B00000000, B01110000, B00000000, B00000000, | |
B00000000, B01110000, B00000000, B00000000, | |
B00000000, B01110000, B00000000, B00000000, | |
B00000000, B00000000, B00000000, B00000000, | |
B00000000, B00000000, B00000000, B00000000, | |
B00000000, B00000000, B00000000, B00000000, | |
}; | |
struct pattern messageNum4 = {4, 19, bytesNum4}; | |
PROGMEM prog_uchar bytesNum5[] ={ | |
B00000000, B00000000, B00000000, B00000000, | |
B00000011, B10000000, B11111111, B10000000, | |
B00000111, B10000000, B11111111, B10000000, | |
B00001111, B10000000, B11111111, B10000000, | |
B00011111, B00000000, B11100011, B10000000, | |
B00011100, B00000000, B11100011, B10000000, | |
B00011100, B00000000, B11100011, B10000000, | |
B00011100, B00000000, B11100011, B10000000, | |
B00011100, B00000000, B11100011, B10000000, | |
B00011100, B00000000, B11100011, B10000000, | |
B00011100, B00000000, B11100011, B10000000, | |
B00011100, B00000000, B11100011, B10000000, | |
B00011111, B00000011, B11100011, B10000000, | |
B00001111, B11111111, B10000011, B10000000, | |
B00000111, B11111111, B10000011, B10000000, | |
B00000011, B11111111, B00000011, B10000000, | |
B00000000, B00000000, B00000000, B00000000, | |
B00000000, B00000000, B00000000, B00000000, | |
B00000000, B00000000, B00000000, B00000000, | |
}; | |
struct pattern messageNum5 = {4, 19, bytesNum5}; | |
PROGMEM prog_uchar bytesNum6[] ={ | |
B00000000, B00000000, B00000000, B00000000, | |
B00000011, B11111111, B11111100, B00000000, | |
B00000111, B11111111, B11111110, B00000000, | |
B00001111, B11111111, B11111111, B00000000, | |
B00011111, B00000111, B00000111, B10000000, | |
B00011100, B00000111, B00000011, B10000000, | |
B00011100, B00000111, B00000011, B10000000, | |
B00011100, B00000111, B00000011, B10000000, | |
B00011100, B00000111, B00000011, B10000000, | |
B00011100, B00000111, B00000011, B10000000, | |
B00011100, B00000111, B00000011, B10000000, | |
B00011100, B00000111, B00000011, B10000000, | |
B00011111, B00011111, B00000111, B10000000, | |
B00000111, B11111100, B00011110, B00000000, | |
B00000011, B11111100, B00011110, B00000000, | |
B00000011, B11110000, B00011100, B00000000, | |
B00000000, B00000000, B00000000, B00000000, | |
B00000000, B00000000, B00000000, B00000000, | |
B00000000, B00000000, B00000000, B00000000, | |
}; | |
struct pattern messageNum6 = {4, 19, bytesNum6}; | |
PROGMEM prog_uchar bytesNum7[] ={ | |
B00000000, B00000000, B00000000, B00000000, | |
B00000000, B00000000, B00000011, B10000000, | |
B00000000, B00000000, B00000011, B10000000, | |
B00000000, B00000000, B00000011, B10000000, | |
B00000000, B00000000, B00000011, B10000000, | |
B00000000, B00000000, B00000011, B10000000, | |
B00000000, B00000000, B00000011, B10000000, | |
B00011111, B11111100, B00000011, B10000000, | |
B00011111, B11111110, B00000011, B10000000, | |
B00011111, B11111110, B00000011, B10000000, | |
B00000000, B00001111, B10000011, B10000000, | |
B00000000, B00000011, B10000011, B10000000, | |
B00000000, B00000011, B11100011, B10000000, | |
B00000000, B00000000, B11111111, B10000000, | |
B00000000, B00000000, B11111111, B10000000, | |
B00000000, B00000000, B01111111, B10000000, | |
B00000000, B00000000, B00000000, B00000000, | |
B00000000, B00000000, B00000000, B00000000, | |
B00000000, B00000000, B00000000, B00000000, | |
}; | |
struct pattern messageNum7 = {4, 19, bytesNum7}; | |
PROGMEM prog_uchar bytesNum8[] ={ | |
B00000000, B00000000, B00000000, B00000000, | |
B00000011, B11110000, B11111100, B00000000, | |
B00000111, B11111111, B11111111, B00000000, | |
B00000111, B11111111, B11111111, B00000000, | |
B00011111, B00011111, B10000111, B10000000, | |
B00011100, B00000111, B00000011, B10000000, | |
B00011100, B00000111, B00000011, B10000000, | |
B00011100, B00000111, B00000011, B10000000, | |
B00011100, B00000111, B00000011, B10000000, | |
B00011100, B00000111, B00000011, B10000000, | |
B00011100, B00000111, B00000011, B10000000, | |
B00011100, B00000111, B00000011, B10000000, | |
B00011111, B00011111, B10000111, B10000000, | |
B00000111, B11111111, B11111111, B00000000, | |
B00000111, B11111111, B11111111, B00000000, | |
B00000011, B11110000, B11111100, B00000000, | |
B00000000, B00000000, B00000000, B00000000, | |
B00000000, B00000000, B00000000, B00000000, | |
B00000000, B00000000, B00000000, B00000000, | |
}; | |
struct pattern messageNum8 = {4, 19, bytesNum8}; | |
PROGMEM prog_uchar bytesNum9[] ={ | |
B00000000, B00000000, B00000000, B00000000, | |
B00000011, B10000000, B11111100, B00000000, | |
B00000111, B10000001, B11111111, B00000000, | |
B00000111, B10000011, B11111111, B00000000, | |
B00011111, B00000111, B10000111, B10000000, | |
B00011100, B00000111, B00000011, B10000000, | |
B00011100, B00000111, B00000011, B10000000, | |
B00011100, B00000111, B00000011, B10000000, | |
B00011100, B00000111, B00000011, B10000000, | |
B00011100, B00000111, B00000011, B10000000, | |
B00011100, B00000111, B00000011, B10000000, | |
B00011100, B00000111, B00000111, B10000000, | |
B00011111, B00000111, B00000111, B10000000, | |
B00000111, B11111111, B11111111, B00000000, | |
B00000111, B11111111, B11111111, B00000000, | |
B00000011, B11111111, B11111100, B00000000, | |
B00000000, B00000000, B00000000, B00000000, | |
B00000000, B00000000, B00000000, B00000000, | |
B00000000, B00000000, B00000000, B00000000, | |
}; | |
struct pattern messageNum9 = {4, 19, bytesNum9}; | |
PROGMEM prog_uchar bytesNum0[] ={ | |
B00000000, B00000000, B00000000, B00000000, | |
B00000011, B11111111, B11111100, B00000000, | |
B00000111, B11111111, B11111111, B00000000, | |
B00000111, B11111111, B11111111, B00000000, | |
B00011110, B01110000, B00000111, B10000000, | |
B00011100, B01111100, B00000011, B10000000, | |
B00011100, B01111100, B00000011, B10000000, | |
B00011100, B00011111, B00000011, B10000000, | |
B00011100, B00001111, B10000011, B10000000, | |
B00011100, B00001111, B10000011, B10000000, | |
B00011100, B00000011, B11100011, B10000000, | |
B00011100, B00000000, B11100011, B10000000, | |
B00011110, B00000000, B11100111, B10000000, | |
B00000111, B11111111, B11111111, B00000000, | |
B00000111, B11111111, B11111111, B00000000, | |
B00000011, B11111111, B11111100, B00000000, | |
B00000000, B00000000, B00000000, B00000000, | |
B00000000, B00000000, B00000000, B00000000, | |
B00000000, B00000000, B00000000, B00000000, | |
}; | |
struct pattern messageNum0 = {4, 19, bytesNum0}; | |
void setup() { | |
Serial.begin(9600); | |
// INITIALIZE TIMER INTERRUPTS | |
TCCR0A = (1<<WGM01); //Timer in CTC mode | |
TCCR0B = ((1<<CS01)|(1<<CS00)); //1:64 prescaler | |
OCR0A = 249; //Value to have an compare at every 1ms | |
TIMSK0 = (1<<OCIE0A); //Enable timer interrupts | |
sei(); //Enable global interrupts | |
LEDS.addLeds<WS2811, PIN, GRB>(leds, NUM_LEDS); | |
LEDS.setBrightness( BRIGHTNESS ); | |
////////colour pallett code here: | |
currentPalette = RainbowStripeColors_p; | |
currentBlending = BLEND; | |
//eeprom read/set code here. | |
// DISABLING EEPROM FOR NOW JUST USING 0 - TIMER | |
//eeprom_option = EEPROM.read(eeprom_address); | |
// eeprom_option = eeprom_option + 1; | |
// if (eeprom_option == 9) | |
eeprom_option = 0; | |
// EEPROM.write(eeprom_address, eeprom_option); | |
} | |
// TIMER VECTOR, gets called once a millisecond (depends on prescaler and match register) | |
ISR(TIMER0_COMPA_vect){ | |
/* Reload the timer */ | |
// do timing based stuff here | |
millisecs++; | |
switch(millisecs){ | |
case 100: | |
variable = 4; | |
return; | |
break; | |
case 4394: | |
variable = 5; | |
return; | |
break; | |
case 7658: | |
variable = 6; | |
return; | |
break; | |
case 10794: | |
variable = 3; | |
return; | |
break; | |
case 14485: | |
variable = 7; | |
return; | |
break; | |
case 18880: | |
variable = 8; | |
return; | |
break; | |
case 24469: | |
variable = 9; | |
return; | |
break; | |
case 29184: | |
variable = 1; | |
return; | |
break; | |
case 31680: | |
variable = 2; | |
return; | |
break; | |
case 34986: | |
variable = 1; | |
return; | |
break; | |
case 37674: | |
variable = 2; | |
return; | |
break; | |
case 40469: | |
variable = 8; | |
return; | |
break; | |
case 44074: | |
variable = 9; | |
return; | |
break; | |
case 47488: | |
variable = 2; | |
return; | |
break; | |
case 49706: | |
variable = 3; | |
return; | |
break; | |
case 52800: | |
variable = 1; | |
return; | |
break; | |
case 55957: | |
variable = 7; | |
return; | |
break; | |
case 60010: | |
variable = 2; | |
return; | |
break; | |
case 66176: | |
variable = 8; | |
return; | |
break; | |
case 72192: | |
variable = 1; | |
return; | |
break; | |
case 80192: | |
millisecs = 0; | |
return; | |
break; | |
//continuous pattern mode | |
} | |
} | |
void loop() | |
{ | |
PROGMEM const prog_uchar *rgbx; | |
struct pattern *pat; | |
switch(eeprom_option){ | |
case 0: | |
{ | |
//////////////////////////////////////////////actions//////////////////////////////////////////// | |
switch(variable){ | |
case 0: | |
break; | |
case 1: | |
{ | |
pat = &message1; | |
rgbx = pat->patData; | |
for (int j = 0; j < pat->numFrames; j++ ) { | |
for (int i = 0; i < pat->numLeds; i++) { | |
byte R1 = (pgm_read_byte_near(rgbx++) & 0xE0); | |
leds[i].r = R1 / 5; // /5 to bring brightness down | |
byte G1 = ((pgm_read_byte_near(rgbx) << 3) & 0xE0); | |
leds[i].g = G1 / 5; | |
byte M1 = (pgm_read_byte_near(rgbx) << 6); | |
leds[i].b = M1 / 5; | |
} | |
LEDS.show(); | |
//delay(1); | |
} | |
break; | |
} | |
case 2: | |
{ | |
pat = &message2; | |
rgbx = pat->patData; | |
for (int j = 0; j < pat->numFrames; j++ ) { | |
for (int i = 0; i < pat->numLeds; i++) { | |
byte R1 = (pgm_read_byte_near(rgbx++) & 0xE0); | |
leds[i].r = R1 / 5; // /5 to bring brightness down | |
byte G1 = ((pgm_read_byte_near(rgbx) << 3) & 0xE0); | |
leds[i].g = G1 / 5; | |
byte M1 = (pgm_read_byte_near(rgbx) << 6); | |
leds[i].b = M1 / 5; | |
} | |
LEDS.show(); | |
//delay(1); | |
} | |
break; | |
} | |
case 3: | |
{ | |
pat = &message3; | |
rgbx = pat->patData; | |
for (int j = 0; j < pat->numFrames; j++ ) { | |
for (int i = 0; i < pat->numLeds; i++) { | |
byte R1 = (pgm_read_byte_near(rgbx++) & 0xE0); | |
leds[i].r = R1 / 5; // /5 to bring brightness down | |
byte G1 = ((pgm_read_byte_near(rgbx) << 3) & 0xE0); | |
leds[i].g = G1 / 5; | |
byte M1 = (pgm_read_byte_near(rgbx) << 6); | |
leds[i].b = M1 / 5; | |
} | |
LEDS.show(); | |
//delay(1); | |
} | |
break; | |
} | |
case 4: | |
{ | |
pat = &message4; | |
rgbx = pat->patData; | |
for (int j = 0; j < pat->numFrames; j++ ) { | |
for (int i = 0; i < pat->numLeds; i++) { | |
byte R1 = (pgm_read_byte_near(rgbx++) & 0xE0); | |
leds[i].r = R1 / 5; // /5 to bring brightness down | |
byte G1 = ((pgm_read_byte_near(rgbx) << 3) & 0xE0); | |
leds[i].g = G1 / 5; | |
byte M1 = (pgm_read_byte_near(rgbx) << 6); | |
leds[i].b = M1 / 5; | |
} | |
LEDS.show(); | |
//delay(1); | |
} | |
break; | |
} | |
case 5: | |
{ | |
pat = &message5; | |
rgbx = pat->patData; | |
for (int j = 0; j < pat->numFrames; j++ ) { | |
for (int i = 0; i < pat->numLeds; i++) { | |
byte R1 = (pgm_read_byte_near(rgbx++) & 0xE0); | |
leds[i].r = R1 / 5; // /5 to bring brightness down | |
byte G1 = ((pgm_read_byte_near(rgbx) << 3) & 0xE0); | |
leds[i].g = G1 / 5; | |
byte M1 = (pgm_read_byte_near(rgbx) << 6); | |
leds[i].b = M1 / 5; | |
} | |
LEDS.show(); | |
//delay(1); | |
} | |
break; | |
} | |
case 6: | |
{ | |
pat = &message5; | |
rgbx = pat->patData; | |
for (int j = 0; j < pat->numFrames; j++ ) { | |
for (int i = 0; i < pat->numLeds; i++) { | |
byte R1 = (pgm_read_byte_near(rgbx++) & 0xE0); | |
leds[i].r = R1 / 5; // /5 to bring brightness down | |
byte G1 = ((pgm_read_byte_near(rgbx) << 3) & 0xE0); | |
leds[i].g = G1 / 5; | |
byte M1 = (pgm_read_byte_near(rgbx) << 6); | |
leds[i].b = M1 / 5; | |
} | |
LEDS.show(); | |
//delay(1); | |
} | |
break; | |
} | |
case 7: | |
{ | |
for (int a = 0; a < 10; a++){ | |
pat = &messageN; | |
rgbx = pat->patData; | |
for (int j = 0; j < pat->numFrames; j++ ) { | |
for (int i = 0; i < pat->numLeds; i++) { | |
setByte(pgm_read_byte_near(rgbx++)); | |
} | |
FastLED.show(); | |
} | |
pat = &messageE; | |
rgbx = pat->patData; | |
for (int j = 0; j < pat->numFrames; j++ ) { | |
for (int i = 0; i < pat->numLeds; i++) { | |
setByte(pgm_read_byte_near(rgbx++)); | |
} | |
FastLED.show(); | |
} | |
pat = &messageW; | |
rgbx = pat->patData; | |
for (int j = 0; j < pat->numFrames; j++ ) { | |
for (int i = 0; i < pat->numLeds; i++) { | |
setByte(pgm_read_byte_near(rgbx++)); | |
} | |
FastLED.show(); | |
} | |
showBigGap(); | |
} //end for loop to show word multiple times | |
for (int a = 0; a < 10; a++){ | |
pat = &messageY; | |
rgbx = pat->patData; | |
for (int j = 0; j < pat->numFrames; j++ ) { | |
for (int i = 0; i < pat->numLeds; i++) { | |
setByte(pgm_read_byte_near(rgbx++)); | |
} | |
FastLED.show(); | |
} | |
pat = &messageE; | |
rgbx = pat->patData; | |
for (int j = 0; j < pat->numFrames; j++ ) { | |
for (int i = 0; i < pat->numLeds; i++) { | |
setByte(pgm_read_byte_near(rgbx++)); | |
} | |
FastLED.show(); | |
} | |
pat = &messageA; | |
rgbx = pat->patData; | |
for (int j = 0; j < pat->numFrames; j++ ) { | |
for (int i = 0; i < pat->numLeds; i++) { | |
setByte(pgm_read_byte_near(rgbx++)); | |
} | |
FastLED.show(); | |
} | |
pat = &messageR; | |
rgbx = pat->patData; | |
for (int j = 0; j < pat->numFrames; j++ ) { | |
for (int i = 0; i < pat->numLeds; i++) { | |
setByte(pgm_read_byte_near(rgbx++)); | |
} | |
FastLED.show(); | |
} | |
pat = &messageS; | |
rgbx = pat->patData; | |
for (int j = 0; j < pat->numFrames; j++ ) { | |
for (int i = 0; i < pat->numLeds; i++) { | |
setByte(pgm_read_byte_near(rgbx++)); | |
} | |
FastLED.show(); | |
} | |
showBigGap(); | |
} //end for loop to show word multiple times | |
for (int a = 0; a < 10; a++){ | |
pat = &messageNum2; | |
rgbx = pat->patData; | |
for (int j = 0; j < pat->numFrames; j++ ) { | |
for (int i = 0; i < pat->numLeds; i++) { | |
setByte(pgm_read_byte_near(rgbx++)); | |
} | |
FastLED.show(); | |
} | |
pat = &messageNum0; | |
rgbx = pat->patData; | |
for (int j = 0; j < pat->numFrames; j++ ) { | |
for (int i = 0; i < pat->numLeds; i++) { | |
setByte(pgm_read_byte_near(rgbx++)); | |
} | |
FastLED.show(); | |
} | |
pat = &messageNum1; | |
rgbx = pat->patData; | |
for (int j = 0; j < pat->numFrames; j++ ) { | |
for (int i = 0; i < pat->numLeds; i++) { | |
setByte(pgm_read_byte_near(rgbx++)); | |
} | |
FastLED.show(); | |
} | |
pat = &messageNum6; | |
rgbx = pat->patData; | |
for (int j = 0; j < pat->numFrames; j++ ) { | |
for (int i = 0; i < pat->numLeds; i++) { | |
setByte(pgm_read_byte_near(rgbx++)); | |
} | |
FastLED.show(); | |
} | |
showBigGap(); | |
} //end for loop to show word multiple times | |
break; | |
} | |
case 8: | |
{ | |
for (int a = 0; a < 10; a++){ | |
pat = &messageS; | |
rgbx = pat->patData; | |
for (int j = 0; j < pat->numFrames; j++ ) { | |
for (int i = 0; i < pat->numLeds; i++) { | |
setByte(pgm_read_byte_near(rgbx++)); | |
} | |
FastLED.show(); | |
} | |
pat = &messageU; | |
rgbx = pat->patData; | |
for (int j = 0; j < pat->numFrames; j++ ) { | |
for (int i = 0; i < pat->numLeds; i++) { | |
setByte(pgm_read_byte_near(rgbx++)); | |
} | |
FastLED.show(); | |
} | |
pat = &messageN; | |
rgbx = pat->patData; | |
for (int j = 0; j < pat->numFrames; j++ ) { | |
for (int i = 0; i < pat->numLeds; i++) { | |
setByte(pgm_read_byte_near(rgbx++)); | |
} | |
FastLED.show(); | |
} | |
pat = &messageC; | |
rgbx = pat->patData; | |
for (int j = 0; j < pat->numFrames; j++ ) { | |
for (int i = 0; i < pat->numLeds; i++) { | |
setByte(pgm_read_byte_near(rgbx++)); | |
} | |
FastLED.show(); | |
} | |
pat = &messageO; | |
rgbx = pat->patData; | |
for (int j = 0; j < pat->numFrames; j++ ) { | |
for (int i = 0; i < pat->numLeds; i++) { | |
setByte(pgm_read_byte_near(rgbx++)); | |
} | |
FastLED.show(); | |
} | |
pat = &messageA; | |
rgbx = pat->patData; | |
for (int j = 0; j < pat->numFrames; j++ ) { | |
for (int i = 0; i < pat->numLeds; i++) { | |
setByte(pgm_read_byte_near(rgbx++)); | |
} | |
FastLED.show(); | |
} | |
pat = &messageS; | |
rgbx = pat->patData; | |
for (int j = 0; j < pat->numFrames; j++ ) { | |
for (int i = 0; i < pat->numLeds; i++) { | |
setByte(pgm_read_byte_near(rgbx++)); | |
} | |
FastLED.show(); | |
} | |
pat = &messageT; | |
rgbx = pat->patData; | |
for (int j = 0; j < pat->numFrames; j++ ) { | |
for (int i = 0; i < pat->numLeds; i++) { | |
setByte(pgm_read_byte_near(rgbx++)); | |
} | |
FastLED.show(); | |
} | |
showBigGap(); | |
} //end for loop to show word multiple times | |
break; | |
} | |
case 9: | |
{ | |
for (int a = 0; a < 10; a++){ | |
pat = &messageF; | |
rgbx = pat->patData; | |
for (int j = 0; j < pat->numFrames; j++ ) { | |
for (int i = 0; i < pat->numLeds; i++) { | |
setByte(pgm_read_byte_near(rgbx++)); | |
} | |
FastLED.show(); | |
} | |
pat = &messageE; | |
rgbx = pat->patData; | |
for (int j = 0; j < pat->numFrames; j++ ) { | |
for (int i = 0; i < pat->numLeds; i++) { | |
setByte(pgm_read_byte_near(rgbx++)); | |
} | |
FastLED.show(); | |
} | |
pat = &messageE; | |
rgbx = pat->patData; | |
for (int j = 0; j < pat->numFrames; j++ ) { | |
for (int i = 0; i < pat->numLeds; i++) { | |
setByte(pgm_read_byte_near(rgbx++)); | |
} | |
FastLED.show(); | |
} | |
pat = &messageL; | |
rgbx = pat->patData; | |
for (int j = 0; j < pat->numFrames; j++ ) { | |
for (int i = 0; i < pat->numLeds; i++) { | |
setByte(pgm_read_byte_near(rgbx++)); | |
} | |
FastLED.show(); | |
} | |
showBigGap(); | |
} //end for loop to show word multiple times | |
for (int a = 0; a < 10; a++){ | |
pat = &messageT; | |
rgbx = pat->patData; | |
for (int j = 0; j < pat->numFrames; j++ ) { | |
for (int i = 0; i < pat->numLeds; i++) { | |
setByte(pgm_read_byte_near(rgbx++)); | |
} | |
FastLED.show(); | |
} | |
pat = &messageH; | |
rgbx = pat->patData; | |
for (int j = 0; j < pat->numFrames; j++ ) { | |
for (int i = 0; i < pat->numLeds; i++) { | |
setByte(pgm_read_byte_near(rgbx++)); | |
} | |
FastLED.show(); | |
} | |
pat = &messageE; | |
rgbx = pat->patData; | |
for (int j = 0; j < pat->numFrames; j++ ) { | |
for (int i = 0; i < pat->numLeds; i++) { | |
setByte(pgm_read_byte_near(rgbx++)); | |
} | |
FastLED.show(); | |
} | |
showBigGap(); | |
} //end for loop to show word multiple times | |
for (int a = 0; a < 10; a++){ | |
pat = &messageB; | |
rgbx = pat->patData; | |
for (int j = 0; j < pat->numFrames; j++ ) { | |
for (int i = 0; i < pat->numLeds; i++) { | |
setByte(pgm_read_byte_near(rgbx++)); | |
} | |
FastLED.show(); | |
} | |
pat = &messageE; | |
rgbx = pat->patData; | |
for (int j = 0; j < pat->numFrames; j++ ) { | |
for (int i = 0; i < pat->numLeds; i++) { | |
setByte(pgm_read_byte_near(rgbx++)); | |
} | |
FastLED.show(); | |
} | |
pat = &messageA; | |
rgbx = pat->patData; | |
for (int j = 0; j < pat->numFrames; j++ ) { | |
for (int i = 0; i < pat->numLeds; i++) { | |
setByte(pgm_read_byte_near(rgbx++)); | |
} | |
FastLED.show(); | |
} | |
pat = &messageT; | |
rgbx = pat->patData; | |
for (int j = 0; j < pat->numFrames; j++ ) { | |
for (int i = 0; i < pat->numLeds; i++) { | |
setByte(pgm_read_byte_near(rgbx++)); | |
} | |
FastLED.show(); | |
} | |
showBigGap(); | |
} //end for loop to show word multiple times | |
break; | |
} | |
/////////////////////////////////////////////end actions/////////////////////////////////////////// | |
} | |
break; | |
} | |
/////////////////////////////CYLON//////////////// | |
case 1: | |
{ | |
//cli(); //does this do anything??? | |
// First slide the led in one direction | |
for(int i = 0; i < NUM_LEDS; i++) { | |
// Set the i'th led to red | |
leds[i] = CRGB::Red; | |
// Show the leds | |
LEDS.show(); | |
// now that we've shown the leds, reset the i'th led to black | |
leds[i] = CRGB::Black; | |
// Wait a little bit before we loop around and do it again | |
delay(10); | |
} | |
// Now go in the other direction. | |
for(int i = NUM_LEDS-1; i >= 0; i--) { | |
// Set the i'th led to red | |
leds[i] = CRGB::Red; | |
// Show the leds | |
LEDS.show(); | |
// now that we've shown the leds, reset the i'th led to black | |
leds[i] = CRGB::Black; | |
// Wait a little bit before we loop around and do it again | |
delay(10); | |
} | |
break; | |
} | |
/////////////////////3rd Eeprom option...Shows all 6 pics!/////////////////// | |
case 2: | |
{ | |
//cli(); //does this do anything??? | |
pat = &message1; | |
rgbx = pat->patData; | |
for (int j = 0; j < pat->numFrames; j++ ) { | |
for (int i = 0; i < pat->numLeds; i++) { | |
byte R1 = (pgm_read_byte_near(rgbx++) & 0xE0); | |
leds[i].r = R1 / 5; // /5 to bring brightness down | |
byte G1 = ((pgm_read_byte_near(rgbx) << 3) & 0xE0); | |
leds[i].g = G1 / 5; | |
byte M1 = (pgm_read_byte_near(rgbx) << 6); | |
leds[i].b = M1 / 5; | |
} | |
LEDS.show(); | |
//delay(1); | |
} | |
pat = &message2; | |
rgbx = pat->patData; | |
for (int j = 0; j < pat->numFrames; j++ ) { | |
for (int i = 0; i < pat->numLeds; i++) { | |
byte R1 = (pgm_read_byte_near(rgbx++) & 0xE0); | |
leds[i].r = R1 / 5; // /5 to bring brightness down | |
byte G1 = ((pgm_read_byte_near(rgbx) << 3) & 0xE0); | |
leds[i].g = G1 / 5; | |
byte M1 = (pgm_read_byte_near(rgbx) << 6); | |
leds[i].b = M1 / 5; | |
} | |
LEDS.show(); | |
//delay(1); | |
} | |
pat = &message3; | |
rgbx = pat->patData; | |
for (int j = 0; j < pat->numFrames; j++ ) { | |
for (int i = 0; i < pat->numLeds; i++) { | |
byte R1 = (pgm_read_byte_near(rgbx++) & 0xE0); | |
leds[i].r = R1 / 5; // /5 to bring brightness down | |
byte G1 = ((pgm_read_byte_near(rgbx) << 3) & 0xE0); | |
leds[i].g = G1 / 5; | |
byte M1 = (pgm_read_byte_near(rgbx) << 6); | |
leds[i].b = M1 / 5; | |
} | |
LEDS.show(); | |
//delay(1); | |
} | |
pat = &message4; | |
rgbx = pat->patData; | |
for (int j = 0; j < pat->numFrames; j++ ) { | |
for (int i = 0; i < pat->numLeds; i++) { | |
byte R1 = (pgm_read_byte_near(rgbx++) & 0xE0); | |
leds[i].r = R1 / 5; // /5 to bring brightness down | |
byte G1 = ((pgm_read_byte_near(rgbx) << 3) & 0xE0); | |
leds[i].g = G1 / 5; | |
byte M1 = (pgm_read_byte_near(rgbx) << 6); | |
leds[i].b = M1 / 5; | |
} | |
LEDS.show(); | |
//delay(1); | |
} | |
pat = &message5; | |
rgbx = pat->patData; | |
for (int j = 0; j < pat->numFrames; j++ ) { | |
for (int i = 0; i < pat->numLeds; i++) { | |
byte R1 = (pgm_read_byte_near(rgbx++) & 0xE0); | |
leds[i].r = R1 / 5; // /5 to bring brightness down | |
byte G1 = ((pgm_read_byte_near(rgbx) << 3) & 0xE0); | |
leds[i].g = G1 / 5; | |
byte M1 = (pgm_read_byte_near(rgbx) << 6); | |
leds[i].b = M1 / 5; | |
} | |
LEDS.show(); | |
//delay(1); | |
} | |
pat = &message6; | |
rgbx = pat->patData; | |
for (int j = 0; j < pat->numFrames; j++ ) { | |
for (int i = 0; i < pat->numLeds; i++) { | |
byte R1 = (pgm_read_byte_near(rgbx++) & 0xE0); | |
leds[i].r = R1 / 5; // /5 to bring brightness down | |
byte G1 = ((pgm_read_byte_near(rgbx) << 3) & 0xE0); | |
leds[i].g = G1 / 5; | |
byte M1 = (pgm_read_byte_near(rgbx) << 6); | |
leds[i].b = M1 / 5; | |
} | |
LEDS.show(); | |
//delay(1); | |
} | |
break; | |
} | |
case 3: | |
{ | |
pat = &message1; | |
rgbx = pat->patData; | |
for (int j = 0; j < pat->numFrames; j++ ) { | |
for (int i = 0; i < pat->numLeds; i++) { | |
byte R1 = (pgm_read_byte_near(rgbx++) & 0xE0); | |
leds[i].r = R1 / 5; // /5 to bring brightness down | |
byte G1 = ((pgm_read_byte_near(rgbx) << 3) & 0xE0); | |
leds[i].g = G1 / 5; | |
byte M1 = (pgm_read_byte_near(rgbx) << 6); | |
leds[i].b = M1 / 5; | |
} | |
LEDS.show(); | |
//delay(1); | |
} | |
break; | |
} | |
case 4: //Colour pallette code: | |
{ | |
static uint8_t startIndex = 0; | |
if(upDown == true) { | |
startIndex = startIndex + PI; /* motion speed */ | |
FillLEDsFromPaletteColors( startIndex); | |
//Serial.println(startIndex); | |
if (startIndex == 70){ | |
upDown = false; | |
} | |
} | |
else { | |
startIndex = startIndex - PI; /* motion speed */ | |
FillLEDsFromPaletteColors( startIndex); | |
//Serial.println(startIndex); | |
if (startIndex == 0){ | |
upDown = true; | |
} | |
} | |
FastLED.show(); | |
FastLED.delay(1000 / UPDATES_PER_SECOND); | |
break; | |
} | |
case 5: | |
{ | |
pat = &message3; | |
rgbx = pat->patData; | |
for (int j = 0; j < pat->numFrames; j++ ) { | |
for (int i = 0; i < pat->numLeds; i++) { | |
byte R1 = (pgm_read_byte_near(rgbx++) & 0xE0); | |
leds[i].r = R1 / 5; // /5 to bring brightness down | |
byte G1 = ((pgm_read_byte_near(rgbx) << 3) & 0xE0); | |
leds[i].g = G1 / 5; | |
byte M1 = (pgm_read_byte_near(rgbx) << 6); | |
leds[i].b = M1 / 5; | |
} | |
LEDS.show(); | |
//delay(1); | |
} | |
break; | |
} | |
case 6: | |
{ | |
pat = &message4; | |
rgbx = pat->patData; | |
for (int j = 0; j < pat->numFrames; j++ ) { | |
for (int i = 0; i < pat->numLeds; i++) { | |
byte R1 = (pgm_read_byte_near(rgbx++) & 0xE0); | |
leds[i].r = R1 / 5; // /5 to bring brightness down | |
byte G1 = ((pgm_read_byte_near(rgbx) << 3) & 0xE0); | |
leds[i].g = G1 / 5; | |
byte M1 = (pgm_read_byte_near(rgbx) << 6); | |
leds[i].b = M1 / 5; | |
} | |
LEDS.show(); | |
//delay(1); | |
} | |
break; | |
} | |
case 7: | |
{ | |
pat = &message5; | |
rgbx = pat->patData; | |
for (int j = 0; j < pat->numFrames; j++ ) { | |
for (int i = 0; i < pat->numLeds; i++) { | |
byte R1 = (pgm_read_byte_near(rgbx++) & 0xE0); | |
leds[i].r = R1 / 5; // /5 to bring brightness down | |
byte G1 = ((pgm_read_byte_near(rgbx) << 3) & 0xE0); | |
leds[i].g = G1 / 5; | |
byte M1 = (pgm_read_byte_near(rgbx) << 6); | |
leds[i].b = M1 / 5; | |
} | |
LEDS.show(); | |
//delay(1); | |
} | |
break; | |
} | |
case 8: | |
{ | |
pat = &message6; | |
rgbx = pat->patData; | |
for (int j = 0; j < pat->numFrames; j++ ) { | |
for (int i = 0; i < pat->numLeds; i++) { | |
byte R1 = (pgm_read_byte_near(rgbx++) & 0xE0); | |
leds[i].r = R1 / 5; // /5 to bring brightness down | |
byte G1 = ((pgm_read_byte_near(rgbx) << 3) & 0xE0); | |
leds[i].g = G1 / 5; | |
byte M1 = (pgm_read_byte_near(rgbx) << 6); | |
leds[i].b = M1 / 5; | |
} | |
LEDS.show(); | |
//delay(1); | |
} | |
break; | |
} | |
} | |
///////////////////////////end eeprom switch///////////////// | |
} | |
//colour pallette code: | |
void FillLEDsFromPaletteColors( uint8_t colorIndex) | |
{ | |
uint8_t brightness = 255; | |
for( int i = 0; i < NUM_LEDS; i++) { | |
leds[i] = ColorFromPalette( currentPalette, colorIndex, brightness, currentBlending); | |
colorIndex += 3; | |
} | |
} | |
const TProgmemPalette16 myRedWhiteBluePalette_p PROGMEM = | |
{ | |
CRGB::Red, | |
CRGB::Gray, // 'white' is too bright compared to red and blue | |
CRGB::Blue, | |
CRGB::Black, | |
CRGB::Red, | |
CRGB::Gray, | |
CRGB::Blue, | |
CRGB::Black, | |
CRGB::Red, | |
CRGB::Red, | |
CRGB::Gray, | |
CRGB::Gray, | |
CRGB::Blue, | |
CRGB::Blue, | |
CRGB::Black, | |
CRGB::Black | |
}; | |
void setByte(byte c){ | |
//byte pos = 0; | |
for (mask = 10000000; mask>0; mask >>= 1) { //iterate through bit mask | |
if (c & mask){ // if bitwise AND resolves to true | |
//Serial.print("1"); //send predefined colour to led strip | |
leds[z] = CRGB::Red; //Red TEXT | |
//Serial.println(pos); //pos is position in strip | |
} | |
else{ //if bitwise and resolves to false | |
//Serial.print("0"); // send black to led strip! | |
leds[z] = 0; // IF OVERLAYING ON PICTURE DO NOTHING HERE! | |
//Serial.println(pos); | |
} | |
z++; | |
if(z == 32){ | |
z = 0; | |
} | |
//pos++; | |
//delay(500); //delay | |
} | |
//Serial.print(""); | |
//delay(500); | |
} | |
///////////////////////////Space between letters//////////////// | |
void showGap(){ | |
for (int j = 0; j < 5; j++ ) { | |
for (int i = 0; i < NUM_LEDS; i++) { | |
leds[i] = 0; | |
} | |
FastLED.show(); | |
} | |
} | |
////////////////////////Space between words/////////////////// | |
void showBigGap(){ | |
for (int j = 0; j < 20; j++ ) { | |
for (int i = 0; i < NUM_LEDS; i++) { | |
leds[i] = 0; | |
} | |
FastLED.show(); | |
} | |
} | |
//WHAT ABOUT OVERLAYING HOW TO DO THE GAP THEN? | |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment