zimodem/include/zircmode.h

55 lines
1023 B
C
Raw Normal View History

2023-10-04 01:20:30 +00:00
/*
* zircmode.h
*
* Created on: May 18, 2022
* Author: Bo Zimmerman
*/
#ifdef INCLUDE_IRCC
class ZIRCMode: public ZMode
{
private:
ZSerial serial; // storage for serial settings only
bool showMenu;
bool savedEcho;
String EOLN;
const char *EOLNC;
WiFiClientNode *current = null;
unsigned long lastNumber;
unsigned long timeout=0;
String buf;
String nick;
String lastAddress;
String lastOptions;
String lastNotes;
String channelName;
bool joinReceived;
enum ZIRCMenu
{
ZIRCMENU_MAIN=0,
ZIRCMENU_NICK=1,
ZIRCMENU_ADDRESS=2,
ZIRCMENU_NUM=3,
ZIRCMENU_NOTES=4,
ZIRCMENU_OPTIONS=5,
ZIRCMENU_COMMAND=6
} currState;
enum ZIRCState
{
ZIRCSTATE_WAIT=0,
ZIRCSTATE_COMMAND=1
} ircState;
void switchBackToCommandMode();
void doIRCCommand();
void loopMenuMode();
void loopCommandMode();
public:
void switchTo();
void serialIncoming();
void loop();
};
#endif /* INCLUDE_IRCC */