mirror of
https://github.com/Valeh2012/PersonalVotingMachine
synced 2025-12-08 01:55:13 +02:00
first commit
This commit is contained in:
128
basic-setup/components/u8g2/doc/controller_cmds.txt
Normal file
128
basic-setup/components/u8g2/doc/controller_cmds.txt
Normal file
@@ -0,0 +1,128 @@
|
||||
|
||||
Command comparison between ST7565, NT7534, IST3020, SPLC502, SSD1815, UC1701 and ST7567 display controller
|
||||
|
||||
Note: For multi-byte sequences, only the first byte is considered.
|
||||
|
||||
use monospaced font for this txt file
|
||||
|
||||
ST7565 ST7565 NT7534 UC1701 ST7567 IST3020 SPLC502 SSD1815 UC1601s ST7567
|
||||
1.0a/2002 1.7c/2009 0.6/2007 1.2a/2016
|
||||
|
||||
0x000 00000000 Lo Col Lo Col Lo Col Lo Col Lo Col Lo Col Lo Col Lo Col Lo Col Lo Col
|
||||
...
|
||||
0x00f 00001111 Lo Col Lo Col Lo Col Lo Col Lo Col Lo Col Lo Col Lo Col Lo Col Lo Col
|
||||
0x010 00010000 Hi Col Hi Col Hi Col Hi Col Hi Col Hi Col Hi Col Hi Col Hi Col Hi Col
|
||||
...
|
||||
0x01f 00011111 Hi Col Hi Col Hi Col Hi Col Hi Col Hi Col Hi Col Hi Col Hi Col Hi Col
|
||||
0x020 00100000 Res Ratio Res Ratio Res Ratio Res Ratio Res Ratio Res Ratio Res Ratio Res Ratio - Reg Ratio
|
||||
...
|
||||
0x023 00100011 Res Ratio Res Ratio Res Ratio Res Ratio Res Ratio Res Ratio Res Ratio Res Ratio - Reg Ratio
|
||||
0x024 00100100 Res Ratio Res Ratio Res Ratio Res Ratio Res Ratio Res Ratio Res Ratio Res Ratio Temp Ctl Reg Ratio
|
||||
...
|
||||
0x027 00100111 Res Ratio Res Ratio Res Ratio Res Ratio Res Ratio Res Ratio Res Ratio Res Ratio Temp Ctl Reg Ratio
|
||||
0x028 00101000 Pwr Ctrl Pwr Ctrl Pwr Ctrl Pwr Ctrl Pwr Ctrl Pwr Ctrl Pwr Ctrl Pwr Ctrl Pwr Ctrl Pwr Ctrl
|
||||
...
|
||||
0x02f 00101111 Pwr Ctrl Pwr Ctrl Pwr Ctrl Pwr Ctrl Pwr Ctrl Pwr Ctrl Pwr Ctrl Pwr Ctrl Pwr Ctrl Pwr Ctrl
|
||||
0x030 00110000 - - PM Duty - - Rev. Line - - Adv Prg Ctl -
|
||||
0x030 00110001 - - PM Duty - - Rev. Line - - Adv Prg Ctl -
|
||||
0x030 00110010 - - PM Duty - - Rev. Line - - - -
|
||||
... - - ... - - - -
|
||||
0x037 00110111 - - PM Duty - - Rev. Line - - - -
|
||||
0x038 00111000 - - PM Bias - - Rev. Line - - - -
|
||||
... - - ... - - - -
|
||||
0x03f 00111111 - - PM Bias - - Rev. Line - - - -
|
||||
0x040 01000000 Start Line Start Line Start Line Scroll Line? Start Line DDRAM Line Start Line Start Line Scroll Line Start Line
|
||||
...
|
||||
0x07f 01111111 Start Line Start Line Start Line Scroll Line? Start Line DDRAM Line Start Line Start Line Scroll Line Start Line
|
||||
0x080 10000000 - - - - - - - - - -
|
||||
0x081 10000001 Contrast Contrast Contrast Contrast Contrast Contrast Contrast Contrast Contrast Contrast
|
||||
0x082 10000010 - - Part. Mode - - - - - -
|
||||
0x083 10000011 - - Part. Mode - - - - - -
|
||||
0x084 10000100 - - Stop NL Inv - - - - - Partial Ctl Stop NL Inv
|
||||
0x085 10000101 - - Start NL Inv - - - - - Partial Ctl Start NL Inv
|
||||
0x086 10000110 - - - - - - - - Partial Ctl
|
||||
0x087 10000111 - - - - - - - - Partial Ctl
|
||||
0x088 10001000 - - - - - - - - Adr Ctl
|
||||
...
|
||||
0x08f 10001111 - - - - - - - - Adr Ctl
|
||||
0x090 10010000 - - - - - - - -
|
||||
0x091 10010001 - - - - - Offset Mode - -
|
||||
0x092 10010010 - - - - - Offset Mode - -
|
||||
0x093 10010011 - - - - - Offset Mode - -
|
||||
...
|
||||
0x09f 10011111 - - - - - - -
|
||||
0x0a0 10100000 Seg Normal Seg Normal Seg Normal Seg Normal Seg Normal Seg Normal Seg Normal Seg Normal Frame Rate Seg Normal
|
||||
0x0a1 10100001 Seg Reverse Seg Reverse Seg Reverse Seg Reverse Seg Reverse Seg Reverse Seg Reverse Seg Reverse Frame Rate Seg Reverse
|
||||
0x0a2 10100010 1/9 bias 1/9 bias 1/9 bias 1/9 bias 1/9 bias Bias Bias 1/9 bias - 1/9 bias
|
||||
0x0a3 10100011 1/7 bias 1/7 bias 1/7 bias 1/7 bias 1/7 bias Bias Bias 1/7 bias - 1/7 bias
|
||||
0x0a4 10100100 Normal Op Normal Op Normal Op Normal Op Normal Op Normal Op Normal Op Normal Op Normal Op Normal Op
|
||||
0x0a5 10100101 All pt on All pt on All pt on All pt on All pt on All pt on All pt on All pt on All pt on All pt on
|
||||
0x0a6 10100110 Normal Op Normal Op Normal Op Normal Op Normal Op Normal Op Normal Op Normal Op Normal Op Normal Op
|
||||
0x0a7 10100111 Inverse Inverse Inverse Inverse Inverse Inverse Inverse Inverse Inverse Inverse
|
||||
0x0a8 10101000 - - - - Stand-By - - - -
|
||||
0x0a9 10101001 - - - - Sleep - - - -
|
||||
0x0aa 10101010 - - - - - - - - - -
|
||||
0x0ab 10101011 - - - - - - - - - -
|
||||
0x0ac 10101100 Indic. On Sleep On Indic. On Indic. On Indic. On Indic. On Indic. On - -
|
||||
0x0ad 10101101 Indic. Off Sleep Off Indic. Off Indic. Off Indic. Off Indic. Off Indic. Off - -
|
||||
0x0ae 10101110 Disp Off Disp Off Disp Off Disp Off Disp Off Disp Off Disp Off Disp Off Disp Off Disp Off
|
||||
0x0af 10101111 Disp On Disp On Disp On Disp On Disp On Disp On Disp On Disp On Disp On Disp On
|
||||
0x0b0 10110000 Page Adr Page Adr Page Adr Page Adr Page Adr Page Adr Page Adr Page Adr Page Adr Page Adr
|
||||
...
|
||||
0x0b7 10111111 Page Adr Page Adr Page Adr Page Adr Page Adr Page Adr Page Adr Page Adr Page Adr Page Adr
|
||||
0x0c0 11000xxx Com Normal Com Normal Com Normal Com Normal Com Normal Com Normal Com Normal Com Normal LCD Map Com Normal
|
||||
...
|
||||
0x0c7 11000xxx Com Normal Com Normal Com Normal Com Normal Com Normal Com Normal Com Normal Com Normal LCD Map Com Normal
|
||||
0x0c8 11001xxx Com Reverse Com Reverse Com Reverse Com Reverse Com Reverse Com Reverse Com Reverse Com Reverse - Com Reverse
|
||||
...
|
||||
0x0cf 11001xxx Com Reverse Com Reverse Com Reverse Com Reverse Com Reverse Com Reverse Com Reverse Com Reverse - Com Reverse
|
||||
0x0d0 11010000 - - - - - - - - - -
|
||||
0x0d1 11010001 - - - - - - - - - -
|
||||
0x0d2 11010010 - - - - - - Drv Mode - - -
|
||||
0x0d3 11010011 - - PM Line - - - - - - -
|
||||
0x0d4 11010100 - - - - - - Test Mode - - -
|
||||
0x0d5 11010101 - - - - - - Page Blink - - -
|
||||
...
|
||||
0x0df 11011111 - - - - - - - - - -
|
||||
0x0e0 11100000 Start R-M-W Start R-M-W Start R-M-W Start R-M-W Start R-M-W Start R-M-W Start R-M-W Start R-M-W - Start R-M-W
|
||||
0x0e1 11100001 - - - - - Reset Pwr Save - - - -
|
||||
0x0e2 11100010 Reset Reset Reset Reset Reset Reset Reset Reset Reset Reset
|
||||
0x0e3 11100011 NOP NOP NOP NOP NOP NOP NOP NOP NOP NOP
|
||||
0x0e4 11100100 - - OSC Freq - - Rev Line Reset OSC Freq - - -
|
||||
0x0e5 11100101 - - OSC Freq - - - OSC Freq - - -
|
||||
0x0e6 11100110 - - DC/DC Freq - - - - - - -
|
||||
0x0e7 11100111 - - - - - - - - - -
|
||||
0x0e8 11101000 - - - - - - - - Bias Ratio -
|
||||
...
|
||||
0x0ed 11101101 - - - - - - - - Bias Ratio -
|
||||
0x0ee 11101110 Stop R-M-W Stop R-M-W Stop R-M-W Stop R-M-W Stop R-M-W Stop R-M-W Stop R-M-W Bias Ratio Stop R-M-W
|
||||
0x0ef 11101111 - - - - - - - - Bias Ratio -
|
||||
0x0f0 11110000 Test Mode Test Mode Test Mode - - Test Mode Test Mode Test Mode - -
|
||||
0x0f1 11110001 Test Mode Test Mode Test Mode - - Test Mode Test Mode Test Mode Com End -
|
||||
0x0f2 11110010 Test Mode Test Mode Test Mode - - Test Mode Test Mode Test Mode Partial Start -
|
||||
0x0f3 11110011 Test Mode Test Mode Test Mode - - Test Mode Test Mode Test Mode Partial End -
|
||||
0x0f4 11110100 Test Mode Test Mode Test Mode - - Test Mode Test Mode Test Mode - -
|
||||
0x0f5 11110101 Test Mode Test Mode Test Mode - - Test Mode Test Mode Test Mode - -
|
||||
0x0f6 11110110 Test Mode Test Mode Test Mode - - Test Mode Test Mode Test Mode - -
|
||||
0x0f7 11110111 Test Mode Test Mode Test Mode - - Test Mode Test Mode Test Mode - -
|
||||
0x0f8 11111000 Test Mode Boost Level Test Mode - Boost Level Test Mode Test Mode Test Mode - Boost Level
|
||||
0x0f9 11111001 Test Mode Test Mode Test Mode - - Test Mode Test Mode Test Mode - -
|
||||
0x0fa 11111010 Test Mode Test Mode Test Mode Adv Ctrl0 - Test Mode Test Mode Test Mode - -
|
||||
0x0fb 11111011 Test Mode Test Mode Test Mode Adv Ctrl1 - Test Mode Test Mode Test Mode - -
|
||||
0x0fc 11111100 Test Mode Test Mode Test Mode Test Mode - Test Mode Test Mode Test Mode - -
|
||||
0x0fd 11111101 Test Mode Test Mode Test Mode Test Mode - Test Mode Test Mode Test Mode - -
|
||||
0x0fe 11111110 Test Mode Test Mode Test Mode Test Mode Test Mode Test Mode Test Mode Test Mode - Enter Ext.
|
||||
0x0ff 11111111 Test Mode Test Mode Test Mode Test Mode Test Mode Test Mode Test Mode Test Mode - Leave Ext.
|
||||
|
||||
|
||||
Conclusion (only from Datasheet documentation perspective)
|
||||
* Command set of the ST7565 is fully included in NT7534 and UC1701
|
||||
* Compared to ST7565, the UC1701 has an extra temperature control and
|
||||
wrap around option (both in Adv Ctrl0)
|
||||
* Compared to ST7565, the NT7534 has a partion mode (PM) option and
|
||||
allows setting of several frequencies.
|
||||
* Compared to ST7565, the ST7567 has an option to set the booster level
|
||||
* Compared to ST7565, the SPLC502 has a drive power and page blinking options
|
||||
* ST7565 2009: Version 1.7c (2009, http://www.newhavendisplay.com/app_notes/ST7565R.pdf)
|
||||
includes the boost level/ratio command for the ST7565 and the indicator cmd is replaced by the sleep cmd
|
||||
|
||||
18
basic-setup/components/u8g2/doc/device_matrix.txt
Normal file
18
basic-setup/components/u8g2/doc/device_matrix.txt
Normal file
@@ -0,0 +1,18 @@
|
||||
3=3 wire SPI
|
||||
4=4 wire SPI
|
||||
2=I2C
|
||||
6=6800 8 bit parallel
|
||||
8=8080 8 bit parallel
|
||||
|
||||
s=Arduino Standard Software Communication
|
||||
pinMode and digitalWrite are used for communication
|
||||
o=Arduino Optimized Software Communication
|
||||
uC Specific low level functions for digital write and read
|
||||
h=Hardware Communication with Standard Libs
|
||||
TWI and SPI library
|
||||
H=uC specific hardware communication
|
||||
|
||||
|
||||
SSD1306 128x64
|
||||
Arduino with ATMega328 (e.g. Uno) s2s3s4s6s8 h2h4
|
||||
Arduino with AT91SAM3X8E (Due) s2s3s4s6s8 h2h4
|
||||
288
basic-setup/components/u8g2/doc/faq.txt
Normal file
288
basic-setup/components/u8g2/doc/faq.txt
Normal file
@@ -0,0 +1,288 @@
|
||||
Sections
|
||||
- Wiring... Interconnect, pin/label names
|
||||
- Displays... Display support, display problems
|
||||
- U8g2... Setup, compilation, usage, fonts
|
||||
|
||||
|
||||
Wiring
|
||||
|
||||
Q: Why does my xxx_SW_I2C() device not work with my other I2C devices?
|
||||
A: SW_I2C emulates I2C with digitalWrite(), which will have a conflict with other
|
||||
I2C devices at the same pins. There are two options: (A) use xxx_HW_I2C() or
|
||||
(B) use different pins with xxx_SW_I2C()
|
||||
|
||||
Q: My display has a pin labled as "A0" (or "RS"). How to connect this pin?
|
||||
A: There are different names for the "data/command" pin. In U8g2 only the name
|
||||
"dc" is used. On the display side it might be also called "A0", "RS", "CD".
|
||||
See also the next question.
|
||||
|
||||
Q: My display has pins labled as "D0" and "D1". What is the interface and how
|
||||
to connect these pins?
|
||||
A: This is probably a SSD1306 OLED. The meaning of the D0 and D1 pin depends
|
||||
on the configuration of the SSD1306. D0 is the clock line and D1 is the data line.
|
||||
|
||||
Q: For HW SPI no pin numbers are required in the constructor. But which are
|
||||
the pin numbers for wiring?
|
||||
A: This depends on your board. For some official boards, this is listed here:
|
||||
https://www.arduino.cc/en/Reference/SPI
|
||||
You need to connect MOSI (data) and SCK (clock) pins of your board with the
|
||||
corresponding pins with your display.
|
||||
All U8g2 software emulated SPI constructors look like this:
|
||||
U8G2_..._4W_SW_SPI u8g2(U8G2_R0, clock, data, cs, dc, reset);
|
||||
All U8g2 hardware SPI constructors look like this:
|
||||
U8G2_..._4W_SW_SPI u8g2(U8G2_R0, cs, dc, reset);
|
||||
|
||||
Q: For HW I2C no pin numbers are required in the constructor. But which are
|
||||
the pin numbers for wiring?
|
||||
A: See same question for SPI. For some boards, the pins are listed here:
|
||||
https://www.arduino.cc/en/Reference/Wire
|
||||
All U8g2 software emulated I2C constructors look like this:
|
||||
U8G2_..._SW_I2C u8g2(U8G2_R0, clock, data, reset);
|
||||
All U8g2 hardware I2C constructors look like this:
|
||||
U8G2_..._HW_I2C u8g2(U8G2_R0, reset);
|
||||
Note: The HW_I2C allows to more arguments for hardware pin number remapping.
|
||||
However, this is only supported on the ESP8266.
|
||||
|
||||
Q: The pin names on my display do not fit to the pin names of U8g2.
|
||||
A: Yes, each datasheet/product/controller has different names. There
|
||||
is a mapping table on the wiki for this:
|
||||
https://github.com/olikraus/u8g2/wiki/u8g2setupcpp#wiring
|
||||
|
||||
Q: What is wrong with connecting Reset (RES) of my display with the Reset of my
|
||||
Arduino Board?
|
||||
A:
|
||||
- Both are inputs. It does not make sense to connect two inputs
|
||||
- Both pins have completly different functions: The reset of your board will reset
|
||||
the Arduino board, the reset of the display will reset the display.
|
||||
Please connect the reset input of the display with a normal GPIO pin of your board.
|
||||
|
||||
Q: Shell I connect CS (chip select) with the SS output of the Arduino board?
|
||||
A: In general this is required neither for hardware or software SPI.
|
||||
|
||||
Q: My board has a MOSI and a SCK output. Do i need to connect this to the
|
||||
clock and data pins of my display?
|
||||
A: "Yes" if you want to use hardware SPI (u8g2 constructors ending in _HW_SPI).
|
||||
You can use any pins with the software emulated SPI of u8g2 (constructors ending
|
||||
in _SW_SPI). Howver in general it is better to use hardware SPI to get a better
|
||||
performance of your display.
|
||||
|
||||
Q: How to wire ST7920 display in 8080 mode?
|
||||
A:
|
||||
- See also https://github.com/olikraus/u8g2/wiki/gallery#26-nov-2016-st7920-128x64-lcd-in-8080-parallel-mode
|
||||
- Connect the RW (SID) input of your ST7920 display to ground.
|
||||
- In the u8g2 constructor, use U8X8_PIN_NONE for "cs" signal
|
||||
- The "dc" pin is called "RS" in the ST7920 documentation.
|
||||
- See also issue #90: https://github.com/olikraus/u8g2/issues/90
|
||||
|
||||
Displays
|
||||
|
||||
Q: There is an x-offset on my SSD1306 128x64 OLED.
|
||||
A: This is not a SSD1306 OLED, instead use the SH1106 constructor.
|
||||
|
||||
Q: A T6963 misses columns on the display/has garbled output.
|
||||
A: Ensure that the T6963 operates in 8x8 mode:
|
||||
If the display module has two font select (FSx) pins, connect both to GND
|
||||
If the display module has one font select (FS) pin, connect it to GND
|
||||
|
||||
Q: My T6963 has a RD input. How shell this be connected?
|
||||
A: The RD input for any 8080 interface has to be connected to power supply (5V or 3.3V,
|
||||
depending on the display)
|
||||
|
||||
Q: My T6963 was working with u8glib, but it does not work with U8g2
|
||||
A: The sequence of argument has changed from cs, a0, wr to wr, cs, a0:
|
||||
U8GLIB_T6963_240X128 u8g(d0, d1, d2, d3, d4, d5, d6, d7, cs, dc, wr, rd, reset);
|
||||
U8G2_T6963_240X128_1_8080 u8g2(U8G2_R0, d0, d1, d2, d3, d4, d5, d6, d7, wr, cs, dc, reset);
|
||||
|
||||
|
||||
Q: My controller/interface combination is not listed in the examples.
|
||||
A: Yes, the complete list is here:
|
||||
https://github.com/olikraus/u8g2/wiki/u8g2setupcpp
|
||||
|
||||
Q: My display controller is listed, but the display dimension is not supported.
|
||||
A: Raise an issue in the u8g2 tracker "https://github.com/olikraus/u8g2/issues"
|
||||
|
||||
Q: My controller is not listed, What can I do?
|
||||
A: First check whether this controller is compatible to one of the supported
|
||||
controller:
|
||||
Supported: ST7565, Compatible: NT7534, UC1701, SED1565, S1D15605, S6B0723, SPLC502
|
||||
Supported: SED1330, Compatible: SED1335, RA8835, S1D3305
|
||||
Supported: LC7981, Compatible: NT7086, (maybe also: HD61830)
|
||||
This table just reflects my current knowledge. It is not tested and may not be true at all.
|
||||
Raise an issue in the u8g2 issue tracker, If your controller for a monochrome display is not listed.
|
||||
A more detailed discussion of some controllers is listed in "controller_cmds.txt"
|
||||
|
||||
|
||||
U8g2
|
||||
|
||||
Q: How to install u8g2 for Arduino?
|
||||
A: The latest stable version of U8g2 is available as Arduino Library in the
|
||||
"Manage Libraries..." browser. See also here: https://github.com/olikraus/u8g2/wiki/u8g2install
|
||||
The latest development version is available for download here:
|
||||
https://github.com/olikraus/U8g2_Arduino/archive/master.zip
|
||||
In the Arduino IDE use the Sketch>Include Library>Add .ZIP Library... menu to
|
||||
import the u8g2 zip library.
|
||||
|
||||
Q: There is a compilation error with I2C/SPI library used by U8g2.
|
||||
A: U8g2 expects standard Arduino Wire and SPI libraries. However some
|
||||
none-Arduino Boards did not implement the full set of library functions.
|
||||
Examples are the missing setClock() or missing beginTransaction() functions.
|
||||
This is an issue with your board support library and not an issue of U8g2.
|
||||
Workaround:
|
||||
1. Disable (comment) U8X8_HAVE_HW_SPI and/or U8X8_HAVE_HW_I2C in u8x8.h
|
||||
2. Use SW SPI/SW I2C U8g2 constructors
|
||||
|
||||
Q: What is the meaning of the F/1/2 in the U8g2 constructor name?
|
||||
A: "F" means full buffer mode. The entire display is rendered in RAM. Use
|
||||
"sendBuffer" to transfer this RAM buffer to the display. "1" and "2" constructors
|
||||
will store one or two pages of the display in RAM only.
|
||||
Use the firstPage/nextPage loop to create the image for the display.
|
||||
There are also two different sets of examples for both modes.
|
||||
Conclusion:
|
||||
"F" mode: Faster, but requires more RAM
|
||||
"1"/"2" modes: User lesser RAM, but slower draw speed.
|
||||
|
||||
Q: What is the meaning of "SW"/"HW" in the U8g2 constructor name?
|
||||
A: "SW" means, that the protocol is emulated by software. For example
|
||||
the SW_I2C will not use the I2C subsystem of your board. The "HW" constructor
|
||||
will use the hardware subsystem on your uC. For an Arduino board, HW_I2C will
|
||||
call the Wire library for hardware accelerated I2C communication. "HW"
|
||||
constructors are much faster, but maybe debugging and setup is more
|
||||
easier with a "SW" constructor.
|
||||
|
||||
Q: Why does the hardware I2C accept clock and data pins?
|
||||
The hardware I2C constructor looks like this:
|
||||
U8G2_<display>_HW_I2C(rotation, [reset [, clock, data]])
|
||||
This means there are three options to use this constructor:
|
||||
1. U8G2_<display>_HW_I2C(rotation)
|
||||
2. U8G2_<display>_HW_I2C(rotation, reset)
|
||||
3. U8G2_<display>_HW_I2C(rotation, reset, clock, data)
|
||||
Hardware I2C usually is possible only with fixed pins. This means, the first or
|
||||
second form of the constructor must be used. As of today only the ESP8266
|
||||
support pin remapping. In such a case, also the third form can be used.
|
||||
|
||||
Q: How to activate 16 Bit mode?
|
||||
A: Search for the line
|
||||
//#define U8G2_16BIT
|
||||
in "u8g2.h". Uncomment this line:
|
||||
#define U8G2_16BIT
|
||||
The file "u8g2.h" is located in "/libraries/U8g2_Arduino/src/clib" inside your default
|
||||
sketch folder.
|
||||
|
||||
Q: U8g2 requires a lot of memory. How to reduce this?
|
||||
- Visit https://github.com/olikraus/u8g2/wiki/u8g2optimization
|
||||
- Disable U8g2 features if possible (see u8g2.h)
|
||||
- Limit the font size. If possible avoid "f" fonts, instead use "r" or "n" fonts
|
||||
- If the I2C interface is not required, then uncomment #define U8X8_HAVE_HW_I2C in U8x8lib.h
|
||||
(Background: Due to a problem in Wire.h, the I2C Arduino lib is always included)
|
||||
|
||||
Q: There is no visible output output. What is can be done?
|
||||
- Check the wiring, see first part of this FAQ.
|
||||
- Check the constructor. Does it fit to your display?
|
||||
- Do not output a text at (0,0): The reference point for text is lower left, so
|
||||
u8g2_DrawStr(&u8g2, 0, 0, “Hello world!”); will not display anything. Instead use
|
||||
u8g2_DrawStr(&u8g2, 0, 20, “Hello world!”);
|
||||
|
||||
Q: Only a small fraction of the display is visible. Why?
|
||||
A: With a "_1_" constructor, ensure to use the firstPage/nextPage loop.
|
||||
|
||||
Q: U8g2 output is corrupted. What are possible causes?
|
||||
- Do not change the output inside the firstPage/nextPage loop:
|
||||
Do *not* call digitalRead/analogRead inside the firstPage/nextPage loop.
|
||||
Read any sensor values into a variable *before* firstPage() and use the
|
||||
variable value inside the loop.
|
||||
If the output includes unicode chars, use the UTF8 procedures.
|
||||
|
||||
Q: U8g2 is slow. How to improve speed?
|
||||
A1: If there is sufficient RAM, use the F variant of the constructor (see the question
|
||||
on F/1/2 above).
|
||||
A2: Use hardware SPI or I2C communication. Software emulated SPI or I2C is much
|
||||
slower (see the question on SW and HW SPI/I2C above)
|
||||
A3: "firstPage/nextPage loop": Remove as much of code out of this loop. Try to
|
||||
precalculate as much of possible before the loop is entered.
|
||||
A4: "firstPage/nextPage loop": If the loop is still too slow, try to unroll the loop.
|
||||
See the StateBufferLoop example:
|
||||
https://github.com/olikraus/u8g2/blob/master/sys/arduino/u8g2_page_buffer/StateBufferLoop/StateBufferLoop.ino
|
||||
A5: For SW I2C and AVR architectures: Uncomment
|
||||
#define U8X8_USE_ARDUINO_AVR_SW_I2C_OPTIMIZATION
|
||||
in U8x8lib.h. This will increase speed a lot for I2C on all AVR uC. However the I2C
|
||||
bus is always driven by this implementation. Other I2C devices will not work on
|
||||
the same pins.
|
||||
A6: For HW I2C the default speed for some controllers is set 100KHz. However these
|
||||
controller often work with higher speed (200KHz or 400KHz). Suggestion is
|
||||
to test whether "u8g2.setBusClock(400000);" still works.
|
||||
|
||||
Q: Umlaut chars or other chars with a unicode value greater than 127 do not
|
||||
appear on the displays. What is wrong?
|
||||
A; Check the following:
|
||||
Did you use drawUTF8() instead of drawStr()?
|
||||
Did you enable UTF8 when using print() with enableUTF8Print()?
|
||||
Does the font include the expected char? Fonts with a 'n' (numbers),
|
||||
'u' (uppercase) or 'r' (restricted) at the end of the fontname do only
|
||||
include glyphs with unicode lower than 128.
|
||||
|
||||
Q: How can I read a bitmap from SD card?
|
||||
A: There is an example, which includes a function "drawFile" which reads a bitmap
|
||||
from SD Card and writes the same to a u8g2 display:
|
||||
Example:
|
||||
https://github.com/olikraus/u8g2/blob/master/sys/arduino/u8g2_page_buffer/LoadFromSD/LoadFromSD.ino
|
||||
The example also includes a function which writes to the SD card, but there is also
|
||||
a commandline tool which converts PNG to the format which is accepted by "drawFile":
|
||||
https://github.com/olikraus/u8g2/tree/master/tools/png2bin
|
||||
|
||||
|
||||
Q: How can I generate my own font?
|
||||
A: The font must be available in bdf file format. Then use bdfconv to generate
|
||||
the font data. The font data can be pasted into an existing file of your project.
|
||||
There is also a nice Windows Bitmap Font Editor "Fony" (http://hukka.ncn.fi/?fony)
|
||||
which can export .bdf files. A copy of Fony 1.4.7 is available here:
|
||||
https://github.com/olikraus/u8g2/tree/master/tools/font/fony
|
||||
|
||||
Q: Which commandline options are required for bdfconv?
|
||||
A: "bdfconv -f 1 -m '32-255' -n fontname -o myfont.c myfont.bdf"
|
||||
"-f 1" generates a u8g2 font.
|
||||
"-m '32-255'" selects unicode 32 to 255. On Windows, please use double quotes: -m "32-255"
|
||||
"-n fontname": This is the name of the font in C/C++/Ino files.
|
||||
"-o myfont.c": The font array will be stored in this file.
|
||||
"myfont.bdf": The input file with the font data (bdf format).
|
||||
|
||||
Q: Where do I find bdfconv?
|
||||
A: A Windows executable is available here:
|
||||
https://github.com/olikraus/u8g2/tree/master/tools/font/bdfconv
|
||||
Use the Makefile in this directory to create a Linux binary.
|
||||
|
||||
Q: How can I use multiple SPI Displays?
|
||||
A: For each additional display, separate CS (Chip select) is required.
|
||||
There are two options for the RST (Reset) line:
|
||||
Also use separate lines or use the same GPIO pin.
|
||||
|
||||
// Setup display1 and display2, both reset lines are connected to 4, execute display1.begin() first.
|
||||
U8G2_SSD1306_128X64_NONAME_F_4W_SW_SPI display1(U8G2_R0, /*CLK*/ 18, /*MOSI*/ 23, /*CS*/ 16,/*DC*/ 17, /*RST*/ 4);
|
||||
U8G2_SSD1306_128X64_NONAME_F_4W_SW_SPI display2(U8G2_R0, /*CLK*/ 18, /*MOSI*/ 23, /*CS*/ 15,/*DC*/ 17, /*RST*/ U8X8_PIN_NONE);
|
||||
|
||||
// Setup display1 and display2, separate reset lines
|
||||
U8G2_SSD1306_128X64_NONAME_F_4W_SW_SPI display1(U8G2_R0, /*CLK*/ 18, /*MOSI*/ 23, /*CS*/ 16,/*DC*/ 17, /*RST*/ 4);
|
||||
U8G2_SSD1306_128X64_NONAME_F_4W_SW_SPI display2(U8G2_R0, /*CLK*/ 18, /*MOSI*/ 23, /*CS*/ 15,/*DC*/ 17, /*RST*/ 5);
|
||||
|
||||
Ensure that the buffer is sent after printing with each display as follows.
|
||||
|
||||
display1.begin();
|
||||
display2.begin();
|
||||
...
|
||||
display1.setCursor(64, 32);
|
||||
display1.print("DISPLAY 1");
|
||||
display1.sendBuffer();
|
||||
|
||||
display2.setCursor(64, 32);
|
||||
display2.print("DISPLAY 2");
|
||||
display2.sendBuffer();
|
||||
|
||||
Q: How can I send individual/special commands to my display.
|
||||
A: The sequence is: Start transfer, send data and args, close transfer. Note that
|
||||
this is not portable, because these commands are specific to the display controller.
|
||||
The following C++/Arduino code will send one command with one argument to the
|
||||
display:
|
||||
u8x8_cad_StartTransfer(u8g2.getU8x8());
|
||||
u8x8_cad_SendCmd( u8g2.getU8x8(), <display command>);
|
||||
u8x8_cad_SendArg( u8g2.getU8x8(), <display-command-arg>);
|
||||
u8x8_cad_EndTransfer(u8g2.getU8x8());
|
||||
|
||||
57
basic-setup/components/u8g2/doc/grayscale.txt
Normal file
57
basic-setup/components/u8g2/doc/grayscale.txt
Normal file
@@ -0,0 +1,57 @@
|
||||
Ideas for a grayscale library
|
||||
|
||||
Controller:
|
||||
SSD132x 4 Bit, 16 Level
|
||||
SSD1327 4 Bit, 16 Level Variant B/16H
|
||||
SSD1327 4 Bit, 16 Level Variant B/16H
|
||||
SSD1329 4 Bit, 16 Level Variant B/16H
|
||||
UC1610 2 Bit, 4 Level Variant 4V
|
||||
UC1611 4 Bit, 16 Level Variant A/16V
|
||||
UC1617 2 Bit, 4 Level Variant 4H???
|
||||
UC1638 2 Bit, 4 Level Variant 4V
|
||||
ST75256 2 Bit, 4 Level Variant 4V
|
||||
|
||||
|
||||
|
||||
======================
|
||||
|
||||
Variant A:
|
||||
|
||||
Memory:
|
||||
aaaabbbb
|
||||
ccccdddd
|
||||
|
||||
aaaa: 0,0
|
||||
bbbb: 0,1
|
||||
cccc: 1, 0
|
||||
dddd: 1,1
|
||||
|
||||
======================
|
||||
|
||||
Variant B:
|
||||
|
||||
Memory:
|
||||
aaaabbbb
|
||||
ccccdddd
|
||||
|
||||
aaaa: 0,0
|
||||
bbbb: 1,0
|
||||
cccc: 0, 1
|
||||
dddd: 1,1
|
||||
|
||||
======================
|
||||
|
||||
Variant 4V:
|
||||
|
||||
Memory:
|
||||
aabbccdd
|
||||
eeffgghh
|
||||
|
||||
aa: 0,0
|
||||
bb: 0,1
|
||||
cc: 0,2
|
||||
dd: 0,3
|
||||
ee: 1,0
|
||||
ff: 1,1
|
||||
gg: 1,2
|
||||
hh: 1,3
|
||||
BIN
basic-setup/components/u8g2/doc/hx1230_commands.ods
Normal file
BIN
basic-setup/components/u8g2/doc/hx1230_commands.ods
Normal file
Binary file not shown.
BIN
basic-setup/components/u8g2/doc/ssd1306_test_shield.odg
Normal file
BIN
basic-setup/components/u8g2/doc/ssd1306_test_shield.odg
Normal file
Binary file not shown.
58
basic-setup/components/u8g2/doc/ssd132x.txt
Normal file
58
basic-setup/components/u8g2/doc/ssd132x.txt
Normal file
@@ -0,0 +1,58 @@
|
||||
|
||||
|
||||
SSD1325 SSD1326 SSD1327 SSD1329
|
||||
128 x 80 x 4 256 x 32 x 4 128 x 128 x 4 128 x 128 x 4
|
||||
|
||||
0x15 set col set col set col set col
|
||||
0x23 gr acc - - -
|
||||
0x24 draw rect - - -
|
||||
0x25 copy - - -
|
||||
0x26 scroll scroll scroll -
|
||||
0x27 - - scroll -
|
||||
0x2e end move end move end move -
|
||||
0x2f start move start move start move -
|
||||
0x75 set row set row set row set row
|
||||
0x81 contrast contrast contrast contrast
|
||||
0x82 - - - 2nd charge
|
||||
0x84 current current nop -
|
||||
0x85 current current nop -
|
||||
0x86 current current nop -
|
||||
0x87 current current -
|
||||
|
||||
0x90 - - - Icon ctl
|
||||
0x91 - - - Icon current
|
||||
0x92 - - - Icon current
|
||||
0x93 - - - Icon on/off
|
||||
0x94 - - - Icon all
|
||||
0x95 - - - Icon blink
|
||||
0x96 - - - Icon duty
|
||||
|
||||
0xa0 remap remap remap remap
|
||||
0xa1 start line start line start line start line
|
||||
0xa2 offset offset offset offset
|
||||
0xa4 mode mode mode mode
|
||||
..
|
||||
0xa7 mode mode mode mode
|
||||
0xa8 multiplex ratio multiplex ratio multiplex ratio multiplex ratio
|
||||
0xab - - regulator -
|
||||
0xad master config - - -
|
||||
0xae disp. on disp. on disp. on disp. on
|
||||
0xaf disp. off disp. off disp. on disp. on
|
||||
0xb0 comp enable - - -
|
||||
0xb1 phase len phase len phase len phase len
|
||||
0xb2 row period frame freq nop frame freq
|
||||
0xb3 div ratio [3] clock div [2] clock div clock div [2]
|
||||
0xb4 comp level - - -
|
||||
0xb5 - - GPIO -
|
||||
0xb6 - - 2nd phase -
|
||||
0xb7 - default gray - default gray
|
||||
0xb8 gray level gray level gray level gray level
|
||||
0xb9 - - linear LUT -
|
||||
0xbb - 2nd charge nop 2nd charge
|
||||
0xbc precharge precharge precharge precharge
|
||||
0xbe comh volt comh volt comh volt comh volt
|
||||
0xbf VSL - - -
|
||||
0xd5 - - fn select B -
|
||||
0xe3 nop - - nop
|
||||
0xfd - cmd lock cmd lock cmd lock
|
||||
|
||||
110
basic-setup/components/u8g2/doc/u8g2.txt
Normal file
110
basic-setup/components/u8g2/doc/u8g2.txt
Normal file
@@ -0,0 +1,110 @@
|
||||
|
||||
U8glib V2: Name and project goals
|
||||
|
||||
https://github.com/olikraus/u8g2
|
||||
|
||||
U8g2 = Universal 8bit Graphics
|
||||
|
||||
[U]niversal: Support for many displays ans development platforms
|
||||
[8]bit: Initial focus had been 8 bit microcontroller systems
|
||||
[g]raphics": U8g2 is a graphics library with focus on monochrome graphics displays
|
||||
[2]: Second generation and successor of u8glib
|
||||
|
||||
|
||||
U8glib V2 Goals
|
||||
|
||||
- Support for monochrome LCDs and OLEDs
|
||||
- Focus on "monochrome"
|
||||
- Low memory footprint
|
||||
|
||||
|
||||
U8glib V2: Features and Limitations
|
||||
|
||||
- Full Memory Buffer
|
||||
- 3-wire-SPI
|
||||
- Support for Arduino Libraries SPI and TWI
|
||||
|
||||
- Unicode Support
|
||||
Unicode plane 0 (Basic Multilingual Plane, BMP, glyphs with 0x0000-0xffff)
|
||||
is fully supported.
|
||||
Limitation: Unicode planes > 0 are not supported
|
||||
- UTF-8 Support
|
||||
2 and 3 byte sequences are detected and handled.
|
||||
Limitation:
|
||||
Behavior for sequences with more than 3 bytes is unknown.
|
||||
|
||||
- Large number of fonts
|
||||
|
||||
- Compilation speed improved (font data)
|
||||
|
||||
- "Text only" sub library: U8x8
|
||||
|
||||
- Hardware supported display flip
|
||||
|
||||
- Better hardware support: Tested with avr, esp8266 and sam architectures.
|
||||
|
||||
|
||||
u8g vs. u8g2
|
||||
|
||||
Major Changes (Code rework required)
|
||||
|
||||
- The name of the include file has changed: Use
|
||||
#include "U8g2lib.h"
|
||||
- The native type for pixel coordinates has changed to u8g2_uint_t
|
||||
Use the following line to redefine this at the beginning of your code
|
||||
typedef u8g2_uint_t u8g_uint_t;
|
||||
|
||||
- Old Arduino IDE 00xx (before 1.00) is not supported any more.
|
||||
ARDUINO macro must be >= 100
|
||||
- begin() must be called (this was optional in U8glib)
|
||||
- constructor contains name of communicaton interface and
|
||||
also contains the display orientation as first argument
|
||||
- u8g2.drawStr90 does not exist any more, use
|
||||
void u8g2_SetFontDirection(u8g2_t *u8g2, uint8_t dir);
|
||||
- "P" versions of the string functions are not yet implemented.
|
||||
This includes drawStrP(), getStrWidthP(), etc
|
||||
Use the print function with the F() macro instead.
|
||||
- In U8glib font transparency was defined in the .begin() statement. This is now
|
||||
handled by setFontMode().
|
||||
- Screen rotation is handled by the constructor in u8g2
|
||||
The functions undoRotation, setRot90, setRot180 and setRot270 are
|
||||
replaced by the first argument of the constructor
|
||||
- Screen scaling is not there in u8g2
|
||||
It is completly removed, there are no corresponding function in u8g2
|
||||
for undoScale() and setScale2x2().
|
||||
- setColorEntry(), setHiColor(), setHiColorByRGB(), setRGB: Not supported any more
|
||||
(u8g2 focus are monochrome displays, use Ucglib instead)
|
||||
- getMode(): Is not available any more because there is only one monochrome mode.
|
||||
- setDefaultForegroundColor(), setDefaultBackgroundColor() and
|
||||
setDefaultMidColor() are not required any more. These functions do not
|
||||
exist in U8g2. Use setDrawColor() instead.
|
||||
- getFontLineSpacing() and setFontLineSpacingFactor() are not supported any more.
|
||||
- getStrPixelWidth() is replaced by getStrWidth()
|
||||
- setHardwareBackup() not supported any more. Might be implemented later
|
||||
- Cursor functions are not available. This includes:
|
||||
setCursorFont(), setCursorStyle(), setCursorPos(), setCursorColor(),
|
||||
enableCursor(), disableCursor(), drawCursor()
|
||||
- Virtual screen handling is not supported:
|
||||
setVirtualScreenDimension(), addToVirtualScreen()
|
||||
|
||||
Minor Changes (Code update might be required)
|
||||
|
||||
- U8g2 drawTriangle() expects signed arguments (u8glib expects unsigned arguments)
|
||||
- U8g2 has different font names. Some of the old font names are known to u8g2 and are
|
||||
mapped automatically. If the font name is unknown, please choose a different font from the font list.
|
||||
|
||||
Change Notes (No code change required)
|
||||
|
||||
- sleepOn(), sleepOff(): supported, but better user setPowerSave()
|
||||
- setColorIndex() and getColorIndex() are renamed to setDrawColor() and
|
||||
getDrawColor(). The old names are still supported.
|
||||
- getFontAscent() and getFontDescent() are renamed to getAscent() and getDescent()
|
||||
The old names are still supported.
|
||||
- Signal names are renamed in the constructor calls:
|
||||
U8glib sck == U8g2 clock
|
||||
U8glib mosi == U8g2 data
|
||||
U8glib a0 == U8g2 dc
|
||||
- getHeight() renamed to getDisplayHeight(), old name still exists
|
||||
- getWidth() renamed to getDisplayWidth(), old name still exists
|
||||
|
||||
|
||||
BIN
basic-setup/components/u8g2/doc/u8g2_logo.xcf
Normal file
BIN
basic-setup/components/u8g2/doc/u8g2_logo.xcf
Normal file
Binary file not shown.
89
basic-setup/components/u8g2/doc/u8g2_logo_128x64.xbm
Normal file
89
basic-setup/components/u8g2/doc/u8g2_logo_128x64.xbm
Normal file
@@ -0,0 +1,89 @@
|
||||
#define u8g2_logo_128x64_width 128
|
||||
#define u8g2_logo_128x64_height 64
|
||||
static unsigned char u8g2_logo_128x64_bits[] = {
|
||||
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, 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, 0x00, 0x00,
|
||||
0x3c, 0x80, 0x07, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xf8, 0x00, 0x00,
|
||||
0x00, 0x00, 0x00, 0x00, 0x3c, 0x80, 0x07, 0x00, 0x00, 0x00, 0x00, 0x00,
|
||||
0x00, 0xfe, 0x03, 0x00, 0x00, 0x00, 0x00, 0x00, 0x3c, 0x80, 0x07, 0x00,
|
||||
0x00, 0x00, 0x00, 0x00, 0x00, 0xff, 0x03, 0x00, 0x00, 0x00, 0x00, 0x00,
|
||||
0x3c, 0x80, 0x07, 0x00, 0x00, 0x00, 0x00, 0x00, 0x80, 0xcf, 0x07, 0x00,
|
||||
0x00, 0x00, 0x00, 0x00, 0x3c, 0x80, 0x07, 0x00, 0x00, 0x00, 0x00, 0x00,
|
||||
0x80, 0x83, 0x07, 0x00, 0x00, 0x00, 0x00, 0x00, 0x3c, 0x80, 0x07, 0xf8,
|
||||
0x00, 0x00, 0x00, 0x00, 0x00, 0x81, 0x07, 0x00, 0x00, 0x00, 0x00, 0x00,
|
||||
0x3c, 0x80, 0x07, 0xfc, 0x03, 0x1c, 0x00, 0x3e, 0x1c, 0xc0, 0x03, 0x00,
|
||||
0x00, 0x00, 0x00, 0x00, 0x3c, 0x80, 0x07, 0xff, 0x07, 0x7f, 0x80, 0xff,
|
||||
0x3f, 0xe0, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x3c, 0x80, 0x07, 0xff,
|
||||
0x8f, 0xff, 0xc1, 0xff, 0x3f, 0xf0, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
||||
0x3c, 0x80, 0x87, 0xff, 0xdf, 0xff, 0xc1, 0xc3, 0x07, 0x7c, 0x00, 0x00,
|
||||
0x00, 0x00, 0x00, 0x00, 0x3c, 0x80, 0x87, 0x0f, 0xfe, 0xff, 0xe3, 0x81,
|
||||
0x03, 0x1e, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x3c, 0x80, 0xc7, 0x07,
|
||||
0xfc, 0xe3, 0xe3, 0x81, 0x07, 0x0f, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
||||
0x3c, 0x80, 0xc7, 0x07, 0xf8, 0xc1, 0xe7, 0x81, 0x87, 0xff, 0x07, 0x00,
|
||||
0x00, 0x00, 0x00, 0x00, 0x3c, 0x80, 0xc7, 0x03, 0xf0, 0x80, 0xe7, 0xc3,
|
||||
0x87, 0xff, 0x07, 0x00, 0x00, 0x00, 0x00, 0x00, 0x3c, 0x80, 0xc7, 0x03,
|
||||
0x70, 0x80, 0xc7, 0xe7, 0x83, 0xff, 0x07, 0x00, 0x00, 0x00, 0x00, 0x00,
|
||||
0x3c, 0x80, 0xc7, 0x03, 0x78, 0x80, 0xc7, 0xff, 0x03, 0x00, 0x00, 0x00,
|
||||
0x00, 0x00, 0x00, 0x00, 0x3c, 0x80, 0xc7, 0x03, 0xf8, 0xc0, 0x87, 0xff,
|
||||
0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x3c, 0x80, 0xc7, 0x07,
|
||||
0xfc, 0xc1, 0xc7, 0x7f, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
||||
0x3c, 0xc0, 0x87, 0x0f, 0xfe, 0xff, 0xe3, 0x01, 0x00, 0x00, 0x00, 0x00,
|
||||
0x00, 0x00, 0x00, 0x00, 0x78, 0xc0, 0x83, 0xff, 0xdf, 0xff, 0xe3, 0x03,
|
||||
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xf8, 0xf1, 0x03, 0xff,
|
||||
0x8f, 0xff, 0xe1, 0xff, 0x07, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
||||
0xf0, 0xff, 0x01, 0xfe, 0x0f, 0xff, 0xc0, 0xff, 0x0f, 0x00, 0x00, 0x00,
|
||||
0x00, 0x00, 0x00, 0x00, 0xe0, 0xff, 0x00, 0xfc, 0x03, 0x7c, 0xc0, 0xff,
|
||||
0x1f, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x80, 0x3f, 0x00, 0xf8,
|
||||
0x01, 0x00, 0xe0, 0x01, 0x1e, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
||||
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xf0, 0x00, 0x1e, 0x00, 0x00, 0x00,
|
||||
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xf0, 0x00,
|
||||
0x1e, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
||||
0x00, 0x20, 0xf0, 0xc7, 0x0f, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
||||
0x00, 0x00, 0x00, 0x00, 0x00, 0x60, 0xe0, 0xff, 0x0f, 0x00, 0x00, 0x00,
|
||||
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x60, 0xc0, 0xff,
|
||||
0x03, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xfc, 0xff, 0xff, 0xff,
|
||||
0xff, 0xff, 0x01, 0xff, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
||||
0xf8, 0xff, 0xff, 0xff, 0xff, 0xff, 0x03, 0x00, 0x00, 0x00, 0x00, 0x00,
|
||||
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x60, 0x00, 0x00,
|
||||
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
||||
0x00, 0x60, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
||||
0x00, 0x00, 0x00, 0x00, 0x00, 0x60, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
||||
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x60, 0x00, 0x00,
|
||||
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
||||
0x00, 0x60, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
||||
0x00, 0x00, 0x00, 0x00, 0x00, 0x60, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
||||
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x60, 0x00, 0x00,
|
||||
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
||||
0x00, 0x40, 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, 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, 0x40, 0x24, 0x20, 0x00, 0x00, 0x08, 0x46, 0x02,
|
||||
0x00, 0x80, 0xc0, 0x40, 0x00, 0x00, 0x00, 0x00, 0x0c, 0x6e, 0x6a, 0xc0,
|
||||
0xa4, 0x48, 0x04, 0xaa, 0xac, 0x8c, 0xaa, 0xac, 0x00, 0x00, 0x00, 0x00,
|
||||
0x6a, 0xa4, 0xaa, 0x20, 0xea, 0xa4, 0x64, 0x66, 0xaa, 0x46, 0x4a, 0x8a,
|
||||
0x00, 0x00, 0x00, 0x00, 0x4c, 0xa4, 0xaa, 0x20, 0xaa, 0xa2, 0x44, 0x2a,
|
||||
0xaa, 0x28, 0xaa, 0x4c, 0x00, 0x00, 0x00, 0x00, 0xe8, 0xa8, 0x6c, 0xc4,
|
||||
0xa4, 0x42, 0xee, 0x2a, 0xcc, 0x26, 0x6c, 0xe8, 0x00, 0x00, 0x00, 0x00,
|
||||
0x06, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x06,
|
||||
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, 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, 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, 0x00, 0x00, 0x00,
|
||||
0x00, 0x00, 0x00, 0x00 };
|
||||
59
basic-setup/components/u8g2/doc/u8g2_logo_97x51.xbm
Normal file
59
basic-setup/components/u8g2/doc/u8g2_logo_97x51.xbm
Normal file
@@ -0,0 +1,59 @@
|
||||
#define u8g2_logo_97x51_width 97
|
||||
#define u8g2_logo_97x51_height 51
|
||||
static unsigned char u8g2_logo_97x51_bits[] = {
|
||||
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
||||
0x00, 0x3c, 0x80, 0x07, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xf8, 0x00,
|
||||
0x00, 0x00, 0x3c, 0x80, 0x07, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xfe,
|
||||
0x03, 0x00, 0x00, 0x3c, 0x80, 0x07, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
||||
0xff, 0x03, 0x00, 0x00, 0x3c, 0x80, 0x07, 0x00, 0x00, 0x00, 0x00, 0x00,
|
||||
0x80, 0xcf, 0x07, 0x00, 0x00, 0x3c, 0x80, 0x07, 0x00, 0x00, 0x00, 0x00,
|
||||
0x00, 0x80, 0x83, 0x07, 0x00, 0x00, 0x3c, 0x80, 0x07, 0xf8, 0x00, 0x00,
|
||||
0x00, 0x00, 0x00, 0x81, 0x07, 0x00, 0x00, 0x3c, 0x80, 0x07, 0xfc, 0x03,
|
||||
0x1c, 0x00, 0x3e, 0x1c, 0xc0, 0x03, 0x00, 0x00, 0x3c, 0x80, 0x07, 0xff,
|
||||
0x07, 0x7f, 0x80, 0xff, 0x3f, 0xe0, 0x01, 0x00, 0x00, 0x3c, 0x80, 0x07,
|
||||
0xff, 0x8f, 0xff, 0xc1, 0xff, 0x3f, 0xf0, 0x00, 0x00, 0x00, 0x3c, 0x80,
|
||||
0x87, 0xff, 0xdf, 0xff, 0xc1, 0xc3, 0x07, 0x7c, 0x00, 0x00, 0x00, 0x3c,
|
||||
0x80, 0x87, 0x0f, 0xfe, 0xff, 0xe3, 0x81, 0x03, 0x1e, 0x00, 0x00, 0x00,
|
||||
0x3c, 0x80, 0xc7, 0x07, 0xfc, 0xe3, 0xe3, 0x81, 0x07, 0x0f, 0x00, 0x00,
|
||||
0x00, 0x3c, 0x80, 0xc7, 0x07, 0xf8, 0xc1, 0xe7, 0x81, 0x87, 0xff, 0x07,
|
||||
0x00, 0x00, 0x3c, 0x80, 0xc7, 0x03, 0xf0, 0x80, 0xe7, 0xc3, 0x87, 0xff,
|
||||
0x07, 0x00, 0x00, 0x3c, 0x80, 0xc7, 0x03, 0x70, 0x80, 0xc7, 0xe7, 0x83,
|
||||
0xff, 0x07, 0x00, 0x00, 0x3c, 0x80, 0xc7, 0x03, 0x78, 0x80, 0xc7, 0xff,
|
||||
0x03, 0x00, 0x00, 0x00, 0x00, 0x3c, 0x80, 0xc7, 0x03, 0xf8, 0xc0, 0x87,
|
||||
0xff, 0x01, 0x00, 0x00, 0x00, 0x00, 0x3c, 0x80, 0xc7, 0x07, 0xfc, 0xc1,
|
||||
0xc7, 0x7f, 0x00, 0x00, 0x00, 0x00, 0x00, 0x3c, 0xc0, 0x87, 0x0f, 0xfe,
|
||||
0xff, 0xe3, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x78, 0xc0, 0x83, 0xff,
|
||||
0xdf, 0xff, 0xe3, 0x03, 0x00, 0x00, 0x00, 0x00, 0x00, 0xf8, 0xf1, 0x03,
|
||||
0xff, 0x8f, 0xff, 0xe1, 0xff, 0x07, 0x00, 0x00, 0x00, 0x00, 0xf0, 0xff,
|
||||
0x01, 0xfe, 0x0f, 0xff, 0xc0, 0xff, 0x0f, 0x00, 0x00, 0x00, 0x00, 0xe0,
|
||||
0xff, 0x00, 0xfc, 0x03, 0x7c, 0xc0, 0xff, 0x1f, 0x00, 0x00, 0x00, 0x00,
|
||||
0x80, 0x3f, 0x00, 0xf8, 0x01, 0x00, 0xe0, 0x01, 0x1e, 0x00, 0x00, 0x00,
|
||||
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xf0, 0x00, 0x1e, 0x00, 0x00,
|
||||
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xf0, 0x00, 0x1e, 0x00,
|
||||
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x20, 0xf0, 0xc7, 0x0f,
|
||||
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x60, 0xe0, 0xff,
|
||||
0x0f, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x60, 0xc0,
|
||||
0xff, 0x03, 0x00, 0x00, 0x00, 0x00, 0xfc, 0xff, 0xff, 0xff, 0xff, 0xff,
|
||||
0x01, 0xff, 0x00, 0x00, 0x00, 0x00, 0x00, 0xf8, 0xff, 0xff, 0xff, 0xff,
|
||||
0xff, 0x03, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
||||
0x00, 0x60, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
||||
0x00, 0x00, 0x60, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
||||
0x00, 0x00, 0x00, 0x60, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
||||
0x00, 0x00, 0x00, 0x00, 0x60, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
||||
0x00, 0x00, 0x00, 0x00, 0x00, 0x60, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
||||
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x60, 0x00, 0x00, 0x00, 0x00, 0x00,
|
||||
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x60, 0x00, 0x00, 0x00, 0x00,
|
||||
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x40, 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, 0x00, 0x00, 0x00, 0x00,
|
||||
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x40, 0x24, 0x20, 0x00,
|
||||
0x00, 0x08, 0x46, 0x02, 0x00, 0x80, 0xc0, 0x40, 0x00, 0x0c, 0x6e, 0x6a,
|
||||
0xc0, 0xa4, 0x48, 0x04, 0xaa, 0xac, 0x8c, 0xaa, 0xac, 0x00, 0x6a, 0xa4,
|
||||
0xaa, 0x20, 0xea, 0xa4, 0x64, 0x66, 0xaa, 0x46, 0x4a, 0x8a, 0x00, 0x4c,
|
||||
0xa4, 0xaa, 0x20, 0xaa, 0xa2, 0x44, 0x2a, 0xaa, 0x28, 0xaa, 0x4c, 0x00,
|
||||
0xe8, 0xa8, 0x6c, 0xc4, 0xa4, 0x42, 0xee, 0x2a, 0xcc, 0x26, 0x6c, 0xe8,
|
||||
0x00, 0x06, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
||||
0x06, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
||||
0x00, 0x00, 0x00 };
|
||||
BIN
basic-setup/components/u8g2/doc/u8g2_logo_transparent_orange.png
Normal file
BIN
basic-setup/components/u8g2/doc/u8g2_logo_transparent_orange.png
Normal file
Binary file not shown.
|
After Width: | Height: | Size: 593 B |
BIN
basic-setup/components/u8g2/doc/u8g2_software_architecture.odg
Normal file
BIN
basic-setup/components/u8g2/doc/u8g2_software_architecture.odg
Normal file
Binary file not shown.
BIN
basic-setup/components/u8g2/doc/u8g2_software_architecture.png
Normal file
BIN
basic-setup/components/u8g2/doc/u8g2_software_architecture.png
Normal file
Binary file not shown.
|
After Width: | Height: | Size: 267 KiB |
Reference in New Issue
Block a user