Continue to Site

Welcome to our site!

Electro Tech is an online community (with over 170,000 members) who enjoy talking about and building electronic circuits, projects and gadgets. To participate you need to register. Registration is free. Click here to register now.

  • Welcome to our site! Electro Tech is an online community (with over 170,000 members) who enjoy talking about and building electronic circuits, projects and gadgets. To participate you need to register. Registration is free. Click here to register now.

RX/TX radio control between 2x units

camerart

Active Member
Hi, I've asked the same question on AAC
Hopefully, we'll soon be getting to the RC section of this project.

I've been puzzling about how to go about it, and bearing in mind loss of GPS signal, or signal between BASE (Sending orders) and REMOTE (receiving orders) I think they should be synchronised by the GPS clock, correcting a running clock on each unit.

The REMOTE sends information back to BASE, but this will be battery voltage and stuff like that, so not too important.
I imagine the BASE will send orders, as many times/sec as possible. (I can't guage yet) and the REMOTE will send DATA as a % of the BASE rate.

Any ideas welcome.
Cheers, Camerart
 
Last edited:

camerart

Active Member
Make one of them the master (probably base) and have it send instructions such as "Send me your info".

Mike.
Hi M,
We use MASTER in another way in each program, so BASE and REMOTE. (In your answer MASTER would be BASE).

If they loose signal between them, the "Send me your info" message wouldn't be received, but the REMOTE still needs to be switched to RX at that time, and this is why I suggest independant clocks on each module, controlling the TX/RX time accurately, which would keep running if the signal netween them, or the GPS clock correction 'tic' is lost.

If there's another way that's fine.
C.
 

sagor1

Active Member
Remote should always be in RX, and only TX when requested by BASE, or on startup to announce it is there now. If remote does not hear from BASE in xx number of seconds, do some code to shut down or re-initialize, or send "hello" message every once in a while, etc. (or ignore it)
That way, BASE always controls the communications and you have no need for time base. Let BASE control timing. If BASE does not hear from REMOTE, decide what you want it to do (restart, try again, ignore unless remote sends a init message, etc.)
BASE should only be actively sending to REMOTE if it knows it is there (initial handshake). REMOTE always sends an initialization message when turned on, or has not heard from BASE after many seconds or minutes. Once both units know the other is online, only let the BASE control messaging. This avoids collisions in transmissions. Both BASE and REMOTE have to have some form of timeout on expected communications to trigger reset or timeout procedure.
 

camerart

Active Member
Remote should always be in RX, and only TX when requested by BASE, or on startup to announce it is there now. If remote does not hear from BASE in xx number of seconds, do some code to shut down or re-initialize, or send "hello" message every once in a while, etc. (or ignore it)
That way, BASE always controls the communications and you have no need for time base. Let BASE control timing. If BASE does not hear from REMOTE, decide what you want it to do (restart, try again, ignore unless remote sends a init message, etc.)
BASE should only be actively sending to REMOTE if it knows it is there (initial handshake). REMOTE always sends an initialization message when turned on, or has not heard from BASE after many seconds or minutes. Once both units know the other is online, only let the BASE control messaging. This avoids collisions in transmissions. Both BASE and REMOTE have to have some form of timeout on expected communications to trigger reset or timeout procedure.
Hi S and P,
Ok, I'll consider both methods, and figure out which is best, thanks.
C
 

Latest threads

New Articles From Microcontroller Tips

Top