Ticket #80 (accepted enhancement)

Opened 3 years ago

Last modified 20 months ago

circular send buffer

Reported by: jdunn Owned by: jdunn
Priority: low Component: Firmware
Version: Severity: wishlist
Keywords: Cc:

Description

Currently the 150 byte buffer in the firmware RAM is used as a circular buffer for continuous receiving. If we used it the same was for continuous sending we may be able to handle larger sends. The primary problem is that doing sends the way we do, not using the timers, is as accurate as possible, but means we don't have time to go off and check for incoming USB packets....

Change History

Changed 2 years ago by bluey

  • severity changed from normal to wishlist

Changed 20 months ago by mackey

Any update on this? I really need to be able to send larger messages. As I mainly use igclient, a 'repeat' parameter would also work for me...

/mackey

Changed 20 months ago by jdunn

  • status changed from new to assigned

Actually, this is the first interest we've seen in this feature. This ticket was really more of a note to myself. Due to the far-reaching consequences of this change the outlook on it wasn't great, but user interest helps. What exactly are you trying to do?

If you just need to repeat a send, have you tried just passing --send multiple times on the igclient command line? Depending on the timing of the outgoing signals you may need to add a delay space between the signals. Not sure if igclient would properly do that, but it wouldn't be hard to add.

Changed 20 months ago by mackey

I'm trying to control some laser tag equipment. Most of the commands are short and not a problem, it's the game start one that's causing me lots of trouble. It's basically just a serial port with a IR emitter on the TX. Unfortunately it's 1515 baud with 9 data bits and 2 stop bits (plus the start bit), which makes quite a long signal. Most commands are 4 bytes long, with the start and one or 2 others being 16 bytes long. 16 * 12 = 192 bits, multiply that by the 659.73 uS bit time and you get one really long signal... I need to send it multiple times without much of a delay because sometimes the packs don't pick it up the first time, and even a quarter-second lag is enough to give the good players a huge advantage.

I haven't tried passing --send multiple times. I'll give that a shot.

/mackey

Changed 20 months ago by jdunn

Ok, I'll admit that use never occurred to me.... Let me know if multiple --send commands does anything useful for you. It should cut down the delay between sends, but it may still be too long for you. Since you're looking for a simple repeat, if this doesn't work, we should talk about a firmware tweak to allow this sort of behavior. It would probably help us with some proposed features too.

Note: See TracTickets for help on using tickets.