Added LQAlgo to windows GUI
authorSven-Ola Tuecke <sven-ola@gmx.de>
Fri, 29 Aug 2008 06:52:32 +0000 (08:52 +0200)
committerSven-Ola Tuecke <sven-ola@gmx.de>
Fri, 29 Aug 2008 06:52:32 +0000 (08:52 +0200)
gui/win32/Main/Frontend.dsp
gui/win32/Main/Frontend.rc
gui/win32/Main/LQ-Default.olsr
gui/win32/Main/MyDialog2.cpp
gui/win32/Main/MyDialog2.h
gui/win32/Main/RFC-Default.olsr
gui/win32/Main/resource.h
src/cfgparser/cfgfile_gen.c

index d977bbe..73a73e9 100644 (file)
@@ -247,5 +247,9 @@ SOURCE=.\res\Tray1.ico
 SOURCE=.\res\Tray2.ico\r
 # End Source File\r
 # End Group\r
+# Begin Source File\r
+\r
+SOURCE=.\trustInfo.manifest\r
+# End Source File\r
 # End Target\r
 # End Project\r
index cc7f716..1d0153e 100644 (file)
@@ -110,7 +110,7 @@ BEGIN
     EDITTEXT        IDC_EDIT10,305,39,26,12,ES_RIGHT\r
     EDITTEXT        IDC_EDIT5,189,55,26,12,ES_RIGHT\r
     EDITTEXT        IDC_EDIT6,305,55,26,12,ES_RIGHT\r
-    COMBOBOX        IDC_COMBO1,189,76,26,41,CBS_DROPDOWNLIST | CBS_SORT | \r
+    COMBOBOX        IDC_COMBO1,189,77,26,41,CBS_DROPDOWNLIST | CBS_SORT | \r
                     WS_VSCROLL | WS_TABSTOP\r
     EDITTEXT        IDC_EDIT15,305,77,26,12,ES_RIGHT | ES_NUMBER\r
     CONTROL         "Enable hysteresis",IDC_CHECK1,"Button",BS_AUTOCHECKBOX | \r
@@ -125,8 +125,6 @@ BEGIN
     CONTROL         "for MPR selection and routing",IDC_RADIO2,"Button",\r
                     BS_AUTORADIOBUTTON | WS_GROUP | WS_TABSTOP,132,187,109,\r
                     10\r
-    EDITTEXT        IDC_EDIT14,305,169,26,12,ES_RIGHT | ES_NUMBER | \r
-                    WS_DISABLED\r
     PUSHBUTTON      "Open",IDC_BUTTON4,210,219,50,14\r
     PUSHBUTTON      "Save",IDC_BUTTON5,265,219,50,14\r
     PUSHBUTTON      "Reset",IDC_BUTTON1,320,219,50,14\r
@@ -156,9 +154,11 @@ BEGIN
     RTEXT           "Low mark:",IDC_STATIC,132,117,34,8\r
     RTEXT           "Scaling:",IDC_STATIC,132,133,26,8\r
     RTEXT           "High mark:",IDC_STATIC,247,117,35,8\r
-    RTEXT           "Window size:",IDC_STATIC,247,171,43,8\r
+    RTEXT           "LQ Algorithm",IDC_STATIC,247,171,41,8\r
     CONTROL         "Enable Fish Eye",IDC_CHECK5,"Button",BS_AUTOCHECKBOX | \r
                     WS_TABSTOP,249,187,92,10\r
+    COMBOBOX        IDC_COMBO3,297,169,36,41,CBS_DROPDOWNLIST | CBS_SORT | \r
+                    WS_VSCROLL | WS_TABSTOP\r
 END\r
 \r
 IDD_DIALOG3 DIALOG DISCARDABLE  0, 0, 377, 240\r
@@ -284,6 +284,12 @@ BEGIN
 0x0031, \r
     IDC_COMBO1, 0x403, 2, 0\r
 0x0032, \r
