[Tinyos-2-commits] CVS: tinyos-2.x/support/sdk/c serialsend.c, NONE, 1.1 .cvsignore, 1.2, 1.3 Makefile.am, 1.2, 1.3

David Gay idgay at users.sourceforge.net
Mon Jul 16 08:58:42 PDT 2007


Update of /cvsroot/tinyos/tinyos-2.x/support/sdk/c
In directory sc8-pr-cvs10.sourceforge.net:/tmp/cvs-serv1187

Modified Files:
	.cvsignore Makefile.am 
Added Files:
	serialsend.c 
Log Message:
serialsend app (test blocking writes)


--- NEW FILE: serialsend.c ---
#include <stdio.h>
#include <stdlib.h>

#include "serialsource.h"

static char *msgs[] = {
  "unknown_packet_type",
  "ack_timeout"	,
  "sync"	,
  "too_long"	,
  "too_short"	,
  "bad_sync"	,
  "bad_crc"	,
  "closed"	,
  "no_memory"	,
  "unix_error"
};

void stderr_msg(serial_source_msg problem)
{
  fprintf(stderr, "Note: %s\n", msgs[problem]);
}

void send_packet(serial_source src, char **bytes, int count)
{
  int i;
  unsigned char *packet;

  packet = malloc(count);
  if (!packet)
    exit(2);

  for (i = 0; i < count; i++)
    packet[i] = strtol(bytes[i], NULL, 0);
      
  fprintf(stderr,"Sending ");
  for (i = 0; i < count; i++)
    fprintf(stderr, " %02x", packet[i]);
  fprintf(stderr, "\n");

  if (write_serial_packet(src, packet, count) == 0)
    printf("ack\n");
  else
    printf("noack\n");
}

int main(int argc, char **argv)
{
  serial_source src;

  if (argc < 3)
    {
      fprintf(stderr, "Usage: %s <device> <rate> <bytes> - send a raw packet to a serial port\n", argv[0]);
      exit(2);
    }
  src = open_serial_source(argv[1], platform_baud_rate(argv[2]), 0, stderr_msg);
  if (!src)
    {
      fprintf(stderr, "Couldn't open serial port at %s:%s\n",
	      argv[1], argv[2]);
      exit(1);
    }

  send_packet(src, argv + 3, argc - 3);
}

Index: .cvsignore
===================================================================
RCS file: /cvsroot/tinyos/tinyos-2.x/support/sdk/c/.cvsignore,v
retrieving revision 1.2
retrieving revision 1.3
diff -C2 -d -r1.2 -r1.3
*** .cvsignore	12 Jul 2006 16:59:52 -0000	1.2
--- .cvsignore	16 Jul 2007 15:58:40 -0000	1.3
***************
*** 3,6 ****
--- 3,7 ----
  sfsend
  seriallisten
+ serialsend
  libmote.a
  config-aux

Index: Makefile.am
===================================================================
RCS file: /cvsroot/tinyos/tinyos-2.x/support/sdk/c/Makefile.am,v
retrieving revision 1.2
retrieving revision 1.3
diff -C2 -d -r1.2 -r1.3
*** Makefile.am	12 Jul 2006 16:59:52 -0000	1.2
--- Makefile.am	16 Jul 2007 15:58:40 -0000	1.3
***************
*** 7,11 ****
  
  bin_PROGRAMS=sf 
! noinst_PROGRAMS=prettylisten sflisten sfsend seriallisten
  noinst_LIBRARIES=libmote.a
  
--- 7,11 ----
  
  bin_PROGRAMS=sf 
! noinst_PROGRAMS=prettylisten sflisten sfsend seriallisten serialsend
  noinst_LIBRARIES=libmote.a
  
***************
*** 25,28 ****
--- 25,31 ----
  seriallisten_LDADD = libmote.a
  
+ serialsend_SOURCES = serialsend.c
+ serialsend_LDADD = libmote.a
+ 
  libmote_a_SOURCES = \
  	message.c \



More information about the Tinyos-2-commits mailing list