version 1.59 (patch AUF 19, pas de nouvelles fonctionalites)
[ipphone-firmware.git] / patch-auf-159-19.patch
1 diff -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
17 diff -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
42 diff -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
54 diff -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
323 diff -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
336 diff -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
378 diff -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
391 diff -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
461 diff -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
481 diff -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
616 diff -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
703 diff -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
1057 diff -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
1134 diff -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
1152 diff -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
1167 diff -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
1254 diff -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
1279 diff -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
1330 diff -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
1468 diff -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
1487 diff -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
1526 diff -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
1543 diff -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
1583 diff -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
1659 diff -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