source: flair-src/trunk/lib/FlairSensorActuator/src/RadioReceiver.cpp@ 157

Last change on this file since 157 was 157, checked in by Sanahuja Guillaume, 7 years ago

iadded isready to iodevice:
avoid problem of imu not ready in ardrone2

File size: 1.9 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: 2014/07/08
6// filename: RadioReceiver.cpp
7//
8// author: Guillaume Sanahuja
9// Copyright Heudiasyc UMR UTC/CNRS 7253
10//
11// version: $Id: $
12//
13// purpose: Base class for radio receiver
14//
15//
16/*********************************************************************/
17
18#include "RadioReceiver.h"
19#include <Tab.h>
20#include <TabWidget.h>
21#include <FrameworkManager.h>
22#include <cvmatrix.h>
23#include <sstream>
24
25using std::string;
26using std::ostringstream;
27using namespace flair::core;
28using namespace flair::gui;
29
30namespace flair {
31namespace sensor {
32
33RadioReceiver::RadioReceiver(string name,
34 unsigned int nb_channels)
35 : IODevice(getFrameworkManager(), name) {
36 is_connected = false;
37 this->nb_channels = nb_channels;
38
39 // init matrix
40 cvmatrix_descriptor *desc = new cvmatrix_descriptor(nb_channels, 1);
41 for (int i = 0; i < nb_channels; i++) {
42 ostringstream channel_name;
43 channel_name << "channel " << i;
44 desc->SetElementName(i, 0, channel_name.str());
45 }
46 output = new cvmatrix(this, desc, floatType, name);
47 delete desc;
48
49 // station sol
50 main_tab = new Tab(getFrameworkManager()->GetTabWidget(), name);
51 tab = new TabWidget(main_tab->NewRow(), name);
52 setup_tab = new Tab(tab, "Setup");
53
54 AddDataToLog(output);
55
56 SetIsReady(true);
57}
58
59RadioReceiver::~RadioReceiver() { delete main_tab; }
60
61Layout *RadioReceiver::GetLayout(void) const { return setup_tab; }
62
63float RadioReceiver::ChannelValue(unsigned int id) const {
64 if (id < nb_channels) {
65 return output->Value(id, 0);
66 } else {
67 Err("channel %i/%i is out of bound\n", id, nb_channels);
68 return -1;
69 }
70}
71
72bool RadioReceiver::IsConnected(void) const { return is_connected; }
73
74} // end namespace sensor
75} // end namespace flair
Note: See TracBrowser for help on using the repository browser.