JopieK

Powered Up - A tear down...

Recommended Posts

On 3/9/2020 at 12:02 PM, AnonymousStone said:

I'd say it's debatable if it's a good or bad default for TRAINS. Or why exactly is it a horrible default? It's basically the behaviour one would expect coming from the metal tracks or the infrared power function system. It's probably a bad default for cars and stuff like that, though. 

While it's certainly also be useful for shows, it's also an important feature for kids that allows them to build train tracks all across the house/apartment and between rooms. We have some sturdy walls around here and atm it's not fefasible to build a track between some rooms, as the train will halt half-way due to losing the signal. Putting the controller on the train to work around that isn't quite the same as having a remote controller.

I say having it as a default mode is horrible because there are good reasons why Lego chose the current mode where everything shuts down. The primary target are kids who have a single PF set (be it a train or Batmobile or what not). You do not want the parent who just bought the set for xmas to then freak out when the Batmobile takes off down the stairs or down the street because it lost connection. So in that sense I think if you are only going to have one mode the current mode makes sense for the larger customer market. But in the programming mode it would be REALLY nice to have an option to turn that behavior off, even if you have to do it every time you want it. (again, I'm not sure if power efficient reacquisition is feasible though).

Also keep in mind that most kids only have 0-8 segments of straight track. Your large layout is comparable to a show even if it is just your own house.

 

On 3/9/2020 at 6:12 PM, Jetro said:

Maybe not exactly what you are looking for, but you can already create some kind of failsafe behaviour by using multiple remotes - as long as your hub is in reach of at least 1 remote it will continue to function. More information here: https://www.hispabrickmagazine.com/content/2019/06/03/powered-up-ii-powered-up-ii-networks/

Hey, @Jetro do you know the author of that article? (grin) If you haven't done so already, would it be possible to test two remotes connected to one hub and see what happens if one of the remotes moves out of range? In particular,

  • How long does the out of range remote stay connected?
  • Does the hub continue running after the out of range remote goes out of range?
  • Does the out of range remote power down?
  • When you bring the out of range remote back in range (and if necessary you power it back up) does it automatically reconnect? If not, does it still connect when you press the green button or did it forget the network?

I only have one remote at the moment but if that does work I would likely buy another one to test in action at a real show (with all the additional bluetooth interference). It is a clunky solution but at least it is a possible solution.

 

Share this post


Link to post
Share on other sites
21 minutes ago, zephyr1934 said:

Hey, @Jetro do you know the author of that article? (grin

yes I do :laugh:

I've connected 2 remotes to a single hub and this is what happened:

22 minutes ago, zephyr1934 said:

How long does the out of range remote stay connected?

The moment the remote goes out of range it starts to power down. Before it goes out of range it starts showing the blinking search colour you see when you start it up over the colour of the connection (e.g. green).

24 minutes ago, zephyr1934 said:

Does the hub continue running after the out of range remote goes out of range?

Yes, that was the point of my experiment in the blog article. Since the 2nd remote is still in range the hub doesn't lose connection to the network and so the rain motor keeps running.

25 minutes ago, zephyr1934 said:

Does the out of range remote power down?

Answered after your first question, but for the sake of completeness, yes, it powers down as soon as it loses connection to all elements in the network

26 minutes ago, zephyr1934 said:

When you bring the out of range remote back in range (and if necessary you power it back up) does it automatically reconnect? If not, does it still connect when you press the green button or did it forget the network?

If you bring the remote back into range and press the green button it reconnects almost instantly.

If you have a 2nd remote you could put it on the train that could go out of range. But you could also "hide" it in the centre of your layout so it never goes out of range of the train hub.

I did find a strange behaviour that i had not seen before: I can only use the first remote I connect. The second remote connects to the network and works as a "bridge", but I cannot get the hub to respond to the 2nd remote I add to the network. I have tried connecting the remotes in reverse order and whatever I do, only the 1st one connected will control the other hub(s) in the network.

Share this post


Link to post
Share on other sites

The shutdown on lost connection seems like it is more for the world of RC drones than toy trains.   I should try putting the second PU remote in one of the train's cars so it is always near by with a signal to PU hub.

 

Share this post


Link to post
Share on other sites
14 hours ago, Jetro said:

If you bring the remote back into range and press the green button it reconnects almost instantly.

If you have a 2nd remote you could put it on the train that could go out of range. But you could also "hide" it in the centre of your layout so it never goes out of range of the train hub.

I did find a strange behaviour that i had not seen before: I can only use the first remote I connect. The second remote connects to the network and works as a "bridge", but I cannot get the hub to respond to the 2nd remote I add to the network. I have tried connecting the remotes in reverse order and whatever I do, only the 1st one connected will control the other hub(s) in the network.

Excellent reply, thank you for the field study and all of the info.

Share this post


Link to post
Share on other sites
On 1/3/2020 at 7:45 PM, Philo said:

Yes they are, but only for "dumb" motors (M-motor, train motor, LEDs). Control+ or Boost motors are identified through serial link protocol. See https://philohome.com/wedo2reverse/connect.htm and https://philohome.com/wedo2reverse/protocol.htm

Hello Philo,

i got a little stuck on investigating the serial protocol.

For Test and further investigation  I have connected an L Motor to my Arduino33 NANAO BLE.

I was able to reveive the Init Information, but was not able to switch over to "measurment mode" to revceive values from Motor sensors.

Do you have investigated the start sequence a little further , what is necessary to receive measurement values ?

Thanks in advance.

Marc

 

 

Share this post


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

Do you have investigated the start sequence a little further , what is necessary to receive measurement values ?

Hi Marc,

No, no progress on my side...

Share this post


Link to post
Share on other sites
Posted (edited)
Hi all,
 
Powered Up App V 3.1.0 is released in Google play Store:
 
• We are introducing LPF1 support! Yes, you are now able to use your old Power Functions hardware with the Powered Up app. It is a bit techy, but we’re sure you’ll figure it out. Find more info on our website.
• There’s more. We’re also introducing Handset support. You can now connect the handset remote and reprogram it while connected to the app.
• Sound blocks now work with numeric input starting at zero.
• We’ve also fixed some kinks in the connection center, and other small bugs.
 
 
Just tested:
 
2Port-Hub, L motor, XL motor , handset.
Pressing A+ increases speed +10.
Or whaterver else you programm.
Of course one motor can easily be reversed.
 
Nice!
 
Edited by Lok24

Share this post


Link to post
Share on other sites
2 hours ago, Lok24 said:
 
• We are introducing LPF1 support! Yes, you are now able to use your old Power Functions hardware with the Powered Up app. It is a bit techy, but we’re sure you’ll figure it out. Find more info on our website.
 

Does anyone have a link to the exact website they are talking about? I couldn’t find anything on the Lego website so far.

Share this post


Link to post
Share on other sites
Posted (edited)

Dind't find anything too.
There are two scenarios:

use the Color sensor as a sender with PF protocol

use the Color sensor as a reciever  of PF remote control

Find the tiles in the violet section  most right.

 

 

Edited by Lok24

Share this post


Link to post
Share on other sites
2 hours ago, Lok24 said:

use the Color sensor as a sender with PF protocol

use the Color sensor as a reciever  of PF remote control

That could be crazy!

Share this post


Link to post
Share on other sites
Posted (edited)

Just to confirm:

- the new 3.1.0 App delivers 2 new blocks that allows a Color Sensor to be used as a IR emiiter

- there is no information at all from LEGO on known websites

- we can use those blocks to initialize the Color Sensor in a mode that allows us to send commands in Single Output Mode (from LEGO LPF1 IR specs)
c07dddd86c9a1f33a1cae7f5235319ea463b6a0b

- the new firmware uses these BLE commands so some of you might update your tools/apps/libraries and skip LEGO Powered Up App:

 

To initialize the Color Sensor in the proper mode/frequency/color/whatever: 0a004100070100000001
To send 'x' speed to red port on channel 'y': 090081001151074x0y
To send 'x' speed to blue port on channel 'y': 090081001151075x0y
where 'x' in range [0..F] (0 increments to 7 in one direction, 9 decrements to F in the other direction) and 'y' in range [0..3]
(this assuming a Color Sensor at port A of a Powered Up hub no.4)

Edited by MajorAlvega

Share this post


Link to post
Share on other sites

is there a minimum distance between the sensor and the IR receiver, or can you butt them up without any gap? Thinking about how to use this in trains :)

Share this post


Link to post
Share on other sites

You can butt them up without any gap. The maximum distance is still unclear, at least 2.5 meters.

Share this post


Link to post
Share on other sites
Posted (edited)

Next Q: Have you checked if a PU Color sensor in a moving train can activate the IR receiver on a static track-side PF setup? Might be cool to interact that way (and no, I have no way to test this out myself).

Edited by Phil B

Share this post


Link to post
Share on other sites

Sorry, I'm locked home with wife and kids... if I build a train track in the leaving room my wife kills me :D

I believe it can (something simillar occurred me) at least if the train isn't moving extra fast.

Share this post


Link to post
Share on other sites

HI,

first post of a long time reader. I just wanted to share my experience with the new 3.1 Update of the App and the option to implement remotes. A feature I was waiting for quite some time to control a multi engine train with a single App. I know of the Win10 Automation Software that can do that but it was quite overkill for my smaller needs and als not compatible with my macOS only environment here at home.

Thanks to corona I had the whole day searching for info on how to get a little program running controlling my two 60197 Trains with a singe + and - button from one remote. That was quite the way LEGO wanted it to be without documentation whatsoever. So try and error it was. Because it took me quite some time I thought about sharing my experience here as my first contribution to the community.

img_3917quj9p.png
(bottom left: introduce speed variable, top left: acceleration +10 with 100 as max (because it would go higher but the motor does not) ,top right: deceleration -10, bottom right: stop. middle: set speed to motors)

So that little orange controller icon is the new block for the remote that simply connects to the app like any hub does. As soon as its implemented into an operation block the options get the controller buttons as icons.

What I found out:

- The controller needs to be selected with the hub selector block if its not the first device in the connection list. Here my controller is the second connected device in the list hence its number 02
- One can use the 'StartOnTrue' block to read the button which will continuously execution the programmed command giving the train some sort of acceleration as long as the button is pressed.
- Or like I have done with the 'StartOnEdge' block that only executes the program one time no matter how long you keep pushing the button. SO it is more in line with how the controller works originally.

What I still like to find out:

- The A or B selection on the controller selection block defines what of the two sides of the controller it will read. Interestingly on can choose the green button as criteria too but because I have to select A or B it never reads that green button, or I simply don't know how to read it.
- Would be nice to know if I could also change the LED color of the controller. Would be a nice feedback option for automated train switches or anything else.

 

Hope this is helpful.

-Elphiel :)

