![](/media/cache/img/default_profile.jpg.50x50_q85.jpg)
Remote control code for https://developer.mbed.org/users/ivo_david_michelle/code/QuadTrio/
Dependencies: Analog_Joystick Sender mbed
Fork of ESE350-Whack-a-Mole by
rc.cpp
- Committer:
- ivo_david_michelle
- Date:
- 2016-03-31
- Revision:
- 6:db985df4354b
- Parent:
- 5:3ad830e95ffd
- Child:
- 7:8714628b62e5
File content as of revision 6:db985df4354b:
#include "MRF24J40.h" #include "sender.h" #include "analog_joystick.h" #include <string> // RF tranceiver to link with handheld. MRF24J40 mrf(p11, p12, p13, p14, p21); // LEDs you can treat these as variables (led2 = 1 will turn led2 on!) DigitalOut led1(LED1); DigitalOut led2(LED2); DigitalOut led3(LED3); DigitalOut led4(LED4); // Timer Timer timer; // Serial port for showing RX data. Serial pc(USBTX, USBRX); // Used for sending and receiving char txBuffer[128]; char rxBuffer[128]; int rxLen; LocalFileSystem local("local"); //***************** send and receive methods *****************// /* void wait_for_ping(uint8_t length) { int receive = 0; uint8_t *rssi = 0; while (receive == 0) { receive = rf_receive_rssi(rxBuffer, rssi, length); } } */ //***************** main loop *****************// int main (void) { uint8_t channel = 3; uint8_t iterations = 0; uint8_t successCounter = 0; uint8_t rssiBuffer[iterations]; char *byteTransmit = "!"; // TODO: change this! //Set the Channel. 0 is default, 15 is max mrf.SetChannel(channel); //Start the timer timer.start(); pc.printf("START\r\n"); FILE *fp = fopen("/local/out.txt\r\n", "w"); if (fp == NULL) { pc.printf("error opening file\r\n"); return 0; } int count = 25; while (count > 0) { count--; pc.printf("yaw: %f\r\n", read_yaw()); pc.printf("pitch: %f\r\n", read_pitch()); pc.printf("roll: %f\r\n", read_roll()); pc.printf("thrust: %f\r\n", read_thrust()); wait(0.2); } // send_three_way_handshake(); for (int i = 0; i < iterations; i++) { strcpy(txBuffer, byteTransmit); rf_send(mrf, txBuffer, strlen(txBuffer) + 1); pc.printf("RC Sent: %s \r\n", txBuffer); wait(0.2); } // output data fprintf(fp, "# received\t= %d\n", successCounter); fprintf(fp, "# sent\t= %d\n", iterations); fprintf(fp, "success rate\t= %f\n", (double) successCounter / (double) iterations); double sum = 0; for (int i = 0; i < successCounter; i++) { sum += rssiBuffer[i]; } fprintf(fp, "average rssi\t= %f\n", sum / (double) successCounter); fclose(fp); pc.printf("END\r\n"); }