I currently use the DMXSerial.h Library (on the Arduino Uno) and I was wondering if I can send and receive DMX at the same time with the Serial Ports (RX & TX). I managed to do them idiviually but not at the same time.
Or do I need to use a different Library, or board?
You cannot with just DMX. DMX is a unidirectional protocol which means that the data can flow in only one direction – from the control desk to the lights. With the addition of RDM, the DMX512 system becomes a bi-directional (half-duplex) system. You must add the RDM to bet bidirectional.
The purpose of RDM ts to allow for diagnostic feedback from fixtures to the controller by extending the DMX512 standard to encompass bidirectional communication between the lighting controller and lighting fixtures .
Well you can receive DMX from 1 bus and send it on another. You will need 2 transceivers, and probably a library that has separate buffers for RX & TX, which very few libraries have. Most libraries create the 80us minimum 'break' by switching to a lower baud rate, which will also influence the RX as well. Also listening for the break may be done by switching baud-rate, so yes it can be done, but i don't know of any library that manages to do so correctly, using only 1 UART. I do using an ESP8266, but also then it can be rather tricky, and i receive 1 frame at a time, while the output signal is done with I2S.
I'm not an expert but usually there is one controller one the bus and one or more lights/devices. The controller talks (transmits) and the lights listen (receive).
The Arduino can only do one instruction at a time but but I assume there are buffers so with two ports you should be able to transmit and receive at the same time.
Well yes, but RDM will do this in a phase where there is no normal DMX is being sent. RDM is used for setting up devices, but not while transmitting to other devices in the chain. There will only be communication between the master and 1 slave at one time.