Only one object in reality editor (1.6.0) , all is ok in developper GUI

Hello,
I m trying version 1.6.0 for server (without extra hardware) and reality editor.

I develop a specifc hardware module, that works on previous version (beta hardware, eventUI…).

I have something stange, each time i launch reality editor i can see only one object (i have 3), not always the same.

In developer GUI, all my objects are visible.

I made some refactoring for a more academic implementation of my module, but it does not change anything.

Some one have an idea, i don’t where to serarch now.:joy:

Not sure that is a bug.

Update:

I investigate more. it seems that the object availlable is the first emitted by objectBeatSender on the ping message.

Franck

Hi @franck,
Have you tried to create a couple of generic new objects and see if they are recognized?
It would help us to pin down your problems.

I think what is happening here is, that at the end of each object initialization the system finds an error with your hardware interface. Since the initialization is a looped process, the loop just breaks, leaving you with only one initialized object.

The server continues to operate because the rest of the system is event-driven asynchronous.

If you want to share your hardware interface with us, we can check what is going on. Otherwise, you would need to debug and find out where the error is.

If you can reproduce the error with some of the public hardware interfaces, we could have a look at it.

I thanx @valentin, i found where is the trouble.
on heartbeat i see that tcs on my object is set to 0.
so i regenerate target and that correct all the problem.

@franck do you think this problem shows up if I have a couple of objects with old targets that do not have tcs (target checksum) set? This would be a bug for us to look into. If the new server finds an old object with no tcs, it should automatically generate it. I will put it on the list :slight_smile:

In fact, I have only 4 old objects at the beginning. for me it seems after the first old object, Reality Editor doesn’t get the other.

After correction, i have something strange. sometime my reality editor confuses objects : on one marker i can see several object GUI. at other time, it works perfectly.
I got an iphone 5.
for markers, i use hrqr, with string like: presencepresenceh011, luminositylyminosityh011…

I can sent to you, some of my development because it’s part of my professionnal work on a very proprietary platform. If i have time i try to reduce my code.

I think your problem will be solved when we add to the server a function to update old objects automatically. Basically updating the version number to the server version number and checking for the tcs and generate one if it’s not existing.

I believe that your error seeing to many UIs on one marker has to do with vuforia. Maybe the latest version has problems differentiating the pixel grid of the hrqr codes.
Have you tried switching on and off the extended tracking?

Hi,
Things get better without tracking.

I have doubt about interface, may be worth to open another topic to help struturing developer exchange, but i start here.

It about these 2 methods for harware interface:

  • addIO(objName, ioName, plugin, type)
  • exports.send(objName, ioName, value, mode, type)

It seems for that objName for addIO, is the name you give in the dev GUI (ex: MyObj)
and objName for send method, is the name generated in the add Target part of dev GUI(ex MyObj5Bfyra47cykj).

So i need to code a translation between the 2 objName. am i right ?
In previous version, as i remember, i think i get MyObj for the 2 methods !

There have been some changes to the naming due consistency in the entire code base.
It can also be possible that I created some sort of a bug here.
I will have time next week to look over it.
@Carsten would you have some time to check if the latest version 1.6.1 works with your media center code?
Maybe I messed up something by debugging the Arduino Yun interface (which is working quite well).

Yes I think I can look into it but not before next week.

I replace in server.js (line 1528):

hardwareInterfaceModules[objSend.type].send(msgContent.obj, msgContent.pos, objSend.value, objSend.mode, objSend.type);

by:

hardwareInterfaceModules[objSend.type].send(objectExp[msgContent.obj].name, msgContent.pos, objSend.value, objSend.mode, objSend.type);

It works but i don’t is there any side effect.