Open Source library for the GP-635T 50 channels GPS receiver, NMEA standard protocol.
https://github.com/WiFau/WiGPS
Could someone confirm this library is SparkCore Compatible ??
Open Source library for the GP-635T 50 channels GPS receiver, NMEA standard protocol.
https://github.com/WiFau/WiGPS
Could someone confirm this library is SparkCore Compatible ??
It uses SofwareSerial, so right there it’s not compatible as is. You could try to convert it to use the Serial1 connections, but there may be issues receiving data right now as there is no buffer on the Rx.
Port serial = new SoftwareSerial(rx,tx); dataReady = FALSE; serialPort = serial; serialPort->begin(9600);
So there is no relieable serial connection on Spark at all at the moment? No SoftwareSerial, Serial1 incomplete
As far as I last read, @Mohit is working on a ring buffer for the UARTs asap. That should help assuming they are interrupt driven as well (i.e., when a byte is received, the interrupt handler is called and the byte is put into the ring buffer STAT!)
How can I track that issue progress? I actually already have Serial1 issues and have implemented reset circuit just to recover Serial1 connection. Never realized it could be software issue.
The only real time status on fixes is here at the forum, watching the github repos for pull requests/merges, and the blog posts. Hopefully Mohit will chime in since I @'d him above
Pretty much every serial hardware peripheral needs to be rock solid (UART, I2C, SPI), and then all of the comms libraries (TCP, UDP), and then things like hardware peripherals (PWM, SERVO, ADC, INTERRUPTS, TIMERS)… and mostly in that order. Of course everyone will want their favorites #1. Definitely the serial periph’s should be first in my opinion. I’ve been using Serial1 and Serial way more than I have TCP, UDP, and Cloud API at the moment. CFOD is a high priority issue that’s got most of the Spark Team tabling their current priorities to get more resources solving the problem. At some point, some of the other little nagging things will start to fester though… so it might be good to knock some of them off to help increase moral
I see, so no GPS support via RX,TX at he moment ?? would someone suggest an alternative?? I just can’t find a way to have GPS in sparkCore. I might end up using an android device or even an arduino and struggle with Wifi comms.
This is not really a great solution in my opinion because most GPS modules that people are actually seen using, selling and talking about are UART based. But here are some I2C and SPI GPS modules:
http://www.mouser.com/Embedded-Solutions/RF-Wireless-Modules/GPS-Modules/_/N-6f8wt?P=1yzowzsZ1z0xwy0Z1yzv301Z1z0sneuZ1z0jhdj
Hey All,
Just checked and the hope is to add the ring buffer serial stuff this week, so if all goes well it should get released on Friday this week.
As it stands now, I’ve found if you check serial in your loop without delays and read everything out you can do quite a bit.
Thanks,
David
This are great news @Dave , thanks a lot.
I just talked to WiGPS Library original developer, and he says changing SoftwareSerial to Serial1 for TxRx
should work. Apart from the buffer we still need.
Thanks and looking forward.
Great news. To update I will need to reflash firmware from cloud?
Hi @ryotsuke,
Yup! When we push the firmware updates, they’ll be included when rebuilding firmware through the build ide. So a small modification to your file, and a re-flash will do it.
Thanks,
David
So at this point… this GPS Library is SparkCore compatible. !!
I hope someone can enhance it and make it better.
I was doing some work with GPS as well, and found there was an error in the WiGPS libraries. Specifically, the conversion from NMEA to Degrees, minutes and seconds. I promised myself that I was going to finish the project on schedule, so I looked into porting TinyGPS++ and I managed to succeed – which is to say that it works for what I need it for. Functions ‘distanceBetween’ and ‘courseTo’ are not functional. Repository can be found here: