We have our first data sent!
Though we're not out of the woods yet. There's still a bit of work to be done on the driver portion.
Here's what I have more or less completed:
- Control of tty port on both C.H.I.P and Vocore
- Programmatic control of radio device settings. Baud rate, address, transmit power, etc.
- Sending packed of up to max size (256 bytes)
What I have yet to master is the receiving of the data. While it looks all well and good above in the screenshot, if I send a large packet, the receiver only receives 58 bytes at a time.
I should clarify, the ENTIRE packet is sent and received by the device just fine, it's a software problem that I have to tackle.
The issue lies in the very name of he UART connection: Asynchronous.
The way the radio sends data out of itself to the parent device is by alerting the device is busy by setting the AUX pin low, sending its data out 5ms later, and then setting the AUX pin high when it's ready for work again. Problem is, when the aux pin goes high, the radio isn't DONE sending the packet data out. It's simple ready to receive more.
How I'm going to reliably grab all the serial data without using a CPU intensive polling method is something I'll have to think about. I'll have to poke through the libraries I'm using to see if they've already implemented something of the sort, and if not I'll have to mull over what options I have.
That's a problem for another day though. For now I'm rather happy with the progress I've made.
Discussions
Become a Hackaday.io Member
Create an account to leave a comment. Already have an account? Log In.