Subversion Repositories shark

Compare Revisions

Regard whitespace Rev 1407 → Rev 1408

/demos/trunk/chimera/chimera.c
25,6 → 25,8
kern_printf("Task Name : %s - Max Time : %d\n", proc_table[i].name, (int)tmp);
}
 
trace_send();
 
sys_end();
 
}
78,6 → 80,8
 
clear();
 
trace_init(1000000);
 
init_send(); /* Comunication */
init_key(); /* Keyboard */
 
/demos/trunk/chimera/send.c
12,6 → 12,7
 
#include "chimera.h"
#include "tracer.h"
#include "unistd.h"
 
//#define DEBUG_SEND /* Print Sent Values */
#define SERIAL_ON /* Send Data using Serial Port */
39,9 → 40,9
 
HEXAPOD_STATE status;
 
void *start_tracer;
void *end_tracer;
void *trace_pointer;
void *start_tracer = NULL;
void *end_tracer = NULL;
void *trace_pointer = NULL;
 
extern struct leg_calibration calibration_table[];
 
175,6 → 176,23
return 0;
}
 
/* Init the network stack */
int init_network(char *local_ip)
{
struct net_model m = net_base;
net_setudpip(m, local_ip, "255.255.255.255");
if (net_init(&m) != 1) {
cprintf("Network: Init Error.\n");
return -1;
}
return 0;
}
 
int trace_consumption(int sensor, int value)
{
 
202,15 → 220,44
 
}
 
int tracer_send() {
int trace_send() {
 
static char pkg_buffer[1100];
int actual = 0;
 
UDP_ADDR target, local;
char local_ip[20], target_ip[20];
int socket;
IP_ADDR bindlist[5];
strcpy(local_ip, "192.168.1.10");
strcpy(target_ip, "192.168.1.1");
if (init_network(local_ip)) sys_end();
/* local IP string to addr */
ip_str2addr(local_ip,&(local.s_addr));
/* set the source port */
local.s_port = 20000;
/* target IP string to addr */
ip_str2addr(target_ip,&(bindlist[0]));
memset(&(bindlist[1]), 0, sizeof(IP_ADDR));
/* bind */
socket = udp_bind(&local, NULL);
/* target IP string to addr */
ip_str2addr(target_ip,&(target.s_addr));
/* target port */
target.s_port = 20000;
 
trace_pointer = start_tracer;
actual = 0;
 
while(((*(int *)(trace_pointer) >> 8) & 0xAABBFF) == 0xAABBFF) {
while(trace_pointer < end_tracer) {
 
if (((*(int *)(trace_pointer) >> 8) & 0xAABBFF) == 0xAABBFF) {
 
memcpy(&(pkg_buffer[actual]),trace_pointer,16);
 
actual += 16;
219,12 → 266,19
pkg_buffer[actual] = 0;
udp_sendto(socket, pkg_buffer, strlen(pkg_buffer), &target);
usleep(10000);
actual = 0;
}
 
}
 
trace_pointer += 16;
 
}
 
return 0;
 
}
 
TASK servo_send()
{
HEXAPOD_STATE old_status;
/demos/trunk/chimera/chimera.h
111,5 → 111,5
 
int trace_init(int buffer_size);
int trace_consumption(int sensor, int value);
int tracer_send();
int trace_send();