void tx(void) { if (tx_ready == 0) { return; } tx_ready = 0; uint8_t len = tx_pos; tx_pos = 0; if (len == 0) { return; } rfm12_allstop(); if (rfm12_txstart(tx_buf, len) != 0) { return; } while (rfm12_txfinished() != 0) { } char out[16]; sprintf(out, "TX: [%02x] ", len); uart_puts(out); for (uint8_t i=0; i < len; i++) { sprintf(out,"%02x", tx_buf[i]); uart_puts(out); } uart_puts("\r\n"); }
uint8_t router_output_to (uint8_t dest) { uint8_t retval = 0; uip_stack_set_active (dest); #ifdef IPCHAIR_HAVE_POSTROUTING ipchair_POSTROUTING_chair(); if(!uip_len) return 0; #endif switch (dest) { #ifdef ENC28J60_SUPPORT case STACK_ENC: printf ("router_output_to: ENC28J60.\n"); enc28j60_txstart (); break; #endif /* ENC28J60_SUPPORT */ #ifdef RFM12_IP_SUPPORT case STACK_RFM12: printf ("router_output_to: RFM12.\n"); rfm12_txstart (uip_len); break; #endif /* RFM12_IP_SUPPORT */ #ifdef ZBUS_SUPPORT case STACK_ZBUS: printf ("router_output_to: ZBUS.\n"); zbus_txstart (uip_len); break; #endif /* ZBUS_SUPPORT */ #ifdef USB_NET_SUPPORT case STACK_USB: printf ("router_output_to: USB.\n"); usb_net_txstart (); break; #endif /* USB_NET_SUPPORT */ #ifdef OPENVPN_SUPPORT case STACK_OPENVPN: printf ("router_output_to: OpenVPN.\n"); openvpn_txstart (); break; #endif /* OPENVPN_SUPPORT */ } return retval; }