Add read-after-write for DeviceBase property writers
This commit is contained in:
parent
a337daee93
commit
34e7dd2c6d
30
CHANGELOG.md
30
CHANGELOG.md
@ -2,6 +2,26 @@
|
||||
|
||||
## Unreleased
|
||||
|
||||
### Added
|
||||
|
||||
### Changed
|
||||
|
||||
### Deprecated
|
||||
|
||||
### Removed
|
||||
|
||||
### Fixed
|
||||
|
||||
### Security
|
||||
|
||||
## 0.2.2-dev-1 - 2023-09-24
|
||||
|
||||
### Changed
|
||||
- updating logical state in `DeviceBase` is now protected and called `propertyChanged()`
|
||||
- `DeviceBase` tries to read property after write if the writer does not set the value.
|
||||
|
||||
## 0.2.1 - 2023-09-24
|
||||
|
||||
### Added
|
||||
- Core interfaces for building a device server
|
||||
- Magix service for binding controls devices (both as RPC client and server)
|
||||
@ -20,13 +40,3 @@
|
||||
- A magix event loop implementation in Kotlin. Includes HTTP/SSE and RSocket routes.
|
||||
- Magix history database API
|
||||
- ZMQ client endpoint for Magix
|
||||
|
||||
### Changed
|
||||
|
||||
### Deprecated
|
||||
|
||||
### Removed
|
||||
|
||||
### Fixed
|
||||
|
||||
### Security
|
||||
|
@ -147,7 +147,8 @@ public abstract class DeviceBase<D : Device>(
|
||||
property.writeMeta(self, value)
|
||||
// perform read after writing if the writer did not set the value
|
||||
if (logicalState[propertyName] == null) {
|
||||
readPropertyOrNull(propertyName)
|
||||
val meta = property.readMeta(self)
|
||||
propertyChanged(propertyName, meta)
|
||||
}
|
||||
}
|
||||
|
||||
|
@ -24,7 +24,7 @@ dependencies {
|
||||
|
||||
implementation("io.ktor:ktor-client-cio:$ktorVersion")
|
||||
implementation("no.tornado:tornadofx:1.7.20")
|
||||
implementation("space.kscience:plotlykt-server:0.5.3")
|
||||
implementation("space.kscience:plotlykt-server:0.6.0")
|
||||
// implementation("com.github.Ricky12Awesome:json-schema-serialization:0.6.6")
|
||||
implementation(spclibs.logback.classic)
|
||||
}
|
||||
|
Loading…
Reference in New Issue
Block a user