+    IDC_COMBO3, 0x403, 8, 0\r
+0x7465, 0x5f78, 0x7066, 0x006d, \r
+    IDC_COMBO3, 0x403, 10, 0\r
+0x7465, 0x5f78, 0x6c66, 0x616f, 0x0074, \r
+    IDC_COMBO3, 0x403, 7, 0\r
+0x7465, 0x5f78, 0x6666, "\000" \r
     0\r
 END\r
 \r
index 3feab56..1f72515 100644 (file)
@@ -110,9 +110,12 @@ LinkQualityLevel   2
 \r
 LinkQualityFishEye     1\r
 \r
-# Link quality window size\r
+# Link quality algorithm (if LinkQualityLevel > 0)\r
+# etx_fpm (hello loss, fixed point math)\r
+# etx_float (hello loss, floating point)\r
+# etx_ff (packet loss for freifunk compat)\r
 \r
-LinkQualityWinSize     100\r
+LinkQualityAlgorithm    "etx_ff"\r
 \r
 # Clear screen when printing debug output?\r
 \r
index 8989fa9..2759cf4 100644 (file)
@@ -56,7 +56,7 @@ MyDialog2::MyDialog2(CWnd* pParent)
        Conf = NULL;
 
        //{{AFX_DATA_INIT(MyDialog2)
-       //}}AFX_DATA_INIT
+       //}}AFX_DATA_INIT\r
 }
 
 void MyDialog2::SetDebugLevel(int Level)
@@ -80,32 +80,32 @@ void MyDialog2::DoDataExchange(CDataExchange* pDX)
 {
        CDialog::DoDataExchange(pDX);
        //{{AFX_DATA_MAP(MyDialog2)
-       DDX_Control(pDX, IDC_COMBO1, m_TcRed);
-       DDX_Control(pDX, IDC_EDIT15, m_MprCov);
-       DDX_Control(pDX, IDC_RADIO2, m_EtxRadio2);
-       DDX_Control(pDX, IDC_RADIO1, m_EtxRadio1);
-//     DDX_Control(pDX, IDC_EDIT14, m_EtxWindowSize);
-       DDX_Control(pDX, IDC_CHECK5, m_FishEyeCheck);
-       DDX_Control(pDX, IDC_CHECK4, m_EtxCheck);
-       DDX_Control(pDX, IDC_CHECK3, m_Ipv6Check);
-       DDX_Control(pDX, IDC_CHECK2, m_InternetCheck);
-       DDX_Control(pDX, IDC_CHECK1, m_HystCheck);
-       DDX_Control(pDX, IDC_EDIT13, m_HystThresholdHigh);
-       DDX_Control(pDX, IDC_EDIT12, m_HystThresholdLow);
-       DDX_Control(pDX, IDC_EDIT11, m_HystScaling);
-       DDX_Control(pDX, IDC_EDIT10, m_HnaHold);
-       DDX_Control(pDX, IDC_EDIT9, m_MidHold);
-       DDX_Control(pDX, IDC_EDIT7, m_PollInt);
-       DDX_Control(pDX, IDC_EDIT6, m_TcHold);
-       DDX_Control(pDX, IDC_EDIT5, m_TcInt);
-       DDX_Control(pDX, IDC_EDIT4, m_HnaInt);
-       DDX_Control(pDX, IDC_EDIT3, m_MidInt);
-       DDX_Control(pDX, IDC_EDIT2, m_HelloHold);
-       DDX_Control(pDX, IDC_EDIT1, m_HelloInt);
-       DDX_Control(pDX, IDC_LIST1, m_InterfaceList);
-       DDX_Control(pDX, IDC_TEXT1, m_DebugLevelText);
-       DDX_Control(pDX, IDC_SLIDER2, m_DebugLevel);
-       //}}AFX_DATA_MAP
+       DDX_Control(pDX, IDC_COMBO3, m_LqAlgo);\r
+       DDX_Control(pDX, IDC_COMBO1, m_TcRed);\r
+       DDX_Control(pDX, IDC_EDIT15, m_MprCov);\r
+       DDX_Control(pDX, IDC_RADIO2, m_EtxRadio2);\r
+       DDX_Control(pDX, IDC_RADIO1, m_EtxRadio1);\r
+       DDX_Control(pDX, IDC_CHECK4, m_EtxCheck);\r
+       DDX_Control(pDX, IDC_CHECK3, m_Ipv6Check);\r
+       DDX_Control(pDX, IDC_CHECK2, m_InternetCheck);\r
+       DDX_Control(pDX, IDC_CHECK1, m_HystCheck);\r
+       DDX_Control(pDX, IDC_CHECK5, m_FishEyeCheck);\r
+       DDX_Control(pDX, IDC_EDIT13, m_HystThresholdHigh);\r
+       DDX_Control(pDX, IDC_EDIT12, m_HystThresholdLow);\r
+       DDX_Control(pDX, IDC_EDIT11, m_HystScaling);\r
+       DDX_Control(pDX, IDC_EDIT10, m_HnaHold);\r
+       DDX_Control(pDX, IDC_EDIT9, m_MidHold);\r
+       DDX_Control(pDX, IDC_EDIT7, m_PollInt);\r
+       DDX_Control(pDX, IDC_EDIT6, m_TcHold);\r
+       DDX_Control(pDX, IDC_EDIT5, m_TcInt);\r
+       DDX_Control(pDX, IDC_EDIT4, m_HnaInt);\r
+       DDX_Control(pDX, IDC_EDIT3, m_MidInt);\r
+       DDX_Control(pDX, IDC_EDIT2, m_HelloHold);\r
+       DDX_Control(pDX, IDC_EDIT1, m_HelloInt);\r
+       DDX_Control(pDX, IDC_LIST1, m_InterfaceList);\r
+       DDX_Control(pDX, IDC_TEXT1, m_DebugLevelText);\r
+       DDX_Control(pDX, IDC_SLIDER2, m_DebugLevel);\r
+       //}}AFX_DATA_MAP\r
 }
 
 BEGIN_MESSAGE_MAP(MyDialog2, CDialog)
