int main (void) { int pin = 7; char ch; int exit_flag = 0; printf("welcome to Lair Brew\n"); if (wiringPiSetup() == -1) return(1); pinMode(pin, OUTPUT); printf("Brew on\n"); digitalWrite(pin, 1); while( exit_flag == 0 ) { printf("Wish to exit? (Y)\n"); scanf(" %c", &ch ); ch = toupper( ch ); if((ch == 'Y')) { printf("\nBrew Off\n"); digitalWrite(pin, 0); delay(250); printf("\nEnjoy Your Coffee, Sir!\n"); } else { printf("\nType (y) to exit.\n"); loopback(); } if( ch == 'Y' ) exit_flag = 1; } return 0; }
void test_extra_bytes(int repetitions) { uint8_t fake_data[4]; for (uint32_t i = 0; i < repetitions; i++) { for (uint32_t j = 0; j < sizeof(fake_data); j++) { fake_data[j] = (uint8_t) (rand() & 0xFF); } for (uint32_t j = 0; j < 4; j++) { loopback(fake_data, sizeof(fake_data), &serial_tx); fifo_put(&serial_tx, fake_data, sizeof(fake_data)); } while (depacketize_data(&serial_tx, &serial_rx)); while (depacketize_data(&serial_rx, NULL)); } }
void test_loopback(int repetitions) { uint8_t fake_data[MAX_DATA_LENGTH]; for (uint32_t i = 0; i < sizeof(fake_data); i++) { fake_data[i] = (uint8_t) i; } for (uint16_t i = 0; i < MAX_DATA_LENGTH; i++) { printf("Packet Length: %d\n", i); for (uint32_t j = 0; j < repetitions; j++) { loopback(fake_data, i, &serial_tx); if (!depacketize_data(&serial_tx, &serial_rx)) { printf("Error %d, %d!\n", i, j); exit(1); } } } }
RET_CODE_E cmd_loopback_handler(command_t cmd, handle_t handle, uint8_t * payload, data_length_t length, fifo_t * resp_fifo) { loopback(payload, length, resp_fifo); return RET_OK; }