int main() { uart_init(UART_BAUD_SELECT(UART_BAUD_RATE, F_CPU)); sei(); uart_puts("begin\r\n"); nrfInit(); writeReg(RF_SETUP, SET_RF_SETUP); writeAddr(RX_ADDR_P0, SET_RX_ADDR_P0); writeAddr(TX_ADDR, SET_TX_ADDR); writeReg(DYNPD, SET_DYNPD); writeReg(FEATURE, SET_FEATURE); writeReg(RF_CH, SET_RF_CH); writeReg(CONFIG, SET_CONFIG); startRadio(); uint8_t worked; uint8_t size; char sendbuffer[] = "Testing 1..2..3.. Testing."; size = sizeof (sendbuffer); char receivebuffer[33]; char c; char count[10]; int charbuffer; char payloadlength; // uart_puts(sendbuffer); worked = transmit(sendbuffer, size); if (worked == 1) { uart_puts("Transmit Worked!\r\n"); } else { uart_puts("Transmit Failed.\r\n"); } startRx(); while (1) { payloadlength = dynReceive(receivebuffer); if (payloadlength > 0) { uart_puts("Got something:"); uart_puts(receivebuffer); uart_puts("\r\n"); } else { uart_puts("nothin received\r\n"); } c = uart_getc(); if (!(c & UART_NO_DATA)) { uart_putc(c); } printRegisters(); _delay_ms(2000); } }
/** * @brief Initialize DPDK related functionality * * @param argc Number of command line arguments * @param argv Command line arguments array * @param ret Number of processed command line arguments * * @return true if success and false otherwice */ bool DPDKAdapter::init(int& argc, char**& argv) { qDebug("Initializing DPDK"); long unsigned int nr_hugepages = 0; parse_sysfs_value("/proc/sys/vm/nr_hugepages", &nr_hugepages); if(nr_hugepages == 0) { qCritical("No huge pages found"); return false; } int ret = rte_eal_init(argc, argv); if(ret < 0) { qCritical("Invalid EAL arguments"); return false; } argc -= ret; argv += ret; if(!initializeDevs()) { qCritical("Could not initialize devices"); return false; } portTxCoreMap(0, 1); portTxCoreMap(1, 2); portRxCoreMap(0, 1); portRxCoreMap(1, 2); startTx(); startRx(); rte_eal_mp_remote_launch(lcoreMainRoutine, this, SKIP_MASTER); initialized = true; return true; }