The IrcBot class can connect to a channel on an IRC network. Users on the same network can send messages to the bot that are parsed by message handlers. The included handlers read digital/analog inputs and write digital outputs or echo messages back to the command sender/channel. Users can write their own message handlers inheriting from the MessageHandler class to perform different actions.

Committer:
NickRyder
Date:
Sat Aug 02 12:17:28 2014 +0000
Revision:
1:cf586c9bbb52
Child:
2:e4c74eb20586
Renaming files.

Who changed what in which revision?

UserRevisionLine numberNew contents of line
NickRyder 1:cf586c9bbb52 1 #ifndef __mbed_irc_handlers_h__
NickRyder 1:cf586c9bbb52 2 #define __mbed_irc_handlers_h__
NickRyder 1:cf586c9bbb52 3 #include "IrcBot.h"
NickRyder 1:cf586c9bbb52 4
NickRyder 1:cf586c9bbb52 5 class DigitalOutHandler : private MessageHandler {
NickRyder 1:cf586c9bbb52 6 public:
NickRyder 1:cf586c9bbb52 7 DigitalOutHandler(char *, PinName, bool);
NickRyder 1:cf586c9bbb52 8 IrcMessage handle(IrcMessage);
NickRyder 1:cf586c9bbb52 9 private:
NickRyder 1:cf586c9bbb52 10 DigitalOut pin;
NickRyder 1:cf586c9bbb52 11 char name[32];
NickRyder 1:cf586c9bbb52 12 bool verbose;
NickRyder 1:cf586c9bbb52 13 };
NickRyder 1:cf586c9bbb52 14
NickRyder 1:cf586c9bbb52 15 class DigitalInHandler : private MessageHandler {
NickRyder 1:cf586c9bbb52 16 public:
NickRyder 1:cf586c9bbb52 17 DigitalInHandler(char *, PinName);
NickRyder 1:cf586c9bbb52 18 IrcMessage handle(IrcMessage);
NickRyder 1:cf586c9bbb52 19 private:
NickRyder 1:cf586c9bbb52 20 DigitalIn pin;
NickRyder 1:cf586c9bbb52 21 char name[32];
NickRyder 1:cf586c9bbb52 22 };
NickRyder 1:cf586c9bbb52 23
NickRyder 1:cf586c9bbb52 24 class AnalogInHandler : private MessageHandler {
NickRyder 1:cf586c9bbb52 25 public:
NickRyder 1:cf586c9bbb52 26 AnalogInHandler(char *, PinName);
NickRyder 1:cf586c9bbb52 27 void scale(float, char *);
NickRyder 1:cf586c9bbb52 28 IrcMessage handle(IrcMessage);
NickRyder 1:cf586c9bbb52 29 private:
NickRyder 1:cf586c9bbb52 30 AnalogIn pin;
NickRyder 1:cf586c9bbb52 31 char name[32];
NickRyder 1:cf586c9bbb52 32 char unit[32];
NickRyder 1:cf586c9bbb52 33 float scaleval;
NickRyder 1:cf586c9bbb52 34 };
NickRyder 1:cf586c9bbb52 35
NickRyder 1:cf586c9bbb52 36 class EchoHandler : private MessageHandler {
NickRyder 1:cf586c9bbb52 37 public:
NickRyder 1:cf586c9bbb52 38 EchoHandler(){};
NickRyder 1:cf586c9bbb52 39 IrcMessage handle(IrcMessage msg);
NickRyder 1:cf586c9bbb52 40 };
NickRyder 1:cf586c9bbb52 41
NickRyder 1:cf586c9bbb52 42 #endif