mbed Phone Platform

Dependencies:   ulaw mbed ConfigFile

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?

UserRevisionLine numberNew 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 };