applicatin du patch AUF (version 19)
authorThomas NOEL <thomas@zep.(none)>
Wed, 5 Mar 2008 15:58:22 +0000 (15:58 +0000)
committerThomas NOEL <thomas@zep.(none)>
Wed, 5 Mar 2008 15:58:22 +0000 (15:58 +0000)
25 files changed:
PALMH323/AUTOPROV/main.c
PALMH323/AUTOPROV/prov.c
PALMH323/AUTOPROV/v_task.c
PALMH323/PAGE12/main.c
PALMH323/P_IAX2/iax2.c
PALMH323/cleanall.bat
PALMH323/inc/flags.h
PALMH323/inc/p_apps.h
PALMH323/inc/p_iax2.h
PALMH323/inc/version.h
PALMH323/main/ac97_1.c
PALMH323/main/function.c
PALMH323/main/keypad.c
PALMH323/main/std_func.c
PALMH323/main/v_task.c
PALMH323/mk.bat
PALMH323/p_apps/ac97apps.c
PALMH323/p_apps/display.c
PALMH323/p_apps/lcd.c
PALMH323/p_apps/lcd_fr.c
PALMH323/p_apps/options.c
PALMH323/p_apps/report.c
PALMH323/p_apps/sntp.c
PALMH323/p_apps/version.c
PALMH323/settings/keypad.c

index 30ea97a..ec4f6b7 100644 (file)
@@ -45,6 +45,12 @@ void _OnImpossibleKey()
        TcbConnected(0);\r
        UdpSetTos(0, 0);\r
        ReadSpeedDial(0);\r
+       // Patch AUF : appel fonctions untilisees (0 warning)\r
+       SetDisplayInformation((PXCHAR)0);\r
+       DisplayInformation();\r
+       DisplayRingVol();\r
+       Cam_LedOn(0);\r
+       Cam_LedOff(0);\r
 }\r
 \r
 void main(void)\r
index 8279814..98508ca 100644 (file)
@@ -96,7 +96,8 @@ void _GetFileName(PXCHAR pFileName)
 {\r
        PXCHAR_D pCur;\r
        PXCHAR_D pContent;\r
-       XCHAR pVer[6];\r
+       // Patch AUF : version sur 5 chiffres\r
+       XCHAR pVer[8];\r
        DSHORT iCurVersion, iNewVersion;\r
 \r
        pCur = pFileName;\r
@@ -111,7 +112,10 @@ void _GetFileName(PXCHAR pFileName)
                pVer[0] = SOFT_VER_HIGH + '0';  //X_VAL(Sdram_pDataCache, FLAGS_VERSION_HI);\r
                pVer[1] = SOFT_VER_LOW + '0';   // X_VAL(Sdram_pDataCache, FLAGS_VERSION_LO);\r
                pVer[2] = SOFT_VER_BUILD + '0'; //X_VAL(Sdram_pDataCache, FLAGS_VERSION_BUILD);\r
-               pVer[3] = 0;\r
+               // Patch AUF : version sur 5 chiffres\r
+               pVer[3] = ENG_BUILD_HIGH + '0';\r
+               pVer[4] = ENG_BUILD_MID + '0';\r
+               pVer[5] = 0;\r
                iCurVersion = p_atoi(pVer, 10);\r
                iNewVersion = p_atoi(pCur, 10);\r
                OutputVal(iCurVersion, IDS_CHECK_POINT_7);\r
index 34ba7e0..78aee40 100644 (file)
@@ -5,6 +5,8 @@
 #include <reg52.h>\r
 \r
 BOOLEAN PIO_bHandsetUp;\r
+// Patch AUF (uniquement pour compilation ok)\r
+BOOLEAN PIO_bHandFree;\r
 \r
 void Ac97Stop()\r
 {\r
index f0879e9..5d38558 100644 (file)
@@ -51,6 +51,11 @@ void _OnImpossibleKey()
        TaskWaitPacket();\r
        TcbConnected(0);\r
        UdpSetTos(0, 0);\r
+       // Patch AUF : appel fonctions inutilisees (0 warning)\r
+       SetDisplayInformation((PXCHAR) 0);\r
+       DisplayInformation();\r
+       Cam_LedOff(0);\r
+       Cam_LedOn(0);\r
 }\r
 \r
 void LeavePage12()\r
index 00e7fa2..32a94af 100644 (file)
@@ -1065,6 +1065,22 @@ void iax2_accept_busy(UCHAR iSession)    // Thomas NOEL <thomas.noel@auf.org>
 }\r
 */\r
 \r
+// Patch AUF : accept + busy\r
+void iax2_accept_busy(UCHAR iSession)\r
+{\r
+       DCHAR iAudioType;\r
+\r
+       iAudioType = iax2_check_format();\r
+       // accept\r
+       iax2_ie_start();\r
+       iax2_ie_add_long(IAX_IE_FORMAT, iax2_get_format(iAudioType));\r
+       iax2_session_send_packet(iSession, AST_FRAME_IAX, IAX_COMMAND_ACCEPT, iax2_ie_get_len());\r
+       // mais busy !\r
+       iax2_ctrl_busy(iSession);\r
+       // fin de session (final ack)\r
+       iax2_session_set_state(iSession, SESSION_STATE_FINALACK);\r
+}\r
+\r
 void iax2_handle_new(USHORT iSrcCallNo)\r
 {\r
        DCHAR iSession, iNewCall, iISeqNo, iAudioType;\r
@@ -1115,6 +1131,11 @@ void iax2_handle_new(USHORT iSrcCallNo)
                                iax2_accept_call(iNewCall, iSession);\r
                                return;\r
                        }\r
+                       else // Patch AUF : pas de call wait => busy\r
+                       {\r
+                               iax2_accept_busy(iSession);\r
+                               return;\r
+                       }\r
                }\r
                else\r
                {\r
@@ -1125,12 +1146,17 @@ void iax2_handle_new(USHORT iSrcCallNo)
                                iax2_accept_call(iNewCall, iSession);\r
                                return;\r
                        }\r
+                       else // Patch AUF : toujours busy\r
+                       {       \r
+                               iax2_accept_busy(iSession);\r
+                               return;\r
+                       }\r
                }\r
        }\r
        if (!(Sys_iForwardType & FORWARD_BUSY_OR))\r
        {\r
-               iax2_reject(iSession, _cCauseBusy);\r
-//             iax2_accept_busy(iSession);     // Thomas NOEL <thomas.noel@auf.org>\r
+               // iax2_reject(iSession, _cCauseBusy);\r
+               iax2_accept_busy(iSession);     // Thomas NOEL <thomas.noel@auf.org>\r
                return;\r
        }\r
 \r
@@ -1634,4 +1660,17 @@ void Iax2DPReq(PXCHAR pKeyBuf)
        }\r
 }\r
 \r
+// Patch AUF : pour l'affichage de la ligne en cours\r
+// renvoie "0" si on est en ligne 1 sans ligne 2 active\r
+// renvoie 1 ou 2 sinon, en fonction de la ligne actuelle\r
+UCHAR Iax2ConnectedLine()\r
+{\r
+       // Si on est sur la 2nde ligne : retourne "2"\r
+       if ( Iax2_iCurCall == 1) return 2;\r
+       // Sinon, s'il n'y a rien sur la seconde ligne : retourne "0"\r
+       if (Iax2_iCallState[1] != IAX_CALL_STATE_CONNECTED)\r
+               return 0;\r
+       // Sinon, on est en double appel et sur la ligne 1 : retourne "1"\r
+       return 1;\r
+}\r
 \r
index 08e1d19..86aeb61 100644 (file)
@@ -280,42 +280,6 @@ del *.scc
 del *.tmp\r
 cd ..\r
 \r
-cd p_epn\r
-del *.bak\r
-del *.lst\r
-del *.obj\r
-del *.hex\r
-del *.m51\r
-del *.abs\r
-del *.xrf\r
-del *.~rj\r
-del *.wmc\r
-del *.scc\r
-del *.tmp\r
-del *.aps\r
-del *.plg\r
-rd debug /s /q\r
-rd release /s /q\r
-cd ..\r
-\r
-cd p_h323\r
-del *.bak\r
-del *.lst\r
-del *.obj\r
-del *.hex\r
-del *.m51\r
-del *.abs\r
-del *.xrf\r
-del *.~rj\r
-del *.wmc\r
-del *.scc\r
-del *.tmp\r
-del *.aps\r
-del *.plg\r
-rd debug /s /q\r
-rd release /s /q\r
-cd ..\r
-\r
 cd p_iax2\r
 del *.bak\r
 del *.lst\r
@@ -334,42 +298,6 @@ rd debug /s /q
 rd release /s /q\r
 cd ..\r
 \r
-cd p_mgcp\r
-del *.bak\r
-del *.lst\r
-del *.obj\r
-del *.hex\r
-del *.m51\r
-del *.abs\r
-del *.xrf\r
-del *.~rj\r
-del *.wmc\r
-del *.scc\r
-del *.tmp\r
-del *.aps\r
-del *.plg\r
-rd debug /s /q\r
-rd release /s /q\r
-cd ..\r
-\r
-cd p_n2p\r
-del *.bak\r
-del *.lst\r
-del *.obj\r
-del *.hex\r
-del *.m51\r
-del *.abs\r
-del *.xrf\r
-del *.~rj\r
-del *.wmc\r
-del *.scc\r
-del *.tmp\r
-del *.aps\r
-del *.plg\r
-rd debug /s /q\r
-rd release /s /q\r
-cd ..\r
-\r
 cd p_sip\r
 del *.bak\r
 del *.lst\r
@@ -388,24 +316,6 @@ rd debug /s /q
 rd release /s /q\r
 cd ..\r
 \r
-cd p_tcpip\r
-del *.bak\r
-del *.lst\r
-del *.obj\r
-del *.hex\r
-del *.m51\r
-del *.abs\r
-del *.xrf\r
-del *.~rj\r
-del *.wmc\r
-del *.scc\r
-del *.tmp\r
-del *.aps\r
-del *.plg\r
-rd debug /s /q\r
-rd release /s /q\r
-cd ..\r
-\r
 cd p_util\r
 del *.bak\r
 del *.lst\r
@@ -424,24 +334,6 @@ rd debug /s /q
 rd release /s /q\r
 cd ..\r
 \r
-cd p_wp\r
-del *.bak\r
-del *.lst\r
-del *.obj\r
-del *.hex\r
-del *.m51\r
-del *.abs\r
-del *.xrf\r
-del *.~rj\r
-del *.wmc\r
-del *.scc\r
-del *.tmp\r
-del *.aps\r
-del *.plg\r
-rd debug /s /q\r
-rd release /s /q\r
-cd ..\r
-\r
 cd page0\r
 del *.bak\r
 del *.lst\r
@@ -694,129 +586,4 @@ rd release /s /q
        \r
 cd ..\r
 \r
-if not exist p_user goto end\r
-\r
-cd p_user\r
-       cd auvtech\r
-       del *.bak\r
-       del *.lst\r
-       del *.obj\r
-       del *.hex\r
-       del *.m51\r
-       del *.abs\r
-       del *.xrf\r
-       del *.~rj\r
-       del *.wmc\r
-       del *.scc\r
-       del *.tmp\r
-       cd ..\r
-\r
-       cd asiainfo\r
-       del *.bak\r
-       del *.lst\r
-       del *.obj\r
-       del *.hex\r
-       del *.m51\r
-       del *.abs\r
-       del *.xrf\r
-       del *.~rj\r
-       del *.wmc\r
-       del *.scc\r
-       del *.tmp\r
-       cd ..\r
-\r
-       cd ringtec\r
-       del *.bak\r
-       del *.lst\r
-       del *.obj\r
-       del *.hex\r
-       del *.m51\r
-       del *.abs\r
-       del *.xrf\r
-       del *.~rj\r
-       del *.wmc\r
-       del *.scc\r
-       del *.tmp\r
-       cd ..\r
-\r
-       cd citron\r
-       del *.bak\r
-       del *.lst\r
-       del *.obj\r
-       del *.hex\r
-       del *.m51\r
-       del *.abs\r
-       del *.xrf\r
-       del *.~rj\r
-       del *.wmc\r
-       del *.scc\r
-       del *.tmp\r
-       cd ..\r
-\r
-       cd yiyang\r
-       del *.bak\r
-       del *.lst\r
-       del *.obj\r
-       del *.hex\r
-       del *.m51\r
-       del *.abs\r
-       del *.xrf\r
-       del *.~rj\r
-       del *.wmc\r
-       del *.scc\r
-       del *.tmp\r
-       cd ..\r
-\r
-       cd txtc\r
-       del *.bak\r
-       del *.lst\r
-       del *.obj\r
-       del *.hex\r
-       del *.m51\r
-       del *.abs\r
-       del *.xrf\r
-       del *.~rj\r
-       del *.wmc\r
-       del *.scc\r
-       del *.tmp\r
-       cd ..\r
-\r
-       cd skycom\r
-       del *.bak\r
-       del *.lst\r
-       del *.obj\r
-       del *.hex\r
-       del *.m51\r
-       del *.abs\r
-       del *.xrf\r
-       del *.~rj\r
-       del *.wmc\r
-       del *.scc\r
-       del *.tmp\r
-       cd ..\r
-\r
-       cd mediaring\r
-       del *.bak\r
-       del *.lst\r
-       del *.obj\r
-       del *.hex\r
-       del *.m51\r
-       del *.abs\r
-       del *.xrf\r
-       del *.~rj\r
-       del *.wmc\r
-       del *.scc\r
-       del *.tmp\r
-       cd ..\r
-       \r
-del *.scc\r
-del *.aps\r
-del *.plg\r
-rd debug /s /q\r
-rd release /s /q\r
-cd ..\r
-\r
-\r
-\r
-:end\r
 \r
