Recommended Posts

Hey Guys!

I proudly announce that the first early test version of BrickController 2 is now available on the following link for Android: BrickController2 0.1

New features:
- Live BuWizz output level setting
- Powered-Up support (Boost support will be added shortly)
- Extra button options: simple toggle, alternating, circular, pingpong
- Axis (joystick) characteristic setting: linear, exponential, logarithmic
- Axis dead zone setting

You could ask why the earth I created completely new app. Well the reason is that BrickController 2 will be released for iOS as well. At this point I chose to release the first test version for Android only and see how it goes.
Anyway the app runs on my IPad very well but unfortunately it is not possible to distribute it other than the AppStore. Once it gets stable enough I'll publish it in both stores.

There's still some stuff to polish, but let me know your thoughts.

Happy playing!

Share this post


Link to post
Share on other sites

Cool! I was thinking about asking whether PUp could be supported, but you answered before I asked. :laugh:

I tried the app (LG V20 on Android 7.0), and it asked me for location access, saying that it's required for Bluetooth. That's weird, as neither SBrickController nor BrickController 1 asked that.

Anyway, once I granted location access, the app started as expected. The controller tester works well, detecting all inputs.

A problem happens when adding a controller action to a profile: pressing a button or moving a stick crashes the app. When I restart the app, the action I tried appears on the profile, but I can't edit it (i.e. assign an action), only delete it.

Later I intend to test on my other devices (NVIDIA Shield Tablet K1 on 7.0, Alcatel One Touch Pop C7 on 4.4.3, LG G2 on 5.0, and Sony Xperia Z1 Compact on 5.0) and with a different controller, to see if there's any difference.

Share this post


Link to post
Share on other sites

Great News!

8 hours ago, imurvai said:

New features:
- Powered-Up support (Boost support will be added shortly)

How does this work? Do I still need new PU controller for some device pairing magic?

Edited by zux
missed a word

Share this post


Link to post
Share on other sites
4 minutes ago, AVCampos said:

Cool! I was thinking about asking whether PUp could be supported, but you answered before I asked. :laugh:

I tried the app (LG V20 on Android 7.0), and it asked me for location access, saying that it's required for Bluetooth. That's weird, as neither SBrickController nor BrickController 1 asked that.

Anyway, once I granted location access, the app started as expected. The controller tester works well, detecting all inputs.

A problem happens when adding a controller action to a profile: pressing a button or moving a stick crashes the app. When I restart the app, the action I tried appears on the profile, but I can't edit it (i.e. assign an action), only delete it.

Later I intend to test on my other devices (NVIDIA Shield Tablet K1 on 7.0, Alcatel One Touch Pop C7 on 4.4.3, LG G2 on 5.0, and Sony Xperia Z1 Compact on 5.0) and with a different controller, to see if there's any difference.

That's weird, BC1 also required location access :)
The profiler crash also weird, I'll try to figure out what caused it...

3 minutes ago, zux said:

Great News!

How does this work? Do I still new PU controller for some device pairing magic?

This is something I didn't think about :) So the PU hub is supported by the app,  the PU controller is not (unless it can be paired with Android as a game controller which I doubt). So still any Android compatible gamepad can be used.

Share this post


Link to post
Share on other sites

Now it works, good job! :thumbup:

I'm pleased to report that it finds, connects to, and successfully controls the 76112 Batmobile. However, compared to the previous SBrickController and BrickController, the new app has a significant latency in the controls, and if a button is configured to power two outputs, they don't activate at the same time. In the case of tank-link vehicles like the Batmobile or my FExplorer, this means the vehicle turns slightly before moving or stopping. This happens not only with PUp, but also with SBrick (I don't have BuWizz and didn't test with PF).

Here is a video of this behaviour:

 

21 hours ago, imurvai said:

This is something I didn't think about :) So the PU hub is supported by the app,  the PU controller is not (unless it can be paired with Android as a game controller which I doubt). So still any Android compatible gamepad can be used.

I don't think the PUp controller is a Bluetooth HID device; what I know, from talking with @MajorAlvega, is that the PUp hub behaves as a BT slave when it connects to a phone/tablet, and as a master when connecting to a PUp controller.

Also, here's a suggestion for another, less useful functionality: to change the colour of the PUp hub's LED via buttons. Pimpin'! :grin:

Share this post


Link to post
Share on other sites

The PUP handset is not a HID device. But I think it is possible to create a driver that creates a HID device with it but that would depend on the operating system.
And yes, the PUP hub can assume both roles (master and slave) at the same time device, that makes it very interesting when several devices are present (like several hubs and one handset joined in some sort of BT mesh).

Share this post


Link to post
Share on other sites
10 hours ago, AVCampos said:

Now it works, good job! :thumbup:

I'm pleased to report that it finds, connects to, and successfully controls the 76112 Batmobile. However, compared to the previous SBrickController and BrickController, the new app has a significant latency in the controls, and if a button is configured to power two outputs, they don't activate at the same time.

Hi,
It's a good news it's working at least :) I also noticed the latency, I'm working on lowering it as much as possible...

Share this post


Link to post
Share on other sites

BrickController2 0.3 has been released.
Changes:
-  New icon :)
- Device port tester can be opened from controller action setup.
- Fixed BuWizz output level setting if app goes to background and comes back.
- Other fixes.

