Saving Guidance Lines

Am working on this concept of all parts of the program knowing what guidance line is being used. The program originally started out that when you made a line, it stored the line. Lets use AB for example. The line was created and the start and end points etc then it was saved to a file called ABLine.txt. Just a single line. Then, it was suggested to have more then one line, and since the whole program used the information from ABLine.txt, and it was too hard to change, another txt file was created to store multiple AB Lines - called not surprisingly ABLines.txt.

Well this had all been working ok, until along comes touch lines. If you are already following a line (stored in ABLines.txt) and went to the Touch Lines form, it was quite difficult to know which line you were actually using from ABLine.txt. The 2 files were different format, and the Multi line one was opened and closed only as required. So when leaving the Touch forms you had to make sure you selected both the curve and AB that you desired even though they maybe never even changed. Too complicated!

So the solution has been to stop using the ABLine.txt and just use the ABLines.txt instead. A global list for curves and for lines are created so no matter where you go in the program, they all know which curves are available and which one is being used. Long story short, guidance lines are used everywhere so all the code associated with Lines needs to reflect the new lists - including OMG UTurn.

The important thing is, you need to have saved your lines previously in the list box - but the curves were never saved that way until recently. That will cause some grief indeed - but lines are quite easily made again with Touch, maybe even better if the boundary is accurate. The big benefit is the guidance forms can be much simpler since you make a line, you save a line, you use a line. Operationally it will be less confusing since there is only 1 way to do things.

5 Likes

There is a version on the DevelopmentOct Branch that you can compile and see the latest developments. Still a few things to work out - having the freedom to change and make lines in many places is also a goldmine for bugs where you can have so many different combinations of steps.

I think you got it. That is fairly user friendly. Nearly messed myself when the U-Turn alarm came on. Volume was up way too loud.

As far as the touch line form, may want to warn or somehow show which line you are running and if you change it to identify that it has changed prior to hitting the check mark.

But great job. I love the button on the main screen to switch between the ABLines.

Yes, that is tricky, with great flexibility comes the ability to change too much. Do you think maybe the AB Draw should not change the currently selected line? That that can only be done with the new cycle button or the AB Line form and choose the line? Too restrictive? No wrong answers!

Nice video on new guidance line drawing and switching Brian.

But I think that guidance line should not change right when different line is selected or new one created. Cause if autosteer is on it starts to follow new line, not go by previous guidance line. I would say that AB Draw should change to different line only when new/different line is confirmed by button, not just by selecting the line.

And maybe we need a checkbox in Vehicle settings → Guidance tab to show/hide AB Switch button on main screen. Cause, though the buttons on screen are big enough, on bumpier fields it’s quite easy to hit button that is nearby. And that’s not good, if guidance line is switched unintentionally.

This way everyone can choose what is better for them - have a button on the screen to switch between different guidance lines or use AB Draw to choose different line and confirm that, or have both options at the same time.

Ok, quite a long ramble, but my point is that guidance lines should be changed with ease (that you have accomplished, thanks :+1: ), but it should be done in a controlled manner.

Here’s a thought, when you click the ABLine Button, it shows all the ABLines, dotted like in ABLine Draw but on the main screen. Then it cycles through when you click the cycle button, then confirm or use or make current. Just a thought, But I do agree with Edu_Puixa. Make it easy, but be sure to confirm before changing while moving. If current speed greater than XX then ask to confirm, else change.

Just tried out the touch lines and quick switching between lines. Couldn’t get it much better in my opinion!
Its what i have been waiting for for years. Thanks Brian

2 Likes

What about any time there is a line change, the autosteer shuts off? That seems like the safest solution. The confirm could simply be turning back on autosteer. Would probably be the safest solution - and really doesn’t take very long. I agree, its easy to make the vehicle go 3 different directions in about a second

1 Like

I think that would be ok. How about keep running the old line, draw the new line stipple, double click the autosteer to make current. Almost the same but will not let the tractor “float” while clicking through or making new lines.

I think that is too complicated to have multiple lines. Most of the time there is only 1 ab line anyway.

Here is the ABLine change. What it does is holds a proposed line until you reset the Autosteer button. The proposed line is drawn over the top of the pivot axle. It does have a glitch when you first start the ABLine because it has not been set yet. So, defaults to 0 degrees until you do the select button. This is fairly straight forward for the ABLine. I have no idea how to start with a curve.

You could just hold a value until you cycle autosteer. Then run this value just like you did for the Cycle button. In other words, gather the number with the cycle button, run the sequence with the autosteer button.

CABLINE.txt (38.2 KB)
GUI.txt (140.3 KB)
ScreenShot

It’s always the curve that is the hard one :slight_smile:

Here are the files that I modified. I got the curve to draw the proposed curve over the original spot. I have not been able to transfer it to this spot in the field yet. But if the field is zoomed out you can see them change. Fixed the glitch to set the proposed to the current when you hit the ABLine button. Basically they cycle through until you reset the Autosteer.

FormABLine.Designer.cs.txt (25.1 KB) FormABLine.resx.txt (5.9 KB) GUI.Designer.cs.txt (137.3 KB) CABCurve.txt (37.1 KB) CABLine.txt (37.7 KB) FormABLine.cs.txt (22.1 KB)

How do others feel? Is this necessary?

As a feature, it would be awesome to see the next guidance line you are going to switch to before confirmation. That said, we can recognize each line by smartly naming them as well. :slight_smile:

Another thing concerning switching is turning direction - if I have two AB lines at 90 degrees and I make a switch. Where will tractor turn - to the right or to the left?

You can always use the Draw Form as well to see exactly which one is next, pick and choose there. That was what the form was essentially made for - creating and picking. The button to select the next line was intended to just do that, select the next line. Once big theme of AOG is easy and fast. If you made 5 lines, just use the draw form, if you only have a couple lines, you already know which line is coming up next. I’m significantly changing the gui - it’ll be quite different.

It will go the direction that is less then 90 degrees to where you are pointing.

Something I was working on over the weekend. The proposed ABLine would disappear after 10 seconds of not resetting the AutoSteer button. When you clicked the cycle button it would turn yellow and show which one you were about to pick. If you did not pick the autosteer button, the line would slowly fade out and the number would return to what abline you were currently running. It used a simple counter counting down from 50 for the timer (10sec simulator time.) Tricky part was to know what ABLine you were currently running. So just built a subroutine to compare the list of abline.heading with the current abheading and set the number to [i]. Worked really well once I remembered that [i] starts at zero.

Then I got the discourse about hiding everything when not in use (mouse-up). Well that is a big step ahead. I like the concept of everything is asleep except the display until you touch the screen.