version 1.59 (patch AUF 19, pas de nouvelles fonctionalites)
[ipphone-firmware.git] / patch-auf-159-19.patch
CommitLineData
0f50caec
TN
1diff -urN PALMH323.orig/AUTOPROV/main.c PALMH323/AUTOPROV/main.c
2--- PALMH323.orig/AUTOPROV/main.c 2007-03-20 10:28:54.000000000 +0000
3+++ PALMH323/AUTOPROV/main.c 2008-03-05 13:02:09.000000000 +0000
4@@ -45,6 +45,12 @@
5 TcbConnected(0);\r
6 UdpSetTos(0, 0);\r
7 ReadSpeedDial(0);\r
8+ // Patch AUF : appel fonctions untilisees (0 warning)\r
9+ SetDisplayInformation((PXCHAR)0);\r
10+ DisplayInformation();\r
11+ DisplayRingVol();\r
12+ Cam_LedOn(0);\r
13+ Cam_LedOff(0);\r
14 }\r
15 \r
16 void main(void)\r
17diff -urN PALMH323.orig/AUTOPROV/prov.c PALMH323/AUTOPROV/prov.c
18--- PALMH323.orig/AUTOPROV/prov.c 2007-03-20 10:28:54.000000000 +0000
19+++ PALMH323/AUTOPROV/prov.c 2008-03-04 16:01:01.000000000 +0000
20@@ -96,7 +96,8 @@
21 {\r
22 PXCHAR_D pCur;\r
23 PXCHAR_D pContent;\r
24- XCHAR pVer[6];\r
25+ // Patch AUF : version sur 5 chiffres\r
26+ XCHAR pVer[8];\r
27 DSHORT iCurVersion, iNewVersion;\r
28 \r
29 pCur = pFileName;\r
30@@ -111,7 +112,10 @@
31 pVer[0] = SOFT_VER_HIGH + '0'; //X_VAL(Sdram_pDataCache, FLAGS_VERSION_HI);\r
32 pVer[1] = SOFT_VER_LOW + '0'; // X_VAL(Sdram_pDataCache, FLAGS_VERSION_LO);\r
33 pVer[2] = SOFT_VER_BUILD + '0'; //X_VAL(Sdram_pDataCache, FLAGS_VERSION_BUILD);\r
34- pVer[3] = 0;\r
35+ // Patch AUF : version sur 5 chiffres\r
36+ pVer[3] = ENG_BUILD_HIGH + '0';\r
37+ pVer[4] = ENG_BUILD_MID + '0';\r
38+ pVer[5] = 0;\r
39 iCurVersion = p_atoi(pVer, 10);\r
40 iNewVersion = p_atoi(pCur, 10);\r
41 OutputVal(iCurVersion, IDS_CHECK_POINT_7);\r
42diff -urN PALMH323.orig/AUTOPROV/v_task.c PALMH323/AUTOPROV/v_task.c
43--- PALMH323.orig/AUTOPROV/v_task.c 2007-03-20 10:28:54.000000000 +0000
44+++ PALMH323/AUTOPROV/v_task.c 2008-03-05 13:01:04.000000000 +0000
45@@ -5,6 +5,8 @@
46 #include <reg52.h>\r
47 \r
48 BOOLEAN PIO_bHandsetUp;\r
49+// Patch AUF (uniquement pour compilation ok)\r
50+BOOLEAN PIO_bHandFree;\r
51 \r
52 void Ac97Stop()\r
53 {\r
54diff -urN PALMH323.orig/cleanall.bat PALMH323/cleanall.bat
55--- PALMH323.orig/cleanall.bat 2007-06-30 13:35:24.000000000 +0000
56+++ PALMH323/cleanall.bat 2008-03-04 16:01:01.000000000 +0000
57@@ -280,42 +280,6 @@
58 del *.tmp\r
59 cd ..\r
60 \r
61-cd p_epn\r
62-del *.bak\r
63-del *.lst\r
64-del *.obj\r
65-del *.hex\r
66-del *.m51\r
67-del *.abs\r
68-del *.xrf\r
69-del *.~rj\r
70-del *.wmc\r
71-del *.scc\r
72-del *.tmp\r
73-del *.aps\r
74-del *.plg\r
75-rd debug /s /q\r
76-rd release /s /q\r
77-cd ..\r
78-\r
79-cd p_h323\r
80-del *.bak\r
81-del *.lst\r
82-del *.obj\r
83-del *.hex\r
84-del *.m51\r
85-del *.abs\r
86-del *.xrf\r
87-del *.~rj\r
88-del *.wmc\r
89-del *.scc\r
90-del *.tmp\r
91-del *.aps\r
92-del *.plg\r
93-rd debug /s /q\r
94-rd release /s /q\r
95-cd ..\r
96-\r
97 cd p_iax2\r
98 del *.bak\r
99 del *.lst\r
100@@ -334,42 +298,6 @@
101 rd release /s /q\r
102 cd ..\r
103 \r
104-cd p_mgcp\r
105-del *.bak\r
106-del *.lst\r
107-del *.obj\r
108-del *.hex\r
109-del *.m51\r
110-del *.abs\r
111-del *.xrf\r
112-del *.~rj\r
113-del *.wmc\r
114-del *.scc\r
115-del *.tmp\r
116-del *.aps\r
117-del *.plg\r
118-rd debug /s /q\r
119-rd release /s /q\r
120-cd ..\r
121-\r
122-cd p_n2p\r
123-del *.bak\r
124-del *.lst\r
125-del *.obj\r
126-del *.hex\r
127-del *.m51\r
128-del *.abs\r
129-del *.xrf\r
130-del *.~rj\r
131-del *.wmc\r
132-del *.scc\r
133-del *.tmp\r
134-del *.aps\r
135-del *.plg\r
136-rd debug /s /q\r
137-rd release /s /q\r
138-cd ..\r
139-\r
140 cd p_sip\r
141 del *.bak\r
142 del *.lst\r
143@@ -388,24 +316,6 @@
144 rd release /s /q\r
145 cd ..\r
146 \r
147-cd p_tcpip\r
148-del *.bak\r
149-del *.lst\r
150-del *.obj\r
151-del *.hex\r
152-del *.m51\r
153-del *.abs\r
154-del *.xrf\r
155-del *.~rj\r
156-del *.wmc\r
157-del *.scc\r
158-del *.tmp\r
159-del *.aps\r
160-del *.plg\r
161-rd debug /s /q\r
162-rd release /s /q\r
163-cd ..\r
164-\r
165 cd p_util\r
166 del *.bak\r
167 del *.lst\r
168@@ -424,24 +334,6 @@
169 rd release /s /q\r
170 cd ..\r
171 \r
172-cd p_wp\r
173-del *.bak\r
174-del *.lst\r
175-del *.obj\r
176-del *.hex\r
177-del *.m51\r
178-del *.abs\r
179-del *.xrf\r
180-del *.~rj\r
181-del *.wmc\r
182-del *.scc\r
183-del *.tmp\r
184-del *.aps\r
185-del *.plg\r
186-rd debug /s /q\r
187-rd release /s /q\r
188-cd ..\r
189-\r
190 cd page0\r
191 del *.bak\r
192 del *.lst\r
193@@ -694,129 +586,4 @@
194 \r
195 cd ..\r
196 \r
197-if not exist p_user goto end\r
198-\r
199-cd p_user\r
200- cd auvtech\r
201- del *.bak\r
202- del *.lst\r
203- del *.obj\r
204- del *.hex\r
205- del *.m51\r
206- del *.abs\r
207- del *.xrf\r
208- del *.~rj\r
209- del *.wmc\r
210- del *.scc\r
211- del *.tmp\r
212- cd ..\r
213-\r
214- cd asiainfo\r
215- del *.bak\r
216- del *.lst\r
217- del *.obj\r
218- del *.hex\r
219- del *.m51\r
220- del *.abs\r
221- del *.xrf\r
222- del *.~rj\r
223- del *.wmc\r
224- del *.scc\r
225- del *.tmp\r
226- cd ..\r
227-\r
228- cd ringtec\r
229- del *.bak\r
230- del *.lst\r
231- del *.obj\r
232- del *.hex\r
233- del *.m51\r
234- del *.abs\r
235- del *.xrf\r
236- del *.~rj\r
237- del *.wmc\r
238- del *.scc\r
239- del *.tmp\r
240- cd ..\r
241-\r
242- cd citron\r
243- del *.bak\r
244- del *.lst\r
245- del *.obj\r
246- del *.hex\r
247- del *.m51\r
248- del *.abs\r
249- del *.xrf\r
250- del *.~rj\r
251- del *.wmc\r
252- del *.scc\r
253- del *.tmp\r
254- cd ..\r
255-\r
256- cd yiyang\r
257- del *.bak\r
258- del *.lst\r
259- del *.obj\r
260- del *.hex\r
261- del *.m51\r
262- del *.abs\r
263- del *.xrf\r
264- del *.~rj\r
265- del *.wmc\r
266- del *.scc\r
267- del *.tmp\r
268- cd ..\r
269-\r
270- cd txtc\r
271- del *.bak\r
272- del *.lst\r
273- del *.obj\r
274- del *.hex\r
275- del *.m51\r
276- del *.abs\r
277- del *.xrf\r
278- del *.~rj\r
279- del *.wmc\r
280- del *.scc\r
281- del *.tmp\r
282- cd ..\r
283-\r
284- cd skycom\r
285- del *.bak\r
286- del *.lst\r
287- del *.obj\r
288- del *.hex\r
289- del *.m51\r
290- del *.abs\r
291- del *.xrf\r
292- del *.~rj\r
293- del *.wmc\r
294- del *.scc\r
295- del *.tmp\r
296- cd ..\r
297-\r
298- cd mediaring\r
299- del *.bak\r
300- del *.lst\r
301- del *.obj\r
302- del *.hex\r
303- del *.m51\r
304- del *.abs\r
305- del *.xrf\r
306- del *.~rj\r
307- del *.wmc\r
308- del *.scc\r
309- del *.tmp\r
310- cd ..\r
311- \r
312-del *.scc\r
313-del *.aps\r
314-del *.plg\r
315-rd debug /s /q\r
316-rd release /s /q\r
317-cd ..\r
318-\r
319-\r
320-\r
321-:end\r
322 \r
323diff -urN PALMH323.orig/inc/flags.h PALMH323/inc/flags.h
324--- PALMH323.orig/inc/flags.h 2007-03-20 10:29:12.000000000 +0000
325+++ PALMH323/inc/flags.h 2008-03-04 16:01:01.000000000 +0000
326@@ -32,7 +32,8 @@
327 'A', 'O', 'L', 'Y', 'N', 'K', ' ','E', 'P', '2', '0', '1', 0, 0, 0, 0,\r
328 #endif\r
329 #elif defined VER_YWH500\r
330- ' ', ' ', ' ', 'I', 'P', ' ', 'P', 'H', 'O', 'N', 'E', ' ', '5', 0, 0, 0,\r
331+ // Patch AUF : affiche version firmware (5 chiffres)\r
332+ '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
333 #elif defined VER_YWH300\r
334 ' ', ' ', ' ', 'I', 'P', ' ', 'P', 'H', 'O', 'N', 'E', ' ', '4', 0, 0, 0,\r
335 #elif defined VER_YWH200\r
336diff -urN PALMH323.orig/inc/p_apps.h PALMH323/inc/p_apps.h
337--- PALMH323.orig/inc/p_apps.h 2007-10-19 16:11:38.000000000 +0000
338+++ PALMH323/inc/p_apps.h 2008-03-04 16:01:01.000000000 +0000
339@@ -123,6 +123,7 @@
340 // options\r
341 \r
342 extern XCHAR Ac97_iHandsetOutputVol, Ac97_iHandsetInputVol, Ac97_iHandfreeInputVol, Ac97_iHandfreeOutputVol;\r
343+extern XCHAR Ac97_iRingVol;\r
344 extern volatile DCHAR Task_iRingType;\r
345 extern XCHAR Task_iRingNumber;\r
346 extern BOOLEAN Task_bSupervisor;\r
347@@ -133,6 +134,12 @@
348 #define DNS_TYPE_SNTP 3\r
349 extern XCHAR Task_iDnsType;\r
350 \r
351+// Patch AUF : affichage d'information\r
352+extern XCHAR Buf_DisplayInformation[DISPLAY_MAX_CHAR+1];\r
353+void InitDisplayInformation();\r
354+void SetDisplayInformation(PXCHAR Buf);\r
355+void DisplayInformation();\r
356+\r
357 // Key\r
358 extern XCHAR Key_pBuf[MAX_KEYBUF_LEN+1];\r
359 extern DCHAR Key_iCurrentID;\r
360@@ -179,6 +186,9 @@
361 void Ac97InputVolHigher();\r
362 void Ac97InputVolLower();\r
363 void Ac97OnHandsetChange();\r
364+void Ac97SetRingVol();\r
365+void Ac97RingVolHigher();\r
366+void Ac97RingVolLower();\r
367 \r
368 void Ac97InitBuffer();\r
369 void Ac97SwapBuffer();\r
370@@ -266,6 +276,7 @@
371 void GetTimeDisplay(ULONG lTime, PUCHAR pBuf);\r
372 void GetDateTimeDisplay(PXCHAR pBuf, BOOLEAN bLcdDisplay, ULONG lTime);\r
373 void DisplayOutputVol();\r
374+void DisplayRingVol();\r
375 \r
376 // Functions in key.c\r
377 void KeypadStartup();\r
378diff -urN PALMH323.orig/inc/p_iax2.h PALMH323/inc/p_iax2.h
379--- PALMH323.orig/inc/p_iax2.h 2007-03-20 10:29:16.000000000 +0000
380+++ PALMH323/inc/p_iax2.h 2008-03-05 10:59:26.000000000 +0000
381@@ -24,6 +24,9 @@
382 \r
383 void Iax2Flash(); // Thomas NOEL <thomas.noel@auf.org>\r
384 \r
385+// Patch AUF : fonctions IAX supplementaires\r
386+UCHAR Iax2ConnectedLine();\r
387+\r
388 BOOLEAN Iax2RunUdp(); \r
389 \r
390 BOOLEAN Iax2DPCall();\r
391diff -urN PALMH323.orig/inc/version.h PALMH323/inc/version.h
392--- PALMH323.orig/inc/version.h 2007-12-13 02:18:48.000000000 +0000
393+++ PALMH323/inc/version.h 2008-03-05 12:39:16.000000000 +0000
394@@ -4,7 +4,7 @@
395 //#define VER_PA168F // 004T, slow\r
396 //#define VER_PA168FS // 004T, fast\r
397 //#define VER_PA168P // 008T, FXS one port GW, use AM79R70 as SLIC chip\r
398-#define VER_PA168Q // 008T, FXS one port GW, use AG1170 as SLIC chip\r
399+//#define VER_PA168Q // 008T, FXS one port GW, use AG1170 as SLIC chip\r
400 //#define VER_PA168S // 008T, fast\r
401 //#define VER_PA168T // phone with MT28F016\r
402 //#define VER_PA168V // 1-port fxs with MT28F016, with PSTN dual mode support\r
403@@ -26,7 +26,7 @@
404 //#define VER_YWH100 // same as PA168S except different keypad\r
405 //#define VER_YWH200 // same as PA168S except different keypad\r
406 //#define VER_YWH300 // same as PA168S except different keypad\r
407-//#define VER_YWH500 // same as PA168S except different keypad\r
408+#define VER_YWH500 // same as PA168S except different keypad\r
409 //#define VER_COSUN // same as PA168S except different keypad\r
410 //#define VER_KINGTEL // same as PA168S except different keypad\r
411 //#define VER_EP668 // GW-EP668/A - same as PA168S\r
412@@ -36,12 +36,12 @@
413 //#define VER_IPLINK // same as PA168T, keypad same as 5111phone\r
414 \r
415 // Protocols\r
416-#define CALL_H323\r
417+//#define CALL_H323\r
418 //#define CALL_SIP\r
419 //#define CALL_MGCP\r
420 //#define CALL_N2P\r
421 //#define CALL_WP\r
422-//#define CALL_IAX2\r
423+#define CALL_IAX2\r
424 //#define CALL_EPN\r
425 \r
426 // Country -- Web page, LCD display, IVR voice and DTMF tone\r
427@@ -60,13 +60,13 @@
428 //#define RES_CA_E // Canada (English) ^^^\r
429 //#define RES_CA_F // Canada (French) *** (web, lcd and ivr use French)\r
430 //#define RES_CL // Chile (Spanish) *** (web, lcd and ivr use Spain)\r
431-#define RES_CN // China (Mandarin) ***\r
432+//#define RES_CN // China (Mandarin) ***\r
433 //#define RES_CZ // Czech Republic *** (ivr use English)\r
434 //#define RES_DE // Germany ***\r
435 //#define RES_EG // Egypt\r
436 //#define RES_ES // Spain ***\r
437 //#define RES_ES_C // Catalonian (Spain) *** (Dtmf Tone use Spain)\r
438-//#define RES_FR // France ***\r
439+#define RES_FR // France ***\r
440 //#define RES_GB // United Kingdom (English) ^^^\r
441 //#define RES_GR // Greece\r
442 //#define RES_HK // China HongKong ^^^\r
443@@ -99,7 +99,7 @@
444 //#define OEM_MEDIARING\r
445 //#define OEM_NET2PHONE\r
446 //#define OEM_NGTEL\r
447-//#define OEM_NONE_IVR\r
448+#define OEM_NONE_IVR\r
449 //#define OEM_POLYLINK\r
450 //#define OEM_RINGCHAT\r
451 //#define OEM_SKYCOM\r
452@@ -450,6 +450,6 @@
453 #define SOFT_VER_HIGH 1\r
454 #define SOFT_VER_LOW 5\r
455 #define SOFT_VER_BUILD 9\r
456-#define ENG_BUILD_HIGH 0\r
457-#define ENG_BUILD_MID 0\r
458+#define ENG_BUILD_HIGH 1\r
459+#define ENG_BUILD_MID 9\r
460 #define ENG_BUILD_LOW 7\r
461diff -urN PALMH323.orig/main/ac97_1.c PALMH323/main/ac97_1.c
462--- PALMH323.orig/main/ac97_1.c 2007-03-20 10:32:14.000000000 +0000
463+++ PALMH323/main/ac97_1.c 2008-03-04 16:01:01.000000000 +0000
464@@ -112,6 +112,8 @@
465 Ac97Start();\r
466 SysHighSpeed();\r
467 \r
468+ Ac97SetRingVol();\r
469+\r
470 #ifdef _USE_FXS\r
471 SlicStartRing();\r
472 #else\r
473@@ -139,6 +141,7 @@
474 #endif\r
475 \r
476 DtmfStopAll();\r
477+ Ac97SetOutputVol();\r
478 }\r
479 \r
480 void Ac97Start()\r
481diff -urN PALMH323.orig/main/function.c PALMH323/main/function.c
482--- PALMH323.orig/main/function.c 2007-03-20 10:32:16.000000000 +0000
483+++ PALMH323/main/function.c 2008-03-05 12:13:49.000000000 +0000
484@@ -125,6 +125,22 @@
485 HangupPhone();\r
486 #else\r
487 #ifdef CALL_IAX2 // Thomas NOEL <thomas.noel@auf.org>\r
488+// Patch AUF : en iax2 on coupe le canal actuel\r
489+ if (Iax2ConnectedLine() == 1)\r
490+ {\r
491+ DisplayString((PCCHAR)"Raccroche lign.1",0);\r
492+ }\r
493+ else \r
494+ {\r
495+ if (Iax2ConnectedLine() == 2)\r
496+ {\r
497+ DisplayString((PCCHAR)"Raccroche lign.2",0);\r
498+ }\r
499+ else\r
500+ {\r
501+ DisplayString((PCCHAR)"Raccroche/Refuse",0);\r
502+ }\r
503+ }\r
504 Iax2Flash();\r
505 #else\r
506 OnCallHold();\r
507@@ -175,6 +191,38 @@
508 }\r
509 }\r
510 \r
511+// Patch AUF : affiche la ligne sur laquelle on est connecte\r
512+void _DisplayConnectedLine()\r
513+{\r
514+#ifdef CALL_IAX2\r
515+ // en fait c'est IAX only ...\r
516+ if (Task_bCallHold)\r
517+ {\r
518+ DisplayString(g_cCallHold, 0);\r
519+ }\r
520+ else\r
521+ {\r
522+ if (Iax2ConnectedLine() == 0)\r
523+ {\r
524+ DisplayString(g_cConnected, 0);\r
525+ }\r
526+ else\r
527+ {\r
528+ if (Iax2ConnectedLine() == 1)\r
529+ {\r
530+ DisplayString((PCCHAR)"Connecte ligne 1",0);\r
531+ }\r
532+ else\r
533+ {\r
534+ DisplayString((PCCHAR)"Connecte ligne 2",0);\r
535+ }\r
536+ } \r
537+ }\r
538+#else\r
539+ DisplayString(Task_bCallHold ? g_cCallHold : g_cConnected, 0);\r
540+#endif\r
541+}\r
542+\r
543 void DisplayNormalState()\r
544 {\r
545 XCHAR pBuf[DISPLAY_MAX_CHAR+1];\r
546@@ -199,7 +247,8 @@
547 }\r
548 \r
549 #else\r
550- DisplayString(Task_bCallHold ? g_cCallHold : g_cConnected, 0);\r
551+ // Patch AUF : on affiche la ligne\r
552+ _DisplayConnectedLine();\r
553 #endif\r
554 return;\r
555 }\r
556@@ -246,6 +295,9 @@
557 {\r
558 DisplayString(g_cReady, 0);\r
559 }\r
560+ // Patch AUF : affichage d'information\r
561+ DisplayString(g_cBlank,1);\r
562+ DisplayInformation();\r
563 KeypadClear();\r
564 }\r
565 }\r
566@@ -484,6 +536,11 @@
567 if (!Task_bExtraDisplay)\r
568 {\r
569 SntpDisplayHandleTimer();\r
570+ // Patch AUF : affichage d'info\r
571+ if ((Sys_lCurrentTime % 30) == 15)\r
572+ {\r
573+ DisplayInformation();\r
574+ }\r
575 }\r
576 \r
577 if (Task_bNewMessage)\r
578@@ -496,6 +553,7 @@
579 return;\r
580 }\r
581 \r
582+/* Patch AUF : on ne veut pas de ces affichages intempestifs\r
583 if (!(Sys_lCurrentTime % 20))\r
584 {\r
585 if (p_strlen_x(Sys_pLocalNumber))\r
586@@ -519,6 +577,7 @@
587 DisplayLine(Sys_pAccount, 1);\r
588 }\r
589 }\r
590+*/\r
591 }\r
592 \r
593 void OnRedial()\r
594@@ -777,7 +836,9 @@
595 }\r
596 else\r
597 {\r
598- DisplayString(g_cConnected, 0);\r
599+ // DisplayString(g_cConnected, 0);\r
600+ // Patch AUF : on affiche la ligne\r
601+ _DisplayConnectedLine();\r
602 }\r
603 KeypadClear();\r
604 }\r
605@@ -991,7 +1052,9 @@
606 if (Ac97_bMuteInput)\r
607 {\r
608 Ac97_bMuteInput = FALSE;\r
609- DisplayString(g_cConnected, 0);\r
610+ // DisplayString(g_cConnected, 0);\r
611+ // Patch AUF on affiche la ligne\r
612+ _DisplayConnectedLine();\r
613 }\r
614 else\r
615 {\r
616diff -urN PALMH323.orig/main/keypad.c PALMH323/main/keypad.c
617--- PALMH323.orig/main/keypad.c 2007-03-20 10:32:16.000000000 +0000
618+++ PALMH323/main/keypad.c 2008-03-05 12:22:33.000000000 +0000
619@@ -317,7 +317,10 @@
620 OnRouterAddress();\r
621 OnSubnetMask();\r
622 OnGKAddress();\r
623- OnMute();\r
624+ // Patch AUF\r
625+ // OnMute();\r
626+ OnCallTransfer();\r
627+ // fin Patch AUF\r
628 #elif defined VER_EP668\r
629 OnRouterAddress();\r
630 OnGKAddress();\r
631@@ -801,7 +804,9 @@
632 {\r
633 Ac97StopIVR();\r
634 }\r
635- else if (Key_iCurrentID != 'O' && Key_iCurrentID != 'G' && Key_iCurrentID != 'M') // Andy vol- vol+\r
636+ // Patch AUF (bons codes de touches)\r
637+ // else if (Key_iCurrentID != 'O' && Key_iCurrentID != 'P' && Key_iCurrentID != 'M') // Andy vol- vol+\r
638+ else if (Key_iCurrentID != 'O' && Key_iCurrentID != 'G' && Key_iCurrentID != 'C' && Key_iCurrentID != 'F' && Key_iCurrentID != 'N' && Key_iCurrentID != 'n')\r
639 {\r
640 Sys_iScrollType = SCROLL_NULL;\r
641 }\r
642@@ -818,7 +823,14 @@
643 OnMissedCall();//OnIPAddress();\r
644 break;\r
645 case 'D':\r
646- OnCallTransfer();//OnBackSpace();\r
647+ // Patch AUF : la touche Transfer appelle le transfert Asterisk\r
648+ // en faisant comme si on avait tape **\r
649+ if ((IsInCall()) && !Task_bCallHold)\r
650+ {\r
651+ OnOutgoingKey('*');\r
652+ OnOutgoingKey('*');\r
653+ }\r
654+ //OnCallTransfer();//OnBackSpace();\r
655 break;\r
656 case 'E':\r
657 OnPhoneNumber();\r
658@@ -846,10 +858,42 @@
659 break;\r
660 \r
661 case 'h':\r
662- OnLoadSpeedDial(); \r
663+ // Patch AUF : Passage en conf\r
664+ if ((IsInCall()) && !Task_bCallHold)\r
665+ {\r
666+ // en cours d'appel : transfert aveugle vers *33\r
667+ OnOutgoingKey('#');\r
668+ OnOutgoingKey('#');\r
669+ OnOutgoingKey('*');\r
670+ OnOutgoingKey('3');\r
671+ OnOutgoingKey('3');\r
672+ }\r
673+ else // hors communication\r
674+ {\r
675+ // si buffer clavier vide : force appel *33\r
676+ if (p_strlen_x(Key_pBuf) == 0)\r
677+ {\r
678+ p_memcpy_c2x(Key_pBuf,"*33",3);\r
679+ Key_pBuf[3]=0;\r
680+ OnCall();\r
681+ }\r
682+ else\r
683+ {\r
684+ // sinon speed dial classique\r
685+ OnLoadSpeedDial(); \r
686+ }\r
687+ }\r
688 break;\r
689 case 'k': \r
690- OnBackSpace(); \r
691+ // Patch AUF : en cours de communication, backspace = mute\r
692+ if ((IsInCall()) && !Task_bCallHold)\r
693+ {\r
694+ OnMute();\r
695+ }\r
696+ else \r
697+ {\r
698+ OnBackSpace(); \r
699+ }\r
700 break;\r
701 case 'l': \r
702 OnHandFree(); \r
703diff -urN PALMH323.orig/main/std_func.c PALMH323/main/std_func.c
704--- PALMH323.orig/main/std_func.c 2007-03-20 10:32:22.000000000 +0000
705+++ PALMH323/main/std_func.c 2008-03-04 16:01:01.000000000 +0000
706@@ -120,18 +120,17 @@
707 }\r
708 #endif\r
709 \r
710- DisplayString(g_cLocalIP, 0);\r
711+ // Patch AUF : on affiche la version sur la 1ere ligne\r
712+ DisplayLine((PXCHAR)GetHardwareVersion(), 0);\r
713 \r
714 // stop remote debug\r
715 UdpDebugRemoteStop();\r
716- if (IsCallMode())\r
717+ // Patch AUF : permettre l'affichage meme en cours d'appel\r
718+ if (IsCallMode() && IsSetupMode())\r
719 {\r
720- if (IsSetupMode())\r
721- {\r
722- _UpdateIP(OPTIONS_IP_ADDR);\r
723- Task_bSetupMode = FALSE;\r
724- _OnKeyFunctions();\r
725- }\r
726+ _UpdateIP(OPTIONS_IP_ADDR);\r
727+ Task_bSetupMode = FALSE;\r
728+ _OnKeyFunctions();\r
729 }\r
730 else\r
731 {\r
732@@ -142,13 +141,11 @@
733 void OnSubnetMask()\r
734 {\r
735 DisplayString(g_cSubnetMask, 0);\r
736- if (IsCallMode())\r
737+ // Patch AUF : permettre l'affichage meme en cours d'appel\r
738+ if (IsCallMode() && IsSetupMode())\r
739 {\r
740- if (IsSetupMode())\r
741- {\r
742- _UpdateIP(OPTIONS_SUBNET_MASK);\r
743- DtmfBusy();\r
744- }\r
745+ _UpdateIP(OPTIONS_SUBNET_MASK);\r
746+ DtmfBusy();\r
747 }\r
748 else\r
749 {\r
750@@ -161,22 +158,21 @@
751 if (!IsValidIP(Sys_pServiceIP)) return;\r
752 \r
753 DisplayString(g_cServiceIP, 0);\r
754- if (!IsCallMode())\r
755- {\r
756+ // Patch AUF : permettre l'affichage meme en cours d'appel\r
757+ // if (!IsCallMode())\r
758+ //{\r
759 SdramPlayIP(IVR_MSG_SERVICE, IVR_MSG_IP, Sys_pServiceIP);\r
760- }\r
761+ //}\r
762 }\r
763 \r
764 void OnRouterAddress()\r
765 {\r
766 DisplayString(g_cRouterIP, 0);\r
767- if (IsCallMode())\r
768+ // Patch AUF : permettre l'affichage meme en cours d'appel\r
769+ if (IsCallMode() && IsSetupMode())\r
770 {\r
771- if (IsSetupMode())\r
772- {\r
773- _UpdateIP(OPTIONS_ROUTER_ADDR);\r
774- DtmfBusy();\r
775- }\r
776+ _UpdateIP(OPTIONS_ROUTER_ADDR);\r
777+ DtmfBusy();\r
778 }\r
779 else\r
780 {\r
781@@ -186,11 +182,16 @@
782 \r
783 void OnPhoneNumber()\r
784 {\r
785- DisplayString(g_cPhoneNumber, 0);\r
786- if (IsCallMode())\r
787+ // Patch auf : si y'a un username, on l'affiche ici\r
788+ if (p_strlen_x(Sys_pAccount))\r
789+ {\r
790+ DisplayLine(Sys_pAccount,0);\r
791+ } else {\r
792+ DisplayString(g_cPhoneNumber, 0);\r
793+ }\r
794+ // Patch AUF : permettre l'affichage meme en cours d'appel\r
795+ if (IsCallMode() && IsSetupMode())\r
796 {\r
797- if (IsSetupMode())\r
798- {\r
799 if (p_strlen_x(Key_pBuf) < PHONE_NUMBER_LEN)\r
800 {\r
801 #ifdef CALL_H323\r
802@@ -209,7 +210,6 @@
803 }\r
804 }\r
805 DtmfBusy();\r
806- }\r
807 }\r
808 else\r
809 {\r
810@@ -250,39 +250,83 @@
811 }\r
812 else\r
813 {\r
814- DisplayString(g_cEmpty, 1);\r
815+ DisplayString((PCCHAR)"Liste vide", 1);\r
816 }\r
817 }\r
818 \r
819 void OnMissedCall()\r
820 {\r
821- if (!IsCallMode())\r
822- {\r
823- // display the unanswered phone call numbers\r
824- _OnCallRecord(CALL_TYPE_MISSED);\r
825- }\r
826+ // Patch AUF : \r
827+ // - on autorise l'affichage meme en communication,\r
828+ // - la pression successive de la touche fait defiler la liste\r
829+ //if (!IsCallMode())\r
830+ //{\r
831+ // display the missed phone call numbers\r
832+ if (Sys_iScrollType != CALL_TYPE_MISSED)\r
833+ {\r
834+ _OnCallRecord(CALL_TYPE_MISSED);\r
835+ }\r
836+ else\r
837+ {\r
838+ if (CallRecReadScroll(TRUE))\r
839+ {\r
840+ _OnCallRecord(Sys_iScrollType);\r
841+ }\r
842+ }\r
843+ //}\r
844 }\r
845 \r
846 void OnAnsweredCall()\r
847 {\r
848- if (!IsCallMode())\r
849- { // display the answered phone call numbers\r
850- _OnCallRecord(CALL_TYPE_ANSWERED);\r
851- }\r
852+ // Patch AUF : \r
853+ // - on autorise l'affichage meme en communication,\r
854+ // - la pression successive de la touche fait defiler la liste\r
855+ // if (!IsCallMode())\r
856+ // {\r
857+ // display the unanswered phone call numbers\r
858+ if (Sys_iScrollType != CALL_TYPE_ANSWERED)\r
859+ {\r
860+ _OnCallRecord(CALL_TYPE_ANSWERED);\r
861+ }\r
862+ else\r
863+ {\r
864+ if (CallRecReadScroll(TRUE))\r
865+ {\r
866+ _OnCallRecord(Sys_iScrollType);\r
867+ }\r
868+ }\r
869+ // }\r
870 }\r
871 \r
872 void OnDialedCall()\r
873 {\r
874- if (!IsCallMode())\r
875- { // display the dialed phone call numbers\r
876- _OnCallRecord(CALL_TYPE_DIALED);\r
877- }\r
878+ // Patch AUF : \r
879+ // - on autorise l'affichage meme en communication,\r
880+ // - la pression successive de la touche fait defiler la liste\r
881+ //if (!IsCallMode())\r
882+ //{ // display the dialed phone call numbers\r
883+ if (Sys_iScrollType != CALL_TYPE_DIALED)\r
884+ {\r
885+ _OnCallRecord(CALL_TYPE_DIALED);\r
886+ }\r
887+ else\r
888+ {\r
889+ if (CallRecReadScroll(TRUE))\r
890+ {\r
891+ _OnCallRecord(Sys_iScrollType);\r
892+ }\r
893+ }\r
894+ //}\r
895 }\r
896 \r
897 BOOLEAN _GetSpeedDial()\r
898 {\r
899 PXCHAR_D pBuf;\r
900 DCHAR iIndex;\r
901+ // Patch AUF : affichage du rang\r
902+ XCHAR pBufNum[DISPLAY_MAX_CHAR+1];\r
903+ UCHAR i;\r
904+ BOOLEAN putSpace;\r
905 \r
906 if (Sys_iScrollType != SCROLL_SPEED_DIAL)\r
907 {\r
908@@ -320,7 +364,38 @@
909 p_strcpy_x2x(Key_pBuf, pBuf);\r
910 iIndex ++;\r
911 pBuf = ReadSpeedDial(iIndex);\r
912- DisplayLine(pBuf, 1); // display name here\r
913+\r
914+ // Patch AUF : affichage du rang a droite du nom\r
915+ p_memset_x((PXCHAR)pBufNum,0, DISPLAY_MAX_CHAR+1);\r
916+ p_memcpy_x2x((PXCHAR)pBufNum, pBuf, DISPLAY_MAX_CHAR);\r
917+ // on complete avec des espaces a partir du 0\r
918+ putSpace=FALSE;\r
919+ for (i=0 ; i<DISPLAY_MAX_CHAR; i++ )\r
920+ {\r
921+ if (putSpace)\r
922+ {\r
923+ pBufNum[i]=' ';\r
924+ }\r
925+ else\r
926+ {\r
927+ if (pBufNum[i] == 0)\r
928+ {\r
929+ pBufNum[i]=' ';\r
930+ putSpace=TRUE;\r
931+ }\r
932+ }\r
933+ }\r
934+ pBufNum[DISPLAY_MAX_CHAR]=0;\r
935+ iIndex = _iSpeedDialIndex+1;\r
936+ i = DISPLAY_MAX_CHAR-1;\r
937+ while ((iIndex != 0) && (i>0))\r
938+ {\r
939+ pBufNum[i]=(iIndex % 10) + '0';\r
940+ iIndex /= 10;\r
941+ i--;\r
942+ }\r
943+ pBufNum[i]='#';\r
944+ DisplayLine(pBufNum, 1); // display name here\r
945 return TRUE;\r
946 }\r
947 \r
948@@ -328,30 +403,40 @@
949 {\r
950 if (bSpeedDial)\r
951 {\r
952- _iSpeedDialIndex = 0;\r
953+ if (Sys_iScrollType != SCROLL_SPEED_DIAL)\r
954+ {\r
955+ _iSpeedDialIndex = 0;\r
956+ KeypadClear();\r
957+ }\r
958+ else\r
959+ {\r
960+ // Patch AUF : un appui supplementaire fait defiler\r
961+ _iSpeedDialIndex = OnScroll(_iSpeedDialIndex, SPEED_DIAL_NUM, TRUE);\r
962+ }\r
963 _iSpeedDialScrool = 1;\r
964- KeypadClear();\r
965 }\r
966 \r
967- if (!IsCallMode() && IsFunctionMode())\r
968- {\r
969-// DisplayString(g_cMemory, 0);\r
970+// Patch AUF : affichage meme pendant un appel\r
971+// if (!IsCallMode() && IsFunctionMode())\r
972+// {\r
973 if (!_GetSpeedDial())\r
974 {\r
975 KeypadClear();\r
976- DisplayString((PCCHAR)"PhoneBook Empty", 1);\r
977+ DisplayString(g_cBlank, 0);\r
978+ DisplayString((PCCHAR)"Fin annuaire", 1);\r
979 }\r
980 else\r
981 {\r
982 SdramSpeedDial((UCHAR)(_iSpeedDialIndex+1));\r
983 Sys_iScrollType = SCROLL_SPEED_DIAL;\r
984 }\r
985- }\r
986+// }\r
987 }\r
988 \r
989 void OnLoadSpeedDial()\r
990 {\r
991- DisplayString(g_cSpeedDial, 0);\r
992+ // Patch AUF : affichage inutile\r
993+ //DisplayString(g_cSpeedDial, 0);\r
994 if (IsFunctionMode())\r
995 {\r
996 if (_GetSpeedDial())\r
997@@ -365,13 +450,18 @@
998 {\r
999 if (IsCallMode())\r
1000 {\r
1001- DisplayString(g_cVolPlus, 0);\r
1002+ //DisplayString(g_cVolPlus, 0);\r
1003 Ac97OutputVolHigher();\r
1004 DisplayOutputVol();\r
1005 }\r
1006 else\r
1007 {\r
1008- if (Sys_iScrollType == SCROLL_SPEED_DIAL)\r
1009+ if (Sys_iScrollType == SCROLL_NULL)\r
1010+ {\r
1011+ Ac97RingVolHigher();\r
1012+ DisplayRingVol();\r
1013+ }\r
1014+ else if (Sys_iScrollType == SCROLL_SPEED_DIAL)\r
1015 {\r
1016 _iSpeedDialIndex = OnScroll(_iSpeedDialIndex, SPEED_DIAL_NUM, TRUE);\r
1017 _iSpeedDialScrool = 1;\r
1018@@ -391,13 +481,18 @@
1019 {\r
1020 if (IsCallMode())\r
1021 {\r
1022- DisplayString(g_cVolMinus, 0);\r
1023+ //DisplayString(g_cVolMinus, 0);\r
1024 Ac97OutputVolLower();\r
1025 DisplayOutputVol();\r
1026 }\r
1027 else\r
1028 {\r
1029- if (Sys_iScrollType == SCROLL_SPEED_DIAL)\r
1030+ if (Sys_iScrollType == SCROLL_NULL)\r
1031+ {\r
1032+ Ac97RingVolLower();\r
1033+ DisplayRingVol();\r
1034+ }\r
1035+ else if (Sys_iScrollType == SCROLL_SPEED_DIAL)\r
1036 {\r
1037 _iSpeedDialIndex = OnScroll(_iSpeedDialIndex, SPEED_DIAL_NUM, FALSE);\r
1038 _iSpeedDialScrool = 0;\r
1039@@ -645,8 +740,15 @@
1040 {\r
1041 DisplayString(g_cCallMuted, 0);\r
1042 }\r
1043- GetTimeDisplay(Call_lDuration, (PUCHAR)pBuf);\r
1044- Display(pBuf, 1, 0, FALSE);\r
1045+ // Patch AUF : en mode connecte,\r
1046+ // on n'affiche pas la duree toutes les secondes\r
1047+ // quand on est en train de "scroller" sur\r
1048+ // les listes (Missed, Answered, Dialed, Phone Book)\r
1049+ if (Sys_iScrollType == SCROLL_NULL)\r
1050+ {\r
1051+ GetTimeDisplay(Call_lDuration, (PUCHAR)pBuf);\r
1052+ Display(pBuf, 1, 0, FALSE);\r
1053+ }\r
1054 }\r
1055 }\r
1056 else\r
1057diff -urN PALMH323.orig/main/v_task.c PALMH323/main/v_task.c
1058--- PALMH323.orig/main/v_task.c 2007-11-22 17:17:14.000000000 +0000
1059+++ PALMH323/main/v_task.c 2008-03-04 16:01:01.000000000 +0000
1060@@ -186,6 +186,8 @@
1061 \r
1062 DisplayString(g_cTimeStart, 0);\r
1063 SntpStart();\r
1064+// Patch AUF : affichage d'information\r
1065+ InitDisplayInformation();\r
1066 \r
1067 Task_bLogoned = FALSE;\r
1068 }\r
1069@@ -1056,7 +1058,27 @@
1070 void TaskConnected()\r
1071 {\r
1072 Ac97Stop();\r
1073+// Patch AUF : affiche la ligne sur laquelle on est connecte\r
1074+#ifdef CALL_IAX2\r
1075+ if (Iax2ConnectedLine() == 0)\r
1076+ {\r
1077+ DisplayString(g_cConnected, 0);\r
1078+ }\r
1079+ else\r
1080+ {\r
1081+ if (Iax2ConnectedLine() == 1)\r
1082+ {\r
1083+ DisplayString((PCCHAR)"Connecte ligne 1",0);\r
1084+ }\r
1085+ else\r
1086+ {\r
1087+ DisplayString((PCCHAR)"Connecte ligne 2",0);\r
1088+ }\r
1089+ } \r
1090+#else\r
1091 DisplayString(g_cConnected, 0);\r
1092+#endif\r
1093+\r
1094 #ifndef VER_IPH_E00\r
1095 DisplayString(g_cTimeStart, 1);\r
1096 #else\r
1097@@ -1530,7 +1552,9 @@
1098 else\r
1099 {\r
1100 Task_bNewMessage = FALSE;\r
1101- DisplayString(g_cBlank, 1);\r
1102+ // Patch AUF : affichage d'information\r
1103+ // DisplayString(g_cBlank, 1);\r
1104+ DisplayInformation();\r
1105 }\r
1106 break;\r
1107 \r
1108@@ -1581,7 +1605,9 @@
1109 else\r
1110 {\r
1111 Task_bNewMessage = FALSE;\r
1112- DisplayString(g_cBlank, 1);\r
1113+ // Patch AUF : affichage d'information\r
1114+ // DisplayString(g_cBlank, 1);\r
1115+ DisplayInformation();\r
1116 }\r
1117 }\r
1118 }\r
1119@@ -1750,10 +1776,11 @@
1120 {\r
1121 if (IsFunctionMode())\r
1122 {\r
1123- if (Udp_iOutputDebug)\r
1124- {\r
1125+ // Patch AUF : on permet les upgrade même en debug=0... on sécurisera un peu plus tard, hein, JC ;)\r
1126+ // if (Udp_iOutputDebug)\r
1127+ // {\r
1128 if (UpgradeRun()) return TRUE;\r
1129- }\r
1130+ // }\r
1131 }\r
1132 \r
1133 if (TelnetRun()) return TRUE;\r
1134diff -urN PALMH323.orig/mk.bat PALMH323/mk.bat
1135--- PALMH323.orig/mk.bat 2007-03-20 10:28:50.000000000 +0000
1136+++ PALMH323/mk.bat 2008-03-04 16:01:01.000000000 +0000
1137@@ -5,12 +5,12 @@
1138 call make_hex.bat %1 %2 %3 %4 > make_hex.txt\r
1139 p_merge %1 %2 %3 %4\r
1140 p_check make_hex.txt p_check.txt\r
1141-p_check.txt\r
1142+type p_check.txt\r
1143 GOTO End\r
1144 \r
1145 :Make_libs\r
1146 call makelibs.bat %2 > make_lib.txt\r
1147 p_check make_lib.txt p_check.txt\r
1148-p_check.txt\r
1149+type p_check.txt\r
1150 \r
1151 :End\r
1152diff -urN PALMH323.orig/PAGE12/main.c PALMH323/PAGE12/main.c
1153--- PALMH323.orig/PAGE12/main.c 2007-03-20 10:33:04.000000000 +0000
1154+++ PALMH323/PAGE12/main.c 2008-03-04 16:01:01.000000000 +0000
1155@@ -51,6 +51,11 @@
1156 TaskWaitPacket();\r
1157 TcbConnected(0);\r
1158 UdpSetTos(0, 0);\r
1159+ // Patch AUF : appel fonctions inutilisees (0 warning)\r
1160+ SetDisplayInformation((PXCHAR) 0);\r
1161+ DisplayInformation();\r
1162+ Cam_LedOff(0);\r
1163+ Cam_LedOn(0);\r
1164 }\r
1165 \r
1166 void LeavePage12()\r
1167diff -urN PALMH323.orig/p_apps/ac97apps.c PALMH323/p_apps/ac97apps.c
1168--- PALMH323.orig/p_apps/ac97apps.c 2007-03-20 10:32:22.000000000 +0000
1169+++ PALMH323/p_apps/ac97apps.c 2008-03-04 16:01:01.000000000 +0000
1170@@ -102,7 +102,7 @@
1171 #ifdef _USE_FXS\r
1172 Ac97WriteReg(AC97_MASTER_VOL_STEREO, AC97_RIGHTVOL_HI, AC97_SPK_VOL_MAX - Ac97_iHandsetOutputVol);\r
1173 #else // _USE_FXS\r
1174- if (PIO_bHandsetUp)\r
1175+ if (PIO_bHandsetUp && !PIO_bHandFree)\r
1176 {\r
1177 #ifdef WOLFSON_MIXER\r
1178 Ac97WriteReg(AC97_MIXER_VOL, AC97_MIXER_HI, Ac97_iHandsetOutputVol); // Left channel: MIN., Right channel: Mixer gain + output attenuation = -34.5dB\r
1179@@ -122,6 +122,18 @@
1180 #endif\r
1181 }\r
1182 \r
1183+void Ac97SetRingVol()\r
1184+{\r
1185+#ifdef _USE_FXS\r
1186+ Ac97WriteReg(AC97_MASTER_VOL_STEREO, AC97_RIGHTVOL_HI, AC97_SPK_VOL_MAX - Ac97_iRingVol);\r
1187+#else\r
1188+#ifdef WOLFSON_MIXER\r
1189+ Ac97WriteReg(AC97_MIXER_VOL, AC97_MUTE_HI, AC97_MUTE_LO);\r
1190+#endif\r
1191+ Ac97WriteReg(AC97_HEADPHONE_VOL, AC97_RIGHTVOL_HI, AC97_SPK_VOL_MAX - Ac97_iRingVol);\r
1192+#endif\r
1193+}\r
1194+\r
1195 void Ac97SetInputVol()\r
1196 {\r
1197 if (Ac97_bMuteInput)\r
1198@@ -129,7 +141,7 @@
1199 Ac97WriteReg(AC97_RECORD_GAIN, AC97_MUTE_HI, AC97_MUTE_LO); // mute record gain\r
1200 return;\r
1201 }\r
1202- if (PIO_bHandsetUp)\r
1203+ if (PIO_bHandsetUp && !PIO_bHandFree)\r
1204 {\r
1205 Ac97WriteReg(AC97_RECORD_GAIN, Ac97_iHandsetInputVol, Ac97_iHandsetInputVol); // set record gain \r
1206 }\r
1207@@ -141,7 +153,7 @@
1208 \r
1209 void Ac97OutputVolHigher()\r
1210 {\r
1211- if (PIO_bHandsetUp)\r
1212+ if (PIO_bHandsetUp && !PIO_bHandFree)\r
1213 {\r
1214 if (Ac97_iHandsetOutputVol < AC97_SPK_VOL_MAX)\r
1215 {\r
1216@@ -160,7 +172,7 @@
1217 \r
1218 void Ac97OutputVolLower()\r
1219 {\r
1220- if (PIO_bHandsetUp)\r
1221+ if (PIO_bHandsetUp && !PIO_bHandFree)\r
1222 {\r
1223 if (Ac97_iHandsetOutputVol)\r
1224 {\r
1225@@ -177,9 +189,27 @@
1226 Ac97SetOutputVol();\r
1227 }\r
1228 \r
1229+void Ac97RingVolHigher()\r
1230+{\r
1231+ if (Ac97_iRingVol < AC97_SPK_VOL_MAX)\r
1232+ {\r
1233+ Ac97_iRingVol ++;\r
1234+ }\r
1235+ Ac97SetRingVol();\r
1236+}\r
1237+\r
1238+void Ac97RingVolLower()\r
1239+{\r
1240+ if (Ac97_iRingVol)\r
1241+ {\r
1242+ Ac97_iRingVol --;\r
1243+ }\r
1244+ Ac97SetRingVol();\r
1245+}\r
1246+\r
1247 void Ac97OnHandsetChange()\r
1248 {\r
1249- if (PIO_bHandsetUp)\r
1250+ if (PIO_bHandsetUp && !PIO_bHandFree)\r
1251 {\r
1252 Ac97WriteReg(AC97_HEADPHONE_VOL, AC97_MUTE_HI, AC97_MUTE_LO); // \r
1253 \r
1254diff -urN PALMH323.orig/p_apps/display.c PALMH323/p_apps/display.c
1255--- PALMH323.orig/p_apps/display.c 2007-03-20 10:32:24.000000000 +0000
1256+++ PALMH323/p_apps/display.c 2008-03-04 16:01:01.000000000 +0000
1257@@ -251,9 +251,18 @@
1258 \r
1259 void DisplayOutputVol()\r
1260 {\r
1261- DCHAR iVal;\r
1262+ if (PIO_bHandsetUp && !PIO_bHandFree)\r
1263+ {\r
1264+ DisplayStatus((PCCHAR)"Volume ", Ac97_iHandsetOutputVol, (UCHAR)((Ac97_iHandsetOutputVol+1)>>1));\r
1265+ }\r
1266+ else\r
1267+ {\r
1268+ DisplayStatus((PCCHAR)"Mains libres ", Ac97_iHandfreeOutputVol, (UCHAR)((Ac97_iHandfreeOutputVol+1)>>1));\r
1269+ }\r
1270+}\r
1271 \r
1272- iVal = PIO_bHandsetUp ? Ac97_iHandsetOutputVol : Ac97_iHandfreeOutputVol;\r
1273- DisplayStatus((PCCHAR)"Vol", iVal, (UCHAR)((iVal+1)>>1));\r
1274+void DisplayRingVol()\r
1275+{\r
1276+ DisplayStatus((PCCHAR)"Sonnerie ", Ac97_iRingVol, (UCHAR)((Ac97_iRingVol+1)>>1));\r
1277 }\r
1278 \r
1279diff -urN PALMH323.orig/p_apps/lcd.c PALMH323/p_apps/lcd.c
1280--- PALMH323.orig/p_apps/lcd.c 2007-11-09 22:44:36.000000000 +0000
1281+++ PALMH323/p_apps/lcd.c 2008-03-04 16:01:01.000000000 +0000
1282@@ -186,3 +186,47 @@
1283 }\r
1284 \r
1285 \r
1286+// Patch AUF : affichage d'information\r
1287+XCHAR Buf_DisplayInformation[DISPLAY_MAX_CHAR+1];\r
1288+#define ONLYSPACES (PCCHAR)" "\r
1289+\r
1290+void InitDisplayInformation()\r
1291+{\r
1292+ p_memset_x((PXCHAR)Buf_DisplayInformation, ' ', DISPLAY_MAX_CHAR+1);\r
1293+}\r
1294+\r
1295+void SetDisplayInformation(PXCHAR Buf)\r
1296+{\r
1297+ InitDisplayInformation(); // remise a zero\r
1298+ p_memcpy_x2x((PXCHAR)Buf_DisplayInformation, Buf, DISPLAY_MAX_CHAR);\r
1299+}\r
1300+\r
1301+void DisplayInformation()\r
1302+{\r
1303+ // on affiche seulement si y'a autre chose que plein d'espaces...\r
1304+ if (p_memcmp_c2x((PXCHAR)Buf_DisplayInformation,ONLYSPACES,DISPLAY_MAX_CHAR))\r
1305+ {\r
1306+ DisplayLine((PXCHAR)Buf_DisplayInformation,1);\r
1307+ // et si c'est pas une chaine vide, on allume le LCD\r
1308+ if (Buf_DisplayInformation[0])\r
1309+ {\r
1310+#ifdef BACKLIGHT_CTRL\r
1311+#ifdef INVERT_BACKLIGHT\r
1312+ Cam_LedOn(0);\r
1313+#else\r
1314+ Cam_LedOff(0);\r
1315+#endif\r
1316+#endif\r
1317+ }\r
1318+ else // chaine vide = on eteind la lumière\r
1319+ {\r
1320+#ifdef BACKLIGHT_CTRL\r
1321+#ifdef INVERT_BACKLIGHT\r
1322+ Cam_LedOff(0);\r
1323+#else\r
1324+ Cam_LedOn(0);\r
1325+#endif\r
1326+#endif\r
1327+ }\r
1328+ }\r
1329+}\r
1330diff -urN PALMH323.orig/p_apps/lcd_fr.c PALMH323/p_apps/lcd_fr.c
1331--- PALMH323.orig/p_apps/lcd_fr.c 2007-03-20 10:32:30.000000000 +0000
1332+++ PALMH323/p_apps/lcd_fr.c 2008-03-04 16:01:01.000000000 +0000
1333@@ -1,82 +1,82 @@
1334-CCHAR g_cWeekDay[DAYS_PER_WEEK][4] = {"DIM", "LUN", "MAR", "MER", "JEU", "VEN", "SAM"};\r
1335-CCHAR g_cMonth[MONTHS_PER_YEAR][4] = {"JAN", "FEV", "MAR", "AVR", "MAI", "JUI", "JUL", "AOU", "SEP", "OCT", "NOV", "DEC"};\r
1336+CCHAR g_cWeekDay[DAYS_PER_WEEK][4] = {"Dim", "Lun", "Mar", "Mer", "Jeu", "Ven", "Sam"};\r
1337+CCHAR g_cMonth[MONTHS_PER_YEAR][4] = {"jan", "fev", "mar", "avr", "mai", "jui", "jul", "aou", "sep", "oct", "nov", "dec"};\r
1338 \r
1339 CCHAR g_cPasswordPrompt[] = "Mot de passe:";\r
1340 CCHAR g_cSettings[] = "Configuration";\r
1341 \r
1342 CCHAR g_cEnableLabel[] = "1[Activer]";\r
1343-CCHAR g_cDisableLabel[] = "0[Deactiver]";\r
1344+CCHAR g_cDisableLabel[] = "0[Desactiver]";\r
1345 CCHAR g_cInvalidLabel[] = "Invalide";\r
1346-CCHAR g_cSuperLable[] = "Passwd Administ..";\r
1347+CCHAR g_cSuperLable[] = "MdP Admin.";\r
1348 \r
1349-CCHAR g_cBooting[] = "Booting ...";\r
1350-CCHAR g_cReady[] = "Pret";\r
1351-CCHAR g_cLocalIP[] = "IP Locale";\r
1352-CCHAR g_cSubnetMask[] = "Masque S/ Reseau";\r
1353-CCHAR g_cRouterIP[] = "Adresse Routeur";\r
1354-CCHAR g_cServiceIP[] = "Adresse serveur";\r
1355-CCHAR g_cPhoneNumber[] = "Numero du Poste";\r
1356-CCHAR g_cMissedCalls[] = "Appels Manques:";\r
1357-CCHAR g_cAnsweredCalls[] = "Appels Recus:";\r
1358-CCHAR g_cDialedCalls[] = "Appels Emis:";\r
1359+CCHAR g_cBooting[] = "Initialisation";\r
1360+CCHAR g_cReady[] = "Telephone pret !";\r
1361+CCHAR g_cLocalIP[] = "IP locale";\r
1362+CCHAR g_cSubnetMask[] = "Masque reseau";\r
1363+CCHAR g_cRouterIP[] = "IP routeur";\r
1364+CCHAR g_cServiceIP[] = "IP serveur";\r
1365+CCHAR g_cPhoneNumber[] = "Numero du poste";\r
1366+CCHAR g_cMissedCalls[] = "Appels manques:";\r
1367+CCHAR g_cAnsweredCalls[] = "Appels recus:";\r
1368+CCHAR g_cDialedCalls[] = "Appels emis:";\r
1369 CCHAR g_cEmpty[] = "Vide";\r
1370 CCHAR g_cMemory[] = "Memoire";\r
1371-CCHAR g_cSpeedDial[] = "selection Rapide:";\r
1372+CCHAR g_cSpeedDial[] = "Selection rapide:";\r
1373 CCHAR g_cVolPlus[] = "Vol+";\r
1374 CCHAR g_cVolMinus[] = "Vol-";\r
1375 CCHAR g_cRedial[] = "Bis";\r
1376 CCHAR g_cCall[] = "Appel";\r
1377-CCHAR g_cCalling[] = "Appel En cours...";\r
1378-CCHAR g_cRinging[] = "Sonnerie ...";\r
1379-CCHAR g_cAnswering[] = "Reponse ...";\r
1380+CCHAR g_cCalling[] = "Appel en cours";\r
1381+CCHAR g_cRinging[] = "Sonnerie";\r
1382+CCHAR g_cAnswering[] = "Reponse";\r
1383 CCHAR g_cConnected[] = "Connecte";\r
1384 CCHAR g_cBlank[] = " ";\r
1385-CCHAR g_cFailed[] = "Echoue";\r
1386-CCHAR g_cHandsetUp[] = "Vol+ Combine";\r
1387-CCHAR g_cHandsetDown[] = "Vol- Combine";\r
1388+CCHAR g_cFailed[] = "Echec";\r
1389+CCHAR g_cHandsetUp[] = "Vol+ combine";\r
1390+CCHAR g_cHandsetDown[] = "Vol- combine";\r
1391 CCHAR g_cNetwork[] = "Reseau";\r
1392 CCHAR g_cDHCP[] = "DHCP";\r
1393 CCHAR g_cPPPoE[] = "PPPoE";\r
1394-CCHAR g_cLogon[] = "Ouverture Session";\r
1395-CCHAR g_cLogoff[] = "Log Off";\r
1396-CCHAR g_cUpdating[] = "Mise a jour ...";\r
1397-CCHAR g_cPleaseWait[] = "Patientez Svp";\r
1398-CCHAR g_cTestMode[] = "Mode Test ...";\r
1399+CCHAR g_cLogon[] = "Connexion au srv";\r
1400+CCHAR g_cLogoff[] = "Deconnexion";\r
1401+CCHAR g_cUpdating[] = "Mise a jour";\r
1402+CCHAR g_cPleaseWait[] = "Patientez SVP";\r
1403+CCHAR g_cTestMode[] = "MODE TEST";\r
1404 CCHAR g_cStart[] = "Debut";\r
1405 CCHAR g_cStop[] = "Arret";\r
1406 CCHAR g_cRestart[] = "Redemarrage";\r
1407 CCHAR g_cPercentStart[] = " 0%";\r
1408 CCHAR g_cTimeStart[] = "00:00:00";\r
1409-CCHAR g_cConnecting[] = "Connexion en cours";\r
1410-CCHAR g_cDisconnecting[] = "Disconnecting...";\r
1411+CCHAR g_cConnecting[] = "Connexion ...";\r
1412+CCHAR g_cDisconnecting[] = "Deconnexion";\r
1413 CCHAR g_cModem[] = "Modem";\r
1414-CCHAR g_cPeerHangup[] = "Dest: Raccrocher";\r
1415+CCHAR g_cPeerHangup[] = "Dest. a raccroche";\r
1416 CCHAR g_cPeerBusy[] = "Occupe";\r
1417-CCHAR g_cCallHold[] = "Appel En Attente";\r
1418-CCHAR g_cPleaseDial[] = "Numerotez Svp ...";\r
1419-CCHAR g_cNoAnswer[] = "Pas de Reponse";\r
1420-CCHAR g_cPeerReject[] = "Dest: Rejet appel";\r
1421-CCHAR g_cLocalHangup[] = "Dernier Appel:";\r
1422-CCHAR g_cWaitLogon[] = "Attente D'Acces...";\r
1423-CCHAR g_cNetworkError[] = "Erreur Reseau";\r
1424+CCHAR g_cCallHold[] = "Nouvel appel";\r
1425+CCHAR g_cPleaseDial[] = "Numerotez ...";\r
1426+CCHAR g_cNoAnswer[] = "Pas de reponse";\r
1427+CCHAR g_cPeerReject[] = "Dst refuse l'appel";\r
1428+CCHAR g_cLocalHangup[] = "Dernier appel:";\r
1429+CCHAR g_cWaitLogon[] = "Attente d'acces...";\r
1430+CCHAR g_cNetworkError[] = "Erreur reseau";\r
1431 CCHAR g_cServiceClearCall[] = "Lib Appel Systeme";\r
1432-CCHAR g_cPleaseHangup[] = "Raccrochez Svp";\r
1433-CCHAR g_cCallForward[] = "Renvoie Appel";\r
1434-CCHAR g_cInvalidNumber[] = "Numero Invalide";\r
1435-CCHAR g_cUnknownNumber[] = "Numero Inconnu";\r
1436-CCHAR g_cDuplicateNumber[] = "Numero Duplique";\r
1437-CCHAR g_cCallRestricted[] = "Appel Restreint";\r
1438-CCHAR g_cCallTerminated[] = "Call Terminated";\r
1439-CCHAR g_cRecharge[] = "Recharger Svp";\r
1440-CCHAR g_cAccountExpired[] = "Compte Expire";\r
1441-CCHAR g_cInvalidPassword[] = "Passwd Invalide";\r
1442-CCHAR g_cBlockedNumber[] = "Numero Bloque";\r
1443-CCHAR g_cDuplicatedIP[] = "Adrs IP Duplique!";\r
1444-CCHAR g_cCallWaiting[] = "Call Waiting";\r
1445-CCHAR g_cNewMessage[] = "Message arrive";\r
1446+CCHAR g_cPleaseHangup[] = "Raccrochez";\r
1447+CCHAR g_cCallForward[] = "Renvoi";\r
1448+CCHAR g_cInvalidNumber[] = "Numero invalide";\r
1449+CCHAR g_cUnknownNumber[] = "Numero inconnu";\r
1450+CCHAR g_cDuplicateNumber[] = "Numero duplique";\r
1451+CCHAR g_cCallRestricted[] = "Appel restreint";\r
1452+CCHAR g_cCallTerminated[] = "Fin d'appel";\r
1453+CCHAR g_cRecharge[] = "Rechargez SVP";\r
1454+CCHAR g_cAccountExpired[] = "Compte expire";\r
1455+CCHAR g_cInvalidPassword[] = "MdP invalide";\r
1456+CCHAR g_cBlockedNumber[] = "Numero bloque";\r
1457+CCHAR g_cDuplicatedIP[] = "Adr. IP dupliquee!";\r
1458+CCHAR g_cCallWaiting[] = "Appel en attente";\r
1459+CCHAR g_cNewMessage[] = "Messagerie";\r
1460 CCHAR g_cCallTransfer[] = "Transfert";\r
1461-CCHAR g_cProvisioning[] = "Provisioning";\r
1462-CCHAR g_cCallMuted[] = "Call Muted";\r
1463+CCHAR g_cProvisioning[] = "Autoconfig";\r
1464+CCHAR g_cCallMuted[] = "Silencieux";\r
1465 \r
1466 #ifdef CALL_H323\r
1467 CCHAR g_cProtocol[] = "H323";\r
1468diff -urN PALMH323.orig/p_apps/options.c PALMH323/p_apps/options.c
1469--- PALMH323.orig/p_apps/options.c 2007-03-20 10:32:32.000000000 +0000
1470+++ PALMH323/p_apps/options.c 2008-03-04 16:01:01.000000000 +0000
1471@@ -14,6 +14,7 @@
1472 #endif\r
1473 \r
1474 XCHAR Ac97_iHandsetOutputVol, Ac97_iHandsetInputVol, Ac97_iHandfreeInputVol, Ac97_iHandfreeOutputVol;\r
1475+XCHAR Ac97_iRingVol;\r
1476 volatile DCHAR Task_iRingType;\r
1477 XCHAR Task_iRingNumber;\r
1478 BOOLEAN Task_bSupervisor = FALSE;\r
1479@@ -204,6 +205,7 @@
1480 Ac97_iHandfreeInputVol = X_VAL(Sdram_pDataCache, OPTIONS_HANDFREE_INPUT);\r
1481 Ac97_iHandfreeOutputVol = X_VAL(Sdram_pDataCache, OPTIONS_HANDFREE_OUTPUT);\r
1482 #endif\r
1483+ Ac97_iRingVol = Ac97_iHandfreeInputVol;\r
1484 \r
1485 #ifdef _USE_FAKE_FXO\r
1486 Sys_iDualMode = X_VAL(Sdram_pDataCache, OPTIONS_DUAL_MODE);\r
1487diff -urN PALMH323.orig/p_apps/report.c PALMH323/p_apps/report.c
1488--- PALMH323.orig/p_apps/report.c 2007-03-20 10:32:32.000000000 +0000
1489+++ PALMH323/p_apps/report.c 2008-03-04 16:01:01.000000000 +0000
1490@@ -15,7 +15,34 @@
1491 void ReportRun()\r
1492 {\r
1493 // sprintf(p, "Hello, world!");\r
1494- if (p_memcmp_c2x((PXCHAR)Adapter_pReceiveUdpData, (PCCHAR)"Hello, world!", 13)) return;\r
1495+ // Patch AUF : si on recoit autre chose que "Hello, world!", on\r
1496+ // le stocke dans une chaine (information a afficher plus tard)\r
1497+ if (p_memcmp_c2x((PXCHAR)Adapter_pReceiveUdpData, (PCCHAR)"Hello, world!", 13)) \r
1498+ {\r
1499+ if (((PXCHAR)Adapter_pReceiveUdpData)[0] != '?')\r
1500+ {\r
1501+ SetDisplayInformation((PXCHAR)Adapter_pReceiveUdpData);\r
1502+ DisplayInformation();\r
1503+ }\r
1504+ else\r
1505+ {\r
1506+ // demande de Jerome : si la chaine commence\r
1507+ // par un "?" c'est qu'on veut savoir si la chaine\r
1508+ // d'info actuelle egale ce qui suit le "?"\r
1509+ UdpOpen(Adapter_pReceiveIPAddress, REPORT_SRC_PORT, REPORT_SRC_PORT, UDP_INFO_SDRAM_LO);\r
1510+ p_memcpy_x2x((PXCHAR)Adapter_pSendUdpData, (PXCHAR)Adapter_pReceiveUdpData, REPORT_TOTAL_LEN);\r
1511+ if (p_strcmp_x2x(Buf_DisplayInformation,(PXCHAR)(Adapter_pReceiveUdpData+1)))\r
1512+ {\r
1513+ ((PXCHAR)Adapter_pSendUdpData)[0]='!';\r
1514+ }\r
1515+ else\r
1516+ {\r
1517+ ((PXCHAR)Adapter_pSendUdpData)[0]='=';\r
1518+ }\r
1519+ UdpSend(REPORT_TOTAL_LEN, UDP_INFO_SDRAM_LO);\r
1520+ }\r
1521+ return;\r
1522+ }\r
1523 \r
1524 UdpOpen(Adapter_pReceiveIPAddress, REPORT_SRC_PORT, REPORT_SRC_PORT, UDP_INFO_SDRAM_LO);\r
1525 \r
1526diff -urN PALMH323.orig/p_apps/sntp.c PALMH323/p_apps/sntp.c
1527--- PALMH323.orig/p_apps/sntp.c 2007-12-12 15:11:22.000000000 +0000
1528+++ PALMH323/p_apps/sntp.c 2008-03-04 16:01:01.000000000 +0000
1529@@ -127,6 +127,13 @@
1530 GetDateTimeDisplay(pBuf, TRUE, Sys_lCurrentTime);\r
1531 DisplayLine(pBuf, 0);\r
1532 }\r
1533+ // Patch AUF :\r
1534+ // force une remise de l'heure a jour toutes les 10 minutes\r
1535+ if (!(Sys_lCurrentTime % 600))\r
1536+ {\r
1537+ SntpStart();\r
1538+ return; // pour eviter le sntpstart suivant, au cas ou\r
1539+ }\r
1540 _iTimer ++;\r
1541 if (!_iTimer)\r
1542 {\r
1543diff -urN PALMH323.orig/p_apps/version.c PALMH323/p_apps/version.c
1544--- PALMH323.orig/p_apps/version.c 2007-03-20 10:32:36.000000000 +0000
1545+++ PALMH323/p_apps/version.c 2008-03-04 16:01:01.000000000 +0000
1546@@ -135,8 +135,35 @@
1547 \r
1548 PXCHAR GetHardwareVersion()\r
1549 {\r
1550+ // Patch AUF : affichage version "Ver BIN/CFG"\r
1551+ XCHAR pBuf[17];\r
1552+ DSHORT iCurVersion;\r
1553+ DCHAR i;\r
1554+ \r
1555 SdramReadFlags();\r
1556- return (PXCHAR)(Sdram_pDataCache+FLAGS_PRODUCT_TAG);\r
1557+ // return (PXCHAR)(Sdram_pDataCache+FLAGS_PRODUCT_TAG);\r
1558+ // Patch AUF : retourne un num de version avec BIN+CFG\r
1559+\r
1560+ pBuf[0]='V';\r
1561+ pBuf[1]='e';\r
1562+ pBuf[2]='r';\r
1563+ pBuf[3]=' ';\r
1564+ pBuf[4]=SOFT_VER_HIGH+'0';\r
1565+ pBuf[5]=SOFT_VER_LOW+'0';\r
1566+ pBuf[6]=SOFT_VER_BUILD+'0';\r
1567+ pBuf[7]='-';\r
1568+ pBuf[8]=ENG_BUILD_HIGH+'0';\r
1569+ pBuf[9]=ENG_BUILD_MID+'0';\r
1570+ pBuf[10]='/';\r
1571+ SdramReadOptions();\r
1572+ iCurVersion=PXCHAR2USHORT((PXCHAR)(Sdram_pDataCache + OPTIONS_SETTINGS_VER));\r
1573+ for (i=0;i<5;i++) \r
1574+ {\r
1575+ pBuf[15-i]=(iCurVersion%10)+'0';\r
1576+ iCurVersion=iCurVersion/10;\r
1577+ }\r
1578+ pBuf[16]=0;\r
1579+ return pBuf;\r
1580 }\r
1581 \r
1582 BOOLEAN IsUpgrading()\r
1583diff -urN PALMH323.orig/P_IAX2/iax2.c PALMH323/P_IAX2/iax2.c
1584--- PALMH323.orig/P_IAX2/iax2.c 2007-05-27 01:02:48.000000000 +0000
1585+++ PALMH323/P_IAX2/iax2.c 2008-03-05 12:46:10.000000000 +0000
1586@@ -1065,6 +1065,22 @@
1587 }\r
1588 */\r
1589 \r
1590+// Patch AUF : accept + busy\r
1591+void iax2_accept_busy(UCHAR iSession)\r
1592+{\r
1593+ DCHAR iAudioType;\r
1594+\r
1595+ iAudioType = iax2_check_format();\r
1596+ // accept\r
1597+ iax2_ie_start();\r
1598+ iax2_ie_add_long(IAX_IE_FORMAT, iax2_get_format(iAudioType));\r
1599+ iax2_session_send_packet(iSession, AST_FRAME_IAX, IAX_COMMAND_ACCEPT, iax2_ie_get_len());\r
1600+ // mais busy !\r
1601+ iax2_ctrl_busy(iSession);\r
1602+ // fin de session (final ack)\r
1603+ iax2_session_set_state(iSession, SESSION_STATE_FINALACK);\r
1604+}\r
1605+\r
1606 void iax2_handle_new(USHORT iSrcCallNo)\r
1607 {\r
1608 DCHAR iSession, iNewCall, iISeqNo, iAudioType;\r
1609@@ -1115,6 +1131,11 @@
1610 iax2_accept_call(iNewCall, iSession);\r
1611 return;\r
1612 }\r
1613+ else // Patch AUF : pas de call wait => busy\r
1614+ {\r
1615+ iax2_accept_busy(iSession);\r
1616+ return;\r
1617+ }\r
1618 }\r
1619 else\r
1620 {\r
1621@@ -1125,12 +1146,17 @@
1622 iax2_accept_call(iNewCall, iSession);\r
1623 return;\r
1624 }\r
1625+ else // Patch AUF : toujours busy\r
1626+ { \r
1627+ iax2_accept_busy(iSession);\r
1628+ return;\r
1629+ }\r
1630 }\r
1631 }\r
1632 if (!(Sys_iForwardType & FORWARD_BUSY_OR))\r
1633 {\r
1634- iax2_reject(iSession, _cCauseBusy);\r
1635-// iax2_accept_busy(iSession); // Thomas NOEL <thomas.noel@auf.org>\r
1636+ // iax2_reject(iSession, _cCauseBusy);\r
1637+ iax2_accept_busy(iSession); // Thomas NOEL <thomas.noel@auf.org>\r
1638 return;\r
1639 }\r
1640 \r
1641@@ -1634,4 +1660,17 @@
1642 }\r
1643 }\r
1644 \r
1645+// Patch AUF : pour l'affichage de la ligne en cours\r
1646+// renvoie "0" si on est en ligne 1 sans ligne 2 active\r
1647+// renvoie 1 ou 2 sinon, en fonction de la ligne actuelle\r
1648+UCHAR Iax2ConnectedLine()\r
1649+{\r
1650+ // Si on est sur la 2nde ligne : retourne "2"\r
1651+ if ( Iax2_iCurCall == 1) return 2;\r
1652+ // Sinon, s'il n'y a rien sur la seconde ligne : retourne "0"\r
1653+ if (Iax2_iCallState[1] != IAX_CALL_STATE_CONNECTED)\r
1654+ return 0;\r
1655+ // Sinon, on est en double appel et sur la ligne 1 : retourne "1"\r
1656+ return 1;\r
1657+}\r
1658 \r
1659diff -urN PALMH323.orig/settings/keypad.c PALMH323/settings/keypad.c
1660--- PALMH323.orig/settings/keypad.c 2007-11-09 23:17:00.000000000 +0000
1661+++ PALMH323/settings/keypad.c 2008-03-04 16:01:01.000000000 +0000
1662@@ -81,6 +81,9 @@
1663 CheckDualModePrefix();\r
1664 CheckDualModeStatus();\r
1665 #endif\r
1666+ // Patch AUF : fonctions inutilisees (=> 0 warning)\r
1667+ SetDisplayInformation((PXCHAR) 0);\r
1668+ DisplayInformation();\r
1669 }\r
1670 \r
1671 UCHAR KeypadInitialize()\r