diff --git a/src/constants.h b/src/constants.h
index c419d97e644912b3c03562475e76045f6dd3dde8..60bf38e046c2f21b67d4af302088dc099973a664 100644
--- a/src/constants.h
+++ b/src/constants.h
@@ -29,6 +29,8 @@
 #ifndef CONSTANTS_H
 #define CONSTANTS_H
 
+#define PI 3.141592653589793
+
 #define FPGAS_PER_BOARD 4
 
 #define C_S_pn 12
@@ -39,7 +41,7 @@
 #define C_WG_MODE_OFF  0
 #define C_WG_MODE_CALC 1
 #define C_WG_AMPL_UNIT 65536  // 2^16
-#define C_WG_PHASE_UNIT (65536.0 / 360.0)  // 2^16 / 360
+#define C_WG_PHASE_UNIT (65536.0 / (2 * PI))  // 2^16 / 2*pi
 #define C_WG_FREQ_UNIT 2147483648  // 2^31
 
 #define C_BSN_LATENCY 20000  // 1 period = 5.12us, 20000 = +/- 100ms
diff --git a/test/py/control/wg.py b/test/py/control/wg.py
index 1dbfad6746915f43439ff2cc35ab5fbe35b3e527..a4955aad7d76adc5f4625ace9cc60686b56ecc9e 100755
--- a/test/py/control/wg.py
+++ b/test/py/control/wg.py
@@ -36,6 +36,7 @@ import traceback
 import argparse
 import time
 import pprint
+import math
 
 from base import *
 
@@ -64,10 +65,10 @@ class WaveformGenerator(object):
         return self._ampl
 
     def set_phase(self, value, mode=None):
-        phase = value
+        phase = value / (360 / (2 * math.pi))
         mode = 'sinus' if mode is None else mode.lower()
         if mode == 'xst':
-            self.client.write('wg_phase', ([i * (360 / self.S_PN) for i in range(self.S_PN)] * self.n_nodes))
+            self.client.write('wg_phase', ([i * ((2 * math.pi) / self.S_PN) for i in range(self.S_PN)] * self.n_nodes))
         else:
             # must be for sinus
             self.client.write('wg_phase', ([phase] * self.S_PN * self.n_nodes))
@@ -75,7 +76,7 @@ class WaveformGenerator(object):
 
     def get_phase(self):
         self._phase = self.client.read('wg_phase')
-        return self._phase
+        return [i * (360 / (2 * math.pi)) for i in self._phase]
 
     def set_freq(self, value, mode=None):
         freq = value
@@ -160,10 +161,10 @@ if __name__ == "__main__":
     parser.add_argument('--mode',     type=str, choices=['xst', 'sinus'], help="select wg mode")
     parser.add_argument('--setfreq',  type=float, help="set wg freq")
     parser.add_argument('--setampl',  type=float, help="set wg ampl")
-    parser.add_argument('--setphase', type=float, help="set wg phase")
+    parser.add_argument('--setphase', type=float, help="set wg phase in degrees")
     parser.add_argument('--getfreq',  action='store_true', help="get wg freq")
     parser.add_argument('--getampl',  action='store_true', help="get wg ampl")
-    parser.add_argument('--getphase', action='store_true', help="get wg phase")
+    parser.add_argument('--getphase', action='store_true', help="get wg phase in degrees")
     parser.add_argument('--enable',   action='store_true', help="turn on wg signal")
     parser.add_argument('--disable',  action='store_true', help="turn off wg signal")
     parser.add_argument('--toggle',   action='store_true', help="turn the wg signal off and on again")