Skip to content
Snippets Groups Projects
Commit 9f88a54e authored by Querejeta Lomas, Leire's avatar Querejeta Lomas, Leire
Browse files

Subir nuevo archivo

parent ceb92d3e
Branches
No related tags found
No related merge requests found
/**
* @file class.cpp
* @author Alfonso Dominguez <alfonso.dominguez@tecnalia.com> and Leire Querejeta Lomas <leire.querejeta@tecnalia.com>
* @date 2020
*
* Copyright 2020 Tecnalia Research & Innovation.
* Distributed under the GNU GPL v3.
* For full terms see https://www.gnu.org/licenses/gpl.txt
*
* @brief Interface to the funcionalities of Class
*/
#include "class/class.hpp"
#include <iostream>
#include <class/class_core.hpp>
using namespace std;
Class::Class()
{
std::cout << "Class cstr" << std::endl;
core_ = new ClassCore();
}
Class::~Class()
{
std::cout << "Class dstr" << std::endl;
if (core_ != NULL)
{
delete core_;
core_ = NULL;
}
}
ClassError::Error Class::connect()
{
std::string server_ip = DEFAULT_SERVER_IP;
int server_port = DEFAULT_SERVER_PORT;
std::string local_ip = DEFAULT_LOCAL_IP;
int local_port = DEFAULT_LOCAL_PORT;
return core_->connect(server_ip, server_port, local_ip, local_port);
}
ClassError::Error Class::connect(const std::string & server_ip, const int & server_port)
{
std::string local_ip = DEFAULT_LOCAL_IP;
int local_port = DEFAULT_LOCAL_PORT;
return core_->connect(server_ip, server_port, local_ip, local_port);
}
ClassError::Error Class::connect(const std::string & server_ip, const int & server_port, const int & local_port)
{
std::string local_ip = DEFAULT_LOCAL_IP;
return core_->connect(server_ip, server_port, local_ip, local_port);
}
ClassError::Error Class::connect(const std::string & server_ip, const int & server_port, const std::string & local_ip, const int & local_port)
{
return core_->connect(server_ip, server_port, local_ip, local_port);
}
ClassError::Error Class::disconnect()
{
if (core_ == NULL)
return ClassError::ERROR_CORE_NULL;
return core_->disconnect();
}
ClassError::Error Class::setAcqConfig(const AcqFreq& frequency, const std::vector<int>& channel_numbers, const AcqGain& gain, const AcqInput& input)
{
if (core_ == NULL)
return ClassError::ERROR_CORE_NULL;
double freq = 0.0;
int channel_numb = 0;
double acq_gain = 0.0;
std::string input_str = "test";
switch(frequency)
{
case FREQ_250 : freq = 250; break;
case FREQ_500 : freq = 500; break;
case FREQ_1000 : freq = 1000; break;
case FREQ_2000 : freq = 2000; break;
case FREQ_4000 : freq = 4000; break;
case FREQ_8000 : freq = 8000; break;
}
switch(gain)
{
case GAIN_1 : acq_gain = 1; break;
case GAIN_2 : acq_gain = 2; break;
case GAIN_4 : acq_gain = 4; break;
case GAIN_8 : acq_gain = 8; break;
case GAIN_12 : acq_gain = 12; break;
case GAIN_24 : acq_gain = 24; break;
}
switch(input)
{
case NORMAL : input_str = "normal"; break;
case TEST : input_str = "test"; break;
}
return core_->setAcqConfig(freq, channel_numbers, acq_gain, input_str);
}
ClassError::Error Class::startAcq()
{
if (core_ == NULL)
return ClassError::ERROR_CORE_NULL;
return core_->acqOn();
}
ClassError::Error Class::startImpedanceAcq()
{
if (core_ == NULL)
return ClassError::ERROR_CORE_NULL;
return core_->acqImpedanceOn();
}
ClassError::Error Class::stopAcq()
{
if (core_ == NULL)
return ClassError::ERROR_CORE_NULL;
return core_->acqOff();
}
ClassError::Error Class::stopImpedanceAcq()
{
if (core_ == NULL)
return ClassError::ERROR_CORE_NULL;
return core_->acqImpedanceOff();
}
ClassError::Error Class::startAcqStream()
{
if (core_ == NULL)
return ClassError::ERROR_CORE_NULL;
return core_->acqStreamOn();
}
ClassError::Error Class::stopAcqStream()
{
if (core_ == NULL)
return ClassError::ERROR_CORE_NULL;
return core_->acqStreamOff();
}
ClassError::Error Class::setAcqInputNormal()
{
if (core_ == NULL)
return ClassError::ERROR_CORE_NULL;
return core_->acqInputNormal();
}
ClassError::Error Class::setAcqInputTest()
{
if (core_ == NULL)
return ClassError::ERROR_CORE_NULL;
return core_->acqInputTest();
}
ClassError::Error Class::initCommunication()
{
if (core_ == NULL)
return ClassError::ERROR_CORE_NULL;
return core_->initCommunication("DESKTOP");
}
ClassError::Error Class::initCommunication(const InitMode& mode)
{
if (core_ == NULL)
return ClassError::ERROR_CORE_NULL;
std::string init_mode = "";
switch(mode)
{
case TACTILITY: init_mode = "TACTILITY"; break;
case PAIN: init_mode = "PAIN"; break;
case DESKTOP: init_mode = "DESKTOP"; break;
case NEURORESEARCH: init_mode = "DESKTOP"; break;
case ICARE: init_mode = "ICARE"; break;
case TIB_ACQ: init_mode = "TIB_ACQ"; break;
case TIB_STIM: init_mode = "TIB_STIM"; break;
default: init_mode = "DESKTOP"; break;
}
return core_->initCommunication(init_mode);
}
std::vector<AcqFrame> Class::getAcqFrames()
{
//std::cout << "getAcqFrames" << std::endl;
std::vector<AcqFrame> acqFrames;
if (core_ == NULL)
return acqFrames;
int output = core_->getAcqFrames(acqFrames);
return acqFrames;
}
ClassError::Error Class::patternDelete(const int& id)
{
if (core_ == NULL)
return ClassError::ERROR_CORE_NULL;
return core_->patternClear(id);
}
ClassError::Error Class::getPatternStatus(const int& id)
{
if (core_ == NULL)
return ClassError::ERROR_CORE_NULL;
return core_->patternStatus(id);
}
ClassError::Error Class::startStim()
{
if (core_ == NULL)
return ClassError::ERROR_CORE_NULL;
return core_->stimOn();
}
ClassError::Error Class::stopStim()
{
if (core_ == NULL)
return ClassError::ERROR_CORE_NULL;
return core_->stimOff();
}
ClassError::Error Class::setElecPads(const int& id, const int& pads_number)
{
if (core_ == NULL)
return ClassError::ERROR_CORE_NULL;
return core_->elecPads(id, pads_number);
}
ClassError::Error Class::setStimFreq(const double& frequency)
{
if (core_ == NULL)
return ClassError::ERROR_CORE_NULL;
return core_->stimFreq(frequency);
}
ClassError::Error Class::setDevName(const std::string& devicename)
{
if (core_ == NULL)
return ClassError::ERROR_CORE_NULL;
return core_->devName(devicename);
}
ClassError::Error Class::sethvValue(const std::string& hvvalue)
{
if (core_ == NULL)
return ClassError::ERROR_CORE_NULL;
return core_->hvValue(hvvalue);
}
ClassError::Error Class::sethvOn()
{
if (core_ == NULL)
return ClassError::ERROR_CORE_NULL;
return core_->hvOn();
}
ClassError::Error Class::sethvOff()
{
if (core_ == NULL)
return ClassError::ERROR_CORE_NULL;
return core_->hvOff();
}
ClassError::Error Class::setlogeventsOn()
{
if (core_ == NULL)
return ClassError::ERROR_CORE_NULL;
return core_->logeventsOn();
}
ClassError::Error Class::setlogeventsOff()
{
if (core_ == NULL)
return ClassError::ERROR_CORE_NULL;
return core_->logeventsOff();
}
ClassError::Error Class::setintervalValue(const std::string& interval)
{
if (core_ == NULL)
return ClassError::ERROR_CORE_NULL;
return core_->intervalValue(interval);
}
ClassError::Error Class::setbuzzerTempo(const std::string& tempo)
{
if (core_ == NULL)
return ClassError::ERROR_CORE_NULL;
return core_->buzzerTempo(tempo);
}
ClassError::Error Class::setbuzzerPlay()
{
if (core_ == NULL)
return ClassError::ERROR_CORE_NULL;
return core_->buzzerPlay();
}
ClassError::Error Class::setrtcDate(const std::string& rtcDate)
{
if (core_ == NULL)
return ClassError::ERROR_CORE_NULL;
return core_->rtcDate(rtcDate);
}
ClassError::Error Class::setrtcTime(const std::string& rtcTime)
{
if (core_ == NULL)
return ClassError::ERROR_CORE_NULL;
return core_->rtcTime(rtcTime);
}
ClassError::Error Class::setShutdown()
{
if (core_ == NULL)
return ClassError::ERROR_CORE_NULL;
return core_->shutdown();
}
ClassError::Error Class::setSDFunctionName(const std::string& sdfunctionname)
{
if (core_ == NULL)
return ClassError::ERROR_CORE_NULL;
return core_->sdFunctionName(sdfunctionname);
}
ClassError::Error Class::setSDUName(const std::string& sduname)
{
if (core_ == NULL)
return ClassError::ERROR_CORE_NULL;
return core_->sdUName(sduname);
}
ClassError::Error Class::setPattern(const int& id, const std::vector<Pattern>& pat)
{
if (core_ == NULL)
return ClassError::ERROR_CORE_NULL;
return core_->pattern(id,pat);
}
ClassError::Error Class::setVelec(const int& id, const std::string& name, const int& electrode_id, const std::vector<int>& cathodes, const std::vector<int>& anodes, const std::vector<double>& amp, const std::vector<int>& width, const bool& selected, const bool& sync)
{
if (core_ == NULL)
return ClassError::ERROR_CORE_NULL;
return core_->velec(id, name, electrode_id, cathodes, anodes, amp, width, selected, sync);
}
ClassError::Error Class::setVelecSelected(const int& id, const bool& selected)
{
if (core_ == NULL)
return ClassError::ERROR_CORE_NULL;
return core_->velecSelected(id, selected);
}
ClassError::Error Class::setVelecsSelected(const std::vector<int>& id, const std::vector<bool>& selected)
{
if (core_ == NULL)
return ClassError::ERROR_CORE_NULL;
return core_->velecsSelected(id, selected);
}
ClassError::Error Class::stimVelec(const std::string& name)
{
if (core_ == NULL)
return ClassError::ERROR_CORE_NULL;
return core_->stimVelec(name);
}
ClassError::Error Class::getVelecStatus(const int& id)
{
if (core_ == NULL)
return ClassError::ERROR_CORE_NULL;
return core_->velecStatus(id);
}
ClassError::Error Class::setAcqImpedanceConfig(const AcqImpedanceSign& type)
{
if (core_ == NULL)
return ClassError::ERROR_CORE_NULL;
bool positive = false;
switch(type)
{
case TYPE_POSITIVE : positive = true; break;
case TYPE_NEGATIVE : positive = false; break;
}
return core_->acqImpedanceConfig(positive);
}
ClassError::Error Class::setAcqImpedancePolarity(const AcqImpedancePolarity& polarity)
{
if (core_ == NULL)
return ClassError::ERROR_CORE_NULL;
bool unipolar = false;
switch(polarity)
{
case TYPE_UNIPOLAR : unipolar = true; break;
case TYPE_BIPOLAR : unipolar = false; break;
}
return core_->acqImpedancePolarity(unipolar);
}
ClassError::Error Class::setImpedanceFilterOrder(const int& order)
{
if (core_ == NULL)
return ClassError::ERROR_CORE_NULL;
return core_->impedanceFilterOrder(order);
}
ClassError::Error Class::setBufferDuration(const double& ms)
{
if (core_ == NULL)
return ClassError::ERROR_CORE_NULL;
return core_->bufferDuration(ms);
}
ClassError::Error Class::setCallback(ClassCallback * callback, std::string language)
{
if (callback)
{
return core_->setCallback(callback, language);
}
else
{
return ClassError::ERROR_CB_NULL;
}
}
ClassError::Error Class::getBattery()
{
if (core_ == NULL)
return ClassError::ERROR_CORE_NULL;
return core_->batteryLevel();
}
ClassError::Error Class::getFirmware()
{
if (core_ == NULL)
return ClassError::ERROR_CORE_NULL;
return core_->firmwareVersion();
}
ClassError::Error Class::getDeviceName()
{
if (core_ == NULL)
return ClassError::ERROR_CORE_NULL;
return core_->deviceName();
}
ClassError::Error Class::getLogevents()
{
if (core_ == NULL)
return ClassError::ERROR_CORE_NULL;
return core_->logeventsStatus();
}
ClassError::Error Class::getHv()
{
if (core_ == NULL)
return ClassError::ERROR_CORE_NULL;
return core_->hvStatus();
}
ClassError::Error Class::getInterval()
{
if (core_ == NULL)
return ClassError::ERROR_CORE_NULL;
return core_->intervalStatus();
}
ClassError::Error Class::getRTC()
{
if (core_ == NULL)
return ClassError::ERROR_CORE_NULL;
return core_->rtcStatus();
}
ClassError::Error Class::getBuzzer()
{
if (core_ == NULL)
return ClassError::ERROR_CORE_NULL;
return core_->buzzerStatus();
}
ClassError::Error Class::getFrequency()
{
if (core_ == NULL)
return ClassError::ERROR_CORE_NULL;
return core_->frequencyStatus();
}
ClassError::Error Class::getHardware()
{
if (core_ == NULL)
return ClassError::ERROR_CORE_NULL;
return core_->hardwareVersion();
}
ClassError::Error Class::getSDFunction()
{
if (core_ == NULL)
return ClassError::ERROR_CORE_NULL;
return core_->sdfunctionStatus();
}
ClassError::Error Class::getSDUName()
{
if (core_ == NULL)
return ClassError::ERROR_CORE_NULL;
return core_->sdunameStatus();
}
ClassError::Error Class::getTic()
{
if (core_ == NULL)
return ClassError::ERROR_CORE_NULL;
return core_->tic();
}
ClassError::Error Class::sendCustomCmd(const std::string& cmd)
{
if (core_ == NULL)
return ClassError::ERROR_CORE_NULL;
return core_->sendCustomCmd(cmd);
}
\ No newline at end of file
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Please register or to comment