TinyTelnetServer
Classes | Public Member Functions | Protected Member Functions | Static Protected Member Functions | Protected Attributes | List of all members
TinySerialServer Class Reference

A simple serial server for Arduino. Call the addCommand method to register your commands. More...

#include <TinySerialServer.h>

Inheritance diagram for TinySerialServer:
TinyTelnetServer< Server, Client >

Classes

struct  Command
 TinySerialServer command. More...
 

Public Member Functions

 TinySerialServer ()=default
 Enpty constructor.
 
 TinySerialServer (Stream &stream)
 Default constructor that expects a Stream reference.
 
virtual void addCommand (const char *cmd, bool(*cb)(telnet::Str &cmd, telnet::Vector< telnet::Str > parameters, Print &out, TinySerialServer *self), const char *parameter_help="")
 Add a new command.
 
virtual bool begin ()
 Start the server.
 
virtual void end ()
 Stop the server.
 
void * getReference ()
 Returns the reference object which can be used in the callback.
 
virtual bool processCommand ()
 proccess the next command: call in loop()
 
void setErrorCallback (bool(*cb)(telnet::Str &cmd, telnet::Vector< telnet::Str > parameters, Print &out, TinySerialServer *self))
 Defines an error callback.
 
void setMaxInputBufferSize (int size)
 Defines the input buffer size: default is MAX_INPUT_BUFFER_SIZE (256)
 
void setReference (void *reference)
 Defines a reference object which can be used in the callback.
 
void setStream (Stream &stream)
 Defines the stream to be used.
 

Protected Member Functions

CommandfindCommand (const char *cmd)
 Finds a command by name.
 
bool parseCommand (const char *input, telnet::Str &cmd, telnet::Vector< telnet::Str > &parameters)
 
virtual bool processCommand (const char *input, Print &result)
 Processes the command and returns the result output via Client.
 
bool processCommand (telnet::Str &cmd, telnet::Vector< telnet::Str > parameters, Print &result)
 process the command
 
virtual bool processCommandUndefined (telnet::Str &cmd, telnet::Vector< telnet::Str > parameters, Print &result)
 Handle undefined commands.
 
int readLine (Stream &in, char *str, int max)
 Reads a line delimited by '
' from the Stream.
 
void split (telnet::Str &str, telnet::Str &head, telnet::Str &tail, char sep=',')
 

Static Protected Member Functions

static bool cmd_help (telnet::Str &cmd, telnet::Vector< telnet::Str > parameters, Print &out, TinySerialServer *self)
 help callback
 

Protected Attributes

telnet::Vector< Commandcommands
 
bool(* error_callback )(telnet::Str &cmd, telnet::Vector< telnet::Str > parameters, Print &out, TinySerialServer *self) = nullptr
 
bool is_active = false
 
int max_input_buffer_size = MAX_INPUT_BUFFER_SIZE
 
void * p_reference = nullptr
 
Stream * p_stream = nullptr
 

Detailed Description

A simple serial server for Arduino. Call the addCommand method to register your commands.

Author
Phil Schatzmann

Member Function Documentation

◆ parseCommand()

bool parseCommand ( const char *  input,
telnet::Str cmd,
telnet::Vector< telnet::Str > &  parameters 
)
inlineprotected

Parses the command and parameters: syntax: cmd(param1,param2,...) or cmd par1 par2 ...


The documentation for this class was generated from the following file: