2023-06-07 10:51:46 +02:00
|
|
|
#ifndef MONITOR_API_H
|
|
|
|
#define MONITOR_API_H
|
|
|
|
|
|
|
|
#include <Arduino.h>
|
|
|
|
|
|
|
|
// Monitor states
|
|
|
|
#define SCREEN_MINING 0
|
|
|
|
#define SCREEN_CLOCK 1
|
2023-06-08 01:11:47 +02:00
|
|
|
#define SCREEN_GLOBAL 2
|
2023-08-11 13:37:25 +02:00
|
|
|
#define NO_SCREEN 3 //Used when board has no TFT
|
2023-06-07 10:51:46 +02:00
|
|
|
|
2023-06-07 14:12:45 +02:00
|
|
|
//Time update period
|
|
|
|
#define UPDATE_PERIOD_h 5
|
|
|
|
|
2023-06-07 17:07:30 +02:00
|
|
|
//API BTC price
|
|
|
|
#define getBTCAPI "https://api.coingecko.com/api/v3/simple/price?ids=bitcoin&vs_currencies=usd"
|
|
|
|
#define UPDATE_BTC_min 5
|
|
|
|
|
2023-06-08 01:11:47 +02:00
|
|
|
//API Block height
|
2023-06-07 17:07:30 +02:00
|
|
|
#define getHeightAPI "https://mempool.space/api/blocks/tip/height"
|
2023-06-08 01:11:47 +02:00
|
|
|
#define UPDATE_Height_min 2
|
|
|
|
|
|
|
|
//APIs Global Stats
|
|
|
|
#define getGlobalHash "https://mempool.space/api/v1/mining/hashrate/3d"
|
|
|
|
#define getDifficulty "https://mempool.space/api/v1/difficulty-adjustment"
|
|
|
|
#define getFees "https://mempool.space/api/v1/fees/recommended"
|
|
|
|
#define UPDATE_Global_min 2
|
|
|
|
|
2023-07-11 00:25:23 +02:00
|
|
|
#define NEXT_HALVING_EVENT 840000
|
|
|
|
#define HALVING_BLOCKS 210000
|
2023-06-07 17:07:30 +02:00
|
|
|
|
2023-06-07 10:51:46 +02:00
|
|
|
typedef struct{
|
|
|
|
uint8_t screen;
|
|
|
|
bool rotation;
|
|
|
|
}monitor_data;
|
|
|
|
|
2023-06-08 01:11:47 +02:00
|
|
|
typedef struct{
|
|
|
|
String globalHash; //hexahashes
|
2023-07-11 00:25:23 +02:00
|
|
|
String currentBlock;
|
2023-06-08 01:11:47 +02:00
|
|
|
String difficulty;
|
|
|
|
String blocksHalving;
|
|
|
|
float progressPercent;
|
|
|
|
int remainingBlocks;
|
|
|
|
int halfHourFee;
|
|
|
|
}global_data;
|
|
|
|
|
2023-06-07 14:12:45 +02:00
|
|
|
void setup_monitor(void);
|
2023-06-07 10:51:46 +02:00
|
|
|
void show_MinerScreen(unsigned long mElapsed);
|
2023-06-07 17:07:30 +02:00
|
|
|
void show_ClockScreen(unsigned long mElapsed);
|
2023-06-08 01:11:47 +02:00
|
|
|
void show_GlobalHashScreen(unsigned long mElapsed);
|
2023-08-11 13:37:25 +02:00
|
|
|
void show_NoScreen(unsigned long mElapsed);
|
2023-06-07 17:07:30 +02:00
|
|
|
void changeScreen(void);
|
2023-08-20 00:45:09 +02:00
|
|
|
void doLedStuff(int ledPin);
|
2023-06-07 10:51:46 +02:00
|
|
|
|
|
|
|
#endif //MONITOR_API_H
|