mbed Phone Platform
Dependencies: ulaw mbed ConfigFile
IpLine.h@6:bd62b12de751, 2011-01-21 (annotated)
- Committer:
- okini3939
- Date:
- Fri Jan 21 16:06:15 2011 +0000
- Revision:
- 6:bd62b12de751
- Parent:
- 5:30e2847d241b
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 | 1:0f82c574096f | 8 | struct ipline_header { |
okini3939 | 4:41a3534d085f | 9 | unsigned long ident; |
okini3939 | 1:0f82c574096f | 10 | unsigned short num; |
okini3939 | 1:0f82c574096f | 11 | enum PhoneType target; |
okini3939 | 1:0f82c574096f | 12 | enum Mode mode; |
okini3939 | 1:0f82c574096f | 13 | enum Status status; |
okini3939 | 1:0f82c574096f | 14 | }; |
okini3939 | 1:0f82c574096f | 15 | |
okini3939 | 1:0f82c574096f | 16 | struct ipline_packet { |
okini3939 | 1:0f82c574096f | 17 | struct ipline_header header; |
okini3939 | 1:0f82c574096f | 18 | unsigned short len; |
okini3939 | 1:0f82c574096f | 19 | char data[DATA_SIZE]; |
okini3939 | 1:0f82c574096f | 20 | }; |
okini3939 | 1:0f82c574096f | 21 | |
okini3939 | 1:0f82c574096f | 22 | |
okini3939 | 3:1d5dc4107558 | 23 | /** |
okini3939 | 3:1d5dc4107558 | 24 | * @brief IpLine class |
okini3939 | 3:1d5dc4107558 | 25 | */ |
okini3939 | 1:0f82c574096f | 26 | class IpLine { |
okini3939 | 1:0f82c574096f | 27 | public: |
okini3939 | 6:bd62b12de751 | 28 | IpLine (EthernetNetIf *, AnalogOut, AnalogIn); |
okini3939 | 1:0f82c574096f | 29 | |
okini3939 | 2:e37117117e79 | 30 | void intr (); |
okini3939 | 1:0f82c574096f | 31 | void poll (); |
okini3939 | 1:0f82c574096f | 32 | int enter (enum Mode); |
okini3939 | 1:0f82c574096f | 33 | int scan (enum Scan); |
okini3939 | 1:0f82c574096f | 34 | void settarget (enum PhoneType, char *); |
okini3939 | 1:0f82c574096f | 35 | |
okini3939 | 1:0f82c574096f | 36 | private: |
okini3939 | 6:bd62b12de751 | 37 | volatile enum PhoneType remotetarget; |
okini3939 | 6:bd62b12de751 | 38 | volatile enum Mode mode; |
okini3939 | 6:bd62b12de751 | 39 | volatile enum Status status; |
okini3939 | 6:bd62b12de751 | 40 | volatile int hook, packet_num, dataskip, timeout, dialconut, wait, timerled; |
okini3939 | 1:0f82c574096f | 41 | EthernetNetIf *eth; |
okini3939 | 1:0f82c574096f | 42 | UDPSocket *udpsock; |
okini3939 | 1:0f82c574096f | 43 | Host remote; |
okini3939 | 1:0f82c574096f | 44 | AnalogOut dac; |
okini3939 | 1:0f82c574096f | 45 | AnalogIn adc; |
okini3939 | 1:0f82c574096f | 46 | RingBuffer dial, dabuf, adbuf; |
okini3939 | 1:0f82c574096f | 47 | struct ipline_header last; |
okini3939 | 5:30e2847d241b | 48 | DigitalOut led_y, led_g; |
okini3939 | 5:30e2847d241b | 49 | DigitalIn eth_link, eth_speed; |
okini3939 | 1:0f82c574096f | 50 | |
okini3939 | 1:0f82c574096f | 51 | void onLisnerEvent (UDPSocketEvent); |
okini3939 | 2:e37117117e79 | 52 | void send (struct ipline_header *); |
okini3939 | 2:e37117117e79 | 53 | void send (struct ipline_packet *); |
okini3939 | 4:41a3534d085f | 54 | unsigned long xor128 (); |
okini3939 | 4:41a3534d085f | 55 | int gaussian (); |
okini3939 | 1:0f82c574096f | 56 | }; |