Jump to content

Recommended Posts

Posted

thanks @ord

I changed the sequence and could use run_angle instead of run_stalled, which fixed my issue.

Now I have a new one.  I get a pause of exact 5 secs between line 30-31 and 38-39 but I don't know why. 

someone can tell me why?

Bildschirmfoto%202021-12-06%20um%2020.24

Posted
12 hours ago, dunes said:

thanks @ord

I changed the sequence and could use run_angle instead of run_stalled, which fixed my issue.

Now I have a new one.  I get a pause of exact 5 secs between line 30-31 and 38-39 but I don't know why. 

someone can tell me why?

Bildschirmfoto%202021-12-06%20um%2020.24

There is no "wait "in line 30,  so line 31 is executed after the "run_angle" in line 30 is completed.

Posted
On 12/2/2021 at 11:33 PM, Toastie said:

Quick question: What is the difference between the class PrimeHub and the class InventorHub?

Thanks and best
Thorsten

They are the same. One is just an alias for the other. You can read about that here.

Posted
23 hours ago, BrickTronic said:

Is there planned to support also Prime-Essential ?

Yes, it's already working:

But just like for SPIKE Prime and MINDSTORMS Robot Inventor, the main thing missing is the easy installation via our web app. These hubs can only be updated via USB, and we don't have USB support in our app yet.

But everything else is pretty similar to the other hubs, so that's why most things (sensors, motors, lights, etc.) are working already.

Posted (edited)
On 12/9/2021 at 9:16 AM, Pybricks said:

Yes, it's already working:

...

But just like for SPIKE Prime and MINDSTORMS Robot Inventor, the main thing missing is the easy installation via our web app. These hubs can only be updated via USB, and we don't have USB support in our app yet.

But everything else is pretty similar to the other hubs, so that's why most things (sensors, motors, lights, etc.) are working already.

Sounds promissing.

Is there a description how to get Code and Firmware into Inventor/Spike by USB ? I did not find.

On Github I found Firmware-Files only for Control+, City- & Move- Hubs only.

Where can I find Firmware for Inventor/Spike ?
Is Firmware for Spike-Essential the same as for Spike-Prime ?
 

Jo

Edited by BrickTronic
Posted

Can a master EV3 connect with another master EV3?

Current setup;

Master conveyor brick (1) , slave conveyor brick (2), slave crane brick (3)

Master 6DoF brick (4), slave 6DoF brick (5).

Both master do all the 'thinking' for their part, and make that each machine can run on its own. But now I'ld like to send a command from (1) to (4) to say that a pallet is ready at the pickup zone.

 

I did only manage to make a workaround for giving feedback from the 6DoF to the warehouse by adding a touch sensor to (1), that the 6DoF will go press when a movement is finished. But it's near impossible to add a sensor to (4) to see when a pallet is ready for pickup.

Or can the slave (5) connect at the same time to both masters and keep communicating with both?

Posted (edited)

And I can answer my own question, just made a quick test. Slave (5) does send commands to both masters (1) and (4) and they can be read.

51748575149_836160dbf9_b.jpg

Now need to program a way to choose if the 6DoF will be used or not with the warehouse, so they both still can be used as individual machines, or linked together.

Edited by Mr Jos
Typo
Posted (edited)

And yet another update, it seems to be not working.. it does connect to both, but when it's running a program it starts working fine, but suddenly it stops receiving bluetooth commands and crashes the robot as only 4 of the 6 motors keep working. It's everytime around 1,5minute it kicks out. Hope I can find a way to fix this, the same program runs for 10minutes without a problem when only connected with 1 master. Only giving the command client.connect('each name of the masters') 2 times makes the program dying after a good minute, without even sending/receiving messages from the new master.

EDIT: Got it working again (for now?), when it was going wrong I just put the warehouse master in connecting mode (waiting for 3slaves to connect, but I would only connect with 1), so no messages send. The 6DoF slave would connect to this one, and to the 6DoF master. The program on the 6DoF master would start normally, sending all 6motors commands. After a while the bluetooth commands would stop reaching the slave, so no more motor movement+no control loop feedback back to the 6DoF master = looked like crashing out, but not throwing any error codes.

After connecting with all 3 slaves to the warehouse master, and running the master 6DoF would work perfect, and I could send commands with bluetooth for 10minutes without issues.

Warehouse Master --> 6DoF Slave: Pickup standard height to dropoff zone 2.

6DoF Slave --> 6DoF Master: It will just see the new command and then sends this forward.

6DoF Master <--> 6DoF Slave: Master starts moving his 4motors and sends constant speeds+position for the 2 motors on the slave, this one returns feedback when in position.

6DoF Master --> 6DoF Slave --> Warehouse Master: When a 'checkpoint' has been reached a command is send through so the warehouse knows that the scissortable is free to start lowering before the 6DoF is completely finished. Also a signal 'ready' is send when the 6DoF can start a new task.

