Merge pull request #350 from dwightmulcahy/rotation
added consts for display rotation for clarification
This commit is contained in:
commit
ab5916a4ac
@ -1,5 +1,6 @@
|
|||||||
#include "displayDriver.h"
|
#include "displayDriver.h"
|
||||||
|
|
||||||
|
|
||||||
#ifdef AMOLED_DISPLAY
|
#ifdef AMOLED_DISPLAY
|
||||||
|
|
||||||
#include <rm67162.h>
|
#include <rm67162.h>
|
||||||
@ -10,6 +11,7 @@
|
|||||||
#include "version.h"
|
#include "version.h"
|
||||||
#include "monitor.h"
|
#include "monitor.h"
|
||||||
#include "OpenFontRender.h"
|
#include "OpenFontRender.h"
|
||||||
|
#include "rotation.h"
|
||||||
|
|
||||||
#define WIDTH 536
|
#define WIDTH 536
|
||||||
#define HEIGHT 240
|
#define HEIGHT 240
|
||||||
@ -34,7 +36,7 @@ void amoledDisplay_Init(void)
|
|||||||
digitalWrite(38, OUTPUT);
|
digitalWrite(38, OUTPUT);
|
||||||
#endif
|
#endif
|
||||||
rm67162_init();
|
rm67162_init();
|
||||||
lcd_setRotation(1);
|
lcd_setRotation(LANDSCAPE);
|
||||||
|
|
||||||
background.createSprite(WIDTH, HEIGHT);
|
background.createSprite(WIDTH, HEIGHT);
|
||||||
background.setSwapBytes(true);
|
background.setSwapBytes(true);
|
||||||
@ -55,10 +57,10 @@ void amoledDisplay_AlternateScreenState(void)
|
|||||||
screen_state ^= 1;
|
screen_state ^= 1;
|
||||||
}
|
}
|
||||||
|
|
||||||
int screen_rotation = 1;
|
int screen_rotation = LANDSCAPE;
|
||||||
void amoledDisplay_AlternateRotation(void)
|
void amoledDisplay_AlternateRotation(void)
|
||||||
{
|
{
|
||||||
screen_rotation == 1 ? lcd_setRotation(3) : lcd_setRotation(1);
|
screen_rotation = flipRotation(screen_rotation);
|
||||||
screen_rotation ^= 1;
|
screen_rotation ^= 1;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -9,6 +9,7 @@
|
|||||||
#include "version.h"
|
#include "version.h"
|
||||||
#include "monitor.h"
|
#include "monitor.h"
|
||||||
#include "OpenFontRender.h"
|
#include "OpenFontRender.h"
|
||||||
|
#include "rotation.h"
|
||||||
|
|
||||||
#ifdef USE_LED
|
#ifdef USE_LED
|
||||||
#include <FastLED.h>
|
#include <FastLED.h>
|
||||||
@ -85,7 +86,7 @@ void dongleDisplay_Init(void)
|
|||||||
#endif // USE_LED
|
#endif // USE_LED
|
||||||
|
|
||||||
tft.init();
|
tft.init();
|
||||||
tft.setRotation(3);
|
tft.setRotation(LANDSCAPE_INVERTED);
|
||||||
tft.setSwapBytes(true);
|
tft.setSwapBytes(true);
|
||||||
background.createSprite(BUFFER_WIDTH, BUFFER_HEIGHT);
|
background.createSprite(BUFFER_WIDTH, BUFFER_HEIGHT);
|
||||||
background.setSwapBytes(true);
|
background.setSwapBytes(true);
|
||||||
@ -110,7 +111,7 @@ void dongleDisplay_AlternateScreenState(void)
|
|||||||
|
|
||||||
void dongleDisplay_AlternateRotation(void)
|
void dongleDisplay_AlternateRotation(void)
|
||||||
{
|
{
|
||||||
tft.getRotation() == 1 ? tft.setRotation(3) : tft.setRotation(1);
|
tft.setRotation( flipRotation(tft.getRotation()) );
|
||||||
}
|
}
|
||||||
|
|
||||||
void dongleDisplay_MinerScreen(unsigned long mElapsed)
|
void dongleDisplay_MinerScreen(unsigned long mElapsed)
|
||||||
|
@ -12,6 +12,7 @@
|
|||||||
#include "monitor.h"
|
#include "monitor.h"
|
||||||
#include "OpenFontRender.h"
|
#include "OpenFontRender.h"
|
||||||
#include <SPI.h>
|
#include <SPI.h>
|
||||||
|
#include "rotation.h"
|
||||||
|
|
||||||
#define WIDTH 130 //320
|
#define WIDTH 130 //320
|
||||||
#define HEIGHT 170
|
#define HEIGHT 170
|
||||||
@ -31,7 +32,7 @@ bool hasChangedScreen = true;
|
|||||||
void esp32_2432S028R_Init(void)
|
void esp32_2432S028R_Init(void)
|
||||||
{
|
{
|
||||||
tft.init();
|
tft.init();
|
||||||
tft.setRotation(1);
|
tft.setRotation(ROTATION_90);
|
||||||
#ifdef ESP32_2432S028_2USB
|
#ifdef ESP32_2432S028_2USB
|
||||||
/*
|
/*
|
||||||
In addition to TFT_INVERSION this adjusts the gamma curve to have better
|
In addition to TFT_INVERSION this adjusts the gamma curve to have better
|
||||||
@ -79,7 +80,7 @@ void esp32_2432S028R_AlternateScreenState(void)
|
|||||||
|
|
||||||
void esp32_2432S028R_AlternateRotation(void)
|
void esp32_2432S028R_AlternateRotation(void)
|
||||||
{
|
{
|
||||||
tft.getRotation() == 1 ? tft.setRotation(3) : tft.setRotation(1);
|
tft.setRotation( flipRotation(tft.getRotation()) );
|
||||||
hasChangedScreen = true;
|
hasChangedScreen = true;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -9,6 +9,7 @@
|
|||||||
#include "media/Free_Fonts.h"
|
#include "media/Free_Fonts.h"
|
||||||
#include "version.h"
|
#include "version.h"
|
||||||
#include "monitor.h"
|
#include "monitor.h"
|
||||||
|
#include "rotation.h"
|
||||||
|
|
||||||
#define WIDTH 80
|
#define WIDTH 80
|
||||||
#define HEIGHT 160
|
#define HEIGHT 160
|
||||||
@ -21,7 +22,7 @@ int screen_state = 1;
|
|||||||
void m5stickCDriver_Init(void)
|
void m5stickCDriver_Init(void)
|
||||||
{
|
{
|
||||||
M5.begin();
|
M5.begin();
|
||||||
M5.Lcd.setRotation(1);
|
M5.Lcd.setRotation(LANDSCAPE);
|
||||||
M5.Lcd.setTextSize(1);
|
M5.Lcd.setTextSize(1);
|
||||||
M5.Lcd.fillScreen(BLACK);
|
M5.Lcd.fillScreen(BLACK);
|
||||||
M5.Axp.ScreenBreath(10); //screen brightness 7-15
|
M5.Axp.ScreenBreath(10); //screen brightness 7-15
|
||||||
@ -42,8 +43,7 @@ void m5stickCDriver_AlternateScreenState(void)
|
|||||||
|
|
||||||
void m5stickCDriver_AlternateRotation(void)
|
void m5stickCDriver_AlternateRotation(void)
|
||||||
{
|
{
|
||||||
if (M5.Lcd.getRotation() == 3) M5.Lcd.setRotation(1);
|
M5.Lcd.setRotation( flipRotation(M5.Lcd.getRotation()) );
|
||||||
else M5.Lcd.setRotation(3);
|
|
||||||
}
|
}
|
||||||
|
|
||||||
void m5stickCDriver_MinerScreen(unsigned long mElapsed)
|
void m5stickCDriver_MinerScreen(unsigned long mElapsed)
|
||||||
|
42
src/drivers/displays/rotation.h
Normal file
42
src/drivers/displays/rotation.h
Normal file
@ -0,0 +1,42 @@
|
|||||||
|
//
|
||||||
|
// Rotation can be 0, 90, 180 or 270 degrees, but TFT_eSPI cryptically
|
||||||
|
// identifies these as 0, 1, 2, and 3. ?!?!?!?!?!?
|
||||||
|
//
|
||||||
|
// Created by dwight on 3/14/24.
|
||||||
|
//
|
||||||
|
|
||||||
|
#ifndef NERDMINER_V2_ROTATION_H
|
||||||
|
|
||||||
|
// Rotation value 0 sets the display to a portrait (tall) mode, with the USB jack at the top right.
|
||||||
|
#define ROTATION_0 0
|
||||||
|
#define PORTRAIT ROTATION_0
|
||||||
|
|
||||||
|
// Rotation 1 is landscape (wide) mode, with the USB jack at the bottom right.
|
||||||
|
#define ROTATION_90 1
|
||||||
|
#define LANDSCAPE ROTATION_90
|
||||||
|
|
||||||
|
// Rotation value 2 is also a portrait mode, with the USB jack at the bottom left.
|
||||||
|
#define ROTATION_180 2
|
||||||
|
#define PORTRAIT_INVERTED ROTATION_180
|
||||||
|
|
||||||
|
// Rotation 3 is also landscape, but with the USB jack at the top left.
|
||||||
|
#define ROTATION_270 3
|
||||||
|
#define LANDSCAPE_INVERTED ROTATION_270
|
||||||
|
|
||||||
|
// Helper function to rotate display left (-90 deg)
|
||||||
|
int rotationLeft(int d) {
|
||||||
|
return (d-ROTATION_90) % 4;
|
||||||
|
}
|
||||||
|
|
||||||
|
// Helper function to rotate display right (90 deg)
|
||||||
|
int rotationRight(int d) {
|
||||||
|
return (d+ROTATION_90) % 4;
|
||||||
|
}
|
||||||
|
|
||||||
|
// Helper function to rotate display 180 deg
|
||||||
|
int flipRotation(int d) {
|
||||||
|
return (d+ROTATION_180) % 4;
|
||||||
|
}
|
||||||
|
|
||||||
|
#define NERDMINER_V2_ROTATION_H
|
||||||
|
#endif //NERDMINER_V2_ROTATION_H
|
@ -9,6 +9,7 @@
|
|||||||
#include "version.h"
|
#include "version.h"
|
||||||
#include "monitor.h"
|
#include "monitor.h"
|
||||||
#include "OpenFontRender.h"
|
#include "OpenFontRender.h"
|
||||||
|
#include "rotation.h"
|
||||||
|
|
||||||
#define WIDTH 340
|
#define WIDTH 340
|
||||||
#define HEIGHT 170
|
#define HEIGHT 170
|
||||||
@ -21,9 +22,9 @@ void tDisplay_Init(void)
|
|||||||
{
|
{
|
||||||
tft.init();
|
tft.init();
|
||||||
#ifdef LILYGO_S3_T_EMBED
|
#ifdef LILYGO_S3_T_EMBED
|
||||||
tft.setRotation(3);
|
tft.setRotation(ROTATION_270);
|
||||||
#else
|
#else
|
||||||
tft.setRotation(1);
|
tft.setRotation(ROTATION_90);
|
||||||
#endif
|
#endif
|
||||||
tft.setSwapBytes(true); // Swap the colour byte order when rendering
|
tft.setSwapBytes(true); // Swap the colour byte order when rendering
|
||||||
background.createSprite(WIDTH, HEIGHT); // Background Sprite
|
background.createSprite(WIDTH, HEIGHT); // Background Sprite
|
||||||
@ -49,7 +50,7 @@ void tDisplay_AlternateScreenState(void)
|
|||||||
|
|
||||||
void tDisplay_AlternateRotation(void)
|
void tDisplay_AlternateRotation(void)
|
||||||
{
|
{
|
||||||
tft.getRotation() == 1 ? tft.setRotation(3) : tft.setRotation(1);
|
tft.setRotation( flipRotation(tft.getRotation()) );
|
||||||
}
|
}
|
||||||
|
|
||||||
void tDisplay_MinerScreen(unsigned long mElapsed)
|
void tDisplay_MinerScreen(unsigned long mElapsed)
|
||||||
|
@ -9,6 +9,7 @@
|
|||||||
#include "version.h"
|
#include "version.h"
|
||||||
#include "monitor.h"
|
#include "monitor.h"
|
||||||
#include "OpenFontRender.h"
|
#include "OpenFontRender.h"
|
||||||
|
#include "rotation.h"
|
||||||
|
|
||||||
#define WIDTH 240
|
#define WIDTH 240
|
||||||
#define HEIGHT 135
|
#define HEIGHT 135
|
||||||
@ -20,7 +21,7 @@ TFT_eSprite background = TFT_eSprite(&tft); // Invoke library sprite
|
|||||||
void tDisplay_Init(void)
|
void tDisplay_Init(void)
|
||||||
{
|
{
|
||||||
tft.init();
|
tft.init();
|
||||||
tft.setRotation(1);
|
tft.setRotation(ROTATION_90);
|
||||||
tft.setSwapBytes(true); // Swap the colour byte order when rendering
|
tft.setSwapBytes(true); // Swap the colour byte order when rendering
|
||||||
background.createSprite(WIDTH, HEIGHT); // Background Sprite
|
background.createSprite(WIDTH, HEIGHT); // Background Sprite
|
||||||
background.setSwapBytes(true);
|
background.setSwapBytes(true);
|
||||||
@ -45,7 +46,7 @@ void tDisplay_AlternateScreenState(void)
|
|||||||
|
|
||||||
void tDisplay_AlternateRotation(void)
|
void tDisplay_AlternateRotation(void)
|
||||||
{
|
{
|
||||||
tft.getRotation() == 1 ? tft.setRotation(3) : tft.setRotation(1);
|
tft.setRotation( flipRotation(tft.getRotation()) );
|
||||||
}
|
}
|
||||||
|
|
||||||
void tDisplay_MinerScreen(unsigned long mElapsed)
|
void tDisplay_MinerScreen(unsigned long mElapsed)
|
||||||
|
@ -9,6 +9,7 @@
|
|||||||
#include "version.h"
|
#include "version.h"
|
||||||
#include "monitor.h"
|
#include "monitor.h"
|
||||||
#include "OpenFontRender.h"
|
#include "OpenFontRender.h"
|
||||||
|
#include "rotation.h"
|
||||||
|
|
||||||
#define WIDTH 128
|
#define WIDTH 128
|
||||||
#define HEIGHT 128
|
#define HEIGHT 128
|
||||||
@ -20,7 +21,7 @@ TFT_eSprite background = TFT_eSprite(&tft); // Invoke library sprite
|
|||||||
void t_qtDisplay_Init(void)
|
void t_qtDisplay_Init(void)
|
||||||
{
|
{
|
||||||
tft.init();
|
tft.init();
|
||||||
tft.setRotation(1);
|
tft.setRotation(LANDSCAPE);
|
||||||
tft.setSwapBytes(true); // Swap the colour byte order when rendering
|
tft.setSwapBytes(true); // Swap the colour byte order when rendering
|
||||||
background.createSprite(WIDTH, HEIGHT); // Background Sprite
|
background.createSprite(WIDTH, HEIGHT); // Background Sprite
|
||||||
background.setSwapBytes(true);
|
background.setSwapBytes(true);
|
||||||
@ -45,7 +46,7 @@ void t_qtDisplay_AlternateScreenState(void)
|
|||||||
|
|
||||||
void t_qtDisplay_AlternateRotation(void)
|
void t_qtDisplay_AlternateRotation(void)
|
||||||
{
|
{
|
||||||
tft.setRotation((tft.getRotation()+1) % 4);
|
tft.setRotation( rotationRight(tft.getRotation()) );
|
||||||
}
|
}
|
||||||
|
|
||||||
void t_qtDisplay_MinerScreen(unsigned long mElapsed)
|
void t_qtDisplay_MinerScreen(unsigned long mElapsed)
|
||||||
|
Loading…
Reference in New Issue
Block a user