index e49fe2b..ee4aefa 100644 (file)
@@ -32,7 +32,8 @@ CCHAR Sys_cFlags[MAX_TAG_LENGTH*2] = {
        'A', 'O', 'L', 'Y', 'N', 'K', ' ','E', 'P', '2', '0', '1', 0, 0, 0, 0,\r
 #endif\r
 #elif defined VER_YWH500\r
-       ' ', ' ', ' ', 'I', 'P', ' ', 'P', 'H', 'O', 'N', 'E', ' ', '5', 0, 0, 0,\r
+       // Patch AUF : affiche version firmware (5 chiffres)\r
+       'A', 'U', 'F', ' ', 'V', 'o', 'I', 'P', ' ', SOFT_VER_HIGH + '0', SOFT_VER_LOW + '0', SOFT_VER_BUILD + '0', '-', ENG_BUILD_HIGH + '0', ENG_BUILD_MID + '0', 0,\r
 #elif defined VER_YWH300\r
        ' ', ' ', ' ', 'I', 'P', ' ', 'P', 'H', 'O', 'N', 'E', ' ', '4', 0, 0, 0,\r
 #elif defined VER_YWH200\r
index c6d19e8..3dceeca 100644 (file)
@@ -123,6 +123,7 @@ extern CCHAR g_cCallMuted[];
 // options\r
 \r
 extern XCHAR Ac97_iHandsetOutputVol, Ac97_iHandsetInputVol, Ac97_iHandfreeInputVol, Ac97_iHandfreeOutputVol;\r
+extern XCHAR Ac97_iRingVol;\r
 extern volatile DCHAR Task_iRingType;\r
 extern XCHAR Task_iRingNumber;\r
 extern BOOLEAN Task_bSupervisor;\r
@@ -133,6 +134,12 @@ extern BOOLEAN Task_bSupervisor;
 #define DNS_TYPE_SNTP          3\r
 extern XCHAR Task_iDnsType;\r
 \r
+// Patch AUF : affichage d'information\r
+extern XCHAR Buf_DisplayInformation[DISPLAY_MAX_CHAR+1];\r
+void InitDisplayInformation();\r
+void SetDisplayInformation(PXCHAR Buf);\r
+void DisplayInformation();\r
+\r
 // Key\r
 extern XCHAR Key_pBuf[MAX_KEYBUF_LEN+1];\r
 extern DCHAR Key_iCurrentID;\r
@@ -179,6 +186,9 @@ void Ac97OutputVolLower();
 void Ac97InputVolHigher();\r
 void Ac97InputVolLower();\r
 void Ac97OnHandsetChange();\r
+void Ac97SetRingVol();\r
+void Ac97RingVolHigher();\r
+void Ac97RingVolLower();\r
 \r
 void Ac97InitBuffer();\r
 void Ac97SwapBuffer();\r
@@ -266,6 +276,7 @@ void DisplayFileStatus();
 void GetTimeDisplay(ULONG lTime, PUCHAR pBuf);\r
 void GetDateTimeDisplay(PXCHAR pBuf, BOOLEAN bLcdDisplay, ULONG lTime);\r
 void DisplayOutputVol();\r
+void DisplayRingVol();\r
 \r
 // Functions in key.c\r
 void KeypadStartup();\r
index b3eaa34..964b415 100644 (file)
@@ -24,6 +24,9 @@ void  Iax2SendVoice(UCHAR iLen, PXCHAR pData);
 \r
 void   Iax2Flash();    // Thomas NOEL <thomas.noel@auf.org>\r
 \r
+// Patch AUF : fonctions IAX supplementaires\r
+UCHAR   Iax2ConnectedLine();\r
+\r
 BOOLEAN Iax2RunUdp();  \r
 \r
 BOOLEAN        Iax2DPCall();\r
index a0fb014..d0bbb0c 100644 (file)
@@ -4,7 +4,7 @@
 //#define VER_PA168F                   // 004T, slow\r
 //#define VER_PA168FS                  // 004T, fast\r
 //#define VER_PA168P                   // 008T, FXS one port GW, use AM79R70 as SLIC chip\r
-#define VER_PA168Q                     // 008T, FXS one port GW, use AG1170 as SLIC chip\r
+//#define VER_PA168Q                   // 008T, FXS one port GW, use AG1170 as SLIC chip\r
 //#define VER_PA168S                   // 008T, fast\r
 //#define VER_PA168T                   // phone with MT28F016\r
 //#define VER_PA168V                   // 1-port fxs with MT28F016, with PSTN dual mode support\r
@@ -26,7 +26,7 @@
 //#define VER_YWH100                   // same as PA168S except different keypad\r
 //#define VER_YWH200                   // same as PA168S except different keypad\r
 //#define VER_YWH300                   // same as PA168S except different keypad\r
-//#define VER_YWH500                   // same as PA168S except different keypad\r
+#define VER_YWH500                     // same as PA168S except different keypad\r
 //#define VER_COSUN                            // same as PA168S except different keypad\r
 //#define VER_KINGTEL                  // same as PA168S except different keypad\r
 //#define VER_EP668                            // GW-EP668/A - same as PA168S\r
 //#define VER_IPLINK                   // same as PA168T, keypad same as 5111phone\r
 \r
 // Protocols\r
-#define CALL_H323\r
+//#define CALL_H323\r
 //#define CALL_SIP\r
 //#define CALL_MGCP\r
 //#define CALL_N2P\r
 //#define CALL_WP\r
-//#define CALL_IAX2\r
+#define CALL_IAX2\r
 //#define CALL_EPN\r
 \r
 // Country -- Web page, LCD display, IVR voice and DTMF tone\r
 //#define RES_CA_E     // Canada (English) ^^^\r
 //#define RES_CA_F     // Canada (French) *** (web, lcd and ivr use French)\r
 //#define RES_CL       // Chile (Spanish) *** (web, lcd and ivr use Spain)\r
-#define RES_CN         // China (Mandarin) ***\r
+//#define RES_CN               // China (Mandarin) ***\r
 //#define RES_CZ       // Czech Republic *** (ivr use English)\r
 //#define RES_DE       // Germany ***\r
 //#define RES_EG       // Egypt\r
 //#define RES_ES       // Spain ***\r
 //#define RES_ES_C     // Catalonian (Spain) *** (Dtmf Tone use Spain)\r
-//#define RES_FR       // France ***\r
+#define RES_FR // France ***\r
 //#define RES_GB       // United Kingdom (English) ^^^\r
 //#define RES_GR       // Greece\r
 //#define RES_HK       // China HongKong ^^^\r
@@ -99,7 +99,7 @@
 //#define OEM_MEDIARING\r
 //#define OEM_NET2PHONE\r
 //#define OEM_NGTEL\r
-//#define OEM_NONE_IVR\r
+#define OEM_NONE_IVR\r
 //#define OEM_POLYLINK\r
 //#define OEM_RINGCHAT\r
 //#define OEM_SKYCOM\r
 #define SOFT_VER_HIGH          1\r
 #define SOFT_VER_LOW           5\r
 #define SOFT_VER_BUILD         9\r
-#define ENG_BUILD_HIGH         0\r
-#define ENG_BUILD_MID          0\r
+#define ENG_BUILD_HIGH         1\r
+#define ENG_BUILD_MID          9\r
 #define ENG_BUILD_LOW          7\r
index 8658af9..52a5bd7 100644 (file)
@@ -112,6 +112,8 @@ void Ac97StartRing()
        Ac97Start();\r
        SysHighSpeed();\r
 \r
+       Ac97SetRingVol();\r
+\r
 #ifdef _USE_FXS\r
        SlicStartRing();\r
 #else\r
@@ -139,6 +141,7 @@ void Ac97StopRing()
 #endif\r
 \r
        DtmfStopAll();\r
+       Ac97SetOutputVol();\r
 }\r
 \r
 void Ac97Start()\r
index 6b8300b..2222423 100644 (file)
@@ -125,6 +125,22 @@ void OnHookFlash()
                HangupPhone();\r
 #else\r
 #ifdef CALL_IAX2       // Thomas NOEL <thomas.noel@auf.org>\r
+// Patch AUF : en iax2 on coupe le canal actuel\r
+               if (Iax2ConnectedLine() == 1)\r
+               {\r
+                       DisplayString((PCCHAR)"Raccroche lign.1",0);\r
+               }\r
+               else \r
+               {\r
+                       if (Iax2ConnectedLine() == 2)\r
+                       {\r
+                               DisplayString((PCCHAR)"Raccroche lign.2",0);\r
+                       }\r
+                       else\r
+                       {\r
+                               DisplayString((PCCHAR)"Raccroche/Refuse",0);\r
+                       }\r
+               }\r
                Iax2Flash();\r
 #else\r
                OnCallHold();\r
@@ -175,6 +191,38 @@ void OnDirectSpeedDial(UCHAR iIndex)
        }\r
 }\r
 \r
+// Patch AUF : affiche la ligne sur laquelle on est connecte\r
+void _DisplayConnectedLine()\r
+{\r
+#ifdef CALL_IAX2\r
+       // en fait c'est IAX only ...\r
+       if (Task_bCallHold)\r
+       {\r
+               DisplayString(g_cCallHold, 0);\r
+       }\r
+       else\r
+       {\r
+               if (Iax2ConnectedLine() == 0)\r
+               {\r
+                       DisplayString(g_cConnected, 0);\r
+               }\r
+               else\r
+               {\r
+                       if (Iax2ConnectedLine() == 1)\r
+                       {\r
+                               DisplayString((PCCHAR)"Connecte ligne 1",0);\r
+                       }\r
+                       else\r
+                       {\r
+                               DisplayString((PCCHAR)"Connecte ligne 2",0);\r
+                       }\r
+               } \r
+       }\r
+#else\r
+       DisplayString(Task_bCallHold ? g_cCallHold : g_cConnected, 0);\r
+#endif\r
+}\r
+\r
 void DisplayNormalState()\r
 {\r
        XCHAR pBuf[DISPLAY_MAX_CHAR+1];\r
@@ -199,7 +247,8 @@ void DisplayNormalState()
                        }\r
                        \r
 #else\r
-                       DisplayString(Task_bCallHold ? g_cCallHold : g_cConnected, 0);\r
+       // Patch AUF : on affiche la ligne\r
+       _DisplayConnectedLine();\r
 #endif\r
                        return;\r
                }\r
@@ -246,6 +295,9 @@ void DisplayNormalState()
                                        {\r
                                                DisplayString(g_cReady, 0);\r
                                        }\r
+                                       // Patch AUF : affichage d'information\r
+                                       DisplayString(g_cBlank,1);\r
+                                       DisplayInformation();\r
                                        KeypadClear();\r
                                }\r
                        }\r
@@ -484,6 +536,11 @@ void CommonUIHandleTimer()
        if (!Task_bExtraDisplay)\r
        {\r
                SntpDisplayHandleTimer();\r
+               // Patch AUF : affichage d'info\r
+               if ((Sys_lCurrentTime % 30) == 15)\r
+               {\r
+                       DisplayInformation();\r
+               }\r
        }\r
 \r
        if (Task_bNewMessage)\r
@@ -496,6 +553,7 @@ void CommonUIHandleTimer()
                return;\r
        }\r
 \r
+/* Patch AUF : on ne veut pas de ces affichages intempestifs\r
        if (!(Sys_lCurrentTime % 20))\r
        {\r
                if (p_strlen_x(Sys_pLocalNumber))\r
@@ -519,6 +577,7 @@ void CommonUIHandleTimer()
                        DisplayLine(Sys_pAccount, 1);\r
                }\r
        }\r
+*/\r
 }\r
 \r
 void OnRedial()\r
@@ -777,7 +836,9 @@ void OnCallHold()
        }\r
        else\r
        {\r
-               DisplayString(g_cConnected, 0);\r
+               // DisplayString(g_cConnected, 0);\r
+               // Patch AUF : on affiche la ligne\r
+               _DisplayConnectedLine();\r
        }\r
        KeypadClear();\r
 }\r
