mbed Phone Platform
Dependencies: ulaw mbed ConfigFile
phone.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 | 3:1d5dc4107558 | 1 | /** @file phone.h |
okini3939 | 3:1d5dc4107558 | 2 | * @brief mbed Phone Platform |
okini3939 | 3:1d5dc4107558 | 3 | */ |
okini3939 | 3:1d5dc4107558 | 4 | |
okini3939 | 1:0f82c574096f | 5 | #ifndef MAIN_H |
okini3939 | 1:0f82c574096f | 6 | #define MAIN_H |
okini3939 | 1:0f82c574096f | 7 | |
okini3939 | 1:0f82c574096f | 8 | #define FREQ 8000 |
okini3939 | 1:0f82c574096f | 9 | #define UDPPORT 20080 |
okini3939 | 1:0f82c574096f | 10 | #define MTU 720 |
okini3939 | 3:1d5dc4107558 | 11 | #define HOSTNAME_SIZE 30 |
okini3939 | 5:30e2847d241b | 12 | #define DATA_SIZE 400 |
okini3939 | 1:0f82c574096f | 13 | #define DIAL_SIZE 10 |
okini3939 | 1:0f82c574096f | 14 | #define PB_SIZE 10 |
okini3939 | 2:e37117117e79 | 15 | #define DIAL_TIMEOUT (FREQ * 3) |
okini3939 | 2:e37117117e79 | 16 | #define CALL_TIMEOUT (FREQ * 10) |
okini3939 | 1:0f82c574096f | 17 | |
okini3939 | 3:1d5dc4107558 | 18 | /** |
okini3939 | 3:1d5dc4107558 | 19 | * @brief Phone Type |
okini3939 | 3:1d5dc4107558 | 20 | */ |
okini3939 | 1:0f82c574096f | 21 | enum PhoneType { |
okini3939 | 1:0f82c574096f | 22 | PhoneNone, |
okini3939 | 1:0f82c574096f | 23 | PhoneLine1, |
okini3939 | 1:0f82c574096f | 24 | PhoneLine2, |
okini3939 | 1:0f82c574096f | 25 | PhoneMicSp, |
okini3939 | 1:0f82c574096f | 26 | PhoneIpLine, |
okini3939 | 2:e37117117e79 | 27 | PhoneType_FORCE_WORD = 0x7FFF |
okini3939 | 1:0f82c574096f | 28 | }; |
okini3939 | 1:0f82c574096f | 29 | |
okini3939 | 3:1d5dc4107558 | 30 | /** |
okini3939 | 3:1d5dc4107558 | 31 | * @brief Status |
okini3939 | 3:1d5dc4107558 | 32 | */ |
okini3939 | 1:0f82c574096f | 33 | enum Status { |
okini3939 | 1:0f82c574096f | 34 | StatusNone, |
okini3939 | 1:0f82c574096f | 35 | StatusOk, |
okini3939 | 1:0f82c574096f | 36 | StatusNg, |
okini3939 | 2:e37117117e79 | 37 | Status_FORCE_WORD = 0x7FFF |
okini3939 | 1:0f82c574096f | 38 | }; |
okini3939 | 1:0f82c574096f | 39 | |
okini3939 | 3:1d5dc4107558 | 40 | /** |
okini3939 | 3:1d5dc4107558 | 41 | * @brief Mode |
okini3939 | 3:1d5dc4107558 | 42 | */ |
okini3939 | 1:0f82c574096f | 43 | enum Mode { |
okini3939 | 1:0f82c574096f | 44 | ModeOff, |
okini3939 | 1:0f82c574096f | 45 | ModeReady, |
okini3939 | 1:0f82c574096f | 46 | ModeDT, |
okini3939 | 1:0f82c574096f | 47 | ModeDial, |
okini3939 | 1:0f82c574096f | 48 | ModeCall, |
okini3939 | 1:0f82c574096f | 49 | ModeRing, |
okini3939 | 1:0f82c574096f | 50 | ModeRBT, |
okini3939 | 1:0f82c574096f | 51 | ModeTalk, |
okini3939 | 1:0f82c574096f | 52 | ModeBT, |
okini3939 | 1:0f82c574096f | 53 | ModeDisconnect, |
okini3939 | 1:0f82c574096f | 54 | ModeData, |
okini3939 | 2:e37117117e79 | 55 | Mode_FORCE_WORD = 0x7FFF |
okini3939 | 1:0f82c574096f | 56 | }; |
okini3939 | 1:0f82c574096f | 57 | |
okini3939 | 3:1d5dc4107558 | 58 | /** |
okini3939 | 3:1d5dc4107558 | 59 | * @brief Scan |
okini3939 | 3:1d5dc4107558 | 60 | */ |
okini3939 | 1:0f82c574096f | 61 | enum Scan { |
okini3939 | 1:0f82c574096f | 62 | ScanMode, |
okini3939 | 1:0f82c574096f | 63 | ScanStatus, |
okini3939 | 1:0f82c574096f | 64 | ScanHook, |
okini3939 | 1:0f82c574096f | 65 | ScanDial, |
okini3939 | 1:0f82c574096f | 66 | }; |
okini3939 | 1:0f82c574096f | 67 | |
okini3939 | 3:1d5dc4107558 | 68 | /** |
okini3939 | 3:1d5dc4107558 | 69 | * @brief Tone |
okini3939 | 3:1d5dc4107558 | 70 | */ |
okini3939 | 1:0f82c574096f | 71 | enum Tone { |
okini3939 | 1:0f82c574096f | 72 | DialTone, |
okini3939 | 1:0f82c574096f | 73 | RingBackTone, |
okini3939 | 1:0f82c574096f | 74 | BusyTone, |
okini3939 | 1:0f82c574096f | 75 | }; |
okini3939 | 1:0f82c574096f | 76 | |
okini3939 | 3:1d5dc4107558 | 77 | /** |
okini3939 | 3:1d5dc4107558 | 78 | * @brief Phone Book |
okini3939 | 3:1d5dc4107558 | 79 | */ |
okini3939 | 1:0f82c574096f | 80 | struct PhoneBook { |
okini3939 | 1:0f82c574096f | 81 | char dial[DIAL_SIZE]; |
okini3939 | 1:0f82c574096f | 82 | enum PhoneType target; |
okini3939 | 3:1d5dc4107558 | 83 | char hostname[HOSTNAME_SIZE]; |
okini3939 | 1:0f82c574096f | 84 | }; |
okini3939 | 1:0f82c574096f | 85 | |
okini3939 | 1:0f82c574096f | 86 | #define HookOff 0 |
okini3939 | 1:0f82c574096f | 87 | #define HookOn 1 |
okini3939 | 1:0f82c574096f | 88 | |
okini3939 | 6:bd62b12de751 | 89 | int config (); |
okini3939 | 6:bd62b12de751 | 90 | |
okini3939 | 1:0f82c574096f | 91 | #endif |