Loading
Initialise device property from class property fallback
Device properties should follow Tango's precedence when no device-level database value is defined. Now we use the class-level value, if available, then device-level default. This also needs to remain fresh after startup so device re-initialisation can pick up changes in the database.
During device server startup, many devices of the same Tango class can request the same class database properties. Cache those values only for the duration of device_factory so startup avoids repeated database calls, while later Init calls still read the current database state directly.
- Add a startup-scoped cache for same-named class database properties
- Use class database values before declared device property defaults
- Keep later Init calls reading from the active database object
- Document the device_property precedence change
- Add new tests to cover this
Fixes: #764 (closed)
Co-authored-by: Codex codex@openai.com