dunes Posted December 6, 2021 Posted December 6, 2021 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? Quote
Lok24 Posted December 7, 2021 Posted December 7, 2021 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? There is no "wait "in line 30, so line 31 is executed after the "run_angle" in line 30 is completed. Quote
dunes Posted December 7, 2021 Posted December 7, 2021 This is what I meant. The movement of line 30 is finished end then the pause happen. Quote
Pybricks Posted December 7, 2021 Author Posted December 7, 2021 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. Quote
BrickTronic Posted December 8, 2021 Posted December 8, 2021 18 hours ago, Pybricks said: They are the same. One is just an alias for the other. You can read about that here. Is there planned to support also Prime-Essential ? Quote
Pybricks Posted December 9, 2021 Author Posted December 9, 2021 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. Quote
BrickTronic Posted December 10, 2021 Posted December 10, 2021 (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 December 10, 2021 by BrickTronic Quote
Mr Jos Posted December 14, 2021 Posted December 14, 2021 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? Quote
Mr Jos Posted December 15, 2021 Posted December 15, 2021 (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. 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 December 15, 2021 by Mr Jos Typo Quote
Mr Jos Posted December 15, 2021 Posted December 15, 2021 (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 December 16, 2021 by Mr Jos Error solved Quote
Toastie Posted December 15, 2021 Posted December 15, 2021 (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 December 15, 2021 by Toastie Quote
Lok24 Posted January 19, 2022 Posted January 19, 2022 (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 January 19, 2022 by Lok24 Quote
David Lechner Posted January 25, 2022 Posted January 25, 2022 You can set the name when you flash the firmware in Pybricks Code, but not at runtime. Quote
Lok24 Posted January 25, 2022 Posted January 25, 2022 @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. Quote
David Lechner Posted January 25, 2022 Posted January 25, 2022 We currently don't have plans to implement this. Quote
Pybricks Posted January 25, 2022 Author Posted January 25, 2022 Have you tried setting the name via the settings menu when you install the firmware? Which use case cannot be achieved in this way? Quote
vascolp Posted January 25, 2022 Posted January 25, 2022 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! Quote
Pybricks Posted January 25, 2022 Author Posted January 25, 2022 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 Quote
vascolp Posted January 25, 2022 Posted January 25, 2022 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.... Quote
Lok24 Posted January 26, 2022 Posted January 26, 2022 (edited) 12 hours ago, Pybricks said: Which use case cannot be achieved in this way? We discussed that since a long time .... 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 January 26, 2022 by Lok24 Quote
vascolp Posted January 26, 2022 Posted January 26, 2022 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! Quote
Lok24 Posted January 26, 2022 Posted January 26, 2022 (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! Agreed! Edited January 26, 2022 by Lok24 Quote
GeoCoder Posted January 27, 2022 Posted January 27, 2022 (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 January 27, 2022 by GeoCoder Quote
Pybricks Posted January 29, 2022 Author Posted January 29, 2022 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. 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.