/********* Pleasedontcode.com **********

	Pleasedontcode thanks you for automatic code generation! Enjoy your code!

	- Terms and Conditions:
	You have a non-exclusive, revocable, worldwide, royalty-free license
	for personal and commercial use. Attribution is optional; modifications
	are allowed, but you're responsible for code maintenance. We're not
	liable for any loss or damage. For full terms,
	please visit pleasedontcode.com/termsandconditions.

	- Project: Button Detection
	- Source Code NOT compiled for: Arduino Mega
	- Source Code created on: 2024-10-25 20:59:04

********* Pleasedontcode.com **********/

/****** SYSTEM REQUIREMENTS *****/
/****** SYSTEM REQUIREMENT 1 *****/
	/* i have a project that i will use Arduino Mega 2560 */
	/* and i will connect 1 number of Atlas Scientific */
	/* 8:1 serial port extender to the serial 1 (Tx0 Rx0) */
	/* port, and i will connect 8 devises of PZEM004T to */
	/* the 8:1 serial port expander in order to monitor 2 */
/****** END SYSTEM REQUIREMENTS *****/

/****** DEFINITION OF LIBRARIES *****/
#include <EasyButton.h>	//https://github.com/evert-arias/EasyButton

/****** FUNCTION PROTOTYPES *****/
void setup(void);
void loop(void);

/***** DEFINITION OF DIGITAL INPUT PINS *****/
const uint8_t multiplexer_PushButton_PIN_D2		= 2;

/****** DEFINITION OF LIBRARIES CLASS INSTANCES*****/
// Initialize the EasyButton object for the button connected to pin D2
EasyButton button1(multiplexer_PushButton_PIN_D2);

/****** FUNCTION DEFINITIONS *****/
void onButton1Pressed() {
  Serial.println("Button1 pressed"); // Callback function for button press
}

void setup(void)
{
	// Start serial communication for debugging
	Serial.begin(115200);
	
	// Initialize the button pin as INPUT_PULLUP
	pinMode(multiplexer_PushButton_PIN_D2, INPUT_PULLUP);

	// Initialize the EasyButton instance
	button1.begin();
	
	// Attach the onPressed callback function to button1
	button1.onPressed(onButton1Pressed);
}

void loop(void)
{
	// Continuously read the button state
	button1.read();
}
