M5GFXはM5Stack製品のディスプレイデバイス用のグラフィクスライブラリです。
下記のデバイスに対応したヘッダファイルをインクルードします。M5StackのコントローラーデバイスはM5GFX.h
をインクルードします。
いくつかのM5GFXのAPIはヘッダを含まないと使用できないような仕組みになっています。下記のAPIを利用する場合はM5GFXのヘッダファイル(M5GFX.h, M5UnitLCD.h, M5UnitOLED.hやM5AtomDisplay.h)よりも前にインクルードしてください。
API | 必要なヘッダファイル |
---|---|
drawBmpFile | SD.h |
drawJpgFile | SD.h |
drawPngFile | SD.h |
drawQoiFile | SD.h |
drawBmpUrl | HTTPClient.h |
drawJpgUrl | HTTPClient.h |
drawPngUrl | HTTPClient.h |
drawQoiUrl | HTTPClient.h |
drawBmpFile | SdFat.h |
drawJpgFile | SdFat.h |
drawPngFile | SdFat.h |
drawQoiFile | SdFat.h |
対応デバイス: M5Stack Core(Basic, Gray, Fire, M5Go), M5StackCore2, M5Tough, M5StickC, M5StickCPlus, M5CoreInk, M5Paper
コンストラクタ:
M5GFX( void )
Example:
#include <M5GFX.h>
M5GFX display;
対応デバイス: M5Stack UnitLCD
Syntax:
M5UnitLCD( uint8_t pin_sda = Auto, uint8_t pin_scl = Auto, uint32_t i2c_freq = 400000, int8_t i2c_port = -1, uint8_t i2c_addr = 0x3E )
Parameters:
Parameter | Type | Description |
---|---|---|
pin_sda | uint8_t | SCA PIN number of M5 device (*1) |
pin_scl | uint8_t | SCL PIN number of M5 device (*1) |
i2c_freq | uint32_t | I2C frequency |
i2c_port | int8_t | I2C Port(Usually unused) |
i2c_address | uint8_t | I2C Address(Usually unused) |
*1. Port.AやM5StickC/Plus/Atomなどの汎用Groveポートは省略しても自動で設定されます。
Example:
#include <M5UnitLCD.h>
M5UnitLCD display( 21, 22, 400000 ); // SDA, SCL, FREQ
Function:
初期設定項目を動的に変更します。
Syntax:
void init( uint8_t pin_sda, uint8_t pin_scl, uint32_t i2c_freq = 400000, int8_t i2c_port = -1, uint8_t i2c_addr = 0x3E )
Example:
#include <M5UnitLCD.h>
M5UnitLCD display;
void setup() {
display.init( 21, 22, 400000 ); // SCL, SDA, I2C_Freq
}
void loop() {
}
Function:
初期設定を行います。引数は省略可能です。
Syntax:
void setup( uint8_t pin_sda = Auto, uint8_t pin_scl = Auto, uint32_t i2c_freq = 400000, int8_t i2c_port = -1, uint8_t i2c_addr = 0x3E )
Example:
#include <M5UnitLCD.h>
M5UnitLCD display;
void setup() {
display.setup( 21, 22, 400000 ); // SCL, SDA, I2C_Freq
}
void loop() {
}
Device: for M5Stack UnitOLED
Constructor Syntax:
M5UnitOLED( uint8_t pin_sda = Auto, uint8_t pin_scl = Auto, uint32_t i2c_freq = 400000, int8_t i2c_port = -1, uint8_t i2c_addr = 0x3C )
Constructor Parameters:
Parameter | Type | Description |
---|---|---|
pin_sda | uint8_t | SCA PIN number of M5 device (*1) |
pin_scl | uint8_t | SCL PIN number of M5 device (*1) |
i2c_freq | uint32_t | I2C frequency |
i2c_port | int8_t | I2C Port(Usually unused) |
i2c_address | uint8_t | I2C Address(Usually unused) |
*1. Port.A and Grove ports(M5StickC/Plus/Atom) are automatically set even if omitted.
Example:
#include <M5UnitLCD.h>
M5UnitLCD display( 21, 22, 400000 ); // SDA, SCL, FREQ
Function:
ディスプレイデバイスの初期化を行います。初期設定項目をコンストラクタで設定したものから動的に変更可能です。
Syntax:
void init( uint8_t pin_sda, uint8_t pin_scl, uint32_t i2c_freq = 400000, int8_t i2c_port = -1, uint8_t i2c_addr = 0x3C )
Example:
#include <M5UnitOLED.h>
M5UnitOLED display;
void setup() {
display.init( 21, 22, 400000 ); // SCL, SDA, I2C_Freq
}
void loop() {
}
Function:
ディスプレイデバイスの初期化を行います。初期設定項目をコンストラクタで設定したものから動的に変更可能です。
Syntax:
void setup( uint8_t pin_sda = Auto, uint8_t pin_scl = Auto, uint32_t i2c_freq = 400000, int8_t i2c_port = -1, uint8_t i2c_addr = 0x3C )
Example:
#include <M5UnitOLED.h>
M5UnitOLED display;
void setup() {
display.setup( 21, 22, 400000 ); // SCL, SDA, I2C_Freq
}
void loop() {
}
対応デバイス: M5Stack AtomDisplay / AtomDisplayLite
Syntax:
M5AtomDisplay( unit16_t logical_width = 1280, uint16_t logical_height = 720, float refresh_rate = 0.0f, output_width = 0, uint16_t output_height = 0, uint_fast8_t scale_w = 0, uint_fast8_t scale_h = 0)
Parameters:
Parameter | Type | Description(*1) |
---|---|---|
logical_width | uint16_t | 論理的なスクリーンの幅 |
logical_height | uint16_t | 論理的なスクリーンの高さ |
refresh_rate | float | リフレッシュレート(*2) |
output_width | uint16_t | 実際に出力するスクリーンの幅 |
output_height | uint16_t | 実際に出力するスクリーンの高さ |
scale_w | uint_fast8_t | 倍率(幅) |
scale_h | uint_fast8_t | 倍率(高さ) |
*1. 最大解像度はメモリに依存します。. *2. リフレッシュレートはご使用のディスプレイに依存します。
解像度の設定例 ・1280 x 720 x 60Hz ・1920 x 1080 x 24Hz ・320 x 240 x 240Hz
Example:
#include <M5AtomDisplay.h>
M5AtomDisplay display( 640, 480, 60 );
Function:
動的に解像度を変更します。 Dynamically change the initial settings.
Syntax:
void setResolution( unit16_t logical_width = 1280, uint16_t logical_height = 720, float refresh_rate = 0.0f, output_width = 0, uint16_t output_height = 0, uint_fast8_t scale_w = 0, uint_fast8_t scale_h = 0 )
Example:
#include <M5AtomDisplay.h>
M5AtomDisplay display;
void setup() {
display.setResolution( 320, 240, 60 ); // logical_width, logical_height, refresh_rate
}
void loop() {
}