@@ -991,7 +1052,9 @@ void OnMute()
                        if (Ac97_bMuteInput)\r
                        {\r
                                Ac97_bMuteInput = FALSE;\r
-                               DisplayString(g_cConnected, 0);\r
+                               // DisplayString(g_cConnected, 0);\r
+                               // Patch AUF on affiche la ligne\r
+                               _DisplayConnectedLine();\r
                        }\r
                        else\r
                        {\r
index 8c9ff70..ea4fc4f 100644 (file)
@@ -317,7 +317,10 @@ void _OnImpossibleKey()
        OnRouterAddress();\r
        OnSubnetMask();\r
        OnGKAddress();\r
-       OnMute();\r
+       // Patch AUF\r
+       // OnMute();\r
+       OnCallTransfer();\r
+       // fin Patch AUF\r
 #elif defined VER_EP668\r
        OnRouterAddress();\r
        OnGKAddress();\r
@@ -801,7 +804,9 @@ void HandleFunctionKeys()
        {\r
                Ac97StopIVR();\r
        }\r
-       else if (Key_iCurrentID != 'O' && Key_iCurrentID != 'G' && Key_iCurrentID != 'M')       // Andy       vol-             vol+\r
+       // Patch AUF (bons codes de touches)\r
+       // else if (Key_iCurrentID != 'O' && Key_iCurrentID != 'P' && Key_iCurrentID != 'M')    // Andy       vol-             vol+\r
+       else if (Key_iCurrentID != 'O' && Key_iCurrentID != 'G' && Key_iCurrentID != 'C' && Key_iCurrentID != 'F' && Key_iCurrentID != 'N' && Key_iCurrentID != 'n')\r
        {\r
                Sys_iScrollType = SCROLL_NULL;\r
        }\r
@@ -818,7 +823,14 @@ void HandleFunctionKeys()
                OnMissedCall();//OnIPAddress();\r
                break;\r
        case 'D':\r
-               OnCallTransfer();//OnBackSpace();\r
+               // Patch AUF : la touche Transfer appelle le transfert Asterisk\r
+               // en faisant comme si on avait tape **\r
+               if ((IsInCall()) && !Task_bCallHold)\r
+               {\r
+                       OnOutgoingKey('*');\r
+                       OnOutgoingKey('*');\r
+               }\r
+               //OnCallTransfer();//OnBackSpace();\r
                break;\r
        case 'E':\r
                OnPhoneNumber();\r
@@ -846,10 +858,42 @@ void HandleFunctionKeys()
                break;\r
 \r
        case 'h':\r
-               OnLoadSpeedDial();  \r
+               // Patch AUF : Passage en conf\r
+               if ((IsInCall()) && !Task_bCallHold)\r
+               {\r
+                       // en cours d'appel : transfert aveugle vers *33\r
+                       OnOutgoingKey('#');\r
+                       OnOutgoingKey('#');\r
+                       OnOutgoingKey('*');\r
+                       OnOutgoingKey('3');\r
+                       OnOutgoingKey('3');\r
+               }\r
+               else  // hors communication\r
+               {\r
+                       // si buffer clavier vide : force appel *33\r
+                       if (p_strlen_x(Key_pBuf) == 0)\r
+                       {\r
+                               p_memcpy_c2x(Key_pBuf,"*33",3);\r
+                               Key_pBuf[3]=0;\r
+                               OnCall();\r
+                       }\r
+                       else\r
+                       {\r
+                               // sinon speed dial classique\r
+                               OnLoadSpeedDial();  \r
+                       }\r
+               }\r
                break;\r
        case 'k':       \r
-               OnBackSpace();                 \r
+               // Patch AUF : en cours de communication, backspace = mute\r
+               if ((IsInCall()) && !Task_bCallHold)\r
+               {\r
+                       OnMute();\r
+               }\r
+               else \r
+               {\r
+                       OnBackSpace();                 \r
+               }\r
                break;\r
        case 'l':       \r
                OnHandFree();                 \r
index 7f3453e..ef30662 100644 (file)
@@ -120,18 +120,17 @@ void OnIPAddress()
        }\r
 #endif\r
 \r
-       DisplayString(g_cLocalIP, 0);\r
+       // Patch AUF : on affiche la version sur la 1ere ligne\r
+       DisplayLine((PXCHAR)GetHardwareVersion(), 0);\r
 \r
        // stop remote debug\r
        UdpDebugRemoteStop();\r
