avr/uart_hw, t03: cross messaging now works!!

This commit is contained in:
Martin Preuss
2025-03-22 23:44:15 +01:00
parent 8586269033
commit 595f983071
5 changed files with 81 additions and 50 deletions

View File

@@ -36,11 +36,6 @@ ComOnUart0_Init:
rcall UART_HW_Uart0_Init ; (R16, R17, X)
ldi r16, COMONUART0_IFACENUM
std Y+NET_IFACE_OFFS_IFACENUM, r16
ldi r16, UART_HW_READMODE_IDLE
std Y+UART_HW_IFACE_OFFS_READMODE, r16
ldi r16, UART_HW_WRITEMODE_IDLE
std Y+UART_HW_IFACE_OFFS_WRITEMODE, r16
sbi COM_IRQ_ADDR_ATTN, COM_IRQ_BIT_ATTN ; enable pin change irq for ATTN line
in r16, GIMSK ; enable pin change irq PCIE0 or PCIE1
@@ -369,6 +364,9 @@ comOnUart0RunWriteIdle:
rjmp comOnUart0RunWriteIdle_end ; yes, line busy, jmp
rcall UART_HW_Uart0_SetAttnLow ; reserve bus as soon as possible
Utils_WaitNanoSecs COM_BIT_LENGTH, 0, r22 ; wait for one bit duration
Utils_WaitNanoSecs COM_BIT_LENGTH, 0, r22 ; wait for one bit duration
rcall NET_Buffer_Locate ; (R17)
rcall ComOnUart0_SendBuffer ; (R16, R17)
rcall NET_Interface_GetNextOutgoingMsgNum ; take msg from queue (R17, R18, X)