Add an LQ-Algorithm dropdown to windows GUI
authorSven-Ola Tuecke <sven-ola@gmx.de>
Fri, 21 Nov 2008 08:00:14 +0000 (09:00 +0100)
committerSven-Ola Tuecke <sven-ola@gmx.de>
Fri, 21 Nov 2008 08:00:14 +0000 (09:00 +0100)
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 9c45b2d..c6348b3 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 68231bf..fb441a3 100644 (file)
@@ -71,11 +71,11 @@ public:
   //{{AFX_DATA(MyDialog2)
   enum
   { IDD = IDD_DIALOG2 };
+  CComboBox m_LqAlgo;
   CComboBox m_TcRed;
   CEdit m_MprCov;
   CButton m_EtxRadio2;
   CButton m_EtxRadio1;
-  // CEdit        m_EtxWindowSize;
   CButton m_EtxCheck;
   CButton m_Ipv6Check;
   CButton m_InternetCheck;
@@ -117,7 +117,6 @@ protected:
   afx_msg void OnEtxCheck ();
   afx_msg void OnEtxRadio1 ();
   afx_msg void OnEtxRadio2 ();
-  afx_msg void OnKillfocusEtxWinSize ();
   //}}AFX_MSG
     DECLARE_MESSAGE_MAP () CFont EditFont;
 
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 959058c..f2d0fe9 100644 (file)
 #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 IDC_COMBO3                      1035
 #define IDM_START                       32773
 #define IDM_STOP                        32774
 #define IDM_WINDOW                      32775
@@ -62,7 +62,7 @@
 #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_CONTROL_VALUE         1036
 #define _APS_NEXT_SYMED_VALUE           101
 #endif
 #endif
index 969cf09..adbfea5 100644 (file)
@@ -213,6 +213,13 @@ olsrd_write_cnf (struct olsrd_config *cnf, const char *fname)
            "# 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);