15 Commits

Author SHA1 Message Date
JP
fb8b9c4a43 added debug messages for doCmd() 2014-04-17 15:49:39 +10:00
JP
e6045dcfa1 added flipVertical and horizontal 2014-02-25 11:58:56 +11:00
JP
93beac25d5 added checkComm() function to communicate with host PC 2014-02-15 10:15:03 +11:00
JP
7fd29e3c92 added Serial command 2014-02-12 20:50:07 +11:00
JP
eaf0862bb5 added invert function, contrast function, changed scrollStop to scrollStop for consistency 2014-02-11 19:43:01 +11:00
JP
ec1c760c7c added round gauge widget 2014-02-08 20:34:28 +11:00
JP
684a5dc5c8 fixed Example 3 2014-02-07 14:15:49 +11:00
JP
8c12a660e6 added Example 3 2014-02-07 14:15:12 +11:00
JP
af4f0bea23 added Example 3 2014-02-07 14:13:35 +11:00
JP
7f15062e58 fixed Slider negative value not working 2014-02-07 14:05:52 +11:00
JP
1fcf3a0839 * changed MICROVIEW class name to MicroView
* created MICROVIEWWIDGET class
* added routines to draw widget
* added slider widget
* merged MicroViewWidget into MicroView
* merged SPI.h into MicroView
2014-02-06 17:39:10 +11:00
JP
cf12168cc9 fixed README.md greater sign 2014-02-03 13:10:32 +11:00
JP
c56e0b96ac fixed README.md example 2014-02-03 10:20:59 +11:00
JP
d61474cb61 declared permanent uView variable 2014-02-03 10:17:18 +11:00
JP
28e7db1aa9 added 7 segment font. 2014-02-02 08:40:50 +11:00
8 changed files with 1571 additions and 442 deletions

25
7segment.h Normal file
View File

@@ -0,0 +1,25 @@
#ifndef FONT7SEGMENT_H
#define FONT7SEGMENT_H
#include <avr/pgmspace.h>
static const unsigned char sevensegment [] PROGMEM = {
// first row defines - FONTWIDTH, FONTHEIGHT, ASCII START CHAR, TOTAL CHARACTERS, FONT MAP WIDTH HIGH, FONT MAP WIDTH LOW (2,56 meaning 256)
10,16,46,12,1,20,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x78, 0xFC, 0x02, 0x03, 0x03, 0x03, 0x03, 0x02, 0xFC, 0x78, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x7E, 0x00, 0x00, 0x02, 0x83, 0x83, 0x83, 0x83, 0x02,
0xFC, 0x78, 0x00, 0x00, 0x02, 0x83, 0x83, 0x83, 0x83, 0x02, 0xFC, 0x78, 0x7E, 0xFF, 0x00, 0x80,
0x80, 0x80, 0x80, 0x00, 0xFF, 0x7E, 0x78, 0xFC, 0x02, 0x83, 0x83, 0x83, 0x83, 0x02, 0x00, 0x00,
0x78, 0xFC, 0x02, 0x83, 0x83, 0x83, 0x83, 0x02, 0x00, 0x00, 0x00, 0x02, 0x03, 0x03, 0x03, 0x03,
0x03, 0x02, 0xFC, 0x78, 0x78, 0xFC, 0x02, 0x83, 0x83, 0x83, 0x83, 0x02, 0xFC, 0x78, 0x78, 0xFC,
0x02, 0x83, 0x83, 0x83, 0x83, 0x02, 0xFC, 0x78, 0x00, 0x00, 0x00, 0x60, 0xF0, 0xF0, 0x60, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x1E, 0x3F, 0x40, 0xC0,
0xC0, 0xC0, 0xC0, 0x40, 0x3F, 0x1E, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x7E,
0x1C, 0x3E, 0x41, 0xC1, 0xC1, 0xC1, 0xC1, 0x41, 0x00, 0x00, 0x00, 0x00, 0x41, 0xC1, 0xC1, 0xC1,
0xC1, 0x41, 0x3E, 0x1C, 0x00, 0x00, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0xFF, 0x7E, 0x00, 0x00,
0x41, 0xC1, 0xC1, 0xC1, 0xC1, 0x41, 0x3E, 0x1C, 0x1C, 0x3E, 0x41, 0xC1, 0xC1, 0xC1, 0xC1, 0x41,
0x3E, 0x1C, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x7E, 0x1C, 0x3E, 0x41, 0xC1,
0xC1, 0xC1, 0xC1, 0x41, 0x3E, 0x1C, 0x00, 0x00, 0x41, 0xC1, 0xC1, 0xC1, 0xC1, 0x41, 0x3E, 0x1C
};
#endif

File diff suppressed because it is too large Load Diff

View File

