M5GFX

M5GFXはM5Stack製品のディスプレイデバイス用のグラフィクスライブラリです。

ヘッダファイルのインクルードとディスプレイデバイスの定義

下記のデバイスに対応したヘッダファイルをインクルードします。M5StackのコントローラーデバイスはM5GFX.hをインクルードします。

ヘッダファイルに依存するAPIリスト

いくつかの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

M5GFX.h

対応デバイス: M5Stack Core(Basic, Gray, Fire, M5Go), M5StackCore2, M5Tough, M5StickC, M5StickCPlus, M5CoreInk, M5Paper

コンストラクタ:

M5GFX( void )

Example:

#include <M5GFX.h>
M5GFX display;

M5UnitLCD.h

対応デバイス: 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

init()

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() {
}

setup()

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() {
}

M5UnitOLED.h

Constructor

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

init()

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() {
}

setup()

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() {
}

M5AtomDisplay.h

Constructor

対応デバイス: 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

setResolution()

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() {
}
On This Page