Share this post


Link to post
Share on other sites
32 minutes ago, Elphiel said:

Thanks to corona I had the whole day searching for info on how to get a little program running controlling my two 60197 Trains with a singe + and - button from one remote. That was quite the way LEGO wanted it to be without documentation whatsoever. So try and error it was. Because it took me quite some time I thought about sharing my experience here as my first contribution to the community.

Thanks for sharing!

I've got a few questions on how this works:

Do you actually program the remote? Put differently: Is the program transferred to the remote controller and works even if the smartphone is disconnected?

If yes: does the program stay on the controller even if the controller, and/or hub is turned off and on again, i.e. is power cycled?

If no: Which device needs to be connected to which? Does the smartphone need to be in reach of the controller or the hub, or both?

Thanks

Share this post


Link to post
Share on other sites
Posted (edited)

Hi,

The smartphone or the device that runs the App is the main control hub and every Powered Up device is connected to the app. So if I set my iPhone on stand-by for example, the program stops. All devices (my trains and controller) stay connected but won't run anymore or stop running as soon as I set the phone on standby. Whats nice is, that the program on the phone remembers the position of the connected devices even of they are not turned on or are connected. For example. I just turned on the train on hub3 and the controller on "hub2" in my program, and it works like before. No number or position shifting. The hub1 slots simply stays grey until i turn it on. Then I have to manually select it in the app to for it to connect. the program stops again and i can restart it now with both trains again.

