source: flair-src/trunk/lib/FlairMeta/src/SimuX4.cpp@ 23

Last change on this file since 23 was 22, checked in by Sanahuja Guillaume, 9 years ago

m

File size: 2.0 KB
Line 
1// %flair:license{
2// This file is part of the Flair framework distributed under the
3// CECILL-C License, Version 1.0.
4// %flair:license}
5// created: 2016/02/08
6// filename: SimuX4.cpp
7//
8// author: Guillaume Sanahuja
9// Copyright Heudiasyc UMR UTC/CNRS 7253
10//
11// version: $Id: $
12//
13// purpose: Class defining a simulation x4 uav
14//
15//
16/*********************************************************************/
17
18#include "SimuX4.h"
19#include <FrameworkManager.h>
20#include <X4X8Multiplex.h>
21#include <SimuImu.h>
22#include <SimuAhrs.h>
23#include <SimuBldc.h>
24#include <SimuUs.h>
25#include <SimuCamera.h>
26#include <BatteryMonitor.h>
27#include <Tab.h>
28
29using std::string;
30using namespace flair::core;
31using namespace flair::gui;
32using namespace flair::sensor;
33using namespace flair::filter;
34using namespace flair::actuator;
35
36namespace flair {
37namespace meta {
38
39SimuX4::SimuX4(FrameworkManager *parent, string uav_name, int simu_id,
40 filter::UavMultiplex *multiplex)
41 : Uav(parent, uav_name, multiplex) {
42
43 if (multiplex == NULL)
44 SetMultiplex(new X4X8Multiplex(parent, "motors", X4X8Multiplex::X4));
45
46 SetBldc(new SimuBldc(GetUavMultiplex(), GetUavMultiplex()->GetLayout(),
47 "motors", GetUavMultiplex()->MotorsCount(), simu_id));
48 SetUsRangeFinder(new SimuUs(parent, "us", simu_id, 60));
49 SetAhrs(new SimuAhrs(parent, "imu", simu_id, 70));
50 Tab *bat_tab = new Tab(parent->GetTabWidget(), "battery");
51 SetBatteryMonitor(new BatteryMonitor(bat_tab->NewRow(), "battery"));
52 GetBatteryMonitor()->SetBatteryValue(12);
53 SetVerticalCamera(
54 new SimuCamera(parent, "simu_cam_v", 320, 240, 3, simu_id, 10));
55}
56
57SimuX4::~SimuX4() {}
58
59void SimuX4::StartSensors(void) {
60 ((SimuAhrs *)GetAhrs())->Start();
61 ((SimuUs *)GetUsRangeFinder())->Start();
62 ((SimuCamera *)GetVerticalCamera())->Start();
63 Uav::StartSensors();
64}
65
66void SimuX4::SetupVRPNAutoIP(string name) { SetupVRPN("127.0.0.1:3883", name); }
67
68} // end namespace meta
69} // end namespace flair
Note: See TracBrowser for help on using the repository browser.