I'm happy that it does seem to work, now need to change my HMI to integrate the 6DoF commands in the main warehouse program. Love using Pybricks!

Edited by Mr Jos
Error solved
Posted (edited)

OK, I am no user of PyBricks (yet). But it appears as if you guys are really close to the hubs firmwares - developing a programming language that close to hardware seems to require detailed knowledge on that.

My question is: How do you guys judge the status of TLGs LWP3.0 document on GitHub? Is this still a good reference to the lower level communication? Or did this protocol change a lot?

As I am programming in VB6 with the n/software BLE stack as well as with ArduinoIDE/Legoino/NimBLE on ESP32s, I am sometimes a bit concerned about the validity of that document. Are there any ways to get updates or is this document (besides all the typos) which is so outdated?

Would you guys know?

All the best,
Thorsten

Edited by Toastie
  • 1 month later...
Posted (edited)
On 9/20/2021 at 8:53 PM, David Lechner said:

It is possible to set it with the pybricksdev command line tool, but not with Pybricks Code currently.

Hi @David Lechner and Pybricks-Team,

is there any (good) news about setting the name of the (city) hub within Pybricks code?

With the remote it works fine!

Thanks in advance!

Edited by Lok24
Posted

@David Lechner thanks,

As I already mentioned I want wo store user-defines values in the name.
That works fine with the remote, I use this feature already to set the motor speed to a predefined value when connected. 

Will this feature be implemented in the future or never?

That would be important for me to know, cause two other projects would not work without that.

Thanks for your efforts.

 

Posted

Have you tried setting the name via the settings menu when you install the firmware?

Which use case cannot be achieved in this way?

Posted
Just now, Pybricks said:

Have you tried setting the name via the settings menu when you install the firmware?

Which use case cannot be achieved in this way?

The  name in the hub seems to be the only possible place to save some parameters, as there is no file system. In Remote BlaBla I currently use the remote name to save configuration parameters because the hub does not allow it.

@Lok24 just mentioned the same.

Of course a bigger space than the name would be very well come!

Posted

You can save almost any amount of data in a program by including it when you install the firmware.

For example, if you install a program with:

data = 5

Then you can import it when you run a new program:

from main import data

 

Posted

You flash the program. Then you play with it. The program has a state. How can I save this state?

I sent you a link of a good use case of this... Just check it, just take at look at the documentation.... 

Posted (edited)
12 hours ago, Pybricks said:

Which use case cannot be achieved in this way?

We discussed that since a long time ....:wink:

my program "AutoBox" which is already available does the following from the users point of view :

-start the hub
- connect remote
- adjust speed of motors as desired
- store value in the name of the remote

- turn off hub and remote

- start the hub again
- connect remote
- start motors with the stored speed

Having the value(s) in the hub itself user could just start hub (without remote), and windmill or carousel would always start slow without damage.

It's a very common use!

A simple adjustable battery box.

Or just add 1-x very different programs into the hub, select one of them via remote.
So one could contribute flashed hubs for different use cases.

i.e for all of the seven sets with C+ ?

Please note that the number of users might be much greater than programmers....

 

Edited by Lok24
Posted
5 hours ago, Lok24 said:

 

Yes exactly! AutoBox and Remote BlaBla seem to be two good use cases.

A general purpose program that can be adapted to the needs of each MOC without the need of a phone or computer to configure.

In my case I had to do bit level manipulation to store what I wanted in the tiny space of the remote name... So even the name is a bit small but much better than nothing.

Anyway, pybricks is fantastic, keep on the good work!:thumbup:

Posted (edited)
58 minutes ago, vascolp said:

A general purpose program that can be adapted to the needs of each MOC without the need of a phone or computer to configure.

 

And, most important to me, no knowledge about pybricks and how to handle.

58 minutes ago, vascolp said:

Anyway, pybricks is fantastic, keep on the good work!:thumbup:

Agreed!

Edited by Lok24
Posted (edited)

I don't understand why I was not able to install PyBricks firmware on the Spike Prime/Robot Inventer hubs while I was using the Pybricks code app. Would appreciate how to do this, step by step. Thanks.

Edited by GeoCoder
Posted
Quote

I don't understand why I was not able to install PyBricks firmware on the Spike Prime/Robot Inventer hubs while I was using the Pybricks code app. Would appreciate how to do this, step by step. Thanks.

For installation on the Prime Hub and Inventor Hub, please see this page. Please note that Pybricks for those hubs is still in beta at this time, so not everything will work yet.

Quote

You flash the program. Then you play with it. The program has a state. How can I save this state?

The main issue is that the City Hub, Move Hub, and Technic Hub do not have dedicated storage space for this kind of thing.

Viewing this problem from another angle, perhaps you can make a program that doesn't turn the hub off when you press the button. It would be interesting to investigate how long the batteries will last in this case.

 

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Guest
Reply to this topic...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

  • Recently Browsing   0 members

    • No registered users viewing this page.
×
×
  • Create New...