@@ -1,20 +1,18 @@
#ifndef MICROVIEW_H
#define MICROVIEW_H
#if ARDUINO >= 100
#include "Arduino.h"
#include "Print.h"
#else
#include "WProgram.h"
#endif
#include <stdio.h>
#include <Arduino.h>
#include <avr/pgmspace.h>
#define swap(a, b) { uint8_t t = a; a = b; b = t; }
#define DC 8
#define SCK 13
#define MOSI 11
#define RESET 12
#define CS 10
// SS, SCK, MOSI already defined by original SPI.h
//#define CS 10
//#define SCK 13
//#define MOSI 11
#define BLACK 0
#define WHITE 1
@@ -29,6 +27,10 @@
#define PAGE 0
#define ALL 1
#define WIDGETSTYLE0 0
#define WIDGETSTYLE1 1
#define WIDGETSTYLE2 2
#define SETCONTRAST 0x81
#define DISPLAYALLONRESUME 0xA4
#define DISPLAYALLON 0xA5
@@ -62,9 +64,31 @@
#define VERTICALRIGHTHORIZONTALSCROLL 0x29
#define VERTICALLEFTHORIZONTALSCROLL 0x2A
class MICROVIEW : public Print{
typedef enum CMD {
CMD_CLEAR, //0
CMD_INVERT, //1
CMD_CONTRAST, //2
CMD_DISPLAY, //3
CMD_SETCURSOR, //4
CMD_PIXEL, //5
CMD_LINE, //6
CMD_LINEH, //7
CMD_LINEV, //8
CMD_RECT, //9
CMD_RECTFILL, //10
CMD_CIRCLE, //11
CMD_CIRCLEFILL, //12
CMD_DRAWCHAR, //13
CMD_DRAWBITMAP, //14
CMD_GETLCDWIDTH, //15
CMD_GETLCDHEIGHT, //16
CMD_SETCOLOR, //17
CMD_SETDRAWMODE //18
} commCommand_t;
class MicroView : public Print{
public:
MICROVIEW(void) {};
MicroView(void) {};
void begin(void);
#if ARDUINO >= 100
@@ -79,24 +103,36 @@ public:
void setColumnAddress(uint8_t add);
void setPageAddress(uint8_t add);
// LCD Draw functions
// LCD Draw functions
void clear(uint8_t mode);
void clear(uint8_t mode, uint8_t c);
void invert(uint8_t i);
void invert(boolean inv);
void contrast(uint8_t contrast);
void display(void);
void setCursor(uint8_t x, uint8_t y);
void pixel(uint8_t x, uint8_t y);
void pixel(uint8_t x, uint8_t y, uint8_t color, uint8_t mode);
void line(uint8_t x0, uint8_t y0, uint8_t x1, uint8_t y1);
void line(uint8_t x0, uint8_t y0, uint8_t x1, uint8_t y1, uint8_t color, uint8_t mode);
void lineH(uint8_t x, uint8_t y, uint8_t width);
void lineH(uint8_t x, uint8_t y, uint8_t width, uint8_t color, uint8_t mode);
void lineV(uint8_t x, uint8_t y, uint8_t height);
void lineV(uint8_t x, uint8_t y, uint8_t height, uint8_t color, uint8_t mode);
void rect(uint8_t x, uint8_t y, uint8_t width, uint8_t height);
void rect(uint8_t x, uint8_t y, uint8_t width, uint8_t height, uint8_t color , uint8_t mode);
void rectFill(uint8_t x, uint8_t y, uint8_t width, uint8_t height);
void rectFill(uint8_t x, uint8_t y, uint8_t width, uint8_t height, uint8_t color , uint8_t mode);
void circle(uint8_t x, uint8_t y, uint8_t radius);
void circle(uint8_t x, uint8_t y, uint8_t radius, uint8_t color, uint8_t mode);
void circleFill(uint8_t x0, uint8_t y0, uint8_t r, uint8_t color, uint8_t mode);
void circleFill(uint8_t x0, uint8_t y0, uint8_t radius);
void circleFill(uint8_t x0, uint8_t y0, uint8_t radius, uint8_t color, uint8_t mode);
void drawChar(uint8_t x, uint8_t y, uint8_t c);
void drawChar(uint8_t x, uint8_t y, uint8_t c, uint8_t color, uint8_t mode);
void drawBitmap(void);
uint8_t getLCDWidth(void);
uint8_t getLCDHeight(void);
void setColor(uint8_t color);
void setDrawMode(uint8_t mode);
// Font functions
uint8_t getFontWidth(void);
@@ -106,26 +142,133 @@ public:
uint8_t setFontType(uint8_t type);
uint8_t getFontStartChar(void);
uint8_t getFontTotalChar(void);
// applicable for PRINT function
void setFontColor(uint8_t color);
void setFontDrawMode(uint8_t mode);
// LCD Rotate Scroll functions
void scrollRight(uint8_t start, uint8_t stop);
void scrollLeft(uint8_t start, uint8_t stop);
void scrollVertRight(uint8_t start, uint8_t stop);
void scrollVertLeft(uint8_t start, uint8_t stop);
void stopScroll(void);
void scrollStop(void);
void flipVertical(boolean flip);
void flipHorizontal(boolean flip);
// Communication
void checkComm(void);
void doCmd(uint8_t index);
private:
//uint8_t cs;
volatile uint8_t *mosiport, *sckport, *csport, *dcport; // use volatile because these are fixed location port address
uint8_t mosipinmask, sckpinmask, cspinmask, dcpinmask;
uint8_t fontColor,fontMode,fontWidth, fontHeight, fontType, fontStartChar, fontTotalChar, cursorX, cursorY;
volatile uint8_t *mosiport, *sckport, *ssport, *dcport; // use volatile because these are fixed location port address
uint8_t mosipinmask, sckpinmask, sspinmask, dcpinmask;
uint8_t foreColor,drawMode,fontWidth, fontHeight, fontType, fontStartChar, fontTotalChar, cursorX, cursorY;
uint16_t fontMapWidth;
//unsigned char *fontsPointer[TOTALFONTS];
static const unsigned char *fontsPointer[];
int readSerial(void);
};
class MicroViewWidget {
public:
MicroViewWidget(uint8_t newx, uint8_t newy, int16_t min, int16_t max);
uint8_t getX();
uint8_t getY();
void setX(uint8_t newx);
void setY(uint8_t newy);
int16_t getMinValue();
int16_t getMaxValue();
int16_t getValue();
void setMaxValue(int16_t max);
void setMinValue(int16_t max);
void setValue(int16_t val);
virtual void draw(){};
virtual void drawFace(){};
private:
uint8_t x;
uint8_t y;
int16_t maxValue;
int16_t minValue;
int16_t value;
};
class MicroViewSlider: public MicroViewWidget{
public:
MicroViewSlider(uint8_t newx, uint8_t newy, int16_t min, int16_t max);
MicroViewSlider(uint8_t newx, uint8_t newy, int16_t min, int16_t max, uint8_t sty);
void draw();
void drawFace();
private:
uint8_t totalTicks, style;
bool needFirstDraw;
int16_t prevValue;
};
class MicroViewGauge: public MicroViewWidget{
public:
MicroViewGauge(uint8_t newx, uint8_t newy, int16_t min, int16_t max);
MicroViewGauge(uint8_t newx, uint8_t newy, int16_t min, int16_t max, uint8_t sty);
void draw();
void drawFace();
private:
uint8_t radius, style;
bool needFirstDraw;
int16_t prevValue;
};
#define SPI_CLOCK_DIV4 0x00
#define SPI_CLOCK_DIV16 0x01
#define SPI_CLOCK_DIV64 0x02
#define SPI_CLOCK_DIV128 0x03
#define SPI_CLOCK_DIV2 0x04
#define SPI_CLOCK_DIV8 0x05
#define SPI_CLOCK_DIV32 0x06
//#define SPI_CLOCK_DIV64 0x07
#define SPI_MODE0 0x00
#define SPI_MODE1 0x04
#define SPI_MODE2 0x08
#define SPI_MODE3 0x0C
#define SPI_MODE_MASK 0x0C // CPOL = bit 3, CPHA = bit 2 on SPCR
#define SPI_CLOCK_MASK 0x03 // SPR1 = bit 1, SPR0 = bit 0 on SPCR
#define SPI_2XCLOCK_MASK 0x01 // SPI2X = bit 0 on SPSR
class MVSPIClass {
public:
inline static byte transfer(byte _data);
// SPI Configuration methods
inline static void attachInterrupt();
inline static void detachInterrupt(); // Default
static void begin(); // Default
static void end();
static void setBitOrder(uint8_t);
static void setDataMode(uint8_t);
static void setClockDivider(uint8_t);
};
extern MVSPIClass MVSPI;
byte MVSPIClass::transfer(byte _data) {
SPDR = _data;
while (!(SPSR & _BV(SPIF)))
;
return SPDR;
}
void MVSPIClass::attachInterrupt() {
SPCR |= _BV(SPIE);
}
void MVSPIClass::detachInterrupt() {
SPCR &= ~_BV(SPIE);
}
extern MicroView uView;
#endif

147
README.md
View File

@@ -1,31 +1,134 @@
MicroView Arduino Library
================================
Developed by [Geek Ammo Pty Ltd](http://www.geekammo.com) based on Arduino and other Open Source libraries.
Author : JP Liew
# MicroView Arduino Library
Developed by [Geek Ammo Pty Ltd](http://www.geekammo.com) based on Arduino and other Open Source libraries.
## Description
Description
-----------
Arduino library for MicroView.
History
-------
**v1.02b: 31th January 2013 by JP Liew**
* added sprite animation demo.
**v1.01b: 30th January 2014 by JP Liew**
* fixed font draw XOR mode bug.
* added analog clock demo.
**v1.00b: 30th January 2014 by JP Liew**
* Initial commit. Beta with minor bugs.
## Required Libraries
Required Libraries
------------------
1. SPI.h
1. [Time.h](http://www.pjrc.com/teensy/td_libs_Time.html) NOTE: Only required when using clock/time functions. For example the MicroViewDemo in the example folder.
## Installation
Installation Instructions
-------------------------
1. Extract / Check out to Arduino's libraries folder.
2. Start Arduino IDE.
3. MicroView example is located at, File--->Example--->MicroView--->MicroViewDemo
### Example 1 - Hello World!
<pre><code>
#include &lt;MicroView.h&gt;
void setup() {
uView.begin();
}
void loop() {
uView.print("HelloWorld");
uView.display(); // display current page buffer
}
</code></pre>
### Example 2 - Basic Drawing
<pre><code>
#include &lt;MicroView.h&gt;
void setup() {
uView.begin();
uView.clear(PAGE); // clear the page buffer
}
void loop() {
uView.line(0,0,64,48);
uView.circle(32,24,10);
uView.rect(10,10,20,20);
uView.pixel(50,5);
uView.setCursor(0,40);
uView.print(" MicroView");
uView.display(); // display current page buffer
}
</code></pre>
### Example 3 - Widgets
<pre><code>
#include &lt;MicroView.h&gt;
MicroViewWidget *widget,*widget2;
void setup() {
uView.begin();
uView.clear(PAGE);
widget= new MicroViewGauge(32,30,0,100); // draw Gauge widget at x=32,y=30,min=0, max=100
widget2= new MicroViewSlider(0,0,0,100); // draw Slider widget at x=0,y=0,min=0, max=100
}
void loop() {
for(int i=0; i&lt;=100;i++) {
widget->setValue(i); // give a value to widget
widget2->setValue(i);
uView.display(); // display current page buffer
}
}
</code></pre>
### Example 4 - Communication
<pre><code>
#include &lt;MicroView.h&gt;
void setup() {
uView.begin();
uView.clear(PAGE);
}
void loop() {
uView.checkComm();
}
</code></pre>
## History
**v1.09b: 17th April 2014 by JP Liew**
* changed verticalFlip() to flipVertical() and horizontalFlip() to flipHorizontal() for consistency
* added debug messages for doCmd()
**v1.08b: 18th February 2014 by JP Liew**
* added verticalFlip(), horizontalFlip()
**v1.07b: 15th February 2014 by JP Liew**
* changed function name stopScroll to scrollStop for consistency
* added contrast function
* added invert function
* added KEYWORD to keywords.txt
* added checkComm() function to communicate with host PC
**v1.06b: 9th February 2014 by JP Liew**
* fixed Slider negative value not working
* added round Gauge widget
* changed Example 3 to show round Gauge
**v1.05b: 6th February 2014 by JP Liew**
* changed MICROVIEW class name to MicroView
* created MICROVIEWWIDGET class
* added routines to draw widget
* added slider widget
* merged MicroViewWidget into MicroView
* merged SPI.h into MicroView
**v1.04b: 3rd February 2014 by JP Liew**
* declared permanent uView variable.
* cleaned code and added some remarks.
* added drawing functions that make use of default color and draw mode.
* added example in README.md
**v1.03b: 1st February 2014 by JP Liew**
* added 7 segment number only font.
**v1.02b: 31th January 2014 by JP Liew**
* added sprite animation demo.
**v1.01b: 30th January 2014 by JP Liew**
* fixed font draw XOR mode bug.
* added analog clock demo.
**v1.00b: 30th January 2014 by JP Liew**
* Initial commit. Beta with minor bugs.

View File

@@ -1,48 +1,44 @@
#include <MicroView.h>
#include <SPI.h>
#include <Time.h>
#define PI 3.141592654
#define clocksize 24
MICROVIEW mv;
uint8_t onDelay=5; // This is the erase delay in milliseconds, if there is no delay, the draw/erase will be too fast to be seen.
uint8_t onDelay=5; // this is the on delay in milliseconds, if there is no on delay, the erase will be too fast to clean up the screen.
void setup() {
mv.begin(); // Begin of MicroView
mv.clear(ALL); // Erase hardware memory inside the OLED controller
mv.display(); // Display the content in the buffer memory, by default it is the MicroView logo
uView.begin(); // begin of MicroView
uView.clear(ALL); // erase hardware memory inside the OLED controller
uView.display(); // display the content in the buffer memory, by default it is the MicroView logo
setTime(10,10,01,17,1,2014);
delay(500);
mv.clear(PAGE); // Erase the memory buffer, when next mv.display() is called, the OLED will be cleared.
uView.clear(PAGE); // erase the memory buffer, when next uView.display() is called, the OLED will be cleared.
}
void loop() {
int i;
static long counter=99999;
static long mSec=millis()+1000;
static double counter=99999;
static unsigned long mSec=millis()+1000;
static uint8_t x0,y0,x1,y1;
static float degresshour,degressmin,degresssec,hourx,houry,minx,miny,secx,secy;
static boolean drawnFirst=false;
mv.setFontType(0); // set font type 0, please see declaration in MicroView.cpp
mv.setCursor(27,0); // points cursor to x=27 y=0
mv.print(12);
mv.setCursor(30,mv.getLCDHeight()-mv.getFontHeight());
mv.print(6);
mv.setCursor(0,mv.getLCDHeight() /2-(mv.getFontHeight()/2));
mv.print(9);
mv.setCursor(mv.getLCDWidth()-mv.getFontWidth(),mv.getLCDWidth()/2-(mv.getFontHeight()/2));
mv.print(3);
mv.display(); // display the memory buffer drawn
uView.setFontType(0); // set font type 0, please see declaration in MicroView.cpp
uView.setCursor(27,0); // points cursor to x=27 y=0
uView.print(12);
uView.setCursor(30,uView.getLCDHeight()-uView.getFontHeight());
uView.print(6);
uView.setCursor(0,uView.getLCDHeight() /2-(uView.getFontHeight()/2));
uView.print(9);
uView.setCursor(uView.getLCDWidth()-uView.getFontWidth(),uView.getLCDWidth()/2-(uView.getFontHeight()/2));
uView.print(3);
uView.display(); // display the memory buffer drawn
while ((second() % 10 )!=0) {
if (mSec!=second()) {
while ((second() % 11 )!=0) {
if (mSec!=(unsigned long)second()) {
if (drawnFirst) {
mv.line(32,24,32+hourx,24+houry,WHITE,XOR);
mv.line(32,24,32+minx,24+miny,WHITE,XOR);
mv.line(32,24,32+secx,24+secy,WHITE,XOR);
uView.line(32,24,32+hourx,24+houry,WHITE,XOR);
uView.line(32,24,32+minx,24+miny,WHITE,XOR);
uView.line(32,24,32+secx,24+secy,WHITE,XOR);
}
degresshour = (((hour() * 360) / 12) + 270) * (PI / 180);
@@ -59,103 +55,103 @@ void loop() {
secy = sin(degresssec) * (clocksize / 1.1);
mv.line(32,24,32+hourx,24+houry,WHITE,XOR);
mv.line(32,24,32+minx,24+miny,WHITE,XOR);
mv.line(32,24,32+secx,24+secy,WHITE,XOR);
uView.line(32,24,32+hourx,24+houry,WHITE,XOR);
uView.line(32,24,32+minx,24+miny,WHITE,XOR);
uView.line(32,24,32+secx,24+secy,WHITE,XOR);
drawnFirst=true;
mv.display();
uView.display();
mSec=second();
}
}
drawnFirst=false;
mv.clear(PAGE);
uView.clear(PAGE);
int maxX=40;
onDelay=30;
mv.setFontType(0);
mv.setCursor(0,40);
mv.print(" SPRITE ");
uView.setFontType(0);
uView.setCursor(0,40);
uView.print(" SPRITE ");
for (int x=0; x<maxX;x+=2) {
mv.setFontType(3);
mv.drawChar(x,0,48,WHITE, XOR);
mv.setFontType(4);
mv.drawChar(maxX-x,10,48,WHITE,XOR);
uView.setFontType(4);
uView.drawChar(x,0,48,WHITE, XOR);
uView.setFontType(5);
uView.drawChar(maxX-x,10,48,WHITE,XOR);
mv.setFontType(5);
mv.drawChar(x,32,48,WHITE,XOR);
uView.setFontType(6);
uView.drawChar(x,32,48,WHITE,XOR);
mv.display();
uView.display();
delay(onDelay);
mv.setFontType(3);
mv.drawChar(x,0,48,WHITE, XOR);
mv.setFontType(4);
mv.drawChar(maxX-x,10,48,WHITE,XOR);
mv.setFontType(5);
mv.drawChar(x,32,48,WHITE,XOR);
uView.setFontType(4);
uView.drawChar(x,0,48,WHITE, XOR);
uView.setFontType(5);
uView.drawChar(maxX-x,10,48,WHITE,XOR);
uView.setFontType(6);
uView.drawChar(x,32,48,WHITE,XOR);
mv.display();
mv.setFontType(3);
mv.drawChar(x,0,49,WHITE, XOR);
mv.setFontType(4);
mv.drawChar(maxX-x,10,49,WHITE,XOR);
mv.setFontType(5);
mv.drawChar(x,32,49,WHITE,XOR);
uView.display();
uView.setFontType(4);
uView.drawChar(x,0,49,WHITE, XOR);
uView.setFontType(5);
uView.drawChar(maxX-x,10,49,WHITE,XOR);
uView.setFontType(6);
uView.drawChar(x,32,49,WHITE,XOR);
mv.display();
uView.display();
delay(onDelay);
mv.setFontType(3);
mv.drawChar(x,0,49,WHITE, XOR);
mv.setFontType(4);
mv.drawChar(maxX-x,10,49,WHITE,XOR);
mv.setFontType(5);
mv.drawChar(x,32,49,WHITE,XOR);
mv.display();
uView.setFontType(4);
uView.drawChar(x,0,49,WHITE, XOR);
uView.setFontType(5);
uView.drawChar(maxX-x,10,49,WHITE,XOR);
uView.setFontType(6);
uView.drawChar(x,32,49,WHITE,XOR);
uView.display();
}
for (int x=maxX; x>0;x-=2) {
mv.setFontType(3);
mv.drawChar(x,10,48,WHITE, XOR);
mv.setFontType(4);
mv.drawChar(40-x,0,48,WHITE,XOR);
mv.setFontType(5);
mv.drawChar(x,32,48,WHITE,XOR);
uView.setFontType(4);
uView.drawChar(x,10,48,WHITE, XOR);
uView.setFontType(5);
uView.drawChar(40-x,0,48,WHITE,XOR);
uView.setFontType(6);
uView.drawChar(x,32,48,WHITE,XOR);
mv.display();
uView.display();
delay(onDelay);
mv.setFontType(3);
mv.drawChar(x,10,48,WHITE, XOR);
mv.setFontType(4);
mv.drawChar(40-x,0,48,WHITE,XOR);
mv.setFontType(5);
mv.drawChar(x,32,48,WHITE,XOR);
uView.setFontType(4);
uView.drawChar(x,10,48,WHITE, XOR);
uView.setFontType(5);
uView.drawChar(40-x,0,48,WHITE,XOR);
uView.setFontType(6);
uView.drawChar(x,32,48,WHITE,XOR);
mv.display();
mv.setFontType(3);
mv.drawChar(x,10,49,WHITE, XOR);
mv.setFontType(4);
mv.drawChar(40-x,0,49,WHITE,XOR);
mv.setFontType(5);
mv.drawChar(x,32,49,WHITE,XOR);
uView.display();
uView.setFontType(4);
uView.drawChar(x,10,49,WHITE, XOR);
uView.setFontType(5);
uView.drawChar(40-x,0,49,WHITE,XOR);
uView.setFontType(6);
uView.drawChar(x,32,49,WHITE,XOR);
mv.display();
uView.display();
delay(onDelay);
mv.setFontType(3);
mv.drawChar(x,10,49,WHITE, XOR);
mv.setFontType(4);
mv.drawChar(40-x,0,49,WHITE,XOR);
mv.setFontType(5);
mv.drawChar(x,32,49,WHITE,XOR);
uView.setFontType(4);
uView.drawChar(x,10,49,WHITE, XOR);
uView.setFontType(5);
uView.drawChar(40-x,0,49,WHITE,XOR);
uView.setFontType(6);
uView.drawChar(x,32,49,WHITE,XOR);
mv.display();
uView.display();
}
onDelay=5;
mv.setFontType(0);
mv.setCursor(0,40);
mv.print(" LINE ");
mv.display();
uView.setFontType(0);
uView.setCursor(0,40);
uView.print(" LINE ");
uView.display();
delay(500);
for (i=0; i<150;i++) {
@@ -164,84 +160,106 @@ void loop() {
y0=random(48);
y1=random(48);
mv.line(x0,y0,x1,y1, WHITE, XOR); // draw line from x0,y0 to x1,y1 using WHITE color and XOR draw mode
mv.display();
uView.line(x0,y0,x1,y1, WHITE, XOR); // draw line from x0,y0 to x1,y1 using WHITE color and XOR draw mode
uView.display();
delay(onDelay);
mv.line(x0,y0,x1,y1, WHITE,XOR);
mv.display();
uView.line(x0,y0,x1,y1, WHITE,XOR);
uView.display();
}
mv.setCursor(0,40);
mv.print("RECTANGLE ");
mv.display();
uView.setCursor(0,40);
uView.print("RECTANGLE ");
uView.display();
delay(500);
x0=0;y0=0;x1=0;y1=0;
for (i=1; i<64;i++) {
y1=i;
if (y1>47) y1=47;
mv.rect(x0,y0,i,y1,WHITE,XOR); // draw rectangle from x0,y0 with width of i and height of y1 using WHITE color and XOR draw mode
mv.display();
uView.rect(x0,y0,i,y1,WHITE,XOR); // draw rectangle from x0,y0 with width of i and height of y1 using WHITE color and XOR draw mode
uView.display();
delay(onDelay);
mv.rect(x0,y0,i,y1,WHITE,XOR);
mv.display();
uView.rect(x0,y0,i,y1,WHITE,XOR);
uView.display();
}
mv.setCursor(0,40);
mv.print(" CIRCLE ");
mv.display();
uView.setCursor(0,40);
uView.print(" CIRCLE ");
uView.display();
delay(500);
x0=32;y0=24;
for (i=0;i<32;i++) {
mv.circle(x0,y0,i,WHITE,XOR); // draw circle at x0,y0 with radius of i using WHITE color and XOR draw mode
mv.display();
uView.circle(x0,y0,i,WHITE,XOR); // draw circle at x0,y0 with radius of i using WHITE color and XOR draw mode
uView.display();
delay(onDelay);
mv.circle(x0,y0,i,WHITE,XOR);
mv.display();
uView.circle(x0,y0,i,WHITE,XOR);
uView.display();
delay(onDelay);
}
delay(500);
mv.clear(PAGE);
mv.setCursor(0,40);
mv.print(" Font 0 ");
mv.display();
uView.clear(PAGE);
uView.setCursor(0,40);
uView.print(" Font 0 ");
uView.display();
mv.setFontType(0);
mv.setCursor(0,0);
mv.print("01234567890ABCDabcd01234567890ABCDabcd");
mv.display();
uView.setFontType(0);
uView.setCursor(0,0);
uView.print("01234567890ABCDabcd01234567890ABCDabcd");
uView.display();
delay(1500);
mv.clear(PAGE);
mv.setCursor(0,40);
mv.print(" Font 1 ");
mv.display();
uView.clear(PAGE);
uView.setCursor(0,40);
uView.print(" Font 1 ");
uView.display();
mv.setFontType(1);
mv.setCursor(0,0);
mv.print("0123ABCDabcd");
mv.display();
uView.setFontType(1);
uView.setCursor(0,0);
uView.print("0123ABCDabcd");
uView.display();
delay(1500);
mv.clear(PAGE);
uView.clear(PAGE);
counter=99999;
while (counter>99970) {
if (millis()>=mSec) {
mv.setFontType(2);
mv.setCursor(0,0);
mv.print(counter);
uView.setFontType(3);
uView.setCursor(0,0);
uView.print(counter);
counter--;
mv.display();
uView.display();
mSec=millis()+100;
}
}
mv.clear(PAGE);
uView.clear(PAGE);
counter=19.99;
while (counter<20.2) {
if (millis()>=mSec) {
uView.setFontType(2);
uView.setCursor(0,0);
uView.print(counter + ((int)(counter*100)%20));
uView.setCursor(0,uView.getFontHeight());
uView.print(50-counter);
uView.setCursor(0,(uView.getFontHeight()*2));
uView.print(75+counter+0.02);
counter+=0.01;
uView.display();
mSec=millis()+100;
}
}
uView.clear(PAGE);
}

View File

@@ -0,0 +1,30 @@
#include <MicroView.h>
MicroViewWidget *widget[4]; // declaring an array of 4 MicroViewWidget
void setup() {
uView.begin(); // init and start MicroView
uView.clear(PAGE); // erase the memory buffer, when next uView.display() is called, the OLED will be cleared.
widget[0] = new MicroViewSlider(0,0,0,100); // declare widget0 as a Slider at x=0, y=0, min=0, max=100
widget[1] = new MicroViewSlider(0,10,0,150); // declare widget0 as a Slider at x=0, y=10, min=0, max=150
widget[2] = new MicroViewSlider(0,20,0,50); // declare widget0 as a Slider at x=0, y=20, min=0, max=50
widget[3] = new MicroViewSlider(0,30,0,200); // declare widget0 as a Slider at x=0, y=30, min=0, max=200
}
void loop() {
for (int i=0;i<=100;i++) {
widget[0]->setValue(i); // set value i to widget0
widget[1]->setValue(100-i);
widget[2]->setValue(i);
widget[3]->setValue(100-i);
uView.display();
}
for(int i=100; i>=0;i--) {
widget[0]->setValue(i);
widget[1]->setValue(100-i);
widget[2]->setValue(i);
widget[3]->setValue(100-i);
uView.display();
}
}

View File

@@ -5,167 +5,103 @@
static const unsigned char font8x16[] PROGMEM = {
// first row defines - FONTWIDTH, FONTHEIGHT, ASCII START CHAR, TOTAL CHARACTERS, FONT MAP WIDTH HIGH, FONT MAP WIDTH LOW (2,56 meaning 256)
8,16,0,160,2,56,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x80, 0x80, 0x80, 0x00, 0x00, 0x00,
0x80, 0x80, 0x80, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x80, 0x80, 0x00, 0x00, 0x00,
0x80, 0x80, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00,
0x80, 0x80, 0x80, 0x80, 0x80, 0x00, 0x00, 0x00, 0xC0, 0xE0, 0xE0, 0xC0, 0x00, 0x00, 0x00, 0x00,
0xFC, 0x1C, 0x1C, 0x3C, 0xFC, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x80, 0xE0, 0x28, 0x1C, 0x00, 0x00, 0x00,
0x00, 0x3C, 0xC2, 0x7C, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0xF8, 0x6C, 0x3C, 0x34, 0xFE, 0x00, 0x00, 0x88, 0xF0, 0x0E, 0xF8, 0x80, 0x00, 0x00, 0x00,
0x80, 0x80, 0xFF, 0x80, 0x80, 0x00, 0x00, 0x00, 0x80, 0xC0, 0xE0, 0xF8, 0xFC, 0x00, 0x00, 0x00,
0x00, 0x04, 0xFE, 0x04, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFE, 0x00, 0xFE, 0x00, 0x00, 0x00, 0x00,
0x3C, 0x42, 0xFE, 0x02, 0xFE, 0x00, 0x00, 0x00, 0x80, 0x80, 0xFF, 0x80, 0x80, 0x00, 0x00, 0x00,
0x80, 0x80, 0x80, 0x80, 0x80, 0x00, 0x00, 0x00, 0x80, 0x80, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x08, 0xFE, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x80, 0x80, 0x00, 0x00, 0x00,
0x80, 0x80, 0x80, 0xC0, 0x80, 0x00, 0x00, 0x00, 0xC0, 0xC0, 0x80, 0x80, 0x80, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x7F, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x7F, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x7F, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x03, 0x07, 0x07, 0x03, 0x00, 0x00, 0x00, 0x00,
0x1F, 0x18, 0x18, 0x1C, 0x1F, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x0F, 0x10, 0x0F, 0x00, 0x00, 0x00, 0x00, 0x00,
0x01, 0x01, 0x3F, 0x01, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x38, 0x0F, 0x00, 0x00, 0x0C, 0x07, 0x00, 0x00, 0x08, 0x07, 0x38, 0x0F, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x7F, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x03, 0x0F, 0x1F, 0x00, 0x00, 0x00,
0x00, 0x10, 0x3F, 0x10, 0x00, 0x00, 0x00, 0x00, 0x00, 0x0D, 0x00, 0x0D, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x3F, 0x00, 0x3F, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x7F, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x7F, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x3F, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x7F, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x01, 0x02, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xF8, 0xF8, 0x00, 0x00, 0x00, 0x00, 0x00,
0xF0, 0xF0, 0x00, 0xF0, 0xF0, 0x00, 0x00, 0x00, 0x00, 0xC0, 0xC0, 0xE0, 0xF0, 0xC0, 0xF0, 0xF0,
0xF0, 0xF8, 0xFC, 0xB8, 0x30, 0x00, 0x00, 0x00, 0x70, 0x88, 0x88, 0x70, 0xC0, 0xF0, 0x18, 0x00,
0x00, 0x00, 0x70, 0xF8, 0xD8, 0xF8, 0x70, 0x00, 0xF0, 0xF0, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0xE0, 0xF8, 0x18, 0x00, 0x00, 0x00, 0x00, 0x18, 0xF8, 0xE0, 0x00, 0x00, 0x00, 0x00, 0x00,
0x10, 0xF0, 0x38, 0xF0, 0x10, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xE0, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xF0, 0x18, 0x00, 0x00, 0x00, 0x00,
0xF0, 0xF8, 0x18, 0xF8, 0xF0, 0x00, 0x00, 0x00, 0x00, 0x20, 0x20, 0xF8, 0xF8, 0x00, 0x00, 0x00,
0x70, 0x78, 0x98, 0xF8, 0xF0, 0x00, 0x00, 0x00, 0x30, 0x38, 0x98, 0xF8, 0x70, 0x00, 0x00, 0x00,
0x00, 0xC0, 0x70, 0xF8, 0xF8, 0x00, 0x00, 0x00, 0xF8, 0xF8, 0xD8, 0xD8, 0x98, 0x00, 0x00, 0x00,
0x00, 0xF0, 0xF8, 0xD8, 0xD8, 0x90, 0x00, 0x00, 0x00, 0x18, 0x18, 0x98, 0xF8, 0x38, 0x00, 0x00,
0x70, 0xF8, 0xD8, 0xF8, 0x70, 0x00, 0x00, 0x00, 0xF0, 0xF8, 0x18, 0xF8, 0xF0, 0x00, 0x00, 0x00,
0x00, 0xC0, 0xC0, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xC0, 0xC0, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x80, 0x80, 0x80, 0xC0, 0xC0, 0x00, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80,
0x00, 0x00, 0x60, 0xC0, 0xC0, 0x80, 0x80, 0x80, 0x00, 0x30, 0x38, 0x98, 0xF8, 0x70, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x1B, 0x1B, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x06, 0x1E, 0x1F, 0x07, 0x1E, 0x0F, 0x07, 0x06,
0x0C, 0x1D, 0x3F, 0x1F, 0x0F, 0x00, 0x00, 0x00, 0x00, 0x00, 0x18, 0x0F, 0x03, 0x0E, 0x11, 0x11,
0x00, 0x0E, 0x1F, 0x19, 0x1B, 0x1F, 0x1E, 0x1B, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x1F, 0x7F, 0x60, 0x00, 0x00, 0x00, 0x00, 0x60, 0x7F, 0x1F, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x03, 0x03, 0x03, 0x1F, 0x03, 0x03, 0x03,
0x00, 0x58, 0x38, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x03, 0x03, 0x03, 0x03, 0x00, 0x00, 0x00,
0x00, 0x18, 0x18, 0x00, 0x00, 0x00, 0x00, 0x00, 0x38, 0x07, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x0F, 0x1F, 0x18, 0x1F, 0x0F, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x1F, 0x1F, 0x00, 0x00, 0x00,
0x1C, 0x1E, 0x1F, 0x19, 0x18, 0x00, 0x00, 0x00, 0x0C, 0x1C, 0x19, 0x1F, 0x0F, 0x00, 0x00, 0x00,
0x07, 0x07, 0x06, 0x1F, 0x1F, 0x06, 0x00, 0x00, 0x0D, 0x1D, 0x18, 0x1F, 0x0F, 0x00, 0x00, 0x00,
0x00, 0x0F, 0x1F, 0x18, 0x1F, 0x0F, 0x00, 0x00, 0x00, 0x00, 0x1C, 0x1F, 0x01, 0x00, 0x00, 0x00,
0x0F, 0x1F, 0x18, 0x1F, 0x0F, 0x00, 0x00, 0x00, 0x09, 0x1B, 0x1B, 0x1F, 0x0F, 0x00, 0x00, 0x00,
0x00, 0x18, 0x18, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x58, 0x38, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x03, 0x07, 0x07, 0x04, 0x0C, 0x08, 0x00, 0x0D, 0x0D, 0x0D, 0x0D, 0x0D, 0x0D, 0x0D,
0x00, 0x00, 0x18, 0x08, 0x0C, 0x04, 0x07, 0x07, 0x00, 0x00, 0x1B, 0x1B, 0x00, 0x00, 0x00, 0x00,
0x80, 0x60, 0x10, 0x10, 0xC8, 0xC8, 0x48, 0xC8, 0x00, 0xE0, 0xF8, 0xF8, 0xE0, 0x00, 0x00, 0x00,
0x00, 0xF8, 0xF8, 0x98, 0x98, 0xF8, 0x70, 0x00, 0x00, 0xF0, 0xF8, 0x18, 0x18, 0x78, 0x70, 0x00,
0x00, 0xF8, 0xF8, 0x18, 0x18, 0xF8, 0xF0, 0x00, 0x00, 0xF8, 0xF8, 0x98, 0x98, 0x98, 0x00, 0x00,
0x00, 0xF8, 0xF8, 0x98, 0x98, 0x98, 0x00, 0x00, 0x00, 0xF0, 0xF8, 0x18, 0x18, 0x78, 0x70, 0x00,
0x00, 0xF8, 0xF8, 0x80, 0x80, 0xF8, 0xF8, 0x00, 0x00, 0xF8, 0xF8, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0xF8, 0xF8, 0x00, 0x00, 0x00, 0x00, 0xF8, 0xF8, 0xC0, 0xF8, 0x38, 0x08, 0x00,
0x00, 0xF8, 0xF8, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xF8, 0xF8, 0xF8, 0x80, 0x80, 0xF8, 0xF8,
0x00, 0xF8, 0xF8, 0xF0, 0x80, 0xF8, 0xF8, 0x00, 0x00, 0xF0, 0xF8, 0x18, 0x18, 0xF8, 0xF0, 0x00,
0x00, 0xF8, 0xF8, 0x98, 0x98, 0xF8, 0xF0, 0x00, 0x00, 0xF0, 0xF8, 0x18, 0x18, 0xF8, 0xF0, 0x00,
0x00, 0xF8, 0xF8, 0x98, 0x98, 0xF8, 0x70, 0x00, 0x00, 0x70, 0xF8, 0xD8, 0xB8, 0x30, 0x00, 0x00,
0x18, 0x18, 0xF8, 0xF8, 0x18, 0x18, 0x00, 0x00, 0x00, 0xF8, 0xF8, 0x00, 0x00, 0xF8, 0xF8, 0x00,
0x38, 0xF8, 0xC0, 0xC0, 0xF8, 0x38, 0x00, 0x00, 0x38, 0xF8, 0xC0, 0xF0, 0x78, 0xF0, 0xE0, 0xF8,
0x08, 0x78, 0xF0, 0xF0, 0x78, 0x08, 0x00, 0x00, 0x08, 0x78, 0xF0, 0xF0, 0x78, 0x08, 0x00, 0x00,
0x00, 0x18, 0x18, 0xF8, 0xF8, 0x38, 0x00, 0x00, 0x00, 0xF8, 0xF8, 0x08, 0x00, 0x00, 0x00, 0x00,
0x38, 0xC0, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x08, 0xF8, 0xF8, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x80, 0xC0, 0x70, 0x30, 0x70, 0xC0, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x0F, 0x10, 0x20, 0x47, 0x4F, 0x48, 0x4C, 0x4F, 0x1C, 0x1F, 0x07, 0x07, 0x1F, 0x1C, 0x00, 0x00,
0x00, 0x1F, 0x1F, 0x19, 0x19, 0x1F, 0x0F, 0x00, 0x00, 0x0F, 0x1F, 0x18, 0x18, 0x1E, 0x0E, 0x00,
0x00, 0x1F, 0x1F, 0x18, 0x18, 0x1F, 0x0F, 0x00, 0x00, 0x1F, 0x1F, 0x19, 0x19, 0x19, 0x00, 0x00,
0x00, 0x1F, 0x1F, 0x01, 0x01, 0x01, 0x00, 0x00, 0x00, 0x0F, 0x1F, 0x18, 0x1B, 0x0F, 0x1F, 0x00,
0x00, 0x1F, 0x1F, 0x01, 0x01, 0x1F, 0x1F, 0x00, 0x00, 0x1F, 0x1F, 0x00, 0x00, 0x00, 0x00, 0x00,
0x0E, 0x1E, 0x18, 0x1F, 0x0F, 0x00, 0x00, 0x00, 0x00, 0x1F, 0x1F, 0x01, 0x1F, 0x1E, 0x10, 0x00,
0x00, 0x1F, 0x1F, 0x18, 0x18, 0x18, 0x00, 0x00, 0x00, 0x1F, 0x1F, 0x03, 0x1F, 0x1F, 0x03, 0x1F,
0x00, 0x1F, 0x1F, 0x01, 0x0F, 0x1F, 0x1F, 0x00, 0x00, 0x0F, 0x1F, 0x18, 0x18, 0x1F, 0x0F, 0x00,
0x00, 0x1F, 0x1F, 0x01, 0x01, 0x01, 0x00, 0x00, 0x00, 0x0F, 0x1F, 0x18, 0x18, 0x3F, 0x2F, 0x00,
0x00, 0x1F, 0x1F, 0x01, 0x01, 0x1F, 0x1F, 0x00, 0x00, 0x0E, 0x1E, 0x19, 0x1F, 0x0F, 0x00, 0x00,
0x00, 0x00, 0x1F, 0x1F, 0x00, 0x00, 0x00, 0x00, 0x00, 0x0F, 0x1F, 0x18, 0x18, 0x1F, 0x0F, 0x00,
0x00, 0x07, 0x1F, 0x1F, 0x07, 0x00, 0x00, 0x00, 0x00, 0x07, 0x1F, 0x1F, 0x00, 0x1F, 0x1F, 0x07,
0x10, 0x1E, 0x0F, 0x0F, 0x1E, 0x10, 0x00, 0x00, 0x00, 0x00, 0x1F, 0x1F, 0x00, 0x00, 0x00, 0x00,
0x00, 0x1C, 0x1F, 0x1B, 0x18, 0x18, 0x00, 0x00, 0x00, 0x7F, 0x7F, 0x40, 0x00, 0x00, 0x00, 0x00,
0x00, 0x01, 0x1E, 0x30, 0x00, 0x00, 0x00, 0x00, 0x40, 0x7F, 0x7F, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x00, 0x00,
0x00, 0x08, 0x08, 0x10, 0x00, 0x00, 0x00, 0x00, 0x00, 0x80, 0xC0, 0xC0, 0xC0, 0x80, 0x00, 0x00,
0x00, 0xF8, 0xF8, 0xC0, 0xC0, 0x80, 0x00, 0x00, 0x00, 0x80, 0xC0, 0xC0, 0xC0, 0x80, 0x00, 0x00,
0x00, 0x80, 0xC0, 0xC0, 0xF8, 0xF8, 0x00, 0x00, 0x00, 0x80, 0xC0, 0xC0, 0xC0, 0x80, 0x00, 0x00,
0xC0, 0xF0, 0xF8, 0xC8, 0x00, 0x00, 0x00, 0x00, 0x00, 0x80, 0xC0, 0xC0, 0xC0, 0xC0, 0x00, 0x00,
0x00, 0xF8, 0xF8, 0xC0, 0xC0, 0xC0, 0x00, 0x00, 0x00, 0xD8, 0xD8, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0xD8, 0xD8, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xF8, 0xF8, 0x80, 0xC0, 0x40, 0x00, 0x00,
0x00, 0xF8, 0xF8, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xC0, 0xC0, 0xC0, 0xC0, 0xC0, 0xC0, 0xC0,
0x00, 0xC0, 0xC0, 0xC0, 0xC0, 0xC0, 0x00, 0x00, 0x00, 0x80, 0xC0, 0xC0, 0xC0, 0x80, 0x00, 0x00,
0x00, 0xC0, 0xC0, 0xC0, 0xC0, 0xC0, 0x00, 0x00, 0x00, 0x80, 0xC0, 0xC0, 0xC0, 0xC0, 0x00, 0x00,
0x00, 0xC0, 0xC0, 0xC0, 0x00, 0x00, 0x00, 0x00, 0x00, 0x80, 0xC0, 0x40, 0xC0, 0x80, 0x00, 0x00,
0xC0, 0xF0, 0xF0, 0xC0, 0x00, 0x00, 0x00, 0x00, 0x00, 0xC0, 0xC0, 0x00, 0xC0, 0xC0, 0x00, 0x00,
0xC0, 0xC0, 0x80, 0x80, 0xC0, 0xC0, 0x00, 0x00, 0xC0, 0xC0, 0x00, 0xC0, 0xC0, 0x00, 0xC0, 0xC0,
0x40, 0xC0, 0x00, 0xC0, 0x40, 0x00, 0x00, 0x00, 0xC0, 0xC0, 0x00, 0xC0, 0xC0, 0x00, 0x00, 0x00,
0xC0, 0xC0, 0xC0, 0xC0, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xF0, 0xF0, 0x30, 0x00, 0x00, 0x00,
0x00, 0x00, 0xF8, 0xF8, 0x00, 0x00, 0x00, 0x00, 0x00, 0x30, 0xF0, 0xF0, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x80, 0x80, 0x80, 0x00, 0x00, 0x80, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x1C, 0x1E, 0x1A, 0x1F, 0x1F, 0x00, 0x00,
0x00, 0x1F, 0x1F, 0x18, 0x1F, 0x1F, 0x00, 0x00, 0x00, 0x0F, 0x1F, 0x18, 0x1D, 0x0D, 0x00, 0x00,
0x00, 0x1F, 0x1F, 0x18, 0x1F, 0x1F, 0x00, 0x00, 0x00, 0x0F, 0x1F, 0x1A, 0x1B, 0x0B, 0x00, 0x00,
0x00, 0x1F, 0x1F, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x4F, 0x5F, 0x58, 0x7F, 0x3F, 0x00, 0x00,
0x00, 0x1F, 0x1F, 0x00, 0x1F, 0x1F, 0x00, 0x00, 0x00, 0x1F, 0x1F, 0x00, 0x00, 0x00, 0x00, 0x00,
0x60, 0x7F, 0x3F, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x1F, 0x1F, 0x07, 0x1E, 0x10, 0x00, 0x00,
0x00, 0x1F, 0x1F, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x1F, 0x1F, 0x00, 0x1F, 0x1F, 0x00, 0x1F,
0x00, 0x1F, 0x1F, 0x00, 0x1F, 0x1F, 0x00, 0x00, 0x00, 0x0F, 0x1F, 0x18, 0x1F, 0x0F, 0x00, 0x00,
0x00, 0x7F, 0x7F, 0x18, 0x1F, 0x0F, 0x00, 0x00, 0x00, 0x0F, 0x1F, 0x18, 0x7F, 0x7F, 0x00, 0x00,
0x00, 0x1F, 0x1F, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x0D, 0x1D, 0x13, 0x1E, 0x0E, 0x00, 0x00,
0x00, 0x1F, 0x1F, 0x18, 0x00, 0x00, 0x00, 0x00, 0x00, 0x1F, 0x1F, 0x18, 0x1F, 0x1F, 0x00, 0x00,
0x00, 0x07, 0x1F, 0x1F, 0x07, 0x00, 0x00, 0x00, 0x03, 0x1F, 0x1E, 0x07, 0x07, 0x1E, 0x1F, 0x03,
0x10, 0x1D, 0x07, 0x1D, 0x10, 0x00, 0x00, 0x00, 0x00, 0x7F, 0x7C, 0x1F, 0x00, 0x00, 0x00, 0x00,
0x18, 0x1E, 0x1B, 0x18, 0x00, 0x00, 0x00, 0x00, 0x00, 0x06, 0xFF, 0xFF, 0xC0, 0x00, 0x00, 0x00,
0x00, 0x00, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0xC0, 0xFF, 0xFF, 0x06, 0x00, 0x00, 0x00,
0x00, 0x03, 0x01, 0x01, 0x01, 0x03, 0x03, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0xF0, 0x48, 0x48, 0x08, 0x30, 0x00, 0x00, 0x00, 0xF8, 0x08, 0xF8, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x80, 0xC0, 0xF0, 0xB8, 0x98, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0xC0, 0xC0, 0xF8, 0xF8, 0xC0, 0xC0, 0x00, 0x00, 0xC0, 0xC0, 0xF8, 0xF8, 0xC0, 0xC0, 0x00, 0x00,
0x00, 0x10, 0x08, 0x08, 0x10, 0x00, 0x00, 0x00, 0x70, 0x88, 0x88, 0xF0, 0xF0, 0x38, 0x00, 0x00,
0x00, 0x72, 0xFC, 0xDC, 0xBA, 0x30, 0x00, 0x00, 0x00, 0x00, 0x80, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0xF0, 0xF8, 0x18, 0x18, 0xF0, 0xF8, 0x98, 0xF8, 0x08, 0xF8, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x1A, 0x1C, 0xFC, 0xFA, 0x38, 0x00, 0x00, 0xF8, 0x08, 0xF8, 0x00, 0x00, 0x00, 0x00, 0x00,
0xF8, 0x08, 0xF8, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x70, 0x68, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x58, 0x38, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x70, 0x68, 0x00, 0x70, 0x68, 0x00, 0x00,
0x00, 0x58, 0x38, 0x00, 0x58, 0x38, 0x00, 0x00, 0x00, 0x00, 0xC0, 0xC0, 0xC0, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x10, 0x10, 0x10, 0x10, 0x00, 0x00, 0x00, 0x00, 0x10, 0xF0, 0x10, 0x00, 0xF0, 0x70, 0xC0,
0x00, 0x88, 0xD0, 0x50, 0xC8, 0x80, 0x00, 0x00, 0x00, 0x80, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x80, 0xC0, 0xC0, 0xC0, 0xC0, 0xC0, 0xC0, 0xF8, 0x08, 0xF8, 0x00, 0x00, 0x00, 0x00, 0x00,
0xC8, 0xD0, 0xD0, 0xC8, 0x00, 0x00, 0x00, 0x00, 0x08, 0x78, 0xF6, 0xF0, 0x7E, 0x08, 0x00, 0x00,
0x0F, 0x11, 0x10, 0x10, 0x0C, 0x00, 0x00, 0x00, 0x1F, 0x10, 0x1F, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x58, 0x38, 0x00, 0x00, 0x00, 0x00, 0x00, 0x60, 0x78, 0x3F, 0x0F, 0x00, 0x00, 0x00, 0x00,
0x00, 0x58, 0x38, 0x00, 0x58, 0x38, 0x00, 0x00, 0x00, 0x18, 0x18, 0x00, 0x00, 0x18, 0x18, 0x00,
0x00, 0x00, 0x7F, 0x7F, 0x00, 0x00, 0x00, 0x00, 0x0C, 0x0C, 0x7F, 0x7F, 0x0C, 0x0C, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x1C, 0x0F, 0x0F, 0x11, 0x11, 0x0E,
0x00, 0x0E, 0x1E, 0x19, 0x1F, 0x0F, 0x00, 0x00, 0x00, 0x07, 0x0D, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x0F, 0x1F, 0x18, 0x18, 0x0F, 0x1F, 0x19, 0x1F, 0x10, 0x1F, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x1C, 0x1F, 0x1B, 0x18, 0x18, 0x00, 0x00, 0x1F, 0x10, 0x1F, 0x00, 0x00, 0x00, 0x00, 0x00,
0x1F, 0x10, 0x1F, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x03, 0x01, 0x00, 0x00, 0x00,
0x02, 0x02, 0x02, 0x02, 0x02, 0x02, 0x00, 0x00, 0x02, 0x02, 0x02, 0x02, 0x02, 0x02, 0x02, 0x02,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x0D, 0x1D, 0x13, 0x1E, 0x0E, 0x00, 0x00, 0x00, 0x0D, 0x07, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x0F, 0x1F, 0x18, 0x1F, 0x1F, 0x1A, 0x1B, 0x1F, 0x10, 0x1F, 0x00, 0x00, 0x00, 0x00, 0x00,
0x18, 0x1E, 0x1B, 0x18, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x1F, 0x1F, 0x00, 0x00, 0x00, 0x00
8,16,32,96,2,56,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFE, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x0E, 0x00, 0x0E, 0x00, 0x00, 0x00, 0x00, 0xD0, 0xBE, 0x90, 0xD0, 0xBE, 0x90, 0x00,
0x00, 0x1C, 0x62, 0xFF, 0xC2, 0x80, 0x00, 0x00, 0x0C, 0x12, 0x92, 0x4C, 0xB0, 0x88, 0x06, 0x00,
0x80, 0x7C, 0x62, 0xB2, 0x1C, 0xC0, 0x00, 0x00, 0x00, 0x00, 0x0E, 0x0E, 0x00, 0x00, 0x00, 0x00,
0x00, 0xE0, 0x18, 0x04, 0x02, 0x02, 0x00, 0x00, 0x00, 0x02, 0x02, 0x04, 0x18, 0xE0, 0x00, 0x00,
0x00, 0x24, 0x18, 0x7E, 0x18, 0x24, 0x00, 0x00, 0x80, 0x80, 0x80, 0xF0, 0x80, 0x80, 0x80, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x80, 0x80, 0x80, 0x80, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x80, 0x60, 0x18, 0x06, 0x00, 0x00,
0xF8, 0x04, 0xC2, 0x32, 0x0C, 0xF8, 0x00, 0x00, 0x00, 0x04, 0x04, 0xFE, 0x00, 0x00, 0x00, 0x00,
0x00, 0x02, 0x82, 0x42, 0x22, 0x1C, 0x00, 0x00, 0x00, 0x02, 0x22, 0x22, 0x22, 0xDC, 0x00, 0x00,
0xC0, 0xA0, 0x98, 0x84, 0xFE, 0x80, 0x80, 0x00, 0x00, 0x1E, 0x12, 0x12, 0x22, 0xC2, 0x00, 0x00,
0xF8, 0x44, 0x22, 0x22, 0x22, 0xC0, 0x00, 0x00, 0x00, 0x02, 0x02, 0xC2, 0x32, 0x0A, 0x06, 0x00,
0x00, 0x8C, 0x52, 0x22, 0x52, 0x8C, 0x00, 0x00, 0x3C, 0x42, 0x42, 0x42, 0x26, 0xF8, 0x00, 0x00,
0x00, 0x00, 0x30, 0x30, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x30, 0x30, 0x00, 0x00, 0x00, 0x00,
0x80, 0x80, 0x40, 0x40, 0x20, 0x20, 0x10, 0x00, 0x40, 0x40, 0x40, 0x40, 0x40, 0x40, 0x00, 0x00,
0x10, 0x20, 0x20, 0x40, 0x40, 0x80, 0x80, 0x00, 0x00, 0x02, 0x82, 0x42, 0x22, 0x1C, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x05, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x07, 0x00, 0x00, 0x07, 0x00, 0x00, 0x00,
0x00, 0x04, 0x04, 0x0F, 0x04, 0x03, 0x00, 0x00, 0x04, 0x02, 0x01, 0x03, 0x04, 0x04, 0x03, 0x00,
0x03, 0x04, 0x04, 0x04, 0x05, 0x03, 0x04, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x03, 0x06, 0x08, 0x10, 0x10, 0x00, 0x00, 0x00, 0x10, 0x10, 0x08, 0x06, 0x03, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x07, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x16, 0x0E, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x06, 0x06, 0x00, 0x00, 0x00, 0x00, 0x04, 0x02, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00,
0x01, 0x03, 0x04, 0x04, 0x02, 0x01, 0x00, 0x00, 0x00, 0x04, 0x04, 0x07, 0x04, 0x04, 0x00, 0x00,
0x00, 0x07, 0x04, 0x04, 0x04, 0x04, 0x00, 0x00, 0x00, 0x04, 0x04, 0x04, 0x04, 0x03, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x07, 0x00, 0x00, 0x00, 0x00, 0x04, 0x04, 0x04, 0x04, 0x03, 0x00, 0x00,
0x01, 0x02, 0x04, 0x04, 0x04, 0x03, 0x00, 0x00, 0x00, 0x00, 0x07, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x03, 0x04, 0x04, 0x04, 0x03, 0x00, 0x00, 0x00, 0x04, 0x04, 0x04, 0x02, 0x01, 0x00, 0x00,
0x00, 0x00, 0x06, 0x06, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x16, 0x0E, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x01, 0x01, 0x02, 0x02, 0x04, 0x00, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x00, 0x00,
0x04, 0x02, 0x02, 0x01, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x05, 0x00, 0x00, 0x00, 0x00, 0x00,
0xF8, 0x04, 0x72, 0x8A, 0xFA, 0x84, 0x78, 0x00, 0x00, 0xC0, 0x38, 0x06, 0x38, 0xC0, 0x00, 0x00,
0x00, 0xFE, 0x22, 0x22, 0x22, 0xDC, 0x00, 0x00, 0xF8, 0x04, 0x02, 0x02, 0x02, 0x02, 0x00, 0x00,
0xFE, 0x02, 0x02, 0x02, 0x04, 0xF8, 0x00, 0x00, 0x00, 0xFE, 0x22, 0x22, 0x22, 0x22, 0x00, 0x00,
0x00, 0xFE, 0x22, 0x22, 0x22, 0x22, 0x00, 0x00, 0xF8, 0x04, 0x02, 0x02, 0x22, 0xE2, 0x00, 0x00,
0xFE, 0x20, 0x20, 0x20, 0x20, 0xFE, 0x00, 0x00, 0x00, 0x02, 0x02, 0xFE, 0x02, 0x02, 0x00, 0x00,
0x00, 0x00, 0x00, 0x02, 0x02, 0xFE, 0x00, 0x00, 0xFE, 0x40, 0xB0, 0x08, 0x04, 0x02, 0x00, 0x00,
0x00, 0xFE, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFE, 0x0C, 0x70, 0x80, 0x70, 0x0C, 0xFE, 0x00,
0xFE, 0x0C, 0x30, 0xC0, 0x00, 0xFE, 0x00, 0x00, 0xF8, 0x04, 0x02, 0x02, 0x04, 0xF8, 0x00, 0x00,
0xFE, 0x42, 0x42, 0x42, 0x22, 0x1C, 0x00, 0x00, 0xF8, 0x04, 0x02, 0x02, 0x04, 0xF8, 0x00, 0x00,
0x00, 0xFE, 0x42, 0x42, 0xA2, 0x1C, 0x00, 0x00, 0x00, 0x1C, 0x22, 0x42, 0x42, 0x80, 0x00, 0x00,
0x02, 0x02, 0x02, 0xFE, 0x02, 0x02, 0x02, 0x00, 0xFE, 0x00, 0x00, 0x00, 0x00, 0xFE, 0x00, 0x00,
0x06, 0x38, 0xC0, 0x00, 0xC0, 0x38, 0x06, 0x00, 0x3E, 0xC0, 0xF0, 0x0E, 0xF0, 0xC0, 0x3E, 0x00,
0x00, 0x06, 0x98, 0x60, 0x98, 0x06, 0x00, 0x00, 0x00, 0x06, 0x18, 0xE0, 0x18, 0x06, 0x00, 0x00,
0x02, 0x02, 0xC2, 0x32, 0x0A, 0x06, 0x00, 0x00, 0x00, 0x00, 0xFE, 0x02, 0x02, 0x02, 0x02, 0x00,
0x00, 0x06, 0x18, 0x60, 0x80, 0x00, 0x00, 0x00, 0x02, 0x02, 0x02, 0x02, 0xFE, 0x00, 0x00, 0x00,
0x40, 0x30, 0x0C, 0x0C, 0x30, 0x40, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x01, 0x02, 0x04, 0x04, 0x04, 0x00, 0x00, 0x00, 0x06, 0x01, 0x01, 0x01, 0x01, 0x01, 0x06, 0x00,
0x00, 0x07, 0x04, 0x04, 0x04, 0x03, 0x00, 0x00, 0x01, 0x02, 0x04, 0x04, 0x04, 0x04, 0x00, 0x00,
0x07, 0x04, 0x04, 0x04, 0x02, 0x01, 0x00, 0x00, 0x00, 0x07, 0x04, 0x04, 0x04, 0x04, 0x00, 0x00,
0x00, 0x07, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x02, 0x04, 0x04, 0x04, 0x07, 0x00, 0x00,
0x07, 0x00, 0x00, 0x00, 0x00, 0x07, 0x00, 0x00, 0x00, 0x04, 0x04, 0x07, 0x04, 0x04, 0x00, 0x00,
0x00, 0x04, 0x04, 0x04, 0x04, 0x03, 0x00, 0x00, 0x07, 0x00, 0x00, 0x01, 0x02, 0x04, 0x00, 0x00,
0x00, 0x07, 0x04, 0x04, 0x04, 0x04, 0x00, 0x00, 0x07, 0x00, 0x00, 0x01, 0x00, 0x00, 0x07, 0x00,
0x07, 0x00, 0x00, 0x00, 0x03, 0x07, 0x00, 0x00, 0x01, 0x02, 0x04, 0x04, 0x02, 0x01, 0x00, 0x00,
0x07, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x02, 0x04, 0x0C, 0x12, 0x11, 0x10, 0x00,
0x00, 0x07, 0x00, 0x00, 0x01, 0x06, 0x00, 0x00, 0x00, 0x04, 0x04, 0x04, 0x04, 0x03, 0x00, 0x00,
0x00, 0x00, 0x00, 0x07, 0x00, 0x00, 0x00, 0x00, 0x03, 0x04, 0x04, 0x04, 0x04, 0x03, 0x00, 0x00,
0x00, 0x00, 0x01, 0x06, 0x01, 0x00, 0x00, 0x00, 0x00, 0x07, 0x00, 0x00, 0x00, 0x07, 0x00, 0x00,
0x00, 0x06, 0x01, 0x00, 0x01, 0x06, 0x00, 0x00, 0x00, 0x00, 0x00, 0x07, 0x00, 0x00, 0x00, 0x00,
0x06, 0x05, 0x04, 0x04, 0x04, 0x04, 0x00, 0x00, 0x00, 0x00, 0x1F, 0x10, 0x10, 0x10, 0x10, 0x00,
0x00, 0x00, 0x00, 0x00, 0x01, 0x02, 0x04, 0x00, 0x10, 0x10, 0x10, 0x10, 0x1F, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x08, 0x08, 0x08, 0x08, 0x08, 0x08, 0x00, 0x00,
0x00, 0x00, 0x02, 0x04, 0x00, 0x00, 0x00, 0x00, 0x00, 0xE0, 0x10, 0x10, 0x10, 0xF0, 0x00, 0x00,
0x00, 0xFE, 0x20, 0x10, 0x10, 0xE0, 0x00, 0x00, 0x00, 0xE0, 0x10, 0x10, 0x10, 0x10, 0x00, 0x00,
0x00, 0xE0, 0x10, 0x10, 0x10, 0xFE, 0x00, 0x00, 0x00, 0xE0, 0x90, 0x90, 0x90, 0xE0, 0x00, 0x00,
0x00, 0x20, 0xFC, 0x22, 0x22, 0x22, 0x02, 0x00, 0x00, 0xE0, 0x10, 0x10, 0x10, 0xF0, 0x00, 0x00,
0x00, 0xFE, 0x20, 0x10, 0x10, 0xE0, 0x00, 0x00, 0x10, 0x10, 0xF2, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x10, 0x10, 0x10, 0xF2, 0x00, 0x00, 0x00, 0x00, 0xFE, 0x80, 0x40, 0x20, 0x10, 0x00, 0x00,
0x00, 0x02, 0x02, 0xFE, 0x00, 0x00, 0x00, 0x00, 0xF0, 0x20, 0x10, 0xF0, 0x20, 0x10, 0xF0, 0x00,
0x00, 0xF0, 0x20, 0x10, 0x10, 0xE0, 0x00, 0x00, 0x00, 0xE0, 0x10, 0x10, 0x10, 0xE0, 0x00, 0x00,
0x00, 0xF0, 0x20, 0x10, 0x10, 0xE0, 0x00, 0x00, 0x00, 0xE0, 0x10, 0x10, 0x10, 0xF0, 0x00, 0x00,
0x00, 0xF0, 0x20, 0x10, 0x10, 0x70, 0x00, 0x00, 0x00, 0x60, 0x90, 0x90, 0x90, 0x20, 0x00, 0x00,
0x00, 0x20, 0x20, 0xFC, 0x20, 0x20, 0x20, 0x00, 0x00, 0xF0, 0x00, 0x00, 0x00, 0xF0, 0x00, 0x00,
0x00, 0x70, 0x80, 0x00, 0x80, 0x70, 0x00, 0x00, 0xF0, 0x00, 0xC0, 0x30, 0xC0, 0x00, 0xF0, 0x00,
0x00, 0x30, 0xC0, 0xC0, 0x30, 0x00, 0x00, 0x00, 0x00, 0x30, 0xC0, 0x00, 0x80, 0x70, 0x00, 0x00,
0x00, 0x10, 0x10, 0x90, 0x50, 0x30, 0x00, 0x00, 0x00, 0x80, 0x80, 0x7E, 0x02, 0x02, 0x00, 0x00,
0x00, 0x00, 0x00, 0xFE, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0x02, 0x7E, 0x80, 0x80, 0x00, 0x00,
0x00, 0x80, 0x80, 0x00, 0x00, 0x00, 0x80, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x03, 0x04, 0x04, 0x02, 0x07, 0x00, 0x00,
0x00, 0x07, 0x04, 0x04, 0x04, 0x03, 0x00, 0x00, 0x00, 0x03, 0x04, 0x04, 0x04, 0x04, 0x00, 0x00,
0x00, 0x03, 0x04, 0x04, 0x02, 0x07, 0x00, 0x00, 0x00, 0x03, 0x04, 0x04, 0x04, 0x04, 0x00, 0x00,
0x00, 0x00, 0x07, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x33, 0x24, 0x24, 0x22, 0x1F, 0x00, 0x00,
0x00, 0x07, 0x00, 0x00, 0x00, 0x07, 0x00, 0x00, 0x00, 0x00, 0x07, 0x04, 0x04, 0x00, 0x00, 0x00,
0x20, 0x20, 0x20, 0x20, 0x1F, 0x00, 0x00, 0x00, 0x00, 0x07, 0x00, 0x01, 0x02, 0x04, 0x00, 0x00,
0x00, 0x00, 0x00, 0x07, 0x04, 0x04, 0x00, 0x00, 0x07, 0x00, 0x00, 0x07, 0x00, 0x00, 0x07, 0x00,
0x00, 0x07, 0x00, 0x00, 0x00, 0x07, 0x00, 0x00, 0x00, 0x03, 0x04, 0x04, 0x04, 0x03, 0x00, 0x00,
0x00, 0x3F, 0x04, 0x04, 0x04, 0x03, 0x00, 0x00, 0x00, 0x03, 0x04, 0x04, 0x02, 0x3F, 0x00, 0x00,
0x00, 0x07, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0x04, 0x04, 0x04, 0x03, 0x00, 0x00,
0x00, 0x00, 0x00, 0x03, 0x04, 0x04, 0x04, 0x00, 0x00, 0x03, 0x04, 0x04, 0x02, 0x07, 0x00, 0x00,
0x00, 0x00, 0x03, 0x04, 0x03, 0x00, 0x00, 0x00, 0x01, 0x06, 0x01, 0x00, 0x01, 0x06, 0x01, 0x00,
0x00, 0x06, 0x01, 0x01, 0x06, 0x00, 0x00, 0x00, 0x20, 0x20, 0x31, 0x0E, 0x03, 0x00, 0x00, 0x00,
0x00, 0x06, 0x05, 0x04, 0x04, 0x04, 0x00, 0x00, 0x00, 0x00, 0x00, 0x1F, 0x10, 0x10, 0x00, 0x00,
0x00, 0x00, 0x00, 0x07, 0x00, 0x00, 0x00, 0x00, 0x00, 0x10, 0x10, 0x1F, 0x00, 0x00, 0x00, 0x00,
0x01, 0x00, 0x00, 0x01, 0x01, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
};
#endif

View File

@@ -7,18 +7,75 @@
#######################################
MICROVIEW KEYWORD1
uView KEYWORD1
MicroViewWidget KEYWORD1
MicroViewSlider KEYWORD1
MicroViewGauge KEYWORD1
#######################################
# Methods and Functions (KEYWORD2)
#######################################
begin KEYWORD2
invert KEYWORD2
clear KEYWORD2
home KEYWORD2
invert KEYWORD2
contrast KEYWORD2
display KEYWORD2
setCursor KEYWORD2
pixel KEYWORD2
line KEYWORD2
lineH KEYWORD2
lineV KEYWORD2
rect KEYWORD2
rectFill KEYWORD2
circle KEYWORD2
circleFill KEYWORD2
drawChar KEYWORD2
getLCDWidth KEYWORD2
getLCDHeight KEYWORD2
setColor KEYWORD2
setDrawMode KEYWORD2
getFontWidth KEYWORD2
getFontHeight KEYWORD2
getTotalFonts KEYWORD2
getFontType KEYWORD2
setFontType KEYWORD2
getFontStartChar KEYWORD2
getFontTotalChar KEYWORD2
scrollRight KEYWORD2
scrollLeft KEYWORD2
scrollVertRight KEYWORD2
scrollVertLeft KEYWORD2
scrollStop KEYWORD2
flipVertical KEYWORD2
flipHorizontal KEYWORD2
getX KEYWORD2
getY KEYWORD2
setX KEYWORD2
setY KEYWORD2
getMinValue KEYWORD2
getMaxValue KEYWORD2
setMaxValue KEYWORD2
setMinValue KEYWORD2
setValue KEYWORD2
draw KEYWORD2
drawFace KEYWORD2
checkComm KEYWORD2
#######################################
# Constants (LITERAL1)
#######################################
BLACK LITERAL1
WHITE LITERAL1
NORM LITERAL1
XOR LITERAL1
PAGE LITERAL1
ALL LITERAL1
WIDGETSTYLE0 LITERAL1
WIDGETSTYLE1 LITERAL1
WIDGETSTYLE2 LITERAL1