Skip to content
GitLab
Menu
Projects
Groups
Snippets
Loading...
Help
Help
Support
Community forum
Keyboard shortcuts
?
Submit feedback
Contribute to GitLab
Sign in
Toggle navigation
Menu
Open sidebar
cs
ds
alarm-handler
Commits
fa283638
Commit
fa283638
authored
May 07, 2021
by
Graziano Scalamera
Browse files
Add attribute alarmDisabled
parent
2350f758
Changes
7
Expand all
Hide whitespace changes
Inline
Side-by-side
src/AlarmHandler.cpp
View file @
fa283638
This diff is collapsed.
Click to expand it.
src/AlarmHandler.h
View file @
fa283638
...
...
@@ -117,6 +117,7 @@ public:
string
alarmSummary_read
[
MAX_ALARMS
];
string
eventList_read
[
MAX_ATTR_SUMMARY
];
string
eventSummary_read
[
MAX_ATTR_SUMMARY
];
string
alarmDisabled_read
[
MAX_ALARMS
];
/* char c_normalAlarms_read[MAX_ALARMS][MAX_ATTR_NAME];
char c_unacknowledgedAlarms_read[MAX_ALARMS][MAX_ATTR_NAME];
...
...
@@ -140,6 +141,7 @@ public:
size_t
alarmSummary_sz
;
size_t
eventList_sz
;
size_t
eventSummary_sz
;
size_t
alarmDisabled_sz
;
double
last_statistics_reset_time
;
...
...
@@ -175,6 +177,7 @@ public:
Tango
::
DevString
*
attr_alarmSummary_read
;
Tango
::
DevString
*
attr_eventList_read
;
Tango
::
DevString
*
attr_eventSummary_read
;
Tango
::
DevString
*
attr_alarmDisabled_read
;
// Constructors and destructors
public:
...
...
@@ -371,6 +374,15 @@ public:
*/
virtual
void
read_eventSummary
(
Tango
::
Attribute
&
attr
);
virtual
bool
is_eventSummary_allowed
(
Tango
::
AttReqType
type
);
/**
* Attribute alarmDisabled related methods
* Description: List of alarms in out of service or shelved state
*
* Data type: Tango::DevString
* Attr type: Spectrum max = 10000
*/
virtual
void
read_alarmDisabled
(
Tango
::
Attribute
&
attr
);
virtual
bool
is_alarmDisabled_allowed
(
Tango
::
AttReqType
type
);
// Dynamic attribute methods
public:
...
...
src/AlarmHandler.xmi
View file @
fa283638
...
...
@@ -306,6 +306,14 @@
<status
abstract=
"false"
inherited=
"false"
concrete=
"true"
concreteHere=
"true"
/>
<properties
description=
""
label=
""
unit=
""
standardUnit=
""
displayUnit=
""
format=
""
maxValue=
""
minValue=
""
maxAlarm=
""
minAlarm=
""
maxWarning=
""
minWarning=
""
deltaTime=
""
deltaValue=
""
/>
</attributes>
<attributes
name=
"alarmDisabled"
attType=
"Spectrum"
rwType=
"READ"
displayLevel=
"OPERATOR"
polledPeriod=
"0"
maxX=
"10000"
maxY=
""
allocReadMember=
"true"
isDynamic=
"false"
>
<dataType
xsi:type=
"pogoDsl:StringType"
/>
<changeEvent
fire=
"true"
libCheckCriteria=
"true"
/>
<archiveEvent
fire=
"true"
libCheckCriteria=
"true"
/>
<dataReadyEvent
fire=
"false"
libCheckCriteria=
"true"
/>
<status
abstract=
"false"
inherited=
"false"
concrete=
"true"
concreteHere=
"true"
/>
<properties
description=
"List of alarms in out of service or shelved state"
label=
""
unit=
""
standardUnit=
""
displayUnit=
""
format=
""
maxValue=
""
minValue=
""
maxAlarm=
""
minAlarm=
""
maxWarning=
""
minWarning=
""
deltaTime=
""
deltaValue=
""
/>
</attributes>
<dynamicAttributes
name=
"AlarmState"
attType=
"Scalar"
rwType=
"READ"
displayLevel=
"OPERATOR"
polledPeriod=
"0"
maxX=
""
maxY=
""
allocReadMember=
"true"
isDynamic=
"true"
>
<dataType
xsi:type=
"pogoDsl:EnumType"
/>
<changeEvent
fire=
"true"
libCheckCriteria=
"true"
/>
...
...
src/AlarmHandlerClass.cpp
View file @
fa283638
...
...
@@ -1145,8 +1145,6 @@ void AlarmHandlerClass::attribute_factory(vector<Tango::Attr *> &att_list)
// Not Polled
eventlist
->
set_disp_level
(
Tango
::
OPERATOR
);
// Not Memorized
//eventlist->set_change_event(true, true);
//eventlist->set_archive_event(true, true);
att_list
.
push_back
(
eventlist
);
// Attribute : eventSummary
...
...
@@ -1171,10 +1169,34 @@ void AlarmHandlerClass::attribute_factory(vector<Tango::Attr *> &att_list)
// Not Polled
eventsummary
->
set_disp_level
(
Tango
::
OPERATOR
);
// Not Memorized
//eventsummary->set_change_event(true, true);
//eventsummary->set_archive_event(true, true);
att_list
.
push_back
(
eventsummary
);
// Attribute : alarmDisabled
alarmDisabledAttrib
*
alarmdisabled
=
new
alarmDisabledAttrib
();
Tango
::
UserDefaultAttrProp
alarmdisabled_prop
;
alarmdisabled_prop
.
set_description
(
"List of alarms in out of service or shelved state"
);
// label not set for alarmDisabled
// unit not set for alarmDisabled
// standard_unit not set for alarmDisabled
// display_unit not set for alarmDisabled
// format not set for alarmDisabled
// max_value not set for alarmDisabled
// min_value not set for alarmDisabled
// max_alarm not set for alarmDisabled
// min_alarm not set for alarmDisabled
// max_warning not set for alarmDisabled
// min_warning not set for alarmDisabled
// delta_t not set for alarmDisabled
// delta_val not set for alarmDisabled
alarmdisabled
->
set_default_properties
(
alarmdisabled_prop
);
// Not Polled
alarmdisabled
->
set_disp_level
(
Tango
::
OPERATOR
);
// Not Memorized
alarmdisabled
->
set_change_event
(
true
,
true
);
alarmdisabled
->
set_archive_event
(
true
,
true
);
att_list
.
push_back
(
alarmdisabled
);
// Create a list of static attributes
create_static_attribute_list
(
get_class_attr
()
->
get_attr_list
());
...
...
src/AlarmHandlerClass.h
View file @
fa283638
...
...
@@ -249,6 +249,19 @@ public:
{
return
(
static_cast
<
AlarmHandler
*>
(
dev
))
->
is_eventSummary_allowed
(
ty
);}
};
// Attribute alarmDisabled class definition
class
alarmDisabledAttrib
:
public
Tango
::
SpectrumAttr
{
public:
alarmDisabledAttrib
()
:
SpectrumAttr
(
"alarmDisabled"
,
Tango
::
DEV_STRING
,
Tango
::
READ
,
10000
)
{};
~
alarmDisabledAttrib
()
{};
virtual
void
read
(
Tango
::
DeviceImpl
*
dev
,
Tango
::
Attribute
&
att
)
{(
static_cast
<
AlarmHandler
*>
(
dev
))
->
read_alarmDisabled
(
att
);}
virtual
bool
is_allowed
(
Tango
::
DeviceImpl
*
dev
,
Tango
::
AttReqType
ty
)
{
return
(
static_cast
<
AlarmHandler
*>
(
dev
))
->
is_alarmDisabled_allowed
(
ty
);}
};
//=========================================
// Define classes for dynamic attributes
...
...
src/AlarmHandlerStateMachine.cpp
View file @
fa283638
...
...
@@ -284,6 +284,22 @@ bool AlarmHandler::is_eventSummary_allowed(TANGO_UNUSED(Tango::AttReqType type))
return
true
;
}
//--------------------------------------------------------
/**
* Method : AlarmHandler::is_alarmDisabled_allowed()
* Description : Execution allowed for alarmDisabled attribute
*/
//--------------------------------------------------------
bool
AlarmHandler
::
is_alarmDisabled_allowed
(
TANGO_UNUSED
(
Tango
::
AttReqType
type
))
{
// Not any excluded states for alarmDisabled attribute in read access.
/*----- PROTECTED REGION ID(AlarmHandler::alarmDisabledStateAllowed_READ) ENABLED START -----*/
/*----- PROTECTED REGION END -----*/
// AlarmHandler::alarmDisabledStateAllowed_READ
return
true
;
}
//--------------------------------------------------------
/**
* Method : AlarmHandler::is_AlarmState_allowed()
...
...
src/event_table.cpp.new
0 → 100644
View file @
fa283638
This diff is collapsed.
Click to expand it.
Write
Preview
Markdown
is supported
0%
Try again
or
attach a new file
.
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment