Corona® Ultimote

The multitouch/accelerometer/gyroscope/compass/gps event remote is on sale! You no longer need to compile for device to test your multitouch enabled code and you can even record macros to save even more time. Check us out at
http://www.mydevelopersgames.com/site/corona-ultimote-2/
or itunes app store link
http://itunes.apple.com/us/app/corona-ultimote/id480405158?ls=1&mt=8
or android market link
https://market.android.com/details?id=com.MYDevelopers.Ultimote&feature=search_result#?t=W251bGwsMSwyLDEsImNvbS5NWURldmVsb3BlcnMuVWx0aW1vdGUiXQ

Want both android and iOS? no problem, just buy the android version and we will send you a promo code for free!

Thanks for your support,
M.Y. Developers [import]uid: 55057 topic_id: 18240 reply_id: 318240[/import]

I recently purchased and it has the 1/4 screen New iPad issue. I have not heard anything back. Are you working to rectify this? [import]uid: 21331 topic_id: 18240 reply_id: 115451[/import]

Hello RealTonyK,

Yes we are going to re-build and resubmit. Ultimote was made using a pre ipad-3 build of Corona SDK so we will rebuild and resubmit it to the app store. Unfortunately we do not have an ipad 3 to test it on to see if the scaling issue is fixed but we think rebuilding with the most recent release will fix the issue.

Regards,
M.Y. Developers [import]uid: 55057 topic_id: 18240 reply_id: 115475[/import]

Sweet! Works for me. I’ll be looking forward to the update. Thanks for the response! [import]uid: 21331 topic_id: 18240 reply_id: 115476[/import]

Hello RealTonyK,

Thanks for your patience. We will let you know after it is approved, please let us know if the scaling issue is fixed.

Regards,
M.Y. Developers [import]uid: 55057 topic_id: 18240 reply_id: 115477[/import]

Will do. Thanks again! Good job! [import]uid: 21331 topic_id: 18240 reply_id: 115478[/import]

Hi,

I just bought your product to test it out.

Sadly there seems to be some bugs that prevent the display on the Ipad3 from updating. E.g. it captures the screen image on the first update (after connecting), but fails to do so after. Touch and accelometers seems to work fine.

The app also seems to partially crash after that, and the only way to get it to reconnect to the simulatior is to force quit the app (both on Iphone4s/Ipad3).

I have tested it with both your connectionDemo code and my own code and they both show the same issue. I also tried an Iphone 4S (iOS 5.1.1) with exactly the same results.

From my perspective it seems to be the way you handle the display in the app. The “option” screen only shows the four first options (left hand) while the three last options (e.g. accelometer ++) are not shown.

I understand that you haven´t been able to test it on Ipad3, which is probably the cause for the bugs under Ipad3/Iphone4s. If you need someone to debug it, just give me a notice.

Best,
Renato [import]uid: 141323 topic_id: 18240 reply_id: 116641[/import]

Hello All,

The new version of ultimote has just been approved. Please let us know if the scaling issues have been resolved.

Regards,
M.Y. Developers [import]uid: 55057 topic_id: 18240 reply_id: 116660[/import]

Hello Roberto/Renato,

we assumed from the no responses from the thread:
https://developer.coronalabs.com/forum/2011/11/25/corona®-ultimote-sale-15-today-only-0

That the issue was resolved. The application worked just fine on the simulator and worked on the devices we have here (ipod4.) The update also went past apple’s rigorous approval process where they should have tested it on all devices. Have you installed the update?

Just send us your paypal address and we will send you a full refund.

Regards,
M.Y. Developers [import]uid: 55057 topic_id: 18240 reply_id: 117572[/import]

The application is still having issues.
First, I was using the older version with my iPad 1 until this update. I was able to connect for awhile, then it just started stating:
autolanServerFound
autolanConnectionFailed
autolanServerFound
relaying the proper IP, but not controlling anything.
then connected 1 out of 3 or 4 times, then just stopped connecting.

This new build has a few bugs.

  1. Same as above, although once it stayed on connection established, but did not control anything.
  2. Tapping a couple times in a row will cause the screen to stretch out width wise (the arrow - which got in the way horribly the few times it did run on the iPad 1)
  3. Sometimes it will get stuck on the menu screen, showing the touch circles, making the buttons “bump”, but not doing anything.

I’m trying to stay confident here guys, but…

[import]uid: 21331 topic_id: 18240 reply_id: 117620[/import]

Hello RealTony,

Could you send us your DeviceID? We will get you added to our developer account so we can send you builds to see if the problem is fixed. Our email is
mydevelopergames@gmail.com

Regards,
M.Y. Developers [import]uid: 55057 topic_id: 18240 reply_id: 117628[/import]

Hello All,

If you are unable to see the accelerometer button then you may enable it by using the function:

ultimote.connect()  
ultimote.registerEvents({"touch","accelerometer"})  

We are issuing another update to fix the button issue, in the meantime please use the registerEvents function to turn on or off the functions you need.
Here is a typical usage scenario:

ultimote = require "Ultimote" ultimote.connect()--you need to connect to device to register events   
--the following instructs the device to send touch(multitouch), accelerometer, location   
--and heading events to the Corona® simulator.   
ultimote.registerEvents({"touch","accelerometer","location","heading"})   
--to stop sending particular events, just take it off the list.   
ultimote.registerEvents({"touch","accelerometer","location"}) –-stops sending compass events   

Regards,
M.Y. Developers [import]uid: 55057 topic_id: 18240 reply_id: 117644[/import]

Well, the app still behaves somewhat oddly. It now shows all the option menu buttons on Iphone 4S, but I still have to force quit it once my phone goes to sleep. E.g. it won´t reconnect if it does.

