-
Notifications
You must be signed in to change notification settings - Fork 52
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Add data exchange through a global shared state block #303
base: master
Are you sure you want to change the base?
Conversation
ea46afa
to
ad4be76
Compare
Hi! In principle this looks good, but as i don't have time to dig into details at the moment, is this somehow future-proof, e.g. could hypothetically newer platforms like SPIKE, etc be supported, too, without breaking backwards compatibility? |
c382cc0
to
7d90da7
Compare
It is supposed to be as future proof as possible (and especially for Spike) but it's difficult to be fully sure and in some situation, this needs client to be updated:
What I had in mind was to propose this change (eventually keeping it in a separated branch), then move VPX forward (multiple display for DMD & Backglass, and a skeleton for plugin are already comited but this needs far more love to really give some useful feature). It will likely lead to identify some defect in the proposed design/data format that will need some updates here. |
Sounds good. I mainly wonder about this, as i guess that there will be a longer transition phase for VPX to a potential VP11, similar (most likely even longer) to what happened with VP9 and VPX. |
7d90da7
to
6fea033
Compare
b77790c
to
94b9c9b
Compare
41981ed
to
1881c59
Compare
d2d327d
to
c3cb903
Compare
5963f74
to
22ff1fb
Compare
22ff1fb
to
035c385
Compare
f3476f9
to
a81ce81
Compare
@vbousquet How should we progress with this one? |
a81ce81
to
5cd4061
Compare
I have converted this PR to a draft since I think it is not good enough for merging. I will continue to push the integration on other parts to validate the design before converting it back to a normal PR. Indeed, the last weeks have shown that implementing all the uses may show API change needs and I think it would be better to merge it only after these have stabilized. For the time being, DMD data exchange is quite nice. Next to be tackled would be alphanumeric displays, then displays (sRGB screens which still needs real use case with a VPX bridge to be validated), then lamps, then GPIO (solenoids / motors / ...). Until then, the API change risk is too high. If you prefer, this can be closed for now. |
As you wish, whatever is easier for you. Maybe some (incl. me ;)) want to follow your progress. |
89b381b
to
91ab576
Compare
91ab576
to
8f4a0dc
Compare
Subscribed ;) |
bb67041
to
22a5337
Compare
99acca8
to
764cd94
Compare
5512819
to
9fe616b
Compare
This commits allows to share prviously unshared data without overloading too much the API by adding a single data block for pulsed state, device state, modulated segments, multiple DMDs, raw DMD frames (for correct rendering and allow coloring) and video. This commit contains the skeleton and base implementation to set up the ground for more testing on client side (VPX) when support will be more advanced there. It also gives a ground to implement in LibPinMame.
This commits allows to share previously unshared data without overloading too much the API by adding a single data block for pulsed state, device state, modulated segments, multiple DMDs, raw DMD frames (for correct rendering and allow coloring) and video.
This commit contains the skeleton and base implementation to set up the ground for more testing on client side (VPX) when support will be more advanced there. It also gives a ground to implement in LibPinMame.
The aims of these changes are for VPX but could be useful for other client as well:
[Edit: multiple force-push to fix stupid build bugs (missing min/max, ...)]