TANGO device states

Dear all,

I understand that there are a number of predefined device states in TANGO, namely:
  1. On
  2. Off
  3. Close
  4. Open
  5. Insert
  6. Extract
  7. Moving
  8. Standby
  9. Fault
  10. Init
  11. Running
  12. Alarm
  13. Disable
  14. Unknown

My question is what would it take to add custom states e.g. "Maintenance" or "Testing", and use them seamlessly across the system/API calls?

Thanks smile
Dr Andrea DeMarco, BSc (Hons) (Melita), MSc (Melita), DPhil (UEA)
Lecturer | Researcher
Department of Physics
Institute of Space Sciences and Astronomy

Room 220, Maths and Physics Building
University of Malta, Msida MSD2080, MALTA
Dear Drea,

I am not sure to understand well your request. The state is an enumerated type, and can take only the 14 pre-defined values.
As far as I know it is not possible to add other states.
The simple way to work around this limitation would be to map your maintenance state to an existing one such as "Disable"or "Init".
Does i answer to your request?
Cheers
Jean-Michel
Dear Jean-Michel,

Thanks for your comment.

Yes I believe the simplest solution would be to map my states to one of the predefined TANGO states. I was simply wondering if there is a way to actually add more states if needed e.g. in case we need more than 14 states.

Perhaps there is a way to add states to the enumerated type and recompile the system. But I'm not sure.
Dr Andrea DeMarco, BSc (Hons) (Melita), MSc (Melita), DPhil (UEA)
Lecturer | Researcher
Department of Physics
Institute of Space Sciences and Astronomy

Room 220, Maths and Physics Building
University of Malta, Msida MSD2080, MALTA
Unfortunately, adding new states had been lengthily discussed (you are not the first one to ask) and it is difficult to add new ones without breaking the compatibility with generic clients such as atkpanel or other state interpreter.

Another solution for answering to your need, would be to create a new attribute of type Enumerated that will switch from mode "operation" to mode "test"or "Maintenance". This mode attribute could be displayed in your GUI and show that the system is not operational. In that case I suggest to switch the state to "Disabled"

Cheers
Jean-Michel
Thanks Jean-Michel,

The workaround with attributes could be useful - I had not thought of that. It should be sufficient.

Cheers smile
Dr Andrea DeMarco, BSc (Hons) (Melita), MSc (Melita), DPhil (UEA)
Lecturer | Researcher
Department of Physics
Institute of Space Sciences and Astronomy

Room 220, Maths and Physics Building
University of Malta, Msida MSD2080, MALTA
 
Register or login to create to post a reply.