Electric Skateboard using Wi-Fi controller.
Dependencies: Servo WizFi250Interface mbed
Diff: main.cpp
- Revision:
- 1:a710607c27cd
- Parent:
- 0:aca1f2f5443d
- Child:
- 2:5f0fc1edfc19
--- a/main.cpp Wed Oct 28 11:25:26 2015 +0000 +++ b/main.cpp Thu Oct 29 06:52:12 2015 +0000 @@ -19,15 +19,6 @@ DigitalOut blue_led(LED3); #endif -//#define START_SIGNAL 0x0102FEFD -//#define END_SIGNAL 0x0201FDFE -//#define CONTROL_UP 0x0304FCFB -//#define CONTROL_DOWN 0x0403FBFD -//#define CONTROL_CRUISER 0x0506FAF9 -// -//#define STATUS_CMD_OK 0x10101010 -//#define STATUS_CMD_FAIL 0x01010101 - #define START_MSG "START" #define END_MSG "END\n" #define CONTROL_UP "UPXX" @@ -51,12 +42,6 @@ char end_msg[4]; }; void parse(char buffer[], int *j, char *string); -//struct status_pkt{ -// char start_msg[6]; -// char speed_msg[4]; -// char status_msg[5]; -// char end_msg[4]; -//} int main() { int recv_cnt,j; @@ -99,17 +84,32 @@ server.accept(client); client.set_blocking(false, 1500); } - else if(speed_value <= 0.45) + else if(speed_value <= 0.4) { printf("Speed decrease +\r\n"); - speed_value += 0.05; + + speed_value = 0.5; motor_speed = speed_value; +// wait(0.5); +// speed_value = 0.57; +// motor_speed = speed_value; +// wait(5); +// speed_value = 0.5; +// motor_speed = speed_value; } - else if(speed_value >= 0.55) + else { printf("Speed decrease -\r\n"); - speed_value -= 0.05; - motor_speed = speed_value; + speed_value = 0.5; motor_speed = speed_value; +// wait(0.5); +// speed_value = 0.41; motor_speed = speed_value; +// wait(2); +// speed_value = 0.35; motor_speed = speed_value; +// wait(2); +// speed_value = 0.41; motor_speed = speed_value; +// wait(2); +// speed_value = 0.5; motor_speed = speed_value; +// wait(2); } } else @@ -157,9 +157,9 @@ } else if( strncmp(control.control_msg,CONTROL_STOP,sizeof(control.control_msg)) == 0) { + printf("TEST STOP\r\n"); speed_value = 0.5; motor_speed = speed_value; - printf("TEST STOP\r\n"); } else { @@ -181,125 +181,6 @@ }// while } -/* -int main() { - int recv_cnt; - volatile float speed_value = 0.5; - control_pkt skate_control_pkt; - status_pkt skate_status_pkt; - char recv_control_msg[100]; - - - pc.baud(115200); - green_led = 1; red_led = 1; blue_led = 1; - - wizfi250.init(); - wizfi250.setAntMode(WizFi250::UFL); - wizfi250.setAddress("192.168.100.2","255.255.255.0","192.168.100.1"); - if ( wizfi250.connect(SECURE, SSID, PASS, WizFi250::WM_AP)) - { - red_led = 0; - return -1; - } - printf("IP Address is %s\r\n", wizfi250.getIPAddress()); - green_led = 0; red_led = 0; blue_led = 0; - - TCPSocketServer server; - TCPSocketConnection client; - - while(true) - { - if( client.is_connected() == false ) - { - green_led = 1; red_led = 1; blue_led = 0; - client.close(); - server.close(); - - if(speed_value == 0.5) - { - server.bind(SERVER_PORT); - server.listen(); - - printf("\nWait for new connection...\r\n"); - server.accept(client); - client.set_blocking(false, 1500); - } - else if(speed_value <= 0.45) - { - speed_value += 0.005; - motor_speed = speed_value; - } - else if(speed_value >= 0.55) - { - speed_value -= 0.005; - motor_speed = speed_value; - } - } - else - { - motor_speed = speed_value; - - green_led = 0; red_led = 1; blue_led = 1; - //recv_cnt = client.receive_all((char*)&skate_control_pkt, sizeof(skate_control_pkt)); - recv_cnt = client.receive_all((char*)recv_control_msg, sizeof(recv_control_msg)); - - if(recv_cnt > 0) - { - //printf("%x,%x,%x,%x\r\n",skate_control_pkt.start_signal,skate_control_pkt.control,skate_control_pkt.speed_value,skate_control_pkt.end_signal); - - printf("TEST %s\r\n", - if( (skate_control_pkt.start_signal != START_SIGNAL) || (skate_control_pkt.end_signal != END_SIGNAL) ) - { - printf("TEST 100\r\n"); - skate_status_pkt.start_signal = START_SIGNAL; - skate_status_pkt.end_signal = END_SIGNAL; - skate_status_pkt.speed_value = speed_value * 100; - skate_status_pkt.status = STATUS_CMD_FAIL; - client.send_all((char*)&skate_status_pkt, sizeof(skate_status_pkt)); - continue; - } - - if( skate_control_pkt.control == CONTROL_UP ) - { - speed_value += 0.005; - motor_speed = speed_value; - printf("TEST UP %f\r\n",speed_value); - } - else if( skate_control_pkt.control == CONTROL_DOWN ) - { - speed_value -= 0.005; - motor_speed = speed_value; - printf("TEST DOWN %f\r\n",speed_value); - } - else if( skate_control_pkt.control == CONTROL_CRUISER ) - { - speed_value = skate_control_pkt.speed_value / 100; - motor_speed = speed_value; - printf("TEST CRUISER\r\n"); - } - else - { - printf("TEST 101\r\n"); - skate_status_pkt.start_signal = START_SIGNAL; - skate_status_pkt.end_signal = END_SIGNAL; - skate_status_pkt.status = STATUS_CMD_FAIL; - skate_status_pkt.speed_value = speed_value * 100; - client.send_all((char*)&skate_status_pkt, sizeof(skate_status_pkt)); - continue; - } - printf("TEST 103\r\n"); - - skate_status_pkt.start_signal = START_SIGNAL; - skate_status_pkt.end_signal = END_SIGNAL; - skate_status_pkt.status = STATUS_CMD_OK; - skate_status_pkt.speed_value = speed_value * 100; - client.send_all((char*)&skate_status_pkt, sizeof(skate_status_pkt)); - } - } - }// while -} -*/ - void parse(char buffer[], int *j, char *string) { //extracts next location string data item from buffer int i=0;