mathertel / DMXSerial

An Arduino library for sending and receiving DMX packets.
BSD 3-Clause "New" or "Revised" License
320 stars 76 forks source link

Minimum supported inter-slot/-frame time when receiving? #45

Closed septatrix closed 3 years ago

septatrix commented 3 years ago

Are there any experiences on what the minimum required time between two frames is to be correctly received? I know this is based on the processor speed so maybe you have some empirical values with certain processors / clock speeds.

For sending it is not to important as other devices should support up to a second of spacing though when I want to monitor other controllers it is rather important to correctly receive every frame...

mathertel commented 3 years ago

as you said: no minimal gap defined. For High Speed applications this is also not wanted !

septatrix commented 3 years ago

Yes I know there is no minimal inter-frame spacing though I think you misunderstood my question. If I run this library on a microcontroller and let it receive/monitor the signal how fast could the signal be? For example a software serial implementation can only work up to a specific speed until it misses frames and by the looks of it this library it uses some setup after each frame to jump back to a software implementation to recognize the start of a frame and then switches to UART. Do you have any experience regarding speed?

mathertel commented 3 years ago

As receiving is completely interrupt driven there is no speed limitation when you do not block or use other interrupts. The last received byte is available in the IO registers while receiving the next byte (by hardware). So, there are some milliseconds to process the byte in the fast enough ISR.