Prototipe
Dependents: LPC1768_Noritake_SC16IS752 LPC1768_Noritake_v5-2 08_SCT_menu
query.h
- Committer:
- irsanjul
- Date:
- 2016-08-10
- Revision:
- 0:cbd2824917b1
- Child:
- 1:1a088a2b53ec
File content as of revision 0:cbd2824917b1:
#ifndef QUERY_H #define QUERY_H #include "SC16IS752.h" #define NORITAKE_VFD_MODEL_CLASS 7000 #define NORITAKE_VFD_WIDTH 128 #define NORITAKE_VFD_HEIGHT 64 #define NORITAKE_VFD_LINES (NORITAKE_VFD_HEIGHT/8) //#define NORITAKE_VFD_GENERATION 'B' #define NORITAKE_VFD_RESET_DELAY 500 #define NORITAKE_BAUD_DEF 38400 #define pgm_read_byte(p) (*(uint8_t*)p) enum ImageMemoryArea { FlashImageArea = 1, ScreenImageArea = 2 }; enum ScrollMode { WrappingMode = 1, VertScrollMode = 2, HorizScrollMode = 3 }; enum CompositionMode { NormalCompositionMode = 0, OrCompositionMode = 1, AndCompositionMode = 2, XorCompositionMode = 3 }; enum ScreenSaver { AllDotsOffSaver = 2, AllDotsOnSaver = 3, InvertSaver = 4 }; enum LEDColor { NoLight = 0x000, BlueLight = 0x00f, GreenLight = 0x0f0, CyanLight = 0x0ff, RedLight = 0xf00, MagentaLight = 0xf0f, SmokeLight = 0xfff }; enum FontFormat { GU70005x7Format =0, GU70007x8Format =1, CUUFormat = 2, LCDFormat = CUUFormat }; enum AsciiVariant { AmericaAscii = 0, FranceAscii = 1, GermanyAscii = 2, EnglandAscii = 3, Denmark1Ascii = 4, SweedenAscii = 5, ItalyAscii = 6, Spain1Ascii = 7, JapanAscii = 8, NorwayAscii = 9, Denmark2Ascii = 10, Spain2Ascii = 11, LatinAmericaAscii = 12, KoreaAscii = 13 }; enum Charset { CP437 = 0, EuroStdCharset = CP437, Katakana = 1, CP850 = 2, MultilingualCharset = CP850, CP860 = 3, PortugeseCharset = CP860, CP863 = 4, CanadianFrenchCharset = CP863, CP865 = 5, NordicCharset = CP865, CP1252 = 0x10, CP866 = 0x11, Cyrillic2Charset = CP866, CP852 = 0x12, Latin2Charset = CP852, CP858 = 0x13 }; class Noritake_VFD_GU7000 { void initialState(); void printNumber(unsigned long number, uint8_t base); void printNumber(unsigned x, uint8_t y, unsigned long number, uint8_t base); void command(uint8_t data); void us_command(uint8_t group, uint8_t cmd); void command(uint8_t prefix, uint8_t group, uint8_t cmd); void command_xy(unsigned x, unsigned y); void command_xy1(unsigned x, unsigned y); void crlf(); public: void GU7000_back(); void GU7000_forward(); void GU7000_lineFeed(); void GU7000_home(); void GU7000_carriageReturn(); void GU7000_setCursor(unsigned x, unsigned y); void GU7000_clearScreen(); void GU7000_cursorOn(); void GU7000_cursorOff(); void GU7000_init(); void GU7000_reset(); void GU7000_useMultibyteChars(bool enable); void GU7000_setMultibyteCharset(uint8_t code); void GU7000_useCustomChars(bool enable); void GU7000_defineCustomChar(uint8_t code, FontFormat format, const uint8_t *data); void GU7000_deleteCustomChar(uint8_t code); void GU7000_setAsciiVariant(AsciiVariant code); void GU7000_setCharset(Charset code); void GU7000_setScrollMode(ScrollMode mode); void GU7000_setHorizScrollSpeed(uint8_t speed); void GU7000_invertOn(); void GU7000_invertOff(); void GU7000_setCompositionMode(CompositionMode mode); void GU7000_setScreenBrightness(unsigned level); void GU7000_wait(uint8_t time); void GU7000_scrollScreen(unsigned x, unsigned y, unsigned count, uint8_t speed); void GU7000_blinkScreen(); void GU7000_blinkScreen(bool enable, bool reverse, uint8_t on, uint8_t off, uint8_t times); void GU7000_displayOn(); void GU7000_displayOff(); void GU7000_screenSaver(ScreenSaver mode); void GU7000_drawImage(unsigned width, uint8_t height, const uint8_t *data); void GU7000_drawFROMImage(unsigned long address, uint8_t srcHeight, unsigned width, uint8_t height); void GU7000_setFontStyle(bool proportional, bool evenSpacing); void GU7000_setFontSize(uint8_t x, uint8_t y, bool tall); void GU7000_selectWindow(uint8_t window); void GU7000_defineWindow(uint8_t window, unsigned x, unsigned y, unsigned width, unsigned height); void GU7000_deleteWindow(uint8_t window); void GU7000_joinScreens(); void GU7000_separateScreens(); void GU7000_setBacklightColor(uint8_t r, uint8_t g, uint8_t b); void GU7000_setBacklightColor(unsigned rgb); void print(char c); void print(const char *str, ...); void print(const char *buffer, size_t size); void print(int number, uint8_t base); void print(unsigned number, uint8_t base); void print(long number, uint8_t base); void print(unsigned long number, uint8_t base); void println(char c); void println(const char *str); void println(const char *buffer, size_t size); void println(int number, uint8_t base); void println(unsigned number, uint8_t base); void println(long number, uint8_t base); void println(unsigned long number, uint8_t base); void GU7000_fillRect(unsigned x0, unsigned y0, unsigned x1, unsigned y1, bool on=true); void print(unsigned x, uint8_t y, char c); void print(unsigned x, uint8_t y, const char *str); void print(unsigned x, uint8_t y, const char *buffer, uint8_t len); void print(unsigned x, uint8_t y, int number, uint8_t base); void print(unsigned x, uint8_t y, unsigned number, uint8_t base); void GU7000_drawImage(unsigned x, uint8_t y, unsigned width, uint8_t height, const uint8_t *data); void GU7000_drawImage(unsigned x, uint8_t y, ImageMemoryArea area, unsigned long address, uint8_t srcHeight, unsigned width, uint8_t height, unsigned offsetx, unsigned offsety); void GU7000_drawImage(unsigned x, uint8_t y, ImageMemoryArea area, unsigned long address, unsigned width, uint8_t height); void print_p(const char *str); void print_p(unsigned x, uint8_t y, const char *str); void print_p(unsigned x, uint8_t y, const char *buffer, uint8_t len); void GU7000_drawImage_p(unsigned width, uint8_t height, const uint8_t *data); void GU7000_drawImage_p(unsigned x, uint8_t y, unsigned width, uint8_t height, const uint8_t *data); Noritake_VFD_GU7000(PinName sda, PinName scl); protected: private: SC16IS752 uart; void writePort(uint8_t data); void hardReset(); }; /* class noritake_i2c : public Noritake_VFD_GU7000 { public: noritake_i2c(PinName sda, PinName scl); virtual ~noritake_i2c(); void writePort(uint8_t data); void hardReset(); private: SC16IS752 i2c; uint8_t _slaveAddress; }; */ #endif