parent
56bbd5b000
commit
3bca145d5f
|
@ -70,10 +70,12 @@ double target_angle = 91;
|
||||||
double target_voltage = 0;
|
double target_voltage = 0;
|
||||||
void onPacketCallBack(AsyncUDPPacket packet)
|
void onPacketCallBack(AsyncUDPPacket packet)
|
||||||
{
|
{
|
||||||
|
char* da;
|
||||||
target_velocity = atoi((char*)(packet.data()));
|
da= (char*)(packet.data());
|
||||||
Serial.print("数据内容: ");
|
Serial.println(da);
|
||||||
Serial.println(target_velocity);
|
// target_velocity = atoi();
|
||||||
|
// Serial.print("数据内容: ");
|
||||||
|
// Serial.println(target_velocity);
|
||||||
wifi_flag = 1;
|
wifi_flag = 1;
|
||||||
// packet.print("reply data");
|
// packet.print("reply data");
|
||||||
}
|
}
|
||||||
|
@ -357,4 +359,5 @@ void wifi_print(char * s,double num)
|
||||||
strcat(str, n);
|
strcat(str, n);
|
||||||
strcat(buf+strlen(buf), str);
|
strcat(buf+strlen(buf), str);
|
||||||
strcat(buf, ",");
|
strcat(buf, ",");
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
|
@ -0,0 +1,26 @@
|
||||||
|
#include "com.h"
|
||||||
|
void Command::run(char* str){
|
||||||
|
for(int i=0; i < call_count; i++){
|
||||||
|
if(call_ids[i]){
|
||||||
|
call_list[i](&str);
|
||||||
|
break;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
void Command::add(char* id, CommandCallback onCommand){
|
||||||
|
call_list[call_count] = onCommand;
|
||||||
|
call_ids[call_count] = id;
|
||||||
|
call_count++;
|
||||||
|
}
|
||||||
|
void Command::scalar(float* value, char* user_cmd){
|
||||||
|
*value = atof(user_cmd);
|
||||||
|
}
|
||||||
|
bool Commander::isSentinel(char* ch,char* str)
|
||||||
|
{
|
||||||
|
char s[strlen(ch)];
|
||||||
|
strncpy(s,str,strlen(ch));
|
||||||
|
if(strcmp(ch, s) == 0)
|
||||||
|
return true;
|
||||||
|
else
|
||||||
|
return false;
|
||||||
|
}
|
|
@ -0,0 +1,16 @@
|
||||||
|
// callback function pointer definiton
|
||||||
|
typedef void (* CommandCallback)(char*); //!< command callback function pointer
|
||||||
|
class Command
|
||||||
|
{
|
||||||
|
public:
|
||||||
|
void add(char* id , CommandCallback onCommand);
|
||||||
|
void run(char* str);
|
||||||
|
void Command::scalar(float* value, char* user_cmd);
|
||||||
|
bool Commander::isSentinel(char* ch);
|
||||||
|
private:
|
||||||
|
// Subscribed command callback variables
|
||||||
|
CommandCallback call_list[20];//!< array of command callback pointers - 20 is an arbitrary number
|
||||||
|
char* call_ids[20]; //!< added callback commands
|
||||||
|
int call_count = 0;//!< number callbacks that are subscribed
|
||||||
|
|
||||||
|
}
|
|
@ -0,0 +1,41 @@
|
||||||
|
#include <stdio.h>
|
||||||
|
#include <string.h>
|
||||||
|
#include <stdlib.h>
|
||||||
|
#include "com.h"
|
||||||
|
char buf[255];
|
||||||
|
void wifi_print(char * s,double num)
|
||||||
|
{
|
||||||
|
char str[255];
|
||||||
|
char n[255];
|
||||||
|
sprintf(n, "%.2f",num);
|
||||||
|
strcpy(str,s);
|
||||||
|
strcat(str, n);
|
||||||
|
strcat(buf+strlen(buf), str);
|
||||||
|
strcat(buf, ",");
|
||||||
|
}
|
||||||
|
float v = 0.1;
|
||||||
|
void re_command(float *num)
|
||||||
|
{
|
||||||
|
*num = *num + 1;
|
||||||
|
}
|
||||||
|
char* str = "abc23";
|
||||||
|
char* cmd_id = "abc";
|
||||||
|
main()
|
||||||
|
{
|
||||||
|
re_command(&v);
|
||||||
|
char s[strlen(cmd_id)];
|
||||||
|
|
||||||
|
strncpy(s,str,strlen(cmd_id));
|
||||||
|
printf("%s", s);
|
||||||
|
if(strcmp(cmd_id, s) == 0)
|
||||||
|
{
|
||||||
|
printf("%f", v);
|
||||||
|
v = atof(str+strlen(cmd_id));
|
||||||
|
printf("%f", v);
|
||||||
|
}
|
||||||
|
|
||||||
|
// char* da;
|
||||||
|
// da = "123456";
|
||||||
|
// if (da[0] == '2')
|
||||||
|
|
||||||
|
}
|
Binary file not shown.
Loading…
Reference in New Issue