Bugfixes, updates

This commit is contained in:
adamdunkels 2007-05-15 08:09:21 +00:00
parent a9e8e9f4fe
commit 940da856de
27 changed files with 557 additions and 288 deletions

View file

@ -28,7 +28,7 @@
*
* This file is part of the Contiki operating system.
*
* $Id: test-rudolph1.c,v 1.6 2007/04/02 18:06:35 adamdunkels Exp $
* $Id: test-rudolph1.c,v 1.7 2007/05/15 08:10:32 adamdunkels Exp $
*/
/**
@ -45,7 +45,9 @@
#include "dev/leds.h"
#include "cfs/cfs-ram.h"
#include "cfs/cfs.h"
#include "sys/rtimer.h"
#include <stdio.h>
@ -67,7 +69,7 @@ write_chunk(struct rudolph1_conn *c, int offset, int flag,
ether_set_text(buf);
}
#endif /* NETSIM */
if(flag == RUDOLPH1_FLAG_NEWFILE) {
/*printf("+++ rudolph1 new file incoming at %lu\n", clock_time());*/
leds_on(LEDS_RED);
@ -80,14 +82,14 @@ write_chunk(struct rudolph1_conn *c, int offset, int flag,
int ret;
cfs_seek(fd, offset);
ret = cfs_write(fd, data, datalen);
/* printf("write_chunk wrote %d bytes at %d, %d\n", ret, offset, (unsigned char)data[0]);*/
}
cfs_close(fd);
if(flag == RUDOLPH1_FLAG_LASTCHUNK) {
int i;
/* printf("+++ rudolph1 entire file received at %lu\n", clock_time());*/
printf("+++ rudolph1 entire file received at %d, %d\n",
rimeaddr_node_addr.u8[0], rimeaddr_node_addr.u8[1]);
leds_off(LEDS_RED);
leds_on(LEDS_YELLOW);
@ -96,7 +98,9 @@ write_chunk(struct rudolph1_conn *c, int offset, int flag,
unsigned char buf;
cfs_read(fd, &buf, 1);
if(buf != (unsigned char)i) {
printf("error: diff at %d, %d != %d\n", i, i, buf);
printf("%d.%d: error: diff at %d, %d != %d\n",
rimeaddr_node_addr.u8[0], rimeaddr_node_addr.u8[1],
i, i, buf);
break;
}
}
@ -116,7 +120,9 @@ read_chunk(struct rudolph1_conn *c, int offset, char *to, int maxsize)
cfs_seek(fd, offset);
ret = cfs_read(fd, to, maxsize);
/* printf("read_chunk %d bytes at %d, %d\n", ret, offset, (unsigned char)to[0]);*/
/* printf("%d.%d: read_chunk %d bytes at %d, %d\n",
rimeaddr_node_addr.u8[0], rimeaddr_node_addr.u8[1],
ret, offset, (unsigned char)to[0]);*/
cfs_close(fd);
return ret;
}
@ -124,11 +130,24 @@ const static struct rudolph1_callbacks rudolph1_call = {write_chunk,
read_chunk};
static struct rudolph1_conn rudolph1;
/*---------------------------------------------------------------------------*/
#include "node-id.h"
static void
log_queuelen(struct rtimer *t, void *ptr)
{
#if NETSIM
extern u8_t queuebuf_len, queuebuf_ref_len;
node_log("%d %d\n",
queuebuf_len,
queuebuf_ref_len);
rtimer_set(t, RTIMER_TIME(t) + RTIMER_ARCH_SECOND, 1,
log_queuelen, ptr);
#endif /* NETSIM */
}
/*---------------------------------------------------------------------------*/
PROCESS_THREAD(test_rudolph1_process, ev, data)
{
static int fd;
static struct rtimer t;
PROCESS_EXITHANDLER(rudolph1_close(&rudolph1);)
PROCESS_BEGIN();
@ -138,6 +157,9 @@ PROCESS_THREAD(test_rudolph1_process, ev, data)
rudolph1_open(&rudolph1, 128, &rudolph1_call);
button_sensor.activate();
rtimer_set(&t, RTIMER_NOW() + RTIMER_ARCH_SECOND, 1,
log_queuelen, NULL);
PROCESS_PAUSE();
if(rimeaddr_node_addr.u8[0] == 1 &&