Merge pull request #379 from cosmicpsyop/bugfix/t_hmi_maint
t-hmi model improvements and bugfixes
This commit is contained in:
commit
684a566835
@ -754,9 +754,9 @@ lib_deps =
|
|||||||
https://github.com/takkaO/OpenFontRender
|
https://github.com/takkaO/OpenFontRender
|
||||||
bblanchon/ArduinoJson@^6.21.2
|
bblanchon/ArduinoJson@^6.21.2
|
||||||
https://github.com/tzapu/WiFiManager.git#v2.0.16-rc.2
|
https://github.com/tzapu/WiFiManager.git#v2.0.16-rc.2
|
||||||
mathertel/OneButton @ ^2.0.3
|
mathertel/OneButton @ 2.0.3
|
||||||
arduino-libraries/NTPClient
|
arduino-libraries/NTPClient
|
||||||
bodmer/TFT_eSPI @ ^2.5.31
|
bodmer/TFT_eSPI @ ^2.5.31
|
||||||
https://github.com/achillhasler/TFT_eTouch
|
https://github.com/achillhasler/TFT_eTouch
|
||||||
lib_ignore =
|
lib_ignore =
|
||||||
HANSOLOminerv2
|
HANSOLOminerv2
|
||||||
|
@ -9,30 +9,32 @@
|
|||||||
#define BUTTON1_PIN (0)
|
#define BUTTON1_PIN (0)
|
||||||
#define BUTTON2_PIN (21)
|
#define BUTTON2_PIN (21)
|
||||||
|
|
||||||
#define PIN_BUTTON_1 BUTTON1_PIN
|
#define PIN_BUTTON_1 (0)
|
||||||
// #define PIN_BUTTON_2 BUTTON2_PIN
|
//#define PIN_BUTTON_2 (21)
|
||||||
|
|
||||||
|
|
||||||
// touch screen
|
// touch screen
|
||||||
#define TOUCHSCREEN_SCLK_PIN (1)
|
#define TOUCH_IRQ (9)
|
||||||
#define TOUCHSCREEN_MISO_PIN (4)
|
#define TOUCH_CLK (1)
|
||||||
#define TOUCHSCREEN_MOSI_PIN (3)
|
#define TOUCH_MISO (4)
|
||||||
#define TOUCHSCREEN_CS_PIN (2)
|
#define TOUCH_MOSI (3)
|
||||||
#define TOUCHSCREEN_IRQ_PIN (9)
|
#define ETOUCH_CS (2)
|
||||||
#define TOUCH_CLK TOUCHSCREEN_SCLK_PIN
|
|
||||||
#define TOUCH_MISO TOUCHSCREEN_MISO_PIN
|
|
||||||
#define TOUCH_MOSI TOUCHSCREEN_MOSI_PIN
|
|
||||||
#define ETOUCH_CS TOUCHSCREEN_CS_PIN
|
|
||||||
|
|
||||||
|
|
||||||
// lcd
|
|
||||||
#define PCLK_PIN (8)
|
#define PCLK_PIN (8)
|
||||||
#define CS_PIN (6)
|
#define CS_PIN (6)
|
||||||
#define DC_PIN (7)
|
#define DC_PIN (7)
|
||||||
#define RST_PIN (-1)
|
#define RST_PIN (-1)
|
||||||
#define BK_LIGHT_PIN (38)
|
#define BK_LIGHT_PIN (38)
|
||||||
|
#define BK_LIGHT_LEVEL (1)
|
||||||
#define LED_PIN (8)
|
#define LED_PIN (8)
|
||||||
|
|
||||||
|
// sd card
|
||||||
|
// 1-bit SD MMC
|
||||||
|
#ifdef DEFINE_SDMMC_1BIT
|
||||||
|
#define SDMMC_CLK (12)
|
||||||
|
#define SDMMC_CMD (11)
|
||||||
|
#define SDMMC_D0 (13)
|
||||||
|
#endif
|
||||||
|
|
||||||
#ifndef TFT_BL
|
#ifndef TFT_BL
|
||||||
// XXX - defined in User_Setups/Setup207_LilyGo_T_HMI.h:37
|
// XXX - defined in User_Setups/Setup207_LilyGo_T_HMI.h:37
|
||||||
#define TFT_BL (38) // LED back-light
|
#define TFT_BL (38) // LED back-light
|
||||||
|
@ -12,6 +12,9 @@
|
|||||||
#include "monitor.h"
|
#include "monitor.h"
|
||||||
#include "OpenFontRender.h"
|
#include "OpenFontRender.h"
|
||||||
|
|
||||||
|
#include <Arduino.h>
|
||||||
|
#include <esp_adc_cal.h>
|
||||||
|
|
||||||
#define WIDTH 320
|
#define WIDTH 320
|
||||||
#define HEIGHT 240
|
#define HEIGHT 240
|
||||||
|
|
||||||
@ -21,16 +24,38 @@ TFT_eSprite background = TFT_eSprite(&tft); // Invoke library sprite
|
|||||||
|
|
||||||
|
|
||||||
SPIClass hSPI(HSPI);
|
SPIClass hSPI(HSPI);
|
||||||
TFT_eTouch<TFT_eSPI> touch(tft, ETOUCH_CS, 0xFF, hSPI);
|
// TFT_eTouch<TFT_eSPI> touch(tft, ETOUCH_CS, 0xFF, hSPI);
|
||||||
bool showbtcprice = false;
|
bool showbtcprice = false;
|
||||||
|
|
||||||
extern monitor_data mMonitor;
|
extern monitor_data mMonitor;
|
||||||
extern pool_data pData;
|
extern pool_data pData;
|
||||||
extern DisplayDriver *currentDisplayDriver;
|
extern DisplayDriver *currentDisplayDriver;
|
||||||
|
|
||||||
|
uint32_t readAdcVoltage(int pin) {
|
||||||
|
esp_adc_cal_characteristics_t adc_chars;
|
||||||
|
|
||||||
|
esp_adc_cal_value_t val_type = esp_adc_cal_characterize(ADC_UNIT_1, ADC_ATTEN_DB_11, ADC_WIDTH_BIT_12, 1100, &adc_chars);
|
||||||
|
return esp_adc_cal_raw_to_voltage(analogRead(pin), &adc_chars);
|
||||||
|
}
|
||||||
|
|
||||||
|
void printBatteryVoltage() {
|
||||||
|
uint32_t voltage = readAdcVoltage(BAT_ADC_PIN) * 2;
|
||||||
|
Serial.print("Battery voltage: ");
|
||||||
|
Serial.println((float)voltage/1000);
|
||||||
|
delay(500);
|
||||||
|
}
|
||||||
|
|
||||||
void t_hmiDisplay_Init(void)
|
void t_hmiDisplay_Init(void)
|
||||||
{
|
{
|
||||||
|
pinMode(PWR_ON_PIN, OUTPUT);
|
||||||
|
digitalWrite(PWR_ON_PIN, HIGH);
|
||||||
|
|
||||||
|
delay(10);
|
||||||
|
Serial.println(F("Turn on the main power"));
|
||||||
|
|
||||||
|
pinMode(PWR_EN_PIN, OUTPUT);
|
||||||
|
digitalWrite(PWR_EN_PIN, HIGH);
|
||||||
|
|
||||||
tft.init();
|
tft.init();
|
||||||
tft.setRotation(1);
|
tft.setRotation(1);
|
||||||
tft.setSwapBytes(true); // Swap the colour byte order when rendering
|
tft.setSwapBytes(true); // Swap the colour byte order when rendering
|
||||||
@ -51,10 +76,10 @@ void t_hmiDisplay_Init(void)
|
|||||||
TFT_eTouchBase::Calibation calibation = { 233, 3785, 3731, 120, 2 };
|
TFT_eTouchBase::Calibation calibation = { 233, 3785, 3731, 120, 2 };
|
||||||
touch.setCalibration(calibation);
|
touch.setCalibration(calibation);
|
||||||
*/
|
*/
|
||||||
Serial.println(F("Power on peripherals, such as the LCD backlight"));
|
Serial.println(F("Turn on the LCD backlight"));
|
||||||
pinMode(PWR_EN_PIN, OUTPUT);
|
|
||||||
digitalWrite(PWR_EN_PIN, HIGH);
|
|
||||||
pinMode(LED_PIN, OUTPUT);
|
pinMode(LED_PIN, OUTPUT);
|
||||||
|
pinMode(BK_LIGHT_PIN, OUTPUT);
|
||||||
|
digitalWrite(BK_LIGHT_PIN, BK_LIGHT_LEVEL);
|
||||||
pData.bestDifficulty = "0";
|
pData.bestDifficulty = "0";
|
||||||
pData.workersHash = "0";
|
pData.workersHash = "0";
|
||||||
pData.workersCount = 0;
|
pData.workersCount = 0;
|
||||||
@ -73,6 +98,7 @@ void t_hmiDisplay_AlternateRotation(void)
|
|||||||
tft.getRotation() == 1 ? tft.setRotation(3) : tft.setRotation(1);
|
tft.getRotation() == 1 ? tft.setRotation(3) : tft.setRotation(1);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
void printPoolData()
|
void printPoolData()
|
||||||
{
|
{
|
||||||
// Serial.print("\nPool ============ Free Heap:");
|
// Serial.print("\nPool ============ Free Heap:");
|
||||||
@ -88,6 +114,7 @@ void printPoolData()
|
|||||||
render.setFontSize(18);
|
render.setFontSize(18);
|
||||||
render.drawString(pData.workersHash.c_str(), 216, 170+34, TFT_BLACK);
|
render.drawString(pData.workersHash.c_str(), 216, 170+34, TFT_BLACK);
|
||||||
render.drawString(pData.bestDifficulty.c_str(), 5, 170+34, TFT_BLACK);
|
render.drawString(pData.bestDifficulty.c_str(), 5, 170+34, TFT_BLACK);
|
||||||
|
// printBatteryVoltage();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
@ -116,6 +143,7 @@ void printMemPoolFees(unsigned long mElapsed)
|
|||||||
// render.drawChar('<', 245, 170+32, TFT_RED);
|
// render.drawChar('<', 245, 170+32, TFT_RED);
|
||||||
render.drawString(data.minimumFee.c_str(), 250, 170+32, TFT_RED);
|
render.drawString(data.minimumFee.c_str(), 250, 170+32, TFT_RED);
|
||||||
render.drawString(data.fastestFee.c_str(), 30, 170+32, TFT_BLACK);
|
render.drawString(data.fastestFee.c_str(), 30, 170+32, TFT_BLACK);
|
||||||
|
// printBatteryVoltage();
|
||||||
}
|
}
|
||||||
|
|
||||||
void t_hmiDisplay_MinerScreen(unsigned long mElapsed)
|
void t_hmiDisplay_MinerScreen(unsigned long mElapsed)
|
||||||
|
@ -32,6 +32,8 @@ unsigned int bitcoin_price=0;
|
|||||||
String current_block = "793261";
|
String current_block = "793261";
|
||||||
global_data gData;
|
global_data gData;
|
||||||
pool_data pData;
|
pool_data pData;
|
||||||
|
String poolAPIUrl;
|
||||||
|
|
||||||
|
|
||||||
void setup_monitor(void){
|
void setup_monitor(void){
|
||||||
/******** TIME ZONE SETTING *****/
|
/******** TIME ZONE SETTING *****/
|
||||||
@ -43,6 +45,10 @@ void setup_monitor(void){
|
|||||||
timeClient.setTimeOffset(3600 * Settings.Timezone);
|
timeClient.setTimeOffset(3600 * Settings.Timezone);
|
||||||
|
|
||||||
Serial.println("TimeClient setup done");
|
Serial.println("TimeClient setup done");
|
||||||
|
#ifdef NERDMINER_T_HMI
|
||||||
|
poolAPIUrl = getPoolAPIUrl();
|
||||||
|
Serial.println("poolAPIUrl: " + poolAPIUrl);
|
||||||
|
#endif
|
||||||
}
|
}
|
||||||
|
|
||||||
unsigned long mGlobalUpdate =0;
|
unsigned long mGlobalUpdate =0;
|
||||||
@ -317,6 +323,36 @@ coin_data getCoinData(unsigned long mElapsed)
|
|||||||
return data;
|
return data;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
String getPoolAPIUrl(void) {
|
||||||
|
poolAPIUrl = String(getPublicPool);
|
||||||
|
if (Settings.PoolAddress == "public-pool.io") {
|
||||||
|
poolAPIUrl = "https://public-pool.io:40557/api/client/";
|
||||||
|
}
|
||||||
|
else {
|
||||||
|
if (Settings.PoolAddress == "nerdminers.org") {
|
||||||
|
poolAPIUrl = "https://pool.nerdminers.org/users/";
|
||||||
|
}
|
||||||
|
else {
|
||||||
|
switch (Settings.PoolPort) {
|
||||||
|
case 3333:
|
||||||
|
if (Settings.PoolAddress == "pool.vkbit.com")
|
||||||
|
poolAPIUrl = "https://vkbit.com/miner/";
|
||||||
|
else if (Settings.PoolAddress == "pool.sethforprivacy.com")
|
||||||
|
poolAPIUrl = "https://pool.sethforprivacy.com/api/client/";
|
||||||
|
// Add more cases for other addresses with port 3333 if needed
|
||||||
|
break;
|
||||||
|
case 2018:
|
||||||
|
poolAPIUrl = "http://" + Settings.PoolAddress + ":2019/api/client/";
|
||||||
|
break;
|
||||||
|
default:
|
||||||
|
poolAPIUrl = String(getPublicPool);
|
||||||
|
break;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
return poolAPIUrl;
|
||||||
|
}
|
||||||
|
|
||||||
pool_data getPoolData(void){
|
pool_data getPoolData(void){
|
||||||
//pool_data pData;
|
//pool_data pData;
|
||||||
if((mPoolUpdate == 0) || (millis() - mPoolUpdate > UPDATE_POOL_min * 60 * 1000)){
|
if((mPoolUpdate == 0) || (millis() - mPoolUpdate > UPDATE_POOL_min * 60 * 1000)){
|
||||||
@ -329,7 +365,12 @@ pool_data getPoolData(void){
|
|||||||
String btcWallet = Settings.BtcWallet;
|
String btcWallet = Settings.BtcWallet;
|
||||||
Serial.println(btcWallet);
|
Serial.println(btcWallet);
|
||||||
if (btcWallet.indexOf(".")>0) btcWallet = btcWallet.substring(0,btcWallet.indexOf("."));
|
if (btcWallet.indexOf(".")>0) btcWallet = btcWallet.substring(0,btcWallet.indexOf("."));
|
||||||
|
#ifdef NERDMINER_T_HMI
|
||||||
|
Serial.println("Pool API : " + poolAPIUrl+btcWallet);
|
||||||
|
http.begin(poolAPIUrl+btcWallet);
|
||||||
|
#else
|
||||||
http.begin(String(getPublicPool)+btcWallet);
|
http.begin(String(getPublicPool)+btcWallet);
|
||||||
|
#endif
|
||||||
int httpCode = http.GET();
|
int httpCode = http.GET();
|
||||||
if (httpCode == HTTP_CODE_OK) {
|
if (httpCode == HTTP_CODE_OK) {
|
||||||
String payload = http.getString();
|
String payload = http.getString();
|
||||||
|
@ -127,6 +127,6 @@ coin_data getCoinData(unsigned long mElapsed);
|
|||||||
pool_data getPoolData(void);
|
pool_data getPoolData(void);
|
||||||
|
|
||||||
clock_data_t getClockData_t(unsigned long mElapsed);
|
clock_data_t getClockData_t(unsigned long mElapsed);
|
||||||
|
String getPoolAPIUrl(void);
|
||||||
|
|
||||||
#endif //MONITOR_API_H
|
#endif //MONITOR_API_H
|
||||||
|
Loading…
Reference in New Issue
Block a user