apachaihapachai Posted October 19, 2018 Posted October 19, 2018 Thanks for the update! The app works great. I hope an option to switch BuWizz output levels during play will be implemented soon. Quote
imurvai Posted October 21, 2018 Author Posted October 21, 2018 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! Quote
AVCampos Posted October 21, 2018 Posted October 21, 2018 Cool! I was thinking about asking whether PUp could be supported, but you answered before I asked. 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. Quote
zux Posted October 21, 2018 Posted October 21, 2018 (edited) 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 October 21, 2018 by zux missed a word Quote
imurvai Posted October 21, 2018 Author Posted October 21, 2018 4 minutes ago, AVCampos said: Cool! I was thinking about asking whether PUp could be supported, but you answered before I asked. 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. Quote
imurvai Posted October 21, 2018 Author Posted October 21, 2018 Sorry guys, my bad. I left a bug in the released app. Here's the fixed version: BrickController2 0.11 Quote
AVCampos Posted October 22, 2018 Posted October 22, 2018 Now it works, good job! 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'! Quote
MajorAlvega Posted October 22, 2018 Posted October 22, 2018 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). Quote
imurvai Posted October 22, 2018 Author Posted October 22, 2018 10 hours ago, AVCampos said: Now it works, good job! 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... Quote
imurvai Posted October 24, 2018 Author Posted October 24, 2018 BrickController 0.2 has been released. Changes: - Lowered the latency on Android. - Tracked or skid steer vehicle can now be controller using one single joy. Quote
imurvai Posted October 28, 2018 Author Posted October 28, 2018 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. Quote
AVCampos Posted November 1, 2018 Posted November 1, 2018 Unfortunately, for me most of the times the outputs still activate at different times: Quote
imurvai Posted November 1, 2018 Author Posted November 1, 2018 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 :) Quote
AVCampos Posted November 2, 2018 Posted November 2, 2018 I also hope. 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. Quote
imurvai Posted November 4, 2018 Author Posted November 4, 2018 BrickController 2 is finally available on Google Play Store (as beta test at the moment):BrickController2 0.5 Feel free to send me comments. Happy playing! : Quote
Propain Posted November 4, 2018 Posted November 4, 2018 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! Quote
Fuzzock Posted November 4, 2018 Posted November 4, 2018 Time to buy a BT controller I guess!! Looking forward to playing with this. :) Ian... Quote
AkiyamaWataru Posted November 5, 2018 Posted November 5, 2018 @imurvai I installed your BrickController and it's not clear for me which of the features use the position information? Quote
imurvai Posted November 5, 2018 Author Posted November 5, 2018 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. Quote
AkiyamaWataru Posted November 5, 2018 Posted November 5, 2018 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. Quote
imurvai Posted November 5, 2018 Author Posted November 5, 2018 (edited) 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 November 5, 2018 by imurvai added explanation why location permission is needed Quote
AkiyamaWataru Posted November 5, 2018 Posted November 5, 2018 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 Quote
imurvai Posted November 5, 2018 Author Posted November 5, 2018 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: Quote
AVCampos Posted November 5, 2018 Posted November 5, 2018 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! Quote
Propain Posted November 6, 2018 Posted November 6, 2018 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 I will rate your app after a first proper test Quote
Recommended Posts
Join the conversation
You can post now and register later. If you have an account, sign in now to post with your account.