@@ -120,7 +120,6 @@ BEGIN_MESSAGE_MAP(MyDialog2, CDialog)
        ON_BN_CLICKED(IDC_RADIO2, OnEtxRadio2)
        ON_BN_CLICKED(IDOK, OnOK)
        ON_BN_CLICKED(IDCANCEL, OnCancel)
-//     ON_EN_KILLFOCUS(IDC_EDIT14, OnKillfocusEtxWinSize)
        //}}AFX_MSG_MAP
 END_MESSAGE_MAP()
 
@@ -215,9 +214,6 @@ void MyDialog2::OnEtxCheckWorker()
 {
        BOOL EnaDis = m_EtxCheck.GetCheck();
 
-#if 0\r
-       m_EtxWindowSize.EnableWindow(EnaDis);\r
-#endif
        m_EtxRadio1.EnableWindow(EnaDis);
        m_EtxRadio2.EnableWindow(EnaDis);
        m_FishEyeCheck.EnableWindow(EnaDis);
@@ -307,7 +303,9 @@ int MyDialog2::OpenConfigFile(CString PathName)
        Conv.Format("%d", Conf->mpr_coverage);
        m_MprCov.SetWindowText(Conv);
 
-       m_TcRed.SetCurSel(Conf->tc_redundancy);
+       m_TcRed.SetCurSel(Conf->tc_redundancy);\r
+\r
+       m_LqAlgo.SetCurSel(m_LqAlgo.FindStringExact(-1, Conf->lq_algorithm));
 
        m_HystCheck.SetCheck(Conf->use_hysteresis);
 
@@ -513,6 +511,15 @@ int MyDialog2::SaveConfigFile(CString PathName, int Real)
 
        Conf->tc_redundancy = (unsigned char)m_TcRed.GetCurSel();
 
+       i = m_LqAlgo.GetCurSel();\r
+       Conf->lq_algorithm = NULL;\r
+       if (0 <= i)\r
+       {\r
+               CString str;\r
+               m_LqAlgo.GetLBText(i, str);\r
+               Conf->lq_algorithm = strdup((LPCTSTR)str);\r
+       }\r
+\r
        m_MprCov.GetWindowText(Conv);
        Conf->mpr_coverage = (unsigned char)atoi(Conv);
 
@@ -542,11 +549,6 @@ int MyDialog2::SaveConfigFile(CString PathName, int Real)
        else
                Conf->lq_fish = 1;
 
-#if 0\r
-       m_EtxWindowSize.GetWindowText(Conv);
-       Conf->lq_wsize = atoi(Conv);\r
-#endif
-
        PrevHna = NULL;
 
        // check for a default gateway HNA4 entry
@@ -693,23 +695,3 @@ void MyDialog2::OnEtxRadio2()
 {
        m_EtxRadio1.SetCheck(FALSE);
 }
-
-#if 0\r
-void MyDialog2::OnKillfocusEtxWinSize() 
-{
-       CString Conv;
-       int WinSize;
-
-       m_EtxWindowSize.GetWindowText(Conv);
-       WinSize = atoi(Conv);
-
-       if (WinSize < 3)
-               WinSize = 3;
-
-       else if (WinSize > 128)
-               WinSize = 128;
-
-       Conv.Format("%d", WinSize);
-       m_EtxWindowSize.SetWindowText(Conv);
-}
-#endif\r
index 6a5e961..05667e7 100644 (file)
@@ -69,33 +69,33 @@ public:
        struct olsrd_config *Conf;
 
        //{{AFX_DATA(MyDialog2)
-       enum { IDD = IDD_DIALOG2 };
-       CComboBox       m_TcRed;
-       CEdit   m_MprCov;
-       CButton m_EtxRadio2;
-       CButton m_EtxRadio1;
-       // CEdit        m_EtxWindowSize;
-       CButton m_EtxCheck;
-       CButton m_Ipv6Check;
-       CButton m_InternetCheck;
-       CButton m_HystCheck;
-       CButton m_FishEyeCheck;
-       MyEdit  m_HystThresholdHigh;
-       MyEdit  m_HystThresholdLow;
-       MyEdit  m_HystScaling;
-       MyEdit  m_HnaHold;
-       MyEdit  m_MidHold;
-       MyEdit  m_PollInt;
-       MyEdit  m_TcHold;
-       MyEdit  m_TcInt;
-       MyEdit  m_HnaInt;
-       MyEdit  m_MidInt;
-       MyEdit  m_HelloHold;
-       MyEdit  m_HelloInt;
-       CListCtrl       m_InterfaceList;
-       CStatic m_DebugLevelText;
-       CSliderCtrl     m_DebugLevel;
-       //}}AFX_DATA
+       enum { IDD = IDD_DIALOG2 };\r
+       CComboBox       m_LqAlgo;\r
+       CComboBox       m_TcRed;\r
+       CEdit   m_MprCov;\r
+       CButton m_EtxRadio2;\r
+       CButton m_EtxRadio1;\r
+       CButton m_EtxCheck;\r
+       CButton m_Ipv6Check;\r
+       CButton m_InternetCheck;\r
+       CButton m_HystCheck;\r
+       CButton m_FishEyeCheck;\r
+       MyEdit  m_HystThresholdHigh;\r
+       MyEdit  m_HystThresholdLow;\r
+       MyEdit  m_HystScaling;\r
+       MyEdit  m_HnaHold;\r
+       MyEdit  m_MidHold;\r
+       MyEdit  m_PollInt;\r
+       MyEdit  m_TcHold;\r
+       MyEdit  m_TcInt;\r
+       MyEdit  m_HnaInt;\r
+       MyEdit  m_MidInt;\r
+       MyEdit  m_HelloHold;\r
+       MyEdit  m_HelloInt;\r
+       CListCtrl       m_InterfaceList;\r
+       CStatic m_DebugLevelText;\r
+       CSliderCtrl     m_DebugLevel;\r
+       //}}AFX_DATA\r
 
        //{{AFX_VIRTUAL(MyDialog2)
        protected:
@@ -116,7 +116,6 @@ protected:
        afx_msg void OnEtxCheck();
        afx_msg void OnEtxRadio1();
        afx_msg void OnEtxRadio2();
-       afx_msg void OnKillfocusEtxWinSize();
        //}}AFX_MSG
        DECLARE_MESSAGE_MAP()
 
index d6ce404..89593fe 100644 (file)
@@ -108,9 +108,12 @@ LinkQualityLevel   0
 \r
 LinkQualityFishEye     0\r
 \r
-# Link quality window size\r
+# Link quality algorithm (if LinkQualityLevel > 0)\r
+# etx_fpm (hello loss, fixed point math)\r
+# etx_float (hello loss, floating point)\r
+# etx_ff (packet loss for freifunk compat)\r
 \r
-LinkQualityWinSize     12\r
+LinkQualityAlgorithm    "etx_fpm"\r
 \r
 # Clear screen when printing debug output?\r
 \r
index d5cacc2..bb69839 100644 (file)
@@ -1,68 +1,68 @@
-//{{NO_DEPENDENCIES}}
-// Microsoft Developer Studio generated include file.
-// Used by Frontend.rc
-//
-#define IDD_FRONTEND_DIALOG             102
-#define IDP_SOCKETS_INIT_FAILED         103
-#define IDR_MAINFRAME                   128
-#define IDD_DIALOG1                     129
-#define IDD_DIALOG2                     130
-#define IDD_DIALOG3                     131
-#define IDD_DIALOG4                     132
-#define IDI_ICON1                       132
-#define IDR_241                         138
-#define IDI_ICON3                       141
-#define IDR_TRAYMENU                    141
-#define IDI_ICON2                       142
-#define IDC_TAB1                        1000
-#define IDC_BUTTON1                     1001
-#define IDC_EDIT1                       1003
-#define IDC_BUTTON2                     1004
-#define IDC_EDIT2                       1004
-#define IDC_EDIT3                       1005
-#define IDC_BUTTON3                     1006
-#define IDC_EDIT4                       1006
-#define IDC_EDIT5                       1007
-#define IDC_LIST1                       1008
-#define IDC_SLIDER2                     1009
-#define IDC_TEXT1                       1010
-#define IDC_EDIT6                       1011
-#define IDC_EDIT7                       1012
-#define IDC_CHECK1                      1013
-#define IDC_CHECK2                      1014
-#define IDC_EDIT9                       1015
-#define IDC_CHECK3                      1016
-#define IDC_BUTTON4                     1017
-#define IDC_BUTTON5                     1018
-#define IDC_CHECK4                      1019
-#define IDC_EDIT10                      1020
-#define IDC_EDIT11                      1021
-#define IDC_EDIT8                       1022
-#define IDC_CHECK5                      1022
-#define IDC_EDIT12                      1023
-#define IDC_EDIT13                      1024
-#define IDC_LIST4                       1025
-#define IDC_EDIT14                      1025
-#define IDC_LIST5                       1026
-#define IDC_EDIT15                      1026
-#define IDC_LIST6                       1027
-#define IDC_RADIO1                      1029
-#define IDC_RADIO2                      1030
-#define IDC_COMBO1                      1031
-#define IDM_START                       32773
-#define IDM_STOP                        32774
-#define IDM_WINDOW                      32775
-#define IDM_SETTINGS                    32776
-#define IDM_OUTPUT                      32777
-#define IDM_EXIT                        32778
-
-// Next default values for new objects
-// 
-#ifdef APSTUDIO_INVOKED
-#ifndef APSTUDIO_READONLY_SYMBOLS
-#define _APS_NEXT_RESOURCE_VALUE        143
-#define _APS_NEXT_COMMAND_VALUE         32779
-#define _APS_NEXT_CONTROL_VALUE         1032
-#define _APS_NEXT_SYMED_VALUE           101
-#endif
-#endif
+//{{NO_DEPENDENCIES}}\r
+// Microsoft Developer Studio generated include file.\r
+// Used by Frontend.rc\r
+//\r
+#define IDD_FRONTEND_DIALOG             102\r
+#define IDP_SOCKETS_INIT_FAILED         103\r
+#define IDR_MAINFRAME                   128\r
+#define IDD_DIALOG1                     129\r
+#define IDD_DIALOG2                     130\r
+#define IDD_DIALOG3                     131\r
+#define IDD_DIALOG4                     132\r
+#define IDI_ICON1                       132\r
+#define IDR_241                         138\r
+#define IDI_ICON3                       141\r
+#define IDR_TRAYMENU                    141\r
+#define IDI_ICON2                       142\r
+#define IDC_TAB1                        1000\r
+#define IDC_BUTTON1                     1001\r
+#define IDC_EDIT1                       1003\r
+#define IDC_BUTTON2                     1004\r
+#define IDC_EDIT2                       1004\r
+#define IDC_EDIT3                       1005\r
+#define IDC_BUTTON3                     1006\r
+#define IDC_EDIT4                       1006\r
+#define IDC_EDIT5                       1007\r
+#define IDC_LIST1                       1008\r
+#define IDC_SLIDER2                     1009\r
+#define IDC_TEXT1                       1010\r
+#define IDC_EDIT6                       1011\r
+#define IDC_EDIT7                       1012\r
+#define IDC_CHECK1                      1013\r
+#define IDC_CHECK2                      1014\r
+#define IDC_EDIT9                       1015\r
+#define IDC_CHECK3                      1016\r
+#define IDC_BUTTON4                     1017\r
+#define IDC_BUTTON5                     1018\r
+#define IDC_CHECK4                      1019\r
+#define IDC_EDIT10                      1020\r
+#define IDC_EDIT11                      1021\r
+#define IDC_EDIT8                       1022\r
+#define IDC_CHECK5                      1022\r
+#define IDC_EDIT12                      1023\r
+#define IDC_EDIT13                      1024\r
+#define IDC_LIST4                       1025\r
+#define IDC_LIST5                       1026\r
+#define IDC_EDIT15                      1026\r
+#define IDC_LIST6                       1027\r
+#define IDC_RADIO1                      1029\r
+#define IDC_RADIO2                      1030\r
+#define IDC_COMBO1                      1031\r
+#define IDC_COMBO3                      1035\r
+#define IDM_START                       32773\r
+#define IDM_STOP                        32774\r
+#define IDM_WINDOW                      32775\r
+#define IDM_SETTINGS                    32776\r
+#define IDM_OUTPUT                      32777\r
+#define IDM_EXIT                        32778\r
+\r
+// Next default values for new objects\r
+// \r
+#ifdef APSTUDIO_INVOKED\r
+#ifndef APSTUDIO_READONLY_SYMBOLS\r
+#define _APS_NEXT_RESOURCE_VALUE        143\r
+#define _APS_NEXT_COMMAND_VALUE         32779\r
+#define _APS_NEXT_CONTROL_VALUE         1036\r
+#define _APS_NEXT_SYMED_VALUE           101\r
+#endif\r
+#endif\r
index 24e5fb5..54b85f5 100644 (file)
@@ -182,6 +182,12 @@ olsrd_write_cnf(struct olsrd_config *cnf, const char *fname)
   fprintf(fd, "# Fish Eye algorithm\n# 0 = do not use fish eye\n# 1 = use fish eye\n\n");
   fprintf(fd, "LinkQualityFishEye\t%d\n\n", cnf->lq_fish);
 
+  if (NULL != cnf->lq_algorithm)
+  {
+    fprintf(fd, "# Link quality algorithm (if LinkQualityLevel > 0)\n# etx_fpm (hello loss, fixed point math)\n# etx_float (hello loss, floating point)\n# etx_ff (packet loss for freifunk compat)\n\n");
+    fprintf(fd, "LinkQualityAlgorithm\t\"%s\"\n\n", cnf->lq_algorithm);
+  }
+
   fprintf(fd, "# Link quality aging factor\n\n");
   fprintf(fd, "LinkQualityAging\t%f\n\n", cnf->lq_aging);