I've had the same issue for months, over several updates - Sbrick visible, but no control at all. Sbrick Simple Remote finally gave me a clue when doing OTA - it fails at 2400 bytes (tried 3 times). That means the main app's OTA was also failing, but never reporting it. Firmware 4.3, App 1.6.1, Simple app 2.3, Android 5.0.2 on 2013 Moto G.
I will borrow an iPhone this week and see if I can get 4.4 on the brick.
[blockquote]Tamás Fábián said:
Thank you Marc! Could you please tell us what phone/table did you use, and what Android version do you have? Thanks!
[/blockquote]
Sorry for my late reply, Tamas: got back to work this week :(
I made the OTA firmware update with my Galaxy Note 10.1 LTE, Kit-Kat 4.4.2, Rooted
[blockquote]Tamás Fábián said:
Oh! Sorry, I see you did. :)
You can control BOTH SBricks separately, but not TOGETHER?
If one of the CANNOT be controlled ALONE, then please see the steps linked above.
If one of them CANNOT be controlled TOGETHER with the other, than we probably have a bug that is platform dependent. I'll try to figure out how does that happen.
Thank you!
[/blockquote]
Hi Tamás, sorry for late response. at first I was not able to control second S_Brick with OPO anyway.
BUT now I can control boath S-Brick (alone and together) with OPO.
After your last answer I try again steps described in the wiki page. I was switch on the BT and in application manager close all what looks like processes. Then restart device. did not help. I did it one more time but after restart I connect S-Brick in BT menu and after that I can control also second S Brick and also Update run smoothly.
Before I connect S-Brick only at beginning, I think this is the key. Connect S-bric in BT menu and then open app every time.
result is OPO, CM 12, Andriod 5.0,2 - all works fine.
thx for your patience and advices.
Thank you Alexey!
The laggy control and disconnection suggests that the app sends commands too fast. Since you have problems even with the larg-cst version, it makes me think that the so called connection interval of the BLE connection between the phone and the SBrick is too big, so the commands cannot be transferred quickly enough. This could be because you phone might use a more energy efficient (e.g. slow) connection setting by default. This can be remediated by improving the connection procedure by using a newer Android API that allows giving a hint to the OS to use fasts connection settings, but is incompatible with pre-5.0 operating systems. Fortunately this could be solved by using Java's "reflection" capability, a solution to dinamically discover available classes and their methods. I'm going to test the first version of this solution soon.
I've seen the temperature bug you've mentioned. It's caused by write and read command being mixed up (executed out-of-order), and the temperature data is being overwritten with the voltage data and vica versa (sometimes you may see funny voltages too, mostly 0.0V :) ). I thought this got sorted out in the latest version. This could be cause by the big connection interval and the resulting slow command execution exaggerating a race condition problem that is not showing up on other devices, because they are "too fast".
Actually both bugs could be because you somehow accidentally got an old build of the application. Make sure you have the 2.3 version, if unsure, please remove and reinstall it from Google Play.
I'll do a fixes in the coming days, and post maybe 2 or 3 APKs for testing.
Thank you for the help,
Tamas
1) Yes, I have only 2 Sbricks
2) Not responding Sbrick is always second. Physically it can be different Sbricks, only connection sequence matters
3) Any of Sbricks can be controlled alone, but with lags and disconnects
4) All of my bricks now have 4.4 software version. OTA update succeed only via Galaxy Note
5) Software versions on both screens are the same
6) On the first screen voltage and temperature data are constant (they updated every time you launch the app), but on the control screen temperature really updated (only for 1st Sbrick). Sometimes it shows that temperature is near -127 degrees, which is pretty cold for august =P
Voltage is always constant, even after 2 minutes of driving 2 buggy motors with load
Thank you for the feedback Alexey.
To help me hunt this bug down, I need you to answer / execute the following questions / tests:
- Did you use the same 2 SBricks for the tests?
- When you try to simultaneously control both of them, is the same physical SBrick that is not responding, or is it random?
- If there's one particular SBrick that not responding in dual mode, can it be controlled alone?
- Did you or anyone else succeed to OTA update at least one of the SBricks you tested with any method?
- Please check the SBricks firmware version with the simple control both on the start screen and when the SBricks are connected. Please send me the result. If it's always one particular physical SBrick that fails to work properly, and the firmware versions are different, then wich one is not working?
- Please check again the voltage and temperature data on the control screen. Are these values really being updated, or they are showing, but stay constant? You can alter the voltage slightly by turning motors on and off with the other, working SBrick using the same battery. The closer the battery is to being discharged, the larger the change should be. Compare the voltage / temperature changes of the two SBricks. Voltage readings shold be very close (within 0.1-0.2 volts). Temperature readins can be quite far apart even in the same environment, since the internal temperature detector is not calibrated, and it is only guaranteed to be precise within 10°C (e.g. it can be used to determine wether the brick is on fire, but as a weather station it fails miserably :) ).
Once connected, the SBrick protocol transfers voltage and temperature information in a very similar manner as it transfers channel control commands. If the telemetry data comes through, but the controls commands don't make it, that leaves very little place for bugs. Please note that it's not the only way to get the telemetry data. It is also broadcasted bythe SBrick when it is not connected. The application remembers past values, so these values CAN show up on the control screen even if it isn't possible to read them directly.
We do our best to hunt the remaining connection problems down while we are integrating the simple control's connection layer into the official application. The good new is that we quickly managed to get simple control work on any device upon we could lay our hands. I'm confident we will find the reason of your problem quickly.
Thank you for your efforts,
Tamas
Tamás, "large-cst" app works the same way as the old one on my Xperia Z Ultra (CM12.1)
Only one Sbrick from two could be controlled simultaneously. App displays that second SBrick is connected, voltage data and temperature also displaying, but no one channel runs.
This is still puzzle for me - why Sony Xperia with BLE support works much worse then Galaxy Note with Bluetooth 3.0 version (which is incompatible with SBrick at all)
Hope that you guys will be able to make a working version of the app at least until Christmas =Р
Thank you Anthony, the additional info proved to be very important :) I had a very similar issue when I started to rebuild the application. The problem was packet loss, and it is almost certain that it's packet loss again.
I'm sorry if you've already mentioned somewhere else, but... what device / os version are you using?
Thanks again!
Tamas: Sorry for the delay. I have tried both the "large-cst" and the new update that I received from the market. Both fail to update my SBrick. I also tried keeping it connected for a few minutes and then controling something and the connection indicator stays on green and for an instance only I saw it switch to that "dirty yellow" colour. I hope this hepls..
Anthony, Alexey, please try this version: https://www.dropbox.com/s/wvye8r3eufjbn4n/simpleconrtol-large-cst.apk?dl=1
It sends commands slower. It won't be released as is, because it's so slow sometimes have problems with control latency. It's just a means to locate the problem in your case.
Try connecting and waiting a minute or two without moving the controls, and then try controlling something. Also try OTA update (only to 4.4, don't downgrade to 4.0).
Let's see if this changes anything.
Oh! Sorry, I see you did. :)
You can control BOTH SBricks separately, but not TOGETHER?
If one of the CANNOT be controlled ALONE, then please see the steps linked above.
If one of them CANNOT be controlled TOGETHER with the other, than we probably have a bug that is platform dependent. I'll try to figure out how does that happen.
Thank you!
Thank you!
Did you ever did an OTA upgrade on that SBrick?
If so, try the steps described in the wiki page: https://social.sbrick.com/wiki/view/pageId/34/slug/android-sbrick-stops-working-after-ota-workaround
Thank you!
[blockquote]Tamás Fábián said:
Helo Matej,
what happens exactly when you try to use two SBricks with the new imple control and the OpO? The second SBrick never connects? (Red / yelllow status bar) Or it connects (green status bar), it only does not respond to your commands?
Thanks,
Tamas
[/blockquote]
Hi Tamás,
the second SBrick connects, its green status bar ( no info about Volts ), its not respond to my commands.
thx.
Matej.
Hi All,
After update to 4.4 I do some tests and here is my conclusions:
Test 1 on 42008 with one L-Motor for propulsion and Servo Motor for steering / devices One + one, Android 5.0.2 Cyanogen 12.0, Yoga Tablet 2, Android 5.0.1 / test with sbrick simple control and SBrick App 1.6.1 / control is stable and without losing connection. I was driving more than 8 min.
Test 2 42039 with one 5292 RC motor for propulsion and Servo Motor for steering / same devices and applications / after few seconds loosing connection. I guess that reason is a power loosing. when power fall down to 4,2 - 4,0 V connection fail.
After update I have still problem like before, with One + one device I can control only one of my Sbrick. When I try OTA i have same problem like Anthony OTA fails at various %
thx for firmware improving