mbed Phone Platform

Dependencies:   ulaw mbed ConfigFile

Committer:
okini3939
Date:
Fri Jan 21 16:06:15 2011 +0000
Revision:
6:bd62b12de751
Parent:
5:30e2847d241b

        

Who changed what in which revision?

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