mbed Phone Platform
Dependencies: ulaw mbed ConfigFile
IpLine.h@2:e37117117e79, 2011-01-05 (annotated)
- Committer:
- okini3939
- Date:
- Wed Jan 05 15:43:53 2011 +0000
- Revision:
- 2:e37117117e79
- Parent:
- 1:0f82c574096f
- Child:
- 3:1d5dc4107558
Who changed what in which revision?
User | Revision | Line number | New contents of line |
---|---|---|---|
okini3939 | 1:0f82c574096f | 1 | #include "phone.h" |
okini3939 | 1:0f82c574096f | 2 | #include "mbed.h" |
okini3939 | 1:0f82c574096f | 3 | #include "EthernetNetIf.h" |
okini3939 | 1:0f82c574096f | 4 | #include "UDPSocket.h" |
okini3939 | 1:0f82c574096f | 5 | #include "RingBuffer.h" |
okini3939 | 1:0f82c574096f | 6 | #include "ulaw.h" |
okini3939 | 1:0f82c574096f | 7 | |
okini3939 | 2:e37117117e79 | 8 | #define NET_RETRY (FREQ) |
okini3939 | 2:e37117117e79 | 9 | #define NET_TIMEOUT (FREQ * 3) |
okini3939 | 2:e37117117e79 | 10 | |
okini3939 | 1:0f82c574096f | 11 | struct ipline_header { |
okini3939 | 1:0f82c574096f | 12 | unsigned short num; |
okini3939 | 1:0f82c574096f | 13 | enum PhoneType target; |
okini3939 | 1:0f82c574096f | 14 | enum Mode mode; |
okini3939 | 1:0f82c574096f | 15 | enum Status status; |
okini3939 | 1:0f82c574096f | 16 | }; |
okini3939 | 1:0f82c574096f | 17 | |
okini3939 | 1:0f82c574096f | 18 | struct ipline_packet { |
okini3939 | 1:0f82c574096f | 19 | struct ipline_header header; |
okini3939 | 1:0f82c574096f | 20 | unsigned short len; |
okini3939 | 1:0f82c574096f | 21 | char data[DATA_SIZE]; |
okini3939 | 1:0f82c574096f | 22 | }; |
okini3939 | 1:0f82c574096f | 23 | |
okini3939 | 1:0f82c574096f | 24 | |
okini3939 | 1:0f82c574096f | 25 | class IpLine { |
okini3939 | 1:0f82c574096f | 26 | public: |
okini3939 | 1:0f82c574096f | 27 | IpLine (AnalogOut, AnalogIn); |
okini3939 | 1:0f82c574096f | 28 | |
okini3939 | 2:e37117117e79 | 29 | void intr (); |
okini3939 | 1:0f82c574096f | 30 | void poll (); |
okini3939 | 1:0f82c574096f | 31 | int enter (enum Mode); |
okini3939 | 1:0f82c574096f | 32 | int scan (enum Scan); |
okini3939 | 1:0f82c574096f | 33 | void settarget (enum PhoneType, char *); |
okini3939 | 1:0f82c574096f | 34 | |
okini3939 | 1:0f82c574096f | 35 | private: |
okini3939 | 1:0f82c574096f | 36 | enum PhoneType remotetarget; |
okini3939 | 1:0f82c574096f | 37 | enum Mode mode; |
okini3939 | 1:0f82c574096f | 38 | enum Status status; |
okini3939 | 1:0f82c574096f | 39 | int hook, packet_num, dataskip, timeout, dialconut; |
okini3939 | 1:0f82c574096f | 40 | EthernetNetIf *eth; |
okini3939 | 1:0f82c574096f | 41 | UDPSocket *udpsock; |
okini3939 | 1:0f82c574096f | 42 | Host remote; |
okini3939 | 1:0f82c574096f | 43 | AnalogOut dac; |
okini3939 | 1:0f82c574096f | 44 | AnalogIn adc; |
okini3939 | 1:0f82c574096f | 45 | RingBuffer dial, dabuf, adbuf; |
okini3939 | 1:0f82c574096f | 46 | struct ipline_header last; |
okini3939 | 1:0f82c574096f | 47 | |
okini3939 | 1:0f82c574096f | 48 | void onLisnerEvent (UDPSocketEvent); |
okini3939 | 2:e37117117e79 | 49 | void send (struct ipline_header *); |
okini3939 | 2:e37117117e79 | 50 | void send (struct ipline_packet *); |
okini3939 | 1:0f82c574096f | 51 | }; |