mbed Phone Platform
Dependencies: ulaw mbed ConfigFile
IpLine.h
- Committer:
- okini3939
- Date:
- 2011-01-06
- Revision:
- 3:1d5dc4107558
- Parent:
- 2:e37117117e79
- Child:
- 4:41a3534d085f
File content as of revision 3:1d5dc4107558:
#include "phone.h" #include "mbed.h" #include "EthernetNetIf.h" #include "UDPSocket.h" #include "RingBuffer.h" #include "ulaw.h" #define NET_RETRY (FREQ) #define NET_TIMEOUT (FREQ * 3) struct ipline_header { char text[4]; unsigned short num; enum PhoneType target; enum Mode mode; enum Status status; }; struct ipline_packet { struct ipline_header header; unsigned short len; char data[DATA_SIZE]; }; /** * @brief IpLine class */ class IpLine { public: IpLine (AnalogOut, AnalogIn); void intr (); void poll (); int enter (enum Mode); int scan (enum Scan); void settarget (enum PhoneType, char *); private: enum PhoneType remotetarget; enum Mode mode; enum Status status; int hook, packet_num, dataskip, timeout, dialconut; EthernetNetIf *eth; UDPSocket *udpsock; Host remote; AnalogOut dac; AnalogIn adc; RingBuffer dial, dabuf, adbuf; struct ipline_header last; DigitalOut led1, led2, led3, led4; void onLisnerEvent (UDPSocketEvent); void send (struct ipline_header *); void send (struct ipline_packet *); };