Apart from that, it is connecting, it is sending touch events and accelometer readings. I had to remove “system.setAccelometerInterval(100)” in my program though or it gave an error in Ultimote.lua for some reason. It also sometimes crashes Corona Simulator, but I don´t know why.

The “ultimote.autoScreenCapture({name = “screen.jpg”, period = 10000})” seems to send “CAPTURE IMAGE -------” to the console and if it is a first connection/capture, the Iphone 4S recieves the screen and shows it. After that the console shows “CAPTURE IMAGE -------” but does not update the screen.

Is this because I change the screen display by adding a new menu layer? E.g. could I connect the neq display object to ultimote in some way that it force feeds it the correct gfx? And yes, will a unstable connection affect the results of the screen capture?
[import]uid: 164079 topic_id: 18240 reply_id: 120353[/import]

@roberto,
“it gave an error in Ultimote.lua for some reason”
Could you copy and paste the stack trace for the error please?
Thanks for the feedback. The screen sleep issue should be resolved by just having

system.setIdleTimer( false )  

after you require the ultimote library. All system commands will be sent and executed on the device.

the screen capture utility should be used sparingly as there is only so much bandwidth left after sending touch and accelerometer packets. We suggest you add the following field to any display object you wish to interact with on the device

local example = display.newCircle(5,5,5)  
example.ultimoteObject = true;  

ultimote will scan the display tree for this table key and will send these objects to the device. This uses much less bandwidth than sending the entire screen.

Regards,
M.Y. Developers [import]uid: 55057 topic_id: 18240 reply_id: 120368[/import]

Well, the app still behaves somewhat oddly. It now shows all the option menu buttons on Iphone 4S, but I still have to force quit it once my phone goes to sleep. E.g. it won´t reconnect if it does.

Apart from that, it is connecting, it is sending touch events and accelometer readings. I had to remove “system.setAccelometerInterval(100)” in my program though or it gave an error in Ultimote.lua for some reason. It also sometimes crashes Corona Simulator, but I don´t know why.

The “ultimote.autoScreenCapture({name = “screen.jpg”, period = 10000})” seems to send “CAPTURE IMAGE -------” to the console and if it is a first connection/capture, the Iphone 4S recieves the screen and shows it. After that the console shows “CAPTURE IMAGE -------” but does not update the screen.

Is this because I change the screen display by adding a new menu layer? E.g. could I connect the neq display object to ultimote in some way that it force feeds it the correct gfx? And yes, will a unstable connection affect the results of the screen capture?
[import]uid: 164079 topic_id: 18240 reply_id: 120353[/import]

@roberto,
“it gave an error in Ultimote.lua for some reason”
Could you copy and paste the stack trace for the error please?
Thanks for the feedback. The screen sleep issue should be resolved by just having

system.setIdleTimer( false )  

after you require the ultimote library. All system commands will be sent and executed on the device.

the screen capture utility should be used sparingly as there is only so much bandwidth left after sending touch and accelerometer packets. We suggest you add the following field to any display object you wish to interact with on the device

local example = display.newCircle(5,5,5)  
example.ultimoteObject = true;  

ultimote will scan the display tree for this table key and will send these objects to the device. This uses much less bandwidth than sending the entire screen.

Regards,
M.Y. Developers [import]uid: 55057 topic_id: 18240 reply_id: 120368[/import]

Guys,

You could really do with optimising this code.

I have been testing an app that creates debug data for a pathfinding grid.

The high  amount of display objects on screen.renders utlimote unusable.

I add a lot of sqaures and lines etc. Most of this stuff need not be considered by ultimote.

I added a quick fix for my purposes in that I add an ignoreUltimote member to any display object (including children)I do not need to consider , this is a very naive implementation and I imagine the user would require more powerful options.

My fix is below. (Note I also did some other small optimisations in this function)

local function expandGroup(object, objectTable)

    local numchildren = object.numChildren
    if((numchildren and numchildren >0) and (not(object.ignoreUltimote))) then
        --print(object);
        for j = numchildren, 1,-1 do
            objectTable[#objectTable+1] = object
            expandGroup(object[j],objectTable)
        end                
    else
        if(  not (object.ignoreUltimote) ) then
        objectTable[#objectTable+1] = object
           end
    end
end

Great tool , guys.

Best,

Dalste

Also how do i get the promo code for ios?

Best,

Dalste

Hello Dalste,

Thanks for your interest. Are you trying to send all objects? You can selectively send only a few objects with the ultimoteObject = true flag. 

Please send us an email via mydevelopergames@gmail.com so we can send you the promo code, it probably wont be a good idea to post it publicly.

Regards,

M.Y. Developers

Guys,

You could really do with optimising this code.

I have been testing an app that creates debug data for a pathfinding grid.

The high  amount of display objects on screen.renders utlimote unusable.

I add a lot of sqaures and lines etc. Most of this stuff need not be considered by ultimote.

I added a quick fix for my purposes in that I add an ignoreUltimote member to any display object (including children)I do not need to consider , this is a very naive implementation and I imagine the user would require more powerful options.

My fix is below. (Note I also did some other small optimisations in this function)

local function expandGroup(object, objectTable)

    local numchildren = object.numChildren
    if((numchildren and numchildren >0) and (not(object.ignoreUltimote))) then
        --print(object);
        for j = numchildren, 1,-1 do
            objectTable[#objectTable+1] = object
            expandGroup(object[j],objectTable)
        end                
    else
        if(  not (object.ignoreUltimote) ) then
        objectTable[#objectTable+1] = object
           end
    end
end

Great tool , guys.

Best,

Dalste