In case no bugs are reported this is the last version before releasing it in the App and Play Store.

Happy playing.

Share this post


Link to post
Share on other sites
2 minutes ago, AVCampos said:

Unfortunately, for me most of the times the outputs still activate at different times:

Hi,
Unfortunately it's a limitation of the PU hub. the outputs can't be set at the same time only one after another. It is much better if you use the analog joysticks since the outputs are set gradually as you push the joys.
I hope Lego will fix it in the firmware and also publish the protocol officially :)

Share this post


Link to post
Share on other sites

I also hope. :classic: I'm optimistic about the protocol release, since TLG also released the Power Functions protocol. Maybe they're holding it until a Technic variant of PUp gets released to the market.

Also, the PUp and Boost hubs (but not WeDo 2.0) have updateable firmware, so a future correction is a real possibility.

Share this post


Link to post
Share on other sites

First of all, thank you for this great app!

I just downloaded it for Android. I'm using a Samsung Galaxy S8, Buwizz 2.0 and a Xbox One Controller.

The controller testing works as well as the searching and connecting to the device. After I created a profile, I pressed the green "play button" . The app tries to connect and the light on the buwizz stays on for a second - so it is connected I guess. But the app jumps instantly back to the creation list and the buwizz starts blinking again. So I'm not able to try the functions. 

 

Has anyone else a problem like this or am I doing something wrong?  Thank you for your help!

 

Share this post


Link to post
Share on other sites
10 hours ago, Propain said:

The controller testing works as well as the searching and connecting to the device. After I created a profile, I pressed the green "play button" . The app tries to connect and the light on the buwizz stays on for a second - so it is connected I guess. But the app jumps instantly back to the creation list and the buwizz starts blinking again. So I'm not able to try the functions. 

Hmm, that's weird. I experienced such a behavior using one of my BT controllers. If I turn the controller on when the app has already been started then for some reason it jumps back to the creation list page. I'll look into why it could happen...

27 minutes ago, AkiyamaWataru said:

@imurvai I installed your BrickController and it's not clear for me which of the features use the position information?

Hi, what do you mean exactly?
Even though I haven't created a user guide for BC2 please read this one: BrickController user guide . This is for the BC1 but the main concept is more-or-less the same so could be useful to set up your profiles correctly.

Share this post


Link to post
Share on other sites
1 hour ago, imurvai said:

Hi, what do you mean exactly?
Even though I haven't created a user guide for BC2 please read this one: BrickController user guide . This is for the BC1 but the main concept is more-or-less the same so could be useful to set up your profiles correctly.

While installing the BC2 it asked for permission to use the Location Information. I just asked to understand, why you should need these information. Or else I will remove the permission for BC2.

Share this post


Link to post
Share on other sites
1 hour ago, AkiyamaWataru said:

While installing the BC2 it asked for permission to use the Location Information. I just asked to understand, why you should need these information. Or else I will remove the permission for BC2.

Oh, got it :) For some reason the bluetooth access needs it, the app doesn't care about your location.
More info: Android 6.0 changes
"To access the hardware identifiers of nearby external devices via Bluetooth and Wi-Fi scans, your app must now have the ACCESS_FINE_LOCATION or ACCESS_COARSE_LOCATION permissions"

Edited by imurvai
added explanation why location permission is needed

Share this post


Link to post
Share on other sites
33 minutes ago, imurvai said:

Oh, got it :) For some reason the bluetooth access needs it, the app doesn't care about your location.
More info: Android 6.0 changes
"To access the hardware identifiers of nearby external devices via Bluetooth and Wi-Fi scans, your app must now have the ACCESS_FINE_LOCATION or ACCESS_COARSE_LOCATION permissions"

Seams like a dumb reason, but if it's necessary from the system we'll have to go with it. I'll be testing it soon with a Moto Z² Play and the appropriate GamePad-Moto-Mod

Share this post


Link to post
Share on other sites
23 hours ago, Propain said:

The controller testing works as well as the searching and connecting to the device. After I created a profile, I pressed the green "play button" . The app tries to connect and the light on the buwizz stays on for a second - so it is connected I guess. But the app jumps instantly back to the creation list and the buwizz starts blinking again. So I'm not able to try the functions. 

Hi,
I managed to reproduce the issue and the fix is on its way. The app should be updated automatically when it goes through the Play Store review process...

Some teaser for the iOS version:

 

 

Share this post


Link to post
Share on other sites

I've just done some live driving with the Batmobile (instead of holding it in place) and tried some sudden full forward/reverse kicks to try to reproduce the LEGO app's predefined moves. And indeed, the official app can make the Batmobile do more sudden starts/stops (i.e. better wheelies).

This means that the PUp protocol is definitely able to handle synchronised outputs, which in turn means that, once TLG publishes the protocol, you should be able to improve your app.

Anyway, driving stick (pun intended), even as it is, is waaay better than touchscreen controls, congratulations on all the work you have had! :thumbup:

Share this post


Link to post
Share on other sites
19 hours ago, imurvai said:

Hi,
I managed to reproduce the issue and the fix is on its way. The app should be updated automatically when it goes through the Play Store review process...

It works! Thanks a lot :sweet:

I will rate your app after a first proper test :thumbup:

Share this post


Link to post
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now

  • Recently Browsing   0 members

    No registered users viewing this page.