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.
IrcMessageHandlers.h@1:cf586c9bbb52, 2014-08-02 (annotated)
- 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?
User | Revision | Line number | New 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 |