So the device running the Powered Up App needs to be in reach of the trains and controllers. I tested what happens if I shut down the controller while the trains are running and it also will stop the program even if the trains stay connected. At least I could extend the range of the controller/remote to the trains to about 3 rooms if I put my phone in between. Bluetooth isn't know for its range but who knows perhaps there are some devices out there with a quite strong BT antenna what could expand the range even further.

 

:edit:

Just found out we can also change the color of the Controller LED like with the bigger Move hub. At least thats how its set in the App. Cool stuff ahead :) Now lets see if I can access the green button somehow too :)

Edited by Elphiel

Share this post


Link to post
Share on other sites
16 minutes ago, Elphiel said:

Hi,

The smartphone or the device that runs the App is the main control hub and every Powered Up device is connected to the app. So if I set my iPhone on stand-by for example, the program stops. All devices (my trains and controller) stay connected but won't run anymore or stop running as soon as I set the phone on standby. Whats nice is, that the program on the phone remembers the position of the connected devices even of they are not turned on or are connected. For example. I just turned on the train on hub3 and the controller on "hub2" in my program, and it works like before. No number or position shifting. The hub1 slots simply stays grey until i turn it on. Then I have to manually select it in the app to for it to connect. the program stops again and i can restart it now with both trains again.

So the device running the Powered Up App needs to be in reach of the trains and controllers. I tested what happens if I shut down the controller while the trains are running and it also will stop the program even if the trains stay connected. At least I could extend the range of the controller/remote to the trains to about 3 rooms if I put my phone in between. Bluetooth isn't know for its range but who knows perhaps there are some devices out there with a quite strong BT antenna what could expand the range even further.

 

