Skip to content
GitLab
Explore
Sign in
Primary navigation
Search or go to…
Project
O
open_class_api
Manage
Activity
Members
Labels
Plan
Issues
Issue boards
Milestones
Wiki
Code
Merge requests
Repository
Branches
Commits
Tags
Repository graph
Compare revisions
Snippets
Build
Pipelines
Jobs
Pipeline schedules
Artifacts
Deploy
Releases
Model registry
Operate
Environments
Monitor
Incidents
Service Desk
Analyze
Value stream analytics
Contributor analytics
CI/CD analytics
Repository analytics
Model experiments
Help
Help
Support
GitLab documentation
Compare GitLab plans
GitLab community forum
Contribute to GitLab
Provide feedback
Terms and privacy
Keyboard shortcuts
?
Snippets
Groups
Projects
Show more breadcrumbs
CLASS_API
open_class_api
Commits
9f88a54e
Commit
9f88a54e
authored
2 years ago
by
Querejeta Lomas, Leire
Browse files
Options
Downloads
Patches
Plain Diff
Subir nuevo archivo
parent
ceb92d3e
Branches
Branches containing commit
No related tags found
No related merge requests found
Changes
1
Show whitespace changes
Inline
Side-by-side
Showing
1 changed file
src/api/class/src/class.cpp
+597
-0
597 additions, 0 deletions
src/api/class/src/class.cpp
with
597 additions
and
0 deletions
src/api/class/src/class.cpp
0 → 100644
+
597
−
0
View file @
9f88a54e
/**
* @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
This diff is collapsed.
Click to expand it.
Preview
0%
Loading
Try again
or
attach a new file
.
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Save comment
Cancel
Please
register
or
sign in
to comment