This commit is contained in:
parent
c6e8d45679
commit
efd65f8086
1 changed files with 14 additions and 5 deletions
|
|
@ -25,6 +25,7 @@ int main(void)
|
|||
// définitions
|
||||
#define TEMPDMXRX 8 // Longueur de trame mini en reception
|
||||
#define IOUTDMX_FIN -4
|
||||
#define IOUTDMX_WAIT -5
|
||||
#define IOUTDMX_IDLE -1
|
||||
#define IOUTDMX_BRK -2
|
||||
#define IOUTDMX_MAB -3
|
||||
|
|
@ -141,7 +142,9 @@ void CDC_accept()
|
|||
index_input_pc+=USB_Recv(CDC_RX,tab_input_pc+index_input_pc,513-index_input_pc);
|
||||
// si on arrive à 512
|
||||
if (index_input_pc > 512) {
|
||||
etat_input_pc=0;
|
||||
etat_input_pc=0;
|
||||
if(index_output_dmx==IOUTDMX_WAIT)
|
||||
index_output_dmx=IOUTDMX_IDLE;
|
||||
}
|
||||
break;
|
||||
|
||||
|
|
@ -228,8 +231,13 @@ ISR(USART1_RX_vect)
|
|||
ISR(USART1_TX_vect)
|
||||
{
|
||||
// si l'USART 1 est vide => break
|
||||
if(index_output_dmx==IOUTDMX_FIN)
|
||||
index_output_dmx=IOUTDMX_IDLE;
|
||||
if(index_output_dmx==IOUTDMX_FIN) {
|
||||
if(syncflag) {
|
||||
syncflag=false;
|
||||
index_output_dmx=IOUTDMX_WAIT;
|
||||
}
|
||||
else index_output_dmx=IOUTDMX_IDLE;
|
||||
}
|
||||
}
|
||||
|
||||
// vecteur : USART 1 transmission registre vide
|
||||
|
|
@ -248,7 +256,6 @@ ISR(USART1_UDRE_vect)
|
|||
if (index_output_dmx>nb_circuits) {
|
||||
index_output_dmx=IOUTDMX_FIN;
|
||||
cbi(UCSR1B, UDRIE1);
|
||||
syncflag=false;
|
||||
}
|
||||
}
|
||||
|
||||
|
|
@ -320,8 +327,10 @@ void setup() {
|
|||
int tmptime;
|
||||
|
||||
void loop() {
|
||||
if(index_output_dmx==IOUTDMX_WAIT && interbrk >255)
|
||||
index_output_dmx=IOUTDMX_IDLE;
|
||||
// Lancement du Break : après fin de transmisson et ecoulement de "dmx_frame_interval" ms depuis le dernier break
|
||||
if (index_output_dmx==IOUTDMX_IDLE && interbrk >= dmx_frame_interval ) {
|
||||
if (index_output_dmx==IOUTDMX_IDLE && interbrk >= dmx_frame_interval ) {
|
||||
index_output_dmx=IOUTDMX_BRK;
|
||||
tab_input_dmx[514]= (byte)tmptime ;
|
||||
tmptime= interbrk=0;
|
||||
|
|
|
|||
Loading…
Reference in a new issue