์ ๋ ํ์ฌ TinyBoy2 ํ๋ฆฐํฐ์ ๋ํ ์ง์์ ๊ตฌํํ๊ณ ์์ผ๋ฉฐ ์๋ํ์ง ์๋ ์ธ์ฝ๋์ ๊ฑธ๋ ธ์ต๋๋ค.
Tinyboy๋ I2C๋ฅผ ํตํด ์ฐ๊ฒฐ๋ SSD1306 128x64 OLED ๋์คํ๋ ์ด์ ENCA/ENCB/ENC_Button์ฉ์ผ๋ก 3๊ฐ์ GPIO๋ฅผ ์ฌ์ฉํ๋ ๋กํฐ๋ฆฌ ์ธ์ฝ๋์ธ ์์ฒด ์ํ ๋์คํ๋ ์ด/์ธ์ฝ๋ ๋ณด๋๋ฅผ ์ฌ์ฉํฉ๋๋ค.
๋์คํ๋ ์ด๋ฅผ ํ์ฑํํ๋ ๊ฒ์ ๊ฐ๋จํ์ง๋ง(#define U8GLIB_SSD1306) ์ธ์ฝ๋ ์ง์์๋ #define ULTIPANEL์ด ํ์ํฉ๋๋ค.
Conditionals_LCD.h
์์
// Generic support for SSD1306 / SH1106 OLED based LCDs.
#if ENABLED(U8GLIB_SSD1306) || ENABLED(U8GLIB_SH1106)
#define ULTRA_LCD //general LCD support, also 16x2
#define DOGLCD // Support for I2C LCD 128x64 (Controller SSD1306 / SH1106 graphic Display Family)
#endif
๋ค์์ผ๋ก ๋ณ๊ฒฝ:
// Generic support for SSD1306 / SH1106 OLED based LCDs.
#if ENABLED(U8GLIB_SSD1306) || ENABLED(U8GLIB_SH1106)
#define ULTIPANEL // To enable encoder support
#define ULTRA_LCD //general LCD support, also 16x2
#define DOGLCD // Support for I2C LCD 128x64 (Controller SSD1306 / SH1106 graphic Display Family)
#endif
U8GLIB_SSD1306 ๋๋ U8GLIB_SH1106์ ์ฌ์ฉํ๋ ๋ชจ๋ ์ฌ์ฉ์์๊ฒ ์ ํฉํฉ๋๋ค.
SSD1306์ LCD/OLED, ์ฆ ๊ทธ ์์ฒด๋ก ๋์คํ๋ ์ด์ผ ๋ฟ์ ๋๋ค . ํจ๋์ ๋์คํ๋ ์ด์ ์ ๋ ฅ(๋กํฐ๋ฆฌ ์ธ์ฝ๋ ๋๋ ์ปค์ ํค)์ ๋๋ค.
์ด๊ฒ์ ์๋ํ๊ฒ ํ๋ ๋ฐฉ๋ฒ์ ๊ดํ ๊ฒ์ด ์๋๋ผ(Configuration.h์ #define ULTIPANEL์ ๋ฃ๊ธฐ๋ง ํ๋ฉด ๋จ) ์ธ์ฝ๋๊ฐ ์๋ํ๋ ค๋ฉด ULTIPANEL์ด ํ์ํ๋ค๋ ๋๋ฝ๋ ๋ฌธ์๊ฐ ํ์ํฉ๋๋ค.
์ฃ์กํ์ง๋ง ํด๊ฒฐ ๋์ง ์์์ต๋๋ค .
https://github.com/MarlinFirmware/Marlin/blob/1.1.x/Marlin/Configuration.h#L1328
// Thingiverse์์ ๋ณธ ULTIPANEL.
์ผ๋ฐ ์ธ์ฝ๋ ์ง์์๋ ํํธ๊ฐ ํ์ํ์ง ์์ต๋๋ค.
ULTIPANEL์ Conditionals_LCD.h
๋ชจ๋ ๊ด๋ จ ํจ๋์ ๋ํด ์๋์ผ๋ก ์ค์ ๋๊ธฐ๋ฅผ ๋ฐ๋๋๋ค.
ULTIPANEL์ ์ธ์ฝ๋๋ฅผ ์ง์ํ๋ ์ต์ด์ ํจ๋์ด์์ต๋๋ค. ์ด๋ฆ๊ณผ ์ฝ๋๋ ๊ณ์ํด์ ์ฌ์ฉ๋ฉ๋๋ค.
๋ฐ๋ผ์ ์ธ์ฝ๋๊ฐ ์๋ ์ ํจ๋์ ํตํฉํ๋ ค๋ฉด Conditionals_LCD.h
์ ์น์
์ ๋ง๋ค๊ณ ULTIPANEL์ ์ ์ํฉ๋๋ค. Configuration.h
๋ฐ ์ฌ๊ธฐ์ ์๋ ์ฃผ์์ ์ฌ์ฉ์ ์ํ ๊ฒ์
๋๋ค. ์๋ก์ด ํจ๋์ ํตํฉํ๋ ๊ฐ๋ฐ์๋ ์ข ๋ ๊น์ด ํ๊ณ ๋ค์ด์ผ ํฉ๋๋ค.
๊ฐ์ฅ ์ ์ฉํ ๋๊ธ
์ฃ์กํ์ง๋ง ํด๊ฒฐ ๋์ง ์์์ต๋๋ค .
https://github.com/MarlinFirmware/Marlin/blob/1.1.x/Marlin/Configuration.h#L1328
// Thingiverse์์ ๋ณธ ULTIPANEL.
์ผ๋ฐ ์ธ์ฝ๋ ์ง์์๋ ํํธ๊ฐ ํ์ํ์ง ์์ต๋๋ค.