What is the best way to deal with the situation when I want to grow 400 carrots and 100 basils?
Do I need to create 500 sequences for seeding and 500 sequences for weeding and another 500 for watering?
I can use a single farmware like Loop-Plants-With-Filters for all these operations on all plants but I have no way to pass parameters to farmware from a sequence, The only way to pass parameters is to specify them on farmware page. This makes this universal farmware only usable for one operation on one plant type until I change parameters manually
Please let me know if I missed something
One way to accomplish this is to build sequences that water all (or a few chunks) at a time. Then nest the chunks in a larger sequence. This*** is eventually what I had to do to get the seeds planted.
***I attempted to use @renaud’s Loop-With-Filter creation for planting, but it would eventually choke on the large number of plants (dozens) and error out. Adding insult to injury, if I executed the Farmware again, it would interweave the new run with what was left of the old run, creating strange behavior that almost borke my LL needle. I feel like I was hitting an upper limit of computing resources with the LWF farmware and the nested sequences needed to grab a seed, run out to the desired position, and then plant it. It does work great however with watering. Watering is much more simple: travel to each position, run a very short sequence that turns the water on and off. Even then, I created a sequence for each plant type, and made use of the multiple copies renaud put on GitHub.
Guys, we don’t need a fancy UI. Just let us pass parameters to Farmware. See the following screen that shows the proposed way. Please make bunch of people happy!
I frankly do not see why seeding or watering with LWF or MLH farmware would stress computing power. I successfully seeded about 30 carrots with MLH. Yes I had to stop it few times because needle failed to grab a seed, but when I restarted the sequence it continued from where it left (thanks for filtering option).
The real problem is inability to pass parameters to farmware. I urge everyone who bumped into the same problem to raise this post up so we can get this feature in a reasonable time.
Neither do I, from a hardware standpoint. I’m sorry I wasn’t very clear when I wrote ‘computing resources’: there are plenty of OS/software ‘resources’ (think POSIX message queues, memory stacks, heap size, etc) that can be arbitrarily assigned limits. I’ve had experience with this kind of thing in the embedded avionics industry and fixing them can be quite frustrating. That being said, I’m not immersed in the Arduino/Pi world and I may very well be incorrect. I’m merely reporting what I have noticed and that’s if I lessen the number of plants operated upon or lessen the length of the called sequences, then I don’t have the errors. I was able to reproduce the error behavior on three devices: a gaming computer, a work laptop, and my phone in attempts to isolate it to the FB. My only conjecture is a lack of computing resources be they hardware or software. What thoughts do you have to add to the discussion?
Well, it is hard to say what causes the errors that you observed. If you clearly see the connection between the number of sequences you execute in a batch and the number of errors - something must be wrong. If you have errors in the log they might be the first place to start.
If I’d guess - I’d say it is a movement problem that manifests itself only after prolonged movement. At certain point bot gives up moving to a position and this aborts the sequence.
Thanks! I’m hoping this will be OBE when the FB dev team releases a new software build that incorporates some of your’s, renaud’s, and the community’s ideas surrounding abstract looping and passing parameters between sequences and Farmware. The error logs in question have been overwritten a long time ago and I have a workable solution. Since I’m in the growing season currently, I don’t have luxury of hacking at the expense of losing growing time.
Run Farmware sequence steps now accept inputs. See the June 7, 208 Software Update for details.