Okay thanks for the answer. I was afraid that this was Lego's approach. I was hoping to see actual programming of the controller and/or hub, i.e., you create a program and it gets transferred to the controller and/or hub and then you can do the stuff with the controller without your smartphone. Now you basically use the controller as an input device for your smartphone, which is kind of a "meh" solution. They came up with a better solution even with mindstorms about a decade ago.

Share this post


Link to post
Share on other sites
7 hours ago, AnonymousStone said:

Okay thanks for the answer. I was afraid that this was Lego's approach. I was hoping to see actual programming of the controller and/or hub, i.e., you create a program and it gets transferred to the controller and/or hub and then you can do the stuff with the controller without your smartphone. Now you basically use the controller as an input device for your smartphone, which is kind of a "meh" solution. They came up with a better solution even with mindstorms about a decade ago.

That is already done with Spike / Large hub and is promised for the small hubs as well.

Of course to establish that it is important to configure the handset in the first step, which is done now.
Putting the resident program as sthe fisrts step would heve been useless.
Mindstormes is complytely different.

The Smart device as in/out offers much more possibilities, have a look at the control+ Software.

 

 

Share this post


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

What I still like to find out:

- The A or B selection on the controller selection block defines what of the two sides of the controller it will read. Interestingly on can choose the green button as criteria too but because I have to select A or B it never reads that green button, or I simply don't know how to read it.
- Would be nice to know if I could also change the LED color of the controller. Would be a nice feedback option for automated train switches or anything else.

 

Thanks, thats a good and useful program, I tried something  quite similar, works fine as well.

And yes, the green button is -hm- strange ?!?

For LED color I use

091.png

to indicate what train I'm driving.

Share this post


Link to post
Share on other sites
16 hours ago, MajorAlvega said:

To send 'x' speed to red port on channel 'y': 090081001151074x0y
To send 'x' speed to blue port on channel 'y': 090081001151075x0y
where 'x' in range [0..F] (0 increments to 7 in one direction, 9 decrements to F in the other direction) and 'y' in range [0..3]

When I saw this I was like "wait a sec, isn't that...?"

After some quick cross-referencing and testing I found that yes, the payload is just the LPF-RC protocol. Mode 7 reportedly takes a uint16, put into the message in LittleEndian this means it is {09 00 81 [port] [s&c info] 51 07 [(nibble2)(nibble3)] [0(nibble1)]}, with the nibble parts following this: https://www.philohome.com/pf/LEGO_Power_Functions_RC_v120.pdf

Just for completions sake.

Share this post


Link to post
Share on other sites

Yes it is.

The whole LPF1 IR protocol is implemented "straight", just put the relevant nibbles in the block and leave the CRC part for the Hub to take care.

Also the block that sends the command retains the last command sent. So no need to keep sending it.

Share this post


Link to post
Share on other sites
On 3/20/2020 at 1:01 PM, AnonymousStone said:

Does anyone have a link to the exact website they are talking about? I couldn’t find anything on the Lego website so far.

Here is the answer from the support team:

"I've contacted the technical team, and it seems like the link is not at the moment available. It should appear on Tuesday or Monday. You should see this link on the website page regarding Powered UP and Power Functions. For the moment, we can only say that this app is going to be able to old Power Functions. Thank you so much for your patience. "

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.