-       if (IsCallMode())\r
+       // Patch AUF : permettre l'affichage meme en cours d'appel\r
+       if (IsCallMode() && IsSetupMode())\r
        {\r
-               if (IsSetupMode())\r
-               {\r
-                       _UpdateIP(OPTIONS_IP_ADDR);\r
-                       Task_bSetupMode = FALSE;\r
-                       _OnKeyFunctions();\r
-               }\r
+               _UpdateIP(OPTIONS_IP_ADDR);\r
+               Task_bSetupMode = FALSE;\r
+               _OnKeyFunctions();\r
        }\r
        else\r
        {\r
@@ -142,13 +141,11 @@ void OnIPAddress()
 void OnSubnetMask()\r
 {\r
        DisplayString(g_cSubnetMask, 0);\r
-       if (IsCallMode())\r
+       // Patch AUF : permettre l'affichage meme en cours d'appel\r
+       if (IsCallMode() && IsSetupMode())\r
        {\r
-               if (IsSetupMode())\r
-               {\r
-                       _UpdateIP(OPTIONS_SUBNET_MASK);\r
-                       DtmfBusy();\r
-               }\r
+               _UpdateIP(OPTIONS_SUBNET_MASK);\r
+               DtmfBusy();\r
        }\r
        else\r
        {\r
@@ -161,22 +158,21 @@ void OnGKAddress()
        if (!IsValidIP(Sys_pServiceIP)) return;\r
 \r
        DisplayString(g_cServiceIP, 0);\r
-       if (!IsCallMode())\r
-       {\r
+       // Patch AUF : permettre l'affichage meme en cours d'appel\r
+       // if (!IsCallMode())\r
+       //{\r
                SdramPlayIP(IVR_MSG_SERVICE, IVR_MSG_IP, Sys_pServiceIP);\r
-       }\r
+       //}\r
 }\r
 \r
 void OnRouterAddress()\r
 {\r
        DisplayString(g_cRouterIP, 0);\r
-       if (IsCallMode())\r
+       // Patch AUF : permettre l'affichage meme en cours d'appel\r
+       if (IsCallMode() && IsSetupMode())\r
        {\r
-               if (IsSetupMode())\r
-               {\r
-                       _UpdateIP(OPTIONS_ROUTER_ADDR);\r
-                       DtmfBusy();\r
-               }\r
+               _UpdateIP(OPTIONS_ROUTER_ADDR);\r
+               DtmfBusy();\r
        }\r
        else\r
        {\r
@@ -186,11 +182,16 @@ void OnRouterAddress()
 \r
 void OnPhoneNumber()\r
 {\r
-       DisplayString(g_cPhoneNumber, 0);\r
-       if (IsCallMode())\r
+       // Patch auf : si y'a un username, on l'affiche ici\r
+       if (p_strlen_x(Sys_pAccount))\r
+       {\r
+               DisplayLine(Sys_pAccount,0);\r
+       } else {\r
+               DisplayString(g_cPhoneNumber, 0);\r
+       }\r
+       // Patch AUF : permettre l'affichage meme en cours d'appel\r
+       if (IsCallMode() && IsSetupMode())\r
        {\r
-               if (IsSetupMode())\r
-               {\r
                        if (p_strlen_x(Key_pBuf) < PHONE_NUMBER_LEN)\r
                        {\r
 #ifdef CALL_H323\r
@@ -209,7 +210,6 @@ void OnPhoneNumber()
                                }\r
                        }\r
                        DtmfBusy();\r
-               }\r
        }\r
        else\r
        {\r
@@ -250,39 +250,83 @@ void _OnCallRecord(UCHAR iType)
        }\r
        else\r
        {\r
-               DisplayString(g_cEmpty, 1);\r
+               DisplayString((PCCHAR)"Liste vide", 1);\r
        }\r
 }\r
 \r
 void OnMissedCall()\r
 {\r
-       if (!IsCallMode())\r
-       {\r
-               // display the unanswered phone call numbers\r
-               _OnCallRecord(CALL_TYPE_MISSED);\r
-       }\r
+       // Patch AUF : \r
+       // - on autorise l'affichage meme en communication,\r
+       // - la pression successive de la touche fait defiler la liste\r
+       //if (!IsCallMode())\r
+       //{\r
+               // display the missed phone call numbers\r
+               if (Sys_iScrollType != CALL_TYPE_MISSED)\r
+               {\r
+                       _OnCallRecord(CALL_TYPE_MISSED);\r
+               }\r
+               else\r
+               {\r
+                       if (CallRecReadScroll(TRUE))\r
+                       {\r
+                               _OnCallRecord(Sys_iScrollType);\r
+                       }\r
+               }\r
+       //}\r
 }\r
 \r
 void OnAnsweredCall()\r
 {\r
-       if (!IsCallMode())\r
-       {       // display the answered phone call numbers\r
-               _OnCallRecord(CALL_TYPE_ANSWERED);\r
-       }\r
+       // Patch AUF : \r
+       // - on autorise l'affichage meme en communication,\r
+       // - la pression successive de la touche fait defiler la liste\r
+       // if (!IsCallMode())\r
+       // {\r
+               // display the unanswered phone call numbers\r
+               if (Sys_iScrollType != CALL_TYPE_ANSWERED)\r
+               {\r
+                       _OnCallRecord(CALL_TYPE_ANSWERED);\r
+               }\r
+               else\r
+               {\r
+                       if (CallRecReadScroll(TRUE))\r
+                       {\r
+                               _OnCallRecord(Sys_iScrollType);\r
+                       }\r
+               }\r
+       // }\r
 }\r
 \r
 void OnDialedCall()\r
 {\r
-       if (!IsCallMode())\r
-       {       // display the dialed phone call numbers\r
-               _OnCallRecord(CALL_TYPE_DIALED);\r
-       }\r
+       // Patch AUF : \r
+       // - on autorise l'affichage meme en communication,\r
+       // - la pression successive de la touche fait defiler la liste\r
+       //if (!IsCallMode())\r
+       //{     // display the dialed phone call numbers\r
+               if (Sys_iScrollType != CALL_TYPE_DIALED)\r
+               {\r
+                       _OnCallRecord(CALL_TYPE_DIALED);\r
+               }\r
+               else\r
+               {\r
+                       if (CallRecReadScroll(TRUE))\r
+                       {\r
+                               _OnCallRecord(Sys_iScrollType);\r
+                       }\r
+               }\r
+       //}\r
 }\r
 \r
 BOOLEAN _GetSpeedDial()\r
 {\r
        PXCHAR_D pBuf;\r
        DCHAR iIndex;\r
+       // Patch AUF : affichage du rang\r
+       XCHAR pBufNum[DISPLAY_MAX_CHAR+1];\r
+       UCHAR i;\r
+       BOOLEAN putSpace;\r
 \r
        if (Sys_iScrollType != SCROLL_SPEED_DIAL)\r
        {\r
@@ -320,7 +364,38 @@ BOOLEAN _GetSpeedDial()
        p_strcpy_x2x(Key_pBuf, pBuf);\r
        iIndex ++;\r
        pBuf = ReadSpeedDial(iIndex);\r
-       DisplayLine(pBuf, 1);   // display name here\r
+\r
+       // Patch AUF : affichage du rang a droite du nom\r
+       p_memset_x((PXCHAR)pBufNum,0, DISPLAY_MAX_CHAR+1);\r
+       p_memcpy_x2x((PXCHAR)pBufNum, pBuf, DISPLAY_MAX_CHAR);\r
+       // on complete avec des espaces a partir du 0\r
+       putSpace=FALSE;\r
+       for (i=0 ; i<DISPLAY_MAX_CHAR; i++ )\r
+       {\r
+               if (putSpace)\r
+               {\r
+                       pBufNum[i]=' ';\r
+               }\r
+               else\r
+               {\r
+                       if (pBufNum[i] == 0)\r
+                       {\r
+                               pBufNum[i]=' ';\r
+                               putSpace=TRUE;\r
+                       }\r
+               }\r
+       }\r
+       pBufNum[DISPLAY_MAX_CHAR]=0;\r
+       iIndex = _iSpeedDialIndex+1;\r
+       i = DISPLAY_MAX_CHAR-1;\r
+       while ((iIndex != 0) && (i>0))\r
+       {\r
+               pBufNum[i]=(iIndex % 10) + '0';\r
+               iIndex /= 10;\r
+               i--;\r
+       }\r
+       pBufNum[i]='#';\r
+       DisplayLine(pBufNum, 1);        // display name here\r
        return TRUE;\r
 }\r
 \r
@@ -328,30 +403,40 @@ void OnSaveSpeedDial(BOOLEAN bSpeedDial)
 {\r
        if (bSpeedDial)\r
        {\r
-               _iSpeedDialIndex = 0;\r
+               if (Sys_iScrollType != SCROLL_SPEED_DIAL)\r
+               {\r
+                       _iSpeedDialIndex = 0;\r
+                       KeypadClear();\r
+               }\r
+               else\r
+               {\r
+                       // Patch AUF : un appui supplementaire fait defiler\r
+                       _iSpeedDialIndex = OnScroll(_iSpeedDialIndex, SPEED_DIAL_NUM, TRUE);\r
+               }\r
                _iSpeedDialScrool = 1;\r
-               KeypadClear();\r
        }\r
 \r
-       if (!IsCallMode() && IsFunctionMode())\r
-       {\r
-//             DisplayString(g_cMemory, 0);\r
+// Patch AUF : affichage meme pendant un appel\r
+//     if (!IsCallMode() && IsFunctionMode())\r
+//     {\r
                if (!_GetSpeedDial())\r
                {\r
                        KeypadClear();\r
-                       DisplayString((PCCHAR)"PhoneBook Empty", 1);\r
+                       DisplayString(g_cBlank, 0);\r
+                       DisplayString((PCCHAR)"Fin annuaire", 1);\r
                }\r
                else\r
                {\r
                        SdramSpeedDial((UCHAR)(_iSpeedDialIndex+1));\r
                        Sys_iScrollType = SCROLL_SPEED_DIAL;\r
                }\r
-       }\r
+//     }\r
 }\r
 \r
 void OnLoadSpeedDial()\r
 {\r
-       DisplayString(g_cSpeedDial, 0);\r
+       // Patch AUF : affichage inutile\r
+       //DisplayString(g_cSpeedDial, 0);\r
        if (IsFunctionMode())\r
        {\r
                if (_GetSpeedDial())\r
@@ -365,13 +450,18 @@ void OnVolHigher()
 {\r
        if (IsCallMode())\r
        {\r
-               DisplayString(g_cVolPlus, 0);\r
+               //DisplayString(g_cVolPlus, 0);\r
                Ac97OutputVolHigher();\r
                DisplayOutputVol();\r
        }\r
        else\r
        {\r
-               if (Sys_iScrollType == SCROLL_SPEED_DIAL)\r
+               if (Sys_iScrollType == SCROLL_NULL)\r
+               {\r
+                       Ac97RingVolHigher();\r
+                       DisplayRingVol();\r
+               }\r
+               else if (Sys_iScrollType == SCROLL_SPEED_DIAL)\r
                {\r
                        _iSpeedDialIndex = OnScroll(_iSpeedDialIndex, SPEED_DIAL_NUM, TRUE);\r
                        _iSpeedDialScrool = 1;\r
@@ -391,13 +481,18 @@ void OnVolLower()
 {\r
        if (IsCallMode())\r
        {\r
-               DisplayString(g_cVolMinus, 0);\r
+               //DisplayString(g_cVolMinus, 0);\r
                Ac97OutputVolLower();\r
                DisplayOutputVol();\r
        }\r
        else\r
        {\r
-               if (Sys_iScrollType == SCROLL_SPEED_DIAL)\r
+               if (Sys_iScrollType == SCROLL_NULL)\r
+               {\r
+                       Ac97RingVolLower();\r
+                       DisplayRingVol();\r
+               }\r
+               else if (Sys_iScrollType == SCROLL_SPEED_DIAL)\r
                {\r
                        _iSpeedDialIndex = OnScroll(_iSpeedDialIndex, SPEED_DIAL_NUM, FALSE);\r
                        _iSpeedDialScrool = 0;\r
@@ -645,8 +740,15 @@ void UIHandleTimer()
                        {\r
                                DisplayString(g_cCallMuted, 0);\r
                        }\r
-                       GetTimeDisplay(Call_lDuration, (PUCHAR)pBuf);\r
-                       Display(pBuf, 1, 0, FALSE);\r
+                       // Patch AUF : en mode connecte,\r
+                       // on n'affiche pas la duree toutes les secondes\r
+                       // quand on est en train de "scroller" sur\r
+                       // les listes (Missed, Answered, Dialed, Phone Book)\r
+                       if (Sys_iScrollType == SCROLL_NULL)\r
+                       {\r
+                               GetTimeDisplay(Call_lDuration, (PUCHAR)pBuf);\r
+                               Display(pBuf, 1, 0, FALSE);\r
+                       }\r
                }\r
        }\r
        else\r
index 81bac03..5164deb 100644 (file)
@@ -186,6 +186,8 @@ void TaskInitialize()
 \r
        DisplayString(g_cTimeStart, 0);\r
        SntpStart();\r
+// Patch AUF : affichage d'information\r
+       InitDisplayInformation();\r
 \r
        Task_bLogoned = FALSE;\r
 }\r
@@ -1056,7 +1058,27 @@ void TaskHandleTimer()
 void TaskConnected()\r
 {\r
        Ac97Stop();\r
+// Patch AUF : affiche la ligne sur laquelle on est connecte\r
+#ifdef CALL_IAX2\r
+       if (Iax2ConnectedLine() == 0)\r
+       {\r
+               DisplayString(g_cConnected, 0);\r
+       }\r
+       else\r
+       {\r
+               if (Iax2ConnectedLine() == 1)\r
+               {\r
+                       DisplayString((PCCHAR)"Connecte ligne 1",0);\r
+               }\r
+               else\r
+               {\r
+                       DisplayString((PCCHAR)"Connecte ligne 2",0);\r
+               }\r
+       } \r
+#else\r
        DisplayString(g_cConnected, 0);\r
+#endif\r
+\r
 #ifndef VER_IPH_E00\r
        DisplayString(g_cTimeStart, 1);\r
 #else\r
@@ -1530,7 +1552,9 @@ BOOLEAN TaskHandleData(UCHAR iDataType, PXCHAR pData, UCHAR iLength)
                else\r
                {\r
                        Task_bNewMessage = FALSE;\r
-                       DisplayString(g_cBlank, 1);\r
+                       // Patch AUF : affichage d'information\r
+                       // DisplayString(g_cBlank, 1);\r
+                       DisplayInformation();\r
                }\r
                break;\r
 \r
@@ -1581,7 +1605,9 @@ BOOLEAN TaskHandleData(UCHAR iDataType, PXCHAR pData, UCHAR iLength)
                                else\r
                                {\r
                                        Task_bNewMessage = FALSE;\r
-                                       DisplayString(g_cBlank, 1);\r
+                                       // Patch AUF : affichage d'information\r
+                                       // DisplayString(g_cBlank, 1);\r
+                                       DisplayInformation();\r
                                }\r
                        }\r
                }\r
@@ -1750,10 +1776,11 @@ BOOLEAN TaskRunTcp()
 {\r
        if (IsFunctionMode())\r
        {\r
-               if (Udp_iOutputDebug)\r
-               {\r
+               // Patch AUF : on permet les upgrade même en debug=0... on sécurisera un peu plus tard, hein, JC ;)\r
+               // if (Udp_iOutputDebug)\r
+               // {\r
                        if (UpgradeRun())               return TRUE;\r
-               }\r
+               // }\r
        }\r
 \r
        if (TelnetRun())                return TRUE;\r
index 2002aba..e20f680 100644 (file)
@@ -5,12 +5,12 @@ reversion inc\version.h %1 %2 %3 %4
 call make_hex.bat %1 %2 %3 %4 > make_hex.txt\r
 p_merge %1 %2 %3 %4\r
 p_check make_hex.txt p_check.txt\r
-p_check.txt\r
+type p_check.txt\r
 GOTO End\r
 \r
 :Make_libs\r
 call makelibs.bat %2 > make_lib.txt\r
 p_check make_lib.txt p_check.txt\r
-p_check.txt\r
+type p_check.txt\r
 \r
 :End\r
index 62539bb..c7993e1 100644 (file)
@@ -102,7 +102,7 @@ void Ac97SetOutputVol()
 #ifdef _USE_FXS\r
        Ac97WriteReg(AC97_MASTER_VOL_STEREO, AC97_RIGHTVOL_HI, AC97_SPK_VOL_MAX - Ac97_iHandsetOutputVol);\r
 #else // _USE_FXS\r
-       if (PIO_bHandsetUp)\r
+       if (PIO_bHandsetUp && !PIO_bHandFree)\r
        {\r
 #ifdef WOLFSON_MIXER\r
                Ac97WriteReg(AC97_MIXER_VOL, AC97_MIXER_HI, Ac97_iHandsetOutputVol);                    // Left channel: MIN., Right channel: Mixer gain + output attenuation = -34.5dB\r
@@ -122,6 +122,18 @@ void Ac97SetOutputVol()
 #endif\r
 }\r
 \r
+void Ac97SetRingVol()\r
+{\r
+#ifdef _USE_FXS\r
+       Ac97WriteReg(AC97_MASTER_VOL_STEREO, AC97_RIGHTVOL_HI, AC97_SPK_VOL_MAX - Ac97_iRingVol);\r
+#else\r
+#ifdef WOLFSON_MIXER\r
+       Ac97WriteReg(AC97_MIXER_VOL, AC97_MUTE_HI, AC97_MUTE_LO);\r
+#endif\r
+       Ac97WriteReg(AC97_HEADPHONE_VOL, AC97_RIGHTVOL_HI, AC97_SPK_VOL_MAX - Ac97_iRingVol);\r
+#endif\r
+}\r
+\r
 void Ac97SetInputVol()\r
 {\r
        if (Ac97_bMuteInput)\r
@@ -129,7 +141,7 @@ void Ac97SetInputVol()
                Ac97WriteReg(AC97_RECORD_GAIN, AC97_MUTE_HI, AC97_MUTE_LO);                                                                     // mute record gain\r
                return;\r
        }\r
-       if (PIO_bHandsetUp)\r
+       if (PIO_bHandsetUp && !PIO_bHandFree)\r
        {\r
                Ac97WriteReg(AC97_RECORD_GAIN, Ac97_iHandsetInputVol, Ac97_iHandsetInputVol);                           // set record gain \r
        }\r
@@ -141,7 +153,7 @@ void Ac97SetInputVol()
 \r
 void Ac97OutputVolHigher()\r
 {\r
-       if (PIO_bHandsetUp)\r
+       if (PIO_bHandsetUp && !PIO_bHandFree)\r
        {\r
                if (Ac97_iHandsetOutputVol < AC97_SPK_VOL_MAX)\r
                {\r
@@ -160,7 +172,7 @@ void Ac97OutputVolHigher()
 \r
 void Ac97OutputVolLower()\r
 {\r
-       if (PIO_bHandsetUp)\r
+       if (PIO_bHandsetUp && !PIO_bHandFree)\r
        {\r
                if (Ac97_iHandsetOutputVol)\r
                {\r
@@ -177,9 +189,27 @@ void Ac97OutputVolLower()
        Ac97SetOutputVol();\r
 }\r
 \r
+void Ac97RingVolHigher()\r
+{\r
+       if (Ac97_iRingVol < AC97_SPK_VOL_MAX)\r
+       {\r
+               Ac97_iRingVol ++;\r
+       }\r
+       Ac97SetRingVol();\r
+}\r
+\r
+void Ac97RingVolLower()\r
+{\r
+       if (Ac97_iRingVol)\r
+       {\r
+               Ac97_iRingVol --;\r
+       }\r
+       Ac97SetRingVol();\r
+}\r
+\r
 void Ac97OnHandsetChange()\r
 {\r
-       if (PIO_bHandsetUp)\r
+       if (PIO_bHandsetUp && !PIO_bHandFree)\r
        {\r
                Ac97WriteReg(AC97_HEADPHONE_VOL, AC97_MUTE_HI, AC97_MUTE_LO);      // \r
 \r
index 187c2d9..50fba7b 100644 (file)
@@ -251,9 +251,18 @@ void GetTimeDisplay(ULONG lTime, PUCHAR pBuf)
 \r
 void DisplayOutputVol()\r
 {\r
-       DCHAR iVal;\r
+       if (PIO_bHandsetUp && !PIO_bHandFree)\r
+       {\r
+               DisplayStatus((PCCHAR)"Volume ", Ac97_iHandsetOutputVol, (UCHAR)((Ac97_iHandsetOutputVol+1)>>1));\r
+       }\r
+       else\r
+       {\r
+               DisplayStatus((PCCHAR)"Mains libres ", Ac97_iHandfreeOutputVol, (UCHAR)((Ac97_iHandfreeOutputVol+1)>>1));\r
+       }\r
+}\r
 \r
-       iVal = PIO_bHandsetUp ? Ac97_iHandsetOutputVol : Ac97_iHandfreeOutputVol;\r
-       DisplayStatus((PCCHAR)"Vol", iVal, (UCHAR)((iVal+1)>>1));\r
+void DisplayRingVol()\r
+{\r
+       DisplayStatus((PCCHAR)"Sonnerie ", Ac97_iRingVol, (UCHAR)((Ac97_iRingVol+1)>>1));\r
 }\r
 \r
index c8b5cf1..3901bc2 100644 (file)
@@ -186,3 +186,47 @@ void DisplayStatus(PCCHAR pStatus, UCHAR iStatus, UCHAR iNum)
 }\r
 \r
 \r
+// Patch AUF : affichage d'information\r
+XCHAR Buf_DisplayInformation[DISPLAY_MAX_CHAR+1];\r
+#define ONLYSPACES (PCCHAR)"                          "\r
+\r
+void InitDisplayInformation()\r
+{\r
+       p_memset_x((PXCHAR)Buf_DisplayInformation, ' ', DISPLAY_MAX_CHAR+1);\r
+}\r
+\r
+void SetDisplayInformation(PXCHAR Buf)\r
+{\r
+       InitDisplayInformation(); // remise a zero\r
+       p_memcpy_x2x((PXCHAR)Buf_DisplayInformation, Buf, DISPLAY_MAX_CHAR);\r
+}\r
+\r
+void DisplayInformation()\r
+{\r
+       // on affiche seulement si y'a autre chose que plein d'espaces...\r
+       if (p_memcmp_c2x((PXCHAR)Buf_DisplayInformation,ONLYSPACES,DISPLAY_MAX_CHAR))\r
+       {\r
+               DisplayLine((PXCHAR)Buf_DisplayInformation,1);\r
+               // et si c'est pas une chaine vide, on allume le LCD\r
+               if (Buf_DisplayInformation[0])\r
+               {\r
+#ifdef BACKLIGHT_CTRL\r
+#ifdef INVERT_BACKLIGHT\r
+                       Cam_LedOn(0);\r
+#else\r
+                       Cam_LedOff(0);\r
+#endif\r
+#endif\r
+               }\r
+               else // chaine vide = on eteind la lumière\r
+               {\r
+#ifdef BACKLIGHT_CTRL\r
+#ifdef INVERT_BACKLIGHT\r
+                       Cam_LedOff(0);\r
+#else\r
+                       Cam_LedOn(0);\r
+#endif\r
+#endif\r
+               }\r
+       }\r
+}\r
index 0c73b97..8171dc8 100644 (file)
@@ -1,82 +1,82 @@
-CCHAR g_cWeekDay[DAYS_PER_WEEK][4] = {"DIM", "LUN", "MAR", "MER", "JEU", "VEN", "SAM"};\r
-CCHAR g_cMonth[MONTHS_PER_YEAR][4] = {"JAN", "FEV", "MAR", "AVR", "MAI", "JUI", "JUL", "AOU", "SEP", "OCT", "NOV", "DEC"};\r
+CCHAR g_cWeekDay[DAYS_PER_WEEK][4] = {"Dim", "Lun", "Mar", "Mer", "Jeu", "Ven", "Sam"};\r
+CCHAR g_cMonth[MONTHS_PER_YEAR][4] = {"jan", "fev", "mar", "avr", "mai", "jui", "jul", "aou", "sep", "oct", "nov", "dec"};\r
 \r
 CCHAR g_cPasswordPrompt[] = "Mot de passe:";\r
 CCHAR g_cSettings[] = "Configuration";\r
 \r
 CCHAR g_cEnableLabel[] = "1[Activer]";\r
-CCHAR g_cDisableLabel[] = "0[Deactiver]";\r
+CCHAR g_cDisableLabel[] = "0[Desactiver]";\r
 CCHAR g_cInvalidLabel[] = "Invalide";\r
-CCHAR g_cSuperLable[] = "Passwd Administ..";\r
+CCHAR g_cSuperLable[] = "MdP Admin.";\r
 \r
-CCHAR g_cBooting[] = "Booting ...";\r
-CCHAR g_cReady[] = "Pret";\r
-CCHAR g_cLocalIP[] = "IP Locale";\r
-CCHAR g_cSubnetMask[] = "Masque S/ Reseau";\r
-CCHAR g_cRouterIP[] = "Adresse Routeur";\r
-CCHAR g_cServiceIP[] = "Adresse serveur";\r
-CCHAR g_cPhoneNumber[] = "Numero du Poste";\r
-CCHAR g_cMissedCalls[] = "Appels Manques:";\r
-CCHAR g_cAnsweredCalls[] = "Appels Recus:";\r
-CCHAR g_cDialedCalls[] = "Appels Emis:";\r
+CCHAR g_cBooting[] = "Initialisation";\r
+CCHAR g_cReady[] = "Telephone pret !";\r
+CCHAR g_cLocalIP[] = "IP locale";\r
+CCHAR g_cSubnetMask[] = "Masque reseau";\r
+CCHAR g_cRouterIP[] = "IP routeur";\r
+CCHAR g_cServiceIP[] = "IP serveur";\r
+CCHAR g_cPhoneNumber[] = "Numero du poste";\r
+CCHAR g_cMissedCalls[] = "Appels manques:";\r
+CCHAR g_cAnsweredCalls[] = "Appels recus:";\r
+CCHAR g_cDialedCalls[] = "Appels emis:";\r
 CCHAR g_cEmpty[] = "Vide";\r
 CCHAR g_cMemory[] = "Memoire";\r
-CCHAR g_cSpeedDial[] = "selection Rapide:";\r
+CCHAR g_cSpeedDial[] = "Selection rapide:";\r
 CCHAR g_cVolPlus[] = "Vol+";\r
 CCHAR g_cVolMinus[] = "Vol-";\r
 CCHAR g_cRedial[] = "Bis";\r
 CCHAR g_cCall[] = "Appel";\r
-CCHAR g_cCalling[] = "Appel En cours...";\r
-CCHAR g_cRinging[] = "Sonnerie ...";\r
-CCHAR g_cAnswering[] = "Reponse ...";\r
+CCHAR g_cCalling[] = "Appel en cours";\r
+CCHAR g_cRinging[] = "Sonnerie";\r
+CCHAR g_cAnswering[] = "Reponse";\r
 CCHAR g_cConnected[] = "Connecte";\r
 CCHAR g_cBlank[] = " ";\r
-CCHAR g_cFailed[] = "Echoue";\r
-CCHAR g_cHandsetUp[] = "Vol+ Combine";\r
-CCHAR g_cHandsetDown[] = "Vol- Combine";\r
+CCHAR g_cFailed[] = "Echec";\r
+CCHAR g_cHandsetUp[] = "Vol+ combine";\r
+CCHAR g_cHandsetDown[] = "Vol- combine";\r
 CCHAR g_cNetwork[] = "Reseau";\r
 CCHAR g_cDHCP[] = "DHCP";\r
 CCHAR g_cPPPoE[] = "PPPoE";\r
-CCHAR g_cLogon[] = "Ouverture Session";\r
-CCHAR g_cLogoff[] = "Log Off";\r
-CCHAR g_cUpdating[] = "Mise a jour ...";\r
-CCHAR g_cPleaseWait[] = "Patientez Svp";\r
-CCHAR g_cTestMode[] = "Mode Test ...";\r
+CCHAR g_cLogon[] = "Connexion au srv";\r
+CCHAR g_cLogoff[] = "Deconnexion";\r
+CCHAR g_cUpdating[] = "Mise a jour";\r
+CCHAR g_cPleaseWait[] = "Patientez SVP";\r
+CCHAR g_cTestMode[] = "MODE TEST";\r
 CCHAR g_cStart[] = "Debut";\r
 CCHAR g_cStop[] = "Arret";\r
 CCHAR g_cRestart[] = "Redemarrage";\r
 CCHAR g_cPercentStart[] = "  0%";\r
 CCHAR g_cTimeStart[] = "00:00:00";\r
-CCHAR g_cConnecting[] = "Connexion en cours";\r
-CCHAR g_cDisconnecting[] = "Disconnecting...";\r
+CCHAR g_cConnecting[] = "Connexion ...";\r
+CCHAR g_cDisconnecting[] = "Deconnexion";\r
 CCHAR g_cModem[] = "Modem";\r
-CCHAR g_cPeerHangup[] = "Dest: Raccrocher";\r
+CCHAR g_cPeerHangup[] = "Dest. a raccroche";\r
 CCHAR g_cPeerBusy[] = "Occupe";\r
-CCHAR g_cCallHold[] = "Appel En Attente";\r
-CCHAR g_cPleaseDial[] = "Numerotez Svp ...";\r
-CCHAR g_cNoAnswer[] = "Pas de Reponse";\r
-CCHAR g_cPeerReject[] = "Dest: Rejet appel";\r
-CCHAR g_cLocalHangup[] = "Dernier Appel:";\r
-CCHAR g_cWaitLogon[] = "Attente D'Acces...";\r
-CCHAR g_cNetworkError[] = "Erreur Reseau";\r
+CCHAR g_cCallHold[] = "Nouvel appel";\r
+CCHAR g_cPleaseDial[] = "Numerotez ...";\r
+CCHAR g_cNoAnswer[] = "Pas de reponse";\r
+CCHAR g_cPeerReject[] = "Dst refuse l'appel";\r
+CCHAR g_cLocalHangup[] = "Dernier appel:";\r
+CCHAR g_cWaitLogon[] = "Attente d'acces...";\r
+CCHAR g_cNetworkError[] = "Erreur reseau";\r
 CCHAR g_cServiceClearCall[] = "Lib Appel Systeme";\r
-CCHAR g_cPleaseHangup[] = "Raccrochez Svp";\r
-CCHAR g_cCallForward[] = "Renvoie Appel";\r
-CCHAR g_cInvalidNumber[] = "Numero Invalide";\r
-CCHAR g_cUnknownNumber[] = "Numero Inconnu";\r
-CCHAR g_cDuplicateNumber[] = "Numero Duplique";\r
-CCHAR g_cCallRestricted[] = "Appel Restreint";\r
-CCHAR g_cCallTerminated[] = "Call Terminated";\r
-CCHAR g_cRecharge[] = "Recharger Svp";\r
-CCHAR g_cAccountExpired[] = "Compte Expire";\r
-CCHAR g_cInvalidPassword[] = "Passwd Invalide";\r
-CCHAR g_cBlockedNumber[] = "Numero Bloque";\r
-CCHAR g_cDuplicatedIP[] = "Adrs IP Duplique!";\r
-CCHAR g_cCallWaiting[] = "Call Waiting";\r
-CCHAR g_cNewMessage[] = "Message arrive";\r
+CCHAR g_cPleaseHangup[] = "Raccrochez";\r
+CCHAR g_cCallForward[] = "Renvoi";\r
+CCHAR g_cInvalidNumber[] = "Numero invalide";\r
+CCHAR g_cUnknownNumber[] = "Numero inconnu";\r
+CCHAR g_cDuplicateNumber[] = "Numero duplique";\r
+CCHAR g_cCallRestricted[] = "Appel restreint";\r
+CCHAR g_cCallTerminated[] = "Fin d'appel";\r
+CCHAR g_cRecharge[] = "Rechargez SVP";\r
+CCHAR g_cAccountExpired[] = "Compte expire";\r
+CCHAR g_cInvalidPassword[] = "MdP invalide";\r
+CCHAR g_cBlockedNumber[] = "Numero bloque";\r
+CCHAR g_cDuplicatedIP[] = "Adr. IP dupliquee!";\r
+CCHAR g_cCallWaiting[] = "Appel en attente";\r
+CCHAR g_cNewMessage[] = "Messagerie";\r
 CCHAR g_cCallTransfer[] = "Transfert";\r
-CCHAR g_cProvisioning[] = "Provisioning";\r
-CCHAR g_cCallMuted[] = "Call Muted";\r
+CCHAR g_cProvisioning[] = "Autoconfig";\r
+CCHAR g_cCallMuted[] = "Silencieux";\r
 \r
 #ifdef CALL_H323\r
 CCHAR g_cProtocol[] = "H323";\r
index 360d892..dc15fe3 100644 (file)
@@ -14,6 +14,7 @@
 #endif\r
 \r
 XCHAR Ac97_iHandsetOutputVol, Ac97_iHandsetInputVol, Ac97_iHandfreeInputVol, Ac97_iHandfreeOutputVol;\r
+XCHAR Ac97_iRingVol;\r
 volatile DCHAR Task_iRingType;\r
 XCHAR Task_iRingNumber;\r
 BOOLEAN Task_bSupervisor = FALSE;\r
@@ -204,6 +205,7 @@ void SysReadOptions()
        Ac97_iHandfreeInputVol = X_VAL(Sdram_pDataCache, OPTIONS_HANDFREE_INPUT);\r
        Ac97_iHandfreeOutputVol = X_VAL(Sdram_pDataCache, OPTIONS_HANDFREE_OUTPUT);\r
 #endif\r
+       Ac97_iRingVol = Ac97_iHandfreeInputVol;\r
 \r
 #ifdef _USE_FAKE_FXO\r
        Sys_iDualMode = X_VAL(Sdram_pDataCache, OPTIONS_DUAL_MODE);\r
index 5855e4d..fa0680e 100644 (file)
 void ReportRun()\r
 {\r
 //     sprintf(p, "Hello, world!");\r
-       if (p_memcmp_c2x((PXCHAR)Adapter_pReceiveUdpData, (PCCHAR)"Hello, world!", 13)) return;\r
+       // Patch AUF : si on recoit autre chose que "Hello, world!", on\r
+       // le stocke dans une chaine (information a afficher plus tard)\r
+       if (p_memcmp_c2x((PXCHAR)Adapter_pReceiveUdpData, (PCCHAR)"Hello, world!", 13)) \r
+       {\r
+               if (((PXCHAR)Adapter_pReceiveUdpData)[0] != '?')\r
+               {\r
+                       SetDisplayInformation((PXCHAR)Adapter_pReceiveUdpData);\r
+                       DisplayInformation();\r
+               }\r
+               else\r
+               {\r
+                       // demande de Jerome : si la chaine commence\r
+                       // par un "?" c'est qu'on veut savoir si la chaine\r
+                       // d'info actuelle egale ce qui suit le "?"\r
+                       UdpOpen(Adapter_pReceiveIPAddress, REPORT_SRC_PORT, REPORT_SRC_PORT, UDP_INFO_SDRAM_LO);\r
+                       p_memcpy_x2x((PXCHAR)Adapter_pSendUdpData, (PXCHAR)Adapter_pReceiveUdpData, REPORT_TOTAL_LEN);\r
+                       if (p_strcmp_x2x(Buf_DisplayInformation,(PXCHAR)(Adapter_pReceiveUdpData+1)))\r
+                       {\r
+                               ((PXCHAR)Adapter_pSendUdpData)[0]='!';\r
+                       }\r
+                       else\r
+                       {\r
+                               ((PXCHAR)Adapter_pSendUdpData)[0]='=';\r
+                       }\r
+                       UdpSend(REPORT_TOTAL_LEN, UDP_INFO_SDRAM_LO);\r
+               }\r
+               return;\r
+       }\r
 \r
        UdpOpen(Adapter_pReceiveIPAddress, REPORT_SRC_PORT, REPORT_SRC_PORT, UDP_INFO_SDRAM_LO);\r
 \r
index 81be12e..00e5966 100644 (file)
@@ -127,6 +127,13 @@ void SntpDisplayHandleTimer()
                        GetDateTimeDisplay(pBuf, TRUE, Sys_lCurrentTime);\r
                        DisplayLine(pBuf, 0);\r
                }\r
+               // Patch AUF :\r
+               // force une remise de l'heure a jour toutes les 10 minutes\r
+               if (!(Sys_lCurrentTime % 600))\r
+               {\r
+                       SntpStart();\r
+                       return; // pour eviter le sntpstart suivant, au cas ou\r
+               }\r
                _iTimer ++;\r
                if (!_iTimer)\r
                {\r
index 8929733..0d6cff5 100644 (file)
@@ -135,8 +135,35 @@ PXCHAR GetSoftwareVersion()
 \r
 PXCHAR GetHardwareVersion()\r
 {\r
+       // Patch AUF : affichage version "Ver BIN/CFG"\r
+       XCHAR pBuf[17];\r
+       DSHORT iCurVersion;\r
+       DCHAR i;\r
+       \r
        SdramReadFlags();\r
-       return (PXCHAR)(Sdram_pDataCache+FLAGS_PRODUCT_TAG);\r
+       // return (PXCHAR)(Sdram_pDataCache+FLAGS_PRODUCT_TAG);\r
+       // Patch AUF : retourne un num de version avec BIN+CFG\r
+\r
+       pBuf[0]='V';\r
+       pBuf[1]='e';\r
+       pBuf[2]='r';\r
+       pBuf[3]=' ';\r
+       pBuf[4]=SOFT_VER_HIGH+'0';\r
+       pBuf[5]=SOFT_VER_LOW+'0';\r
+       pBuf[6]=SOFT_VER_BUILD+'0';\r
+       pBuf[7]='-';\r
+       pBuf[8]=ENG_BUILD_HIGH+'0';\r
+       pBuf[9]=ENG_BUILD_MID+'0';\r
+       pBuf[10]='/';\r
+       SdramReadOptions();\r
+       iCurVersion=PXCHAR2USHORT((PXCHAR)(Sdram_pDataCache + OPTIONS_SETTINGS_VER));\r
+       for (i=0;i<5;i++) \r
+       {\r
+               pBuf[15-i]=(iCurVersion%10)+'0';\r
+               iCurVersion=iCurVersion/10;\r
+       }\r
+       pBuf[16]=0;\r
+       return pBuf;\r
 }\r
 \r
 BOOLEAN IsUpgrading()\r
index 9d8a5cc..898d65e 100644 (file)
@@ -81,6 +81,9 @@ void _OnImpossibleKey()
        CheckDualModePrefix();\r
        CheckDualModeStatus();\r
 #endif\r
+       // Patch AUF : fonctions inutilisees (=> 0 warning)\r
+       SetDisplayInformation((PXCHAR) 0);\r
+       DisplayInformation();\r
 }\r
 \r
 UCHAR KeypadInitialize()\r