V 5 Beta

I there any chance it will be done in a final v5? Would do it myself but I dont think my coding is nearly good enough…

Sounds great, will test out next week.

Great work! Will AGIO send out NTRIP RTK NMEA sentences on a com port, or UDP?

Newbie questions again…

I got mtz8302’s dual gps working, via usb everything works.
UDP i get no gps data?
AGIO set UDP ON, tested ntrip via UDP, it works, but no data…
AOG_GPS_ESP32 's debug messages shows got ntrip data, so data flowing in, but no out?

Confused.

Am I right, if I assume when just in same subnet (ip’s etc “right”), agio just gets what is available?
No need to (havent FOUND any place to give nothing but com-ports) set up nothing, UDP on and thats it?

But anyway, funny to see 80cm of sheetmetal with two antennas attached to give so accurate roll and heading without moving.

And, I haven’t said anywhere yet the obvious, great work you all. I’ll try contribute something else than just questions sometime… :slight_smile:

Maybe begin to write “beginners guide to agopengs, what to do and what to avoid”…

Just read so much problems with gyros roll-sensors etc, decided not to go there first… :slight_smile:

And yes, this is going to lawnmower… :slight_smile:

edit: with 5003

1 Like

I’m feeling dumb…
With 5004 just works. :slight_smile:

1 Like

Probably not a good place to post this but I made a sticky abline. We were running a small tractor and a small tool with no auto steer. When turning the u-turn it was difficult to find what line you were supposed to drive to as it kept jumping. So, only the selected line would show up. When you got to the end of the row, you manually advanced the line right or left before making the turn. Perhaps a sticky curve may work in your situation. Just a thought.

1 Like

Was just messing around with the app when this came out, posted in case it is usefull, if not please ignore

image

See the end of this message for details on invoking 
just-in-time (JIT) debugging instead of this dialog box.

************** Exception Text **************
System.ComponentModel.Win32Exception (0x80004005): No application is associated with the specified file for this operation
   at System.Diagnostics.Process.StartWithShellExecuteEx(ProcessStartInfo startInfo)
   at System.Diagnostics.Process.Start()
   at System.Diagnostics.Process.Start(ProcessStartInfo startInfo)
   at System.Diagnostics.Process.Start(String fileName)
   at AgOpenGPS.FormBoundary.btnOpenGoogleEarth_Click(Object sender, EventArgs e) in C:\Users\Grizs\Desktop\SourceCode46\GPS\Forms\FormBoundary.cs:line 273
   at System.Windows.Forms.Control.OnClick(EventArgs e)
   at System.Windows.Forms.Button.OnClick(EventArgs e)
   at System.Windows.Forms.Button.OnMouseUp(MouseEventArgs mevent)
   at System.Windows.Forms.Control.WmMouseUp(Message& m, MouseButtons button, Int32 clicks)
   at System.Windows.Forms.Control.WndProc(Message& m)
   at System.Windows.Forms.ButtonBase.WndProc(Message& m)
   at System.Windows.Forms.Button.WndProc(Message& m)
   at System.Windows.Forms.Control.ControlNativeWindow.OnMessage(Message& m)
   at System.Windows.Forms.Control.ControlNativeWindow.WndProc(Message& m)
   at System.Windows.Forms.NativeWindow.Callback(IntPtr hWnd, Int32 msg, IntPtr wparam, IntPtr lparam)


************** Loaded Assemblies **************
mscorlib
    Assembly Version: 4.0.0.0
    Win32 Version: 4.8.4300.0 built by: NET48REL1LAST_C
    CodeBase: file:///C:/Windows/Microsoft.NET/Framework/v4.0.30319/mscorlib.dll
----------------------------------------
AgOpenGPS
    Assembly Version: 5.0.0.4
    Win32 Version: 5.0.0.4
    CodeBase: file:///C:/AOG_5004/AgOpenGPS_5_Beta/AgOpenGPS.exe
----------------------------------------
System
    Assembly Version: 4.0.0.0
    Win32 Version: 4.8.4300.0 built by: NET48REL1LAST_C
    CodeBase: file:///C:/Windows/Microsoft.Net/assembly/GAC_MSIL/System/v4.0_4.0.0.0__b77a5c561934e089/System.dll
----------------------------------------
System.Windows.Forms
    Assembly Version: 4.0.0.0
    Win32 Version: 4.8.4270.0 built by: NET48REL1LAST_C
    CodeBase: file:///C:/Windows/Microsoft.Net/assembly/GAC_MSIL/System.Windows.Forms/v4.0_4.0.0.0__b77a5c561934e089/System.Windows.Forms.dll
----------------------------------------
System.Drawing
    Assembly Version: 4.0.0.0
    Win32 Version: 4.8.3752.0 built by: NET48REL1
    CodeBase: file:///C:/Windows/Microsoft.Net/assembly/GAC_MSIL/System.Drawing/v4.0_4.0.0.0__b03f5f7f11d50a3a/System.Drawing.dll
----------------------------------------
System.Configuration
    Assembly Version: 4.0.0.0
    Win32 Version: 4.8.4190.0 built by: NET48REL1LAST_B
    CodeBase: file:///C:/Windows/Microsoft.Net/assembly/GAC_MSIL/System.Configuration/v4.0_4.0.0.0__b03f5f7f11d50a3a/System.Configuration.dll
----------------------------------------
System.Core
    Assembly Version: 4.0.0.0
    Win32 Version: 4.8.4300.0 built by: NET48REL1LAST_C
    CodeBase: file:///C:/Windows/Microsoft.Net/assembly/GAC_MSIL/System.Core/v4.0_4.0.0.0__b77a5c561934e089/System.Core.dll
----------------------------------------
System.Xml
    Assembly Version: 4.0.0.0
    Win32 Version: 4.8.3752.0 built by: NET48REL1
    CodeBase: file:///C:/Windows/Microsoft.Net/assembly/GAC_MSIL/System.Xml/v4.0_4.0.0.0__b77a5c561934e089/System.Xml.dll
----------------------------------------
OpenTK.GLControl
    Assembly Version: 1.2.0.0
    Win32 Version: 1.2.2336.6514-pre
    CodeBase: file:///C:/AOG_5004/AgOpenGPS_5_Beta/OpenTK.GLControl.DLL
----------------------------------------
OpenTK
    Assembly Version: 1.2.0.0
    Win32 Version: 1.2.2336.6514-pre
    CodeBase: file:///C:/AOG_5004/AgOpenGPS_5_Beta/OpenTK.DLL
----------------------------------------
Control.Draggable
    Assembly Version: 1.0.7235.37687
    Win32 Version: 1.0.7235.37687
    CodeBase: file:///C:/AOG_5004/AgOpenGPS_5_Beta/Control.Draggable.DLL
----------------------------------------
RepeatButtonControl
    Assembly Version: 1.0.0.0
    Win32 Version: 1.0.0.0
    CodeBase: file:///C:/AOG_5004/AgOpenGPS_5_Beta/RepeatButtonControl.DLL
----------------------------------------

************** JIT Debugging **************
To enable just-in-time (JIT) debugging, the .config file for this
application or computer (machine.config) must have the
jitDebugging value set in the system.windows.forms section.
The application must also be compiled with debugging
enabled.

For example:

<configuration>
    <system.windows.forms jitDebugging="true" />
</configuration>

When JIT debugging is enabled, any unhandled exception
will be sent to the JIT debugger registered on the computer
rather than be handled by this dialog box.

Did it happen once? Or keep happening every time you tried the same thing?

It is like a program crash completely, so no idea what happened.

A bit annoying feature(or is it just me…) is that autosteer configuration window and autosteer chart window needs to open, resize and reposition every time settings screen has been opened to make adjustments. I like to keep them open and in certain places on the screen when I make fine adjustments.

If there is draft, does AOG keep the pivot on the line or the implement that is a known distance behind? ( because that distance from the pivot is set in tractor hitch and implement settings)
Or does V5 not handle draft with single antenna (I thaugt it could with bno085 or cmps)

And in V5, what does the value “ingegral starts at” do to the integral when driving Stainley?

Just a thought regarding the ino for arduino: now some of the values are architecture dependent (found out playing around with the 32bit Teensy), so the negative setpoints and wasoffsets don’t work if you go to a platform where you have 32 bit int. Could we modify the code in the ino something like this and if someone could check if this still works with arduino, it should as int and short are the same. Now you get the same behavior regardless of the platform.

//Bit 8,9    set point steer angle * 100 is sent 
steerAngleSetPoint = ((float)((short)Serial.read()| (short)(Serial.read() << 8 )))*0.01; //high low bytes

Same with the wasOffset, declare it as short and:

steerSettings.wasOffset = (short)Serial.read();  //read was zero offset Hi
steerSettings.wasOffset |= (short)(Serial.read() << 8);  //read was zero offset Lo

Those were the two platform dependencies I came across. I guess you could declare all int as short in the arduino code to be on the safe side, but still you get an int that is 16 bit out from Serial.read() in AVR boards and 32 bit from e.g. ARM based boards.

1 Like

It happens every time I try same thing, but it does not crash, if I click continue it continue working fine (im in demo mode)
It happens every time I enter START OR DELETE A BOUNDARY and then click on blue shaped circle.

Can you tell me how you create those sticky ABlines? I think i could use it for plough control, so when the plough reaches min or max width it doesn’t jump to next ABline and creates a “wave”.
Thanks in advance.

This was in the ABC simple version. I created a bool isSticky and created a button to turn it off and on. Then in the abline.cs there was a line of code that checked how many widths away. Before this I added, and if (!isSticky) and included that width calculation in the brackets. Now it did not update which line to drive. Then I used the offset abline buttons to jump full right or left one full tool width if (isSticky). A hack at best, but worked well for us. I’ve learned a bit more of the AOG since then and would now add a right or left button on the screen to jump over as needed. I would also have it force how many paths away and set my current abline based on this value.Screenshot_20210410-155144_Drive

1 Like

I have been running V5 Beta for some testing (specifically tried v5003 and v5004 in both the simulator and in the field.)

I am used to the U-Turn functionality in V4. Once within 100mm and stable on the A-B line (Brian mentioned that in one of his older U-Turn videos) the auto U-Turn arrow would go green and show a distance to the turn.

Screenshot 2021-04-10 141937

In V5 that doesn’t always happen for me. Once stable on the A-B line it starts to show an orange arrow with a distance to the turn. It rarely goes green. Looking at the drawn U-Turn track (once it shows the distance by the arrow), it starts orange way out of the boundary of the field. As I get closer to the end of the field it moves closer to me. It seems to be a race. Will I get to the end of the field before it gets inside the headland? If it gets into the headland first it will go green and U-Turn. This is very rare. If it doesn’t in the simulator it just stops the tractor–in the field it just shuts off the U-Turn activation button and lets me drive out of the field.

Why does V5 draw the U-Turn outside the field boundary at all? Why does it slowly move toward me as I drive towards it? The weird thing is that it moves toward me and goes green even if I stop completely in the simulator (it takes about 30 seconds or so to inch its way towards me). Thanks in advance!

Screenshot 2021-04-10 142803 Screenshot 2021-04-10 142846 Screenshot 2021-04-10 142915

i have made the stepping value quite small so it doesn’t go much past the line to be able to follow the line when skip is higher.

I guess maybe it is too slow. Perhaps could do a setting.

Serial.read returns a byte actually. Pretty sure all the processors return a byte reading a serial port because serial is a string of bytes.

You should have a look at the ESP code for autosteer rather then the 8 bit Arduino code

1 Like

Should be int according to arduino docs? It reads a byte but returns an int if I got it correctly from here: Serial.read() - Arduino Reference

If it were a byte and you left shift by eight wouldn’t you be left with all zeros?Well, it works now with the cast to short so I’m happy :blush: Teensy is Arduino compatible and using the Arduino IDE, hence starting from the arduino code

If no data is available Serial.read() will = int of -1 in Arduino

Though i have never seen it happen as
if (serial.available() > 1)
Is almost always shoved in front of it.

All the rest of the time it nibbles a byte.

Edit: Char is just uint8_t, Byte is just int8_t
If your data is an int between 0-127
Byte = Char

Thanks for the reply.

I think i understand, but don’t know how to do it.

Time to learn how to progam.

Regards,

Peter Keysers

07EDEB0ADCBB4B69893DA58E00AAE327.png