Slight deviation but could this code from your wasless.ino be used as the basis for taking GPS from serial and passing it to ethernet in the teensy, as an addition to my CAN teensy autosteer?
I’ve been worried about possible blocking but I see you use it, I assume successfully.
Basically so I can do away with USB.
// Read from Serial2 until full NMEA sentence and feed to TinyGPS
void serialEvent2() {
while (Serial2.available()) {
// get the new byte:
char inChar = (char)Serial2.read();
gps.encode(inChar);
// if the incoming character is a newline, set a flag so the main loop can
// do something about it:
if (inChar == '\n') {
stringComplete = true;
}
}
}
I’ve been thinking about exactly the same thing, seems to work OK at least for this purpose. According to man page it just runs that at the end of loop automatically if there’s buffer waiting?
I’d love to get onto Ethernet for increased reliability but wasn’t sure if I’d have blocking issues waiting for sentences to complete. Might try to get my head around it. I’m a rusty coder at the best of times though!!
I do already run the timed loop slower than standard (to coincide with CAN sending timing) so maybe it’s not a worry.
In theory, an IMU with ground velocity and the existing wheel geometry could replace the need for a wheel angle sensor. When the angular velocity of the Y axis is zero, the wheels are straight. When not zero, the wheel angle can be calculated that matches the measured angular velocity. I’ve got an IMU and I will play with this concept.
I’ve been having a play with this idea but to be a USB free setup I’d need RTCM3 to go back to the F9P from AgIO. Obviously this is the case for dual setups that are pure UDP and I’m guessing something vaguely similar to how it is done in dual should work with this? Although not documented anywhere that I can find I assume AOG is still sending NTRIP via port 2233?
…from MTZ’s dual code…
//init UPD listening to AOG
if (udpNtrip.listen(GPSSet.AOGNtripPort))
{
Serial.print("NTRIP UDP Listening to port: ");
Serial.println(GPSSet.AOGNtripPort);
Serial.println();
}
delay(50);
// UDP NTRIP packet handling
udpNtrip.onPacket([](AsyncUDPPacket packet)
{
if (GPSSet.debugmode) { Serial.println("got NTRIP data"); }
for (unsigned int i = 0; i < packet.length(); i++)
{
Serial1.write(packet.data()[i]);
}
NtripDataTime = millis();
}); // end of onPacket call
One way to do it is on the ethernet connection to AGIO set up a receive port, any number. Enter this number in the “To UDP Port” on the Position tab of AGIO/NTRIP. Transfer the UDP data over serial to the receiver.
Hey everyone, am I to guess that Alan.Webb arduino code is only good for the unobtainable BNO085. I tried it with a CMPS14 but the steer controller stops working as soon as you change it to differential steering. It would be nice to not have to make the WAS brackets and what not. Thanks
Yes, atleast I tried to. I uploaded Alan’s code as is with no other changes. Now if it needs tweaks than I can look into it. Just point me in the right direction. Thanks
Not sure how it would adapt as I don’t have the CMPS14. I did have some issues with reading multiple types of data from the BNO. It’s very rough cobbled together code but it did work. Does the CMPS14 output rotational velocity data? If it does I would guess you could get it to work. You could omit the accelerometer reading if that is an issue. I added that to stop large bumps causing steer issues.
I really do want to go back to this project, using a teensy 4.1 allowing much faster data rates, allowing some more filtering without significant latency.
Unfortunately, like a lot here I would guess, I am ridiculously busy and have very little free time.
No i get it, we are all busy and this little project has taken entirely to long. just want to get it into the field this year but with so much that still needs to be done you know how things go.
I dont know what it puts out, I cant code and have no idea how to get there. thats why im using an arduino still and a kaupoi board. Im not asking anyone to go out of there way for this just didnt know if it was a simple solution and wright now it isn’t. Currently i do have 4 BNO ordered but that has been for 5 months now.
To be honest i wont change any setups until brian get it worked out on how to run the entire thing on Teensy or Pie or what not and just use a simple tablet as a display.
i’m also looking foe the bno085
i have no idea why but he is broken maybe a to high power supply en it is time to use it on the field
do someone had one on stock witch he will not use right away
i’m very intrest to take it over until the one i order on aliexpress arieve
i install the setup a mount ago on me tractor styer150 auto steer all seams to work the feeld was to wet to do the adjustments
now its dry enough when i try again it seams like the comunication with the arduino don’t exist anymore i didn’t change anything
when i look in agio i see outgoing comunication when i open ogopengps no signale from the arduino
when i open agdiag i don’t see any cominucation all is zero
flash the arduino again no diferents
can someone help me out
Did you try the serial monitor of ardurino IDE, any outputs? In general post screenshots may be that helps to investigate. Did you have selected the wright com port?