summaryrefslogtreecommitdiff
path: root/test
diff options
context:
space:
mode:
author <philippe colliot>2015-04-09 17:01:03 +0200
committer <philippe colliot>2015-04-09 17:01:03 +0200
commit8f46c2d46b280473d4d8ac3d2c76d01d17794c0b (patch)
treea5ed8e8dfac20d099f844e437257e21b167c61e7 /test
parentabfc49ee6c812e65ce12583f318b72165a3e6603 (diff)
downloadnavigation-8f46c2d46b280473d4d8ac3d2c76d01d17794c0b.tar.gz
Fix bug of the logreplayer amb plugin
Diffstat (limited to 'test')
-rw-r--r--test/resource/test-positioning.log13
-rw-r--r--test/resource/test-vehicle-info.log14
-rwxr-xr-xtest/script/configTests.py2
-rw-r--r--test/script/test-positioning.py264
-rw-r--r--test/script/test-vehicle-info.py277
5 files changed, 569 insertions, 1 deletions
diff --git a/test/resource/test-positioning.log b/test/resource/test-positioning.log
new file mode 100644
index 0000000..9780465
--- /dev/null
+++ b/test/resource/test-positioning.log
@@ -0,0 +1,13 @@
+#SPDX-License-Identifier: CC-BY-SA-4.0
+#Log file for the FSA simulator
+#GNS version 2.0.0
+#SNS version 2.0.0
+#localization geneve cologny
+#vehicle speed 0 km/h
+#step 1000 ms
+0,0$GVGNSVER,2,0,0
+0,0$GVSNSVER,2,0,0
+1000,0$GVGNSP,1000,46.201839,6.146647,0,0X03
+1000,0$GVSNSVEHSP,1000,0.00,0X01
+1000,0$GVGNSC,1000,11.111111,0,27.000000,0X05
+
diff --git a/test/resource/test-vehicle-info.log b/test/resource/test-vehicle-info.log
new file mode 100644
index 0000000..de1893a
--- /dev/null
+++ b/test/resource/test-vehicle-info.log
@@ -0,0 +1,14 @@
+#SPDX-License-Identifier: CC-BY-SA-4.0
+#Log file for the FSA simulator
+#VEH version 0.0.0 (alpha)
+#engine speed 2000 RPM
+#ignition key ON (Not Applicable)
+#fuel level 30 l
+#fuel consumption 5.4 l/h so 1500 µl/1000 ms (6 l/100)
+#step 1000 ms
+#totalodo is used for simulating distance step in cm
+0,0$GVVEHVER,0,0,0
+1000,0$GVVEHENGSPEED,2000,0X01
+1000,0$GVVEHFUELLEVEL,30,0X01
+1000,0$GVVEHFUELCONS,1500,0X01
+1000,0$GVVEHTOTALODO,2500,0x01
diff --git a/test/script/configTests.py b/test/script/configTests.py
index 6c5dcd0..788ceb2 100755
--- a/test/script/configTests.py
+++ b/test/script/configTests.py
@@ -36,7 +36,7 @@ def launch(file,host):
FNULL = open(os.devnull,'w')
logreplayer=PATH_LOGREPLAYER + 'log-replayer'
file=PATH_LOGFILES + file
- call([logreplayer, file, host], stdout=FNULL, stderr=FNULL)
+ call([logreplayer, file, host])
diff --git a/test/script/test-positioning.py b/test/script/test-positioning.py
new file mode 100644
index 0000000..79a2473
--- /dev/null
+++ b/test/script/test-positioning.py
@@ -0,0 +1,264 @@
+#!/usr/bin/python
+
+"""
+**************************************************************************
+* @licence app begin@
+* SPDX-License-Identifier: MPL-2.0
+*
+* \copyright Copyright (C) 2014, PCA Peugeot Citroen
+*
+* \file test-positioning.py
+*
+* \brief This script is part of the FSA scenario.
+*
+* \author Philippe Colliot <philippe.colliot@mpsa.com>
+*
+* \version 1.0
+*
+* This Source Code Form is subject to the terms of the
+* Mozilla Public License, v. 2.0. If a copy of the MPL was not distributed with
+# this file, You can obtain one at http://mozilla.org/MPL/2.0/.
+* List of changes:
+* 7-11-2014, Philippe Colliot, Add some parameters (host address)
+*
+* @licence end@
+**************************************************************************
+"""
+import sys,tty,termios,select,pygame,gi,time,dbus,re,argparse
+import pdb
+
+from pygame.locals import *
+from threading import Timer
+from configTests import *
+from enum import IntEnum
+from dbus.mainloop.glib import DBusGMainLoop
+from traceback import print_exc
+from gi.repository import GObject
+
+class Step(IntEnum):
+ START = 0
+ END = 4
+
+class Genivi(IntEnum):
+ ENHANCEDPOSITIONSERVICE_LATITUDE = 0x00000001
+ ENHANCEDPOSITIONSERVICE_LONGITUDE = 0x00000002
+ ENHANCEDPOSITIONSERVICE_ALTITUDE = 0x00000004
+ FUELSTOPADVISOR_TANK_DISTANCE = 0x0022
+ FUELSTOPADVISOR_ENHANCED_TANK_DISTANCE = 0x0024
+ NAVIGATIONCORE_ACTIVE = 0x0060
+ NAVIGATIONCORE_INACTIVE = 0x0061
+ NAVIGATIONCORE_SIMULATION_STATUS_NO_SIMULATION = 0x0220
+ NAVIGATIONCORE_SIMULATION_STATUS_RUNNING = 0x0221
+ NAVIGATIONCORE_SIMULATION_STATUS_PAUSED = 0x0222
+ NAVIGATIONCORE_SIMULATION_STATUS_FIXED_POSITION = 0x0223
+ NAVIGATIONCORE_LATITUDE = 0x00a0
+ NAVIGATIONCORE_LONGITUDE = 0x00a1
+
+# Define some colors
+BLACK = ( 0, 0, 0)
+WHITE = ( 255, 255, 255)
+BLUE = ( 0, 0, 255)
+GREEN = ( 0, 255, 0)
+RED = ( 255, 0, 0)
+YELLOW = ( 255, 222, 0)
+
+# Define some constants
+PI = 3.141592653
+KEYBOARD_PERIODICITY = 200 #in ms
+GET_DBUS_PERIODICITY = 1000 #in ms
+FUEL_CONVERSION = (3.6/GET_DBUS_PERIODICITY)
+SPEED_CONVERSION = (36.0/GET_DBUS_PERIODICITY)
+
+# Item location on the screen
+STATUS_LOCATION = (100,10)
+STEP_LOCATION = (100,68)
+ENGINE_SPEED_LOCATION = (150,118)
+FUEL_LEVEL_LOCATION = (150,175)
+FUEL_INSTANT_CONSUMPTION_LOCATION = (150,238)
+VEHICLE_SPEED_LOCATION = (150,287)
+LATITUDE_LOCATION = (64,340)
+LONGITUDE_LOCATION = (185,340)
+GUIDANCE_STATUS_LOCATION = (380,118)
+SIMULATION_STATUS_LOCATION = (380,175)
+FUEL_STOP_ADVISOR_WARNING_LOCATION = (380,238)
+FUEL_STOP_ADVISOR_TANK_DISTANCE_LOCATION = (380,287)
+FUEL_STOP_ADVISOR_ENHANCED_TANK_DISTANCE_LOCATION = (380,340)
+
+# Defaults
+LOCAL_HOST = '127.0.0.1'
+
+def display(string,location,fontColor,fontBackground):
+ global args
+ text = font.render(string, True, fontColor, fontBackground)
+ textRect = text.get_rect()
+ textRect.topleft = location
+ screen.blit(text, textRect)
+
+def logVerbose(data,value):
+ if args.ver==True:
+ print (data,": ",value)
+
+def displayStatus(string):
+ display(string,STATUS_LOCATION,WHITE,BLUE)
+
+def displayStep(string):
+ display(string,STEP_LOCATION,YELLOW,BLACK)
+
+def displayEngineSpeed(string):
+ display(string,ENGINE_SPEED_LOCATION,YELLOW,BLACK)
+ logVerbose("EngineSpeed",string)
+
+def displayFuelLevel(string):
+ display(string,FUEL_LEVEL_LOCATION,YELLOW,BLACK)
+
+def displayFuelInstant(string):
+ display(string,FUEL_INSTANT_CONSUMPTION_LOCATION,YELLOW,BLACK)
+
+def displayVehicleSpeed(string):
+ display(string,VEHICLE_SPEED_LOCATION,YELLOW,BLACK)
+
+def displayLatitude(string):
+ display(string,LATITUDE_LOCATION,YELLOW,BLACK)
+
+def displayLongitude(string):
+ display(string,LONGITUDE_LOCATION,YELLOW,BLACK)
+
+def displayGuidanceStatus(string):
+ display(string,GUIDANCE_STATUS_LOCATION,YELLOW,BLACK)
+
+def displaySimulationStatus(string):
+ display(string,SIMULATION_STATUS_LOCATION,YELLOW,BLACK)
+
+def displayFuelStopAdvisorWarning(string):
+ display(string,FUEL_STOP_ADVISOR_WARNING_LOCATION,YELLOW,BLACK)
+
+def displayFuelStopAdvisorTankDistance(string):
+ display(string,FUEL_STOP_ADVISOR_TANK_DISTANCE_LOCATION,YELLOW,BLACK)
+
+def displayFuelStopAdvisorEnhancedTankDistance(string):
+ display(string,FUEL_STOP_ADVISOR_ENHANCED_TANK_DISTANCE_LOCATION,YELLOW,BLACK)
+
+def refresh():
+ pygame.display.update()
+
+def initDisplay():
+ displayStatus('')
+ displayStep('')
+ displayEngineSpeed('0')
+ displayFuelLevel('0')
+ displayFuelInstant('0')
+ displayLatitude('0')
+ displayLongitude('0')
+ displayVehicleSpeed('0')
+ displayGuidanceStatus('OFF')
+ displaySimulationStatus('OFF')
+ displayFuelStopAdvisorWarning('-----')
+ displayFuelStopAdvisorTankDistance('-----')
+ displayFuelStopAdvisorEnhancedTankDistance('-----')
+
+def getKeyboard():
+ global step
+
+ for event in pygame.event.get():
+ if event.type == QUIT:
+ sys.exit(0)
+
+ # get the keyboard input
+ pygame.event.pump()
+ keys = pygame.key.get_pressed()
+ if keys[K_x]:
+ step=Step.END
+
+ return True
+
+def getDbus():
+ global step
+ global host
+
+ # manage the logreplayer depending on the step
+ if step==Step.START:
+ launch("test-positioning.log",host)
+ elif step==Step.END:
+ displayStatus( 'End test ' )
+ loop.quit()
+ else:
+ displayStatus( 'error' )
+ pygame.quit()
+ loop.quit()
+
+ displayStep( str(step.name) )
+
+ # refresh screen
+ refresh()
+
+ return True
+
+def enhancedPositionPositionUpdateHandler(arg):
+ time.sleep(.100)
+ # get the position
+ enhancedPosition = enhancedPositionInterface.GetPositionInfo(arg)
+ if (arg & Genivi.ENHANCEDPOSITIONSERVICE_LATITUDE) == Genivi.ENHANCEDPOSITIONSERVICE_LATITUDE:
+ latitude=float(enhancedPosition[1][dbus.UInt64(Genivi.ENHANCEDPOSITIONSERVICE_LATITUDE)])
+ displayLatitude("{:.3f}".format(latitude))
+ if (arg & Genivi.ENHANCEDPOSITIONSERVICE_LONGITUDE) == Genivi.ENHANCEDPOSITIONSERVICE_LONGITUDE:
+ longitude=float(enhancedPosition[1][dbus.UInt64(Genivi.ENHANCEDPOSITIONSERVICE_LONGITUDE)])
+ displayLongitude("{:.3f}".format(longitude))
+
+# Main program begins here
+parser = argparse.ArgumentParser(description='Test positioning.')
+parser.add_argument('-v','--ver',action='store_true', help='Print log messages')
+parser.add_argument('-r','--rem',action='store', dest='host', help='Set remote host address')
+args = parser.parse_args()
+
+if args.host != None:
+ host = args.host
+else:
+ host = LOCAL_HOST
+
+# Initialize the game engine
+pygame.init()
+
+# Initialize the screen
+background = pygame.image.load("dashboard.png")
+backgroundRect = background.get_rect()
+size = (width, height) = background.get_size()
+screen = pygame.display.set_mode( size )
+pygame.display.set_caption('Test positioning')
+screen.blit(background,backgroundRect)
+font = pygame.font.SysFont('Calibri', 25, True, False)
+initDisplay()
+
+# Initialize DBus loop as the main loop
+DBusGMainLoop(set_as_default=True)
+
+# Connect on the bus
+dbus.mainloop.glib.DBusGMainLoop(set_as_default=True)
+if host == LOCAL_HOST:
+ dbusConnectionBus = dbus.SessionBus()
+else:
+ dbusConnectionBus = dbus.bus.BusConnection("tcp:host=" + host +",port=4000")
+
+# Enhanced position
+try:
+ enhancedPositionObject = dbusConnectionBus.get_object("org.genivi.positioning.EnhancedPosition", "/org/genivi/positioning/EnhancedPosition")
+except dbus.DBusException:
+ print ("connection to Enhanced position failed")
+ print_exc()
+ sys.exit(1)
+enhancedPositionInterface = dbus.Interface(enhancedPositionObject, "org.genivi.positioning.EnhancedPosition")
+dbusConnectionBus.add_signal_receiver(enhancedPositionPositionUpdateHandler, dbus_interface = "org.genivi.positioning.EnhancedPosition", signal_name = "PositionUpdate")
+
+displayStatus( 'Start positioning test' )
+
+refresh()
+
+# start
+step = Step.START
+GObject.timeout_add(KEYBOARD_PERIODICITY,getKeyboard)
+GObject.timeout_add(GET_DBUS_PERIODICITY,getDbus)
+
+loop = GObject.MainLoop()
+loop.run()
+
+
+
diff --git a/test/script/test-vehicle-info.py b/test/script/test-vehicle-info.py
new file mode 100644
index 0000000..c840c66
--- /dev/null
+++ b/test/script/test-vehicle-info.py
@@ -0,0 +1,277 @@
+#!/usr/bin/python
+
+"""
+**************************************************************************
+* @licence app begin@
+* SPDX-License-Identifier: MPL-2.0
+*
+* \copyright Copyright (C) 2014, PCA Peugeot Citroen
+*
+* \file test-vehicle-info.py
+*
+* \brief This script is part of the FSA scenario.
+*
+* \author Philippe Colliot <philippe.colliot@mpsa.com>
+*
+* \version 1.0
+*
+* This Source Code Form is subject to the terms of the
+* Mozilla Public License, v. 2.0. If a copy of the MPL was not distributed with
+# this file, You can obtain one at http://mozilla.org/MPL/2.0/.
+* List of changes:
+* 7-11-2014, Philippe Colliot, Add some parameters (host address)
+*
+* @licence end@
+**************************************************************************
+"""
+import sys,tty,termios,select,pygame,gi,time,dbus,re,argparse
+import pdb
+
+from pygame.locals import *
+from threading import Timer
+from configTests import *
+from enum import IntEnum
+from dbus.mainloop.glib import DBusGMainLoop
+from traceback import print_exc
+from gi.repository import GObject
+
+class Step(IntEnum):
+ START = 0
+ END = 4
+
+class Genivi(IntEnum):
+ ENHANCEDPOSITIONSERVICE_LATITUDE = 0x0020
+ ENHANCEDPOSITIONSERVICE_LONGITUDE = 0x0021
+ ENHANCEDPOSITIONSERVICE_ALTITUDE = 0x0022
+ FUELSTOPADVISOR_TANK_DISTANCE = 0x0022
+ FUELSTOPADVISOR_ENHANCED_TANK_DISTANCE = 0x0024
+ NAVIGATIONCORE_ACTIVE = 0x0060
+ NAVIGATIONCORE_INACTIVE = 0x0061
+ NAVIGATIONCORE_SIMULATION_STATUS_NO_SIMULATION = 0x0220
+ NAVIGATIONCORE_SIMULATION_STATUS_RUNNING = 0x0221
+ NAVIGATIONCORE_SIMULATION_STATUS_PAUSED = 0x0222
+ NAVIGATIONCORE_SIMULATION_STATUS_FIXED_POSITION = 0x0223
+ NAVIGATIONCORE_LATITUDE = 0x00a0
+ NAVIGATIONCORE_LONGITUDE = 0x00a1
+
+# Define some colors
+BLACK = ( 0, 0, 0)
+WHITE = ( 255, 255, 255)
+BLUE = ( 0, 0, 255)
+GREEN = ( 0, 255, 0)
+RED = ( 255, 0, 0)
+YELLOW = ( 255, 222, 0)
+
+# Define some constants
+PI = 3.141592653
+KEYBOARD_PERIODICITY = 200 #in ms
+GET_DBUS_PERIODICITY = 1000 #in ms
+FUEL_CONVERSION = (3.6/GET_DBUS_PERIODICITY)
+SPEED_CONVERSION = (36.0/GET_DBUS_PERIODICITY)
+
+# Item location on the screen
+STATUS_LOCATION = (100,10)
+STEP_LOCATION = (100,68)
+ENGINE_SPEED_LOCATION = (150,118)
+FUEL_LEVEL_LOCATION = (150,175)
+FUEL_INSTANT_CONSUMPTION_LOCATION = (150,238)
+VEHICLE_SPEED_LOCATION = (150,287)
+LATITUDE_LOCATION = (64,340)
+LONGITUDE_LOCATION = (185,340)
+GUIDANCE_STATUS_LOCATION = (380,118)
+SIMULATION_STATUS_LOCATION = (380,175)
+FUEL_STOP_ADVISOR_WARNING_LOCATION = (380,238)
+FUEL_STOP_ADVISOR_TANK_DISTANCE_LOCATION = (380,287)
+FUEL_STOP_ADVISOR_ENHANCED_TANK_DISTANCE_LOCATION = (380,340)
+
+# Defaults
+LOCAL_HOST = '127.0.0.1'
+
+def display(string,location,fontColor,fontBackground):
+ global args
+ text = font.render(string, True, fontColor, fontBackground)
+ textRect = text.get_rect()
+ textRect.topleft = location
+ screen.blit(text, textRect)
+
+def logVerbose(data,value):
+ if args.ver==True:
+ print (data,": ",value)
+
+def displayStatus(string):
+ display(string,STATUS_LOCATION,WHITE,BLUE)
+
+def displayStep(string):
+ display(string,STEP_LOCATION,YELLOW,BLACK)
+
+def displayEngineSpeed(string):
+ display(string,ENGINE_SPEED_LOCATION,YELLOW,BLACK)
+ logVerbose("EngineSpeed",string)
+
+def displayFuelLevel(string):
+ display(string,FUEL_LEVEL_LOCATION,YELLOW,BLACK)
+
+def displayFuelInstant(string):
+ display(string,FUEL_INSTANT_CONSUMPTION_LOCATION,YELLOW,BLACK)
+
+def displayVehicleSpeed(string):
+ display(string,VEHICLE_SPEED_LOCATION,YELLOW,BLACK)
+
+def displayLatitude(string):
+ display(string,LATITUDE_LOCATION,YELLOW,BLACK)
+
+def displayLongitude(string):
+ display(string,LONGITUDE_LOCATION,YELLOW,BLACK)
+
+def displayGuidanceStatus(string):
+ display(string,GUIDANCE_STATUS_LOCATION,YELLOW,BLACK)
+
+def displaySimulationStatus(string):
+ display(string,SIMULATION_STATUS_LOCATION,YELLOW,BLACK)
+
+def displayFuelStopAdvisorWarning(string):
+ display(string,FUEL_STOP_ADVISOR_WARNING_LOCATION,YELLOW,BLACK)
+
+def displayFuelStopAdvisorTankDistance(string):
+ display(string,FUEL_STOP_ADVISOR_TANK_DISTANCE_LOCATION,YELLOW,BLACK)
+
+def displayFuelStopAdvisorEnhancedTankDistance(string):
+ display(string,FUEL_STOP_ADVISOR_ENHANCED_TANK_DISTANCE_LOCATION,YELLOW,BLACK)
+
+def refresh():
+ pygame.display.update()
+
+def initDisplay():
+ displayStatus('')
+ displayStep('')
+ displayEngineSpeed('0')
+ displayFuelLevel('0')
+ displayFuelInstant('0')
+ displayLatitude('0')
+ displayLongitude('0')
+ displayVehicleSpeed('0')
+ displayGuidanceStatus('OFF')
+ displaySimulationStatus('OFF')
+ displayFuelStopAdvisorWarning('-----')
+ displayFuelStopAdvisorTankDistance('-----')
+ displayFuelStopAdvisorEnhancedTankDistance('-----')
+
+def getKeyboard():
+ global step
+
+ for event in pygame.event.get():
+ if event.type == QUIT:
+ sys.exit(0)
+
+ # get the keyboard input
+ pygame.event.pump()
+ keys = pygame.key.get_pressed()
+ if keys[K_x]:
+ step=Step.END
+
+ return True
+
+def getDbus():
+ global step
+ global host
+
+ # manage the logreplayer depending on the step
+ if step==Step.START:
+ launch("test-vehicle-info.log",host)
+ elif step==Step.END:
+ displayStatus( 'End test ' )
+ loop.quit()
+ else:
+ displayStatus( 'error' )
+ pygame.quit()
+ loop.quit()
+
+ # get the values on amb
+ engineSpeed = ambEngineSpeedInterface.GetEngineSpeed()
+ displayEngineSpeed(str(int(engineSpeed[0])))
+ fuelLevel = ambFuelInterface.GetLevel()
+ displayFuelLevel(str(int(fuelLevel[0])))
+ fuelInstCons = ambFuelInterface.GetInstantConsumption()
+ displayFuelInstant("{:.2f}".format(int(fuelInstCons[0])*FUEL_CONVERSION))
+ odometer = ambOdometerInterface.GetOdometer()
+ displayVehicleSpeed(str(int(odometer[0])*SPEED_CONVERSION))
+
+ displayStep( str(step.name) )
+
+ # refresh screen
+ refresh()
+
+ return True
+
+# Main program begins here
+parser = argparse.ArgumentParser(description='Test vehicle info.')
+parser.add_argument('-v','--ver',action='store_true', help='Print log messages')
+parser.add_argument('-r','--rem',action='store', dest='host', help='Set remote host address')
+args = parser.parse_args()
+
+if args.host != None:
+ host = args.host
+else:
+ host = LOCAL_HOST
+
+# Initialize the game engine
+pygame.init()
+
+# Initialize the screen
+background = pygame.image.load("dashboard.png")
+backgroundRect = background.get_rect()
+size = (width, height) = background.get_size()
+screen = pygame.display.set_mode( size )
+pygame.display.set_caption('Test vehicle info')
+screen.blit(background,backgroundRect)
+font = pygame.font.SysFont('Calibri', 25, True, False)
+initDisplay()
+
+# Initialize DBus loop as the main loop
+DBusGMainLoop(set_as_default=True)
+
+# Connect on the bus
+dbus.mainloop.glib.DBusGMainLoop(set_as_default=True)
+if host == LOCAL_HOST:
+ dbusConnectionBus = dbus.SessionBus()
+else:
+ dbusConnectionBus = dbus.bus.BusConnection("tcp:host=" + host +",port=4000")
+
+# Automotive message broker
+try:
+ ambObject = dbusConnectionBus.get_object("org.automotive.message.broker", "/")
+except dbus.DBusException:
+ print ("connection to Automotive message broker failed")
+ print_exc()
+ sys.exit(1)
+ambInterface = dbus.Interface(ambObject, "org.automotive.Manager")
+
+# Get the object path to retrieve Engine Speed
+engineSpeedPath = ambInterface.FindObject("EngineSpeed");
+ambEngineSpeed = dbusConnectionBus.get_object("org.automotive.message.broker", engineSpeedPath[0])
+ambEngineSpeedInterface = dbus.Interface(ambEngineSpeed, "org.automotive.EngineSpeed")
+
+# Get the object path to retrieve Fuel Level and Instant consumption
+fuelPath = ambInterface.FindObject("Fuel");
+ambFuel = dbusConnectionBus.get_object("org.automotive.message.broker", fuelPath[0])
+ambFuelInterface = dbus.Interface(ambFuel, "org.automotive.Fuel")
+
+# Get the object path to retrieve Odometer
+odometerPath = ambInterface.FindObject("Odometer");
+ambOdometer = dbusConnectionBus.get_object("org.automotive.message.broker", odometerPath[0])
+ambOdometerInterface = dbus.Interface(ambOdometer, "org.automotive.Odometer")
+
+displayStatus( 'Start simulation' )
+
+refresh()
+
+# start
+step = Step.START
+GObject.timeout_add(KEYBOARD_PERIODICITY,getKeyboard)
+GObject.timeout_add(GET_DBUS_PERIODICITY,getDbus)
+
+loop = GObject.MainLoop()
+loop.run()
+
+
+