New hardwareinterfaces API


#83

This is something that I can easily be fixed in the editor code.

I know. I definitely want to spend 3-4 days just to review all the code that we have lie around by now.

I am not sure, lets discuss a bit more. I would say that hidden IO-Points are good for easy learnability, because the IO-Points guarantee that you can reference data throughout the entire code and all platforms via “object” and “location” within the object. This would make it simpel to understand.
If we open another data connection, this would mean that you would need to learn an entire new system.
With hidden IO-Points you just need to add the attribute hidden to what is already known. It makes it more simple.

I would agree that it does not make sense to have these invisible data as part of the processing engine… Maybe we can exclude them from the overall processing? And this is where you probably think that it is counter-intuitive? You might have a complete different method of interaction in mind? Can you write more about why it is counter-intuitive?

Maybe we can pass messages with another name then “object” to the server.
We could call them “interface” and as such they could be accessible in the server?

But if we find an intuitive method that can be modelt with what we have and we build up on it, it would make the learning curve for a new developer much smaller.


#84

Yes, exactly. IOPoints are supposed to be connected to each other and they are restricted to be of a certain datatype. In contrast to that what I had in mind is a means of communication ONLY between the HybridObject and the WebUI where you are not restricted to a specific datatype. This means you can’t connect the HybridObject communication endpoint to anything else but the WebUI communication endpoint but you can pass arbitrary data (JSON objects, strings or whatever)

I think it is a little bit confusing if you mix up those two ways of communication. Because for IOPoints you say they can only be float values, but then you suddenly make an exception and say that for “hidden” IOPoints everything is allowed. That seems inconsistent to me.

And as you said, the invisible data doesn’t need to part of the processing engine. Basically all you need is a socket connection between HybridObject and WebUI so that whenever a value on either side changes the other side can react to it accordingly, there is no need to handle links because there can’t be any.

Yes, I like that idea and it’s basically what I had in mind.


#85

@Carsten Now I understand it much better and agree.
I had the same issue before and its a good solution.


#86

The new Reality Editor 2.0 has a new simplified hardware interface API.
You can find the reference here: