diff options
Diffstat (limited to 'ao-tools/ao-sky-flash')
-rw-r--r-- | ao-tools/ao-sky-flash/sky_bin.c | 2 | ||||
-rw-r--r-- | ao-tools/ao-sky-flash/sky_flash.c | 18 | ||||
-rw-r--r-- | ao-tools/ao-sky-flash/sky_flash.h | 8 | ||||
-rw-r--r-- | ao-tools/ao-sky-flash/sky_serial.c | 10 |
4 files changed, 16 insertions, 22 deletions
diff --git a/ao-tools/ao-sky-flash/sky_bin.c b/ao-tools/ao-sky-flash/sky_bin.c index d728d0c2..2f7719ff 100644 --- a/ao-tools/ao-sky-flash/sky_bin.c +++ b/ao-tools/ao-sky-flash/sky_bin.c @@ -48,7 +48,7 @@ skytraq_send_bin(int fd, const char *filename) size = ftell(file); rewind(file); - sprintf(message, "BINSIZE = %d Checksum = %d Loopnumber = %d ", size, cksum, 1); + sprintf(message, "BINSIZE = %ld Checksum = %d Loopnumber = %d ", size, cksum, 1); ret = skytraq_cmd_wait(fd, message, strlen(message) + 1, "OK", 20000); if (ret < 0) diff --git a/ao-tools/ao-sky-flash/sky_flash.c b/ao-tools/ao-sky-flash/sky_flash.c index 7dbb6954..16c6ee42 100644 --- a/ao-tools/ao-sky-flash/sky_flash.c +++ b/ao-tools/ao-sky-flash/sky_flash.c @@ -23,12 +23,12 @@ #include <stdint.h> #include <stdarg.h> #include <getopt.h> +#include <unistd.h> #include "cc.h" static const struct option options[] = { { .name = "tty", .has_arg = 1, .val = 'T' }, { .name = "device", .has_arg = 1, .val = 'D' }, - { .name = "loader", .has_arg = 1, .val = 'l' }, { .name = "firmware", .has_arg = 1, .val = 'f' }, { .name = "query", .has_arg = 0, .val = 'q' }, { .name = "raw", .has_arg = 0, .val = 'r' }, @@ -46,7 +46,6 @@ usage(char *program) fprintf(stderr, "usage: %s [--tty <tty-name>]\n" " [--device <device-name>]\n" - " [--loader <srec bootloader file>]\n" " [--firmware <binary firmware file>]\n" " [--query]\n" " [--quiet]\n" @@ -54,7 +53,7 @@ usage(char *program) exit(1); } -int +static int skytraq_expect(int fd, uint8_t want, int timeout) { int c; @@ -66,12 +65,12 @@ skytraq_expect(int fd, uint8_t want, int timeout) { return 0; } -int +static int skytraq_wait_reply(int fd, uint8_t reply, uint8_t *buf, uint8_t reply_len) { for(;;) { uint8_t a, b; - uint8_t cksum_computed, cksum_read; + uint8_t cksum_computed; int len; switch (skytraq_expect(fd, 0xa0, 10000)) { case -1: @@ -135,16 +134,10 @@ int main(int argc, char **argv) { int fd; - char buf[512]; int ret; - FILE *input; - long size; - unsigned char cksum; int c; - char message[1024]; char *tty = NULL; char *device = NULL; - char *loader = "srec_115200.bin"; char *file = NULL; int query = 0; int raw = 0; @@ -157,9 +150,6 @@ main(int argc, char **argv) case 'D': device = optarg; break; - case 'l': - loader = optarg; - break; case 'f': file = optarg; break; diff --git a/ao-tools/ao-sky-flash/sky_flash.h b/ao-tools/ao-sky-flash/sky_flash.h index 6dcbbf72..1a8dfb9e 100644 --- a/ao-tools/ao-sky-flash/sky_flash.h +++ b/ao-tools/ao-sky-flash/sky_flash.h @@ -31,7 +31,7 @@ int skytraq_setcomm(int fd, int baudrate); int -skytraq_write(int fd, const char *data, int len); +skytraq_write(int fd, const void *data, int len); int skytraq_waitchar(int fd, int timeout); @@ -43,6 +43,12 @@ void skytraq_flush(int fd); int +skytraq_millis(void); + +void +skytraq_dbg_newline(void); + +int skytraq_cmd_wait(int fd, const char *message, int len, const char *status, int timeout); int diff --git a/ao-tools/ao-sky-flash/sky_serial.c b/ao-tools/ao-sky-flash/sky_serial.c index 94b0b156..e56ab923 100644 --- a/ao-tools/ao-sky-flash/sky_serial.c +++ b/ao-tools/ao-sky-flash/sky_serial.c @@ -16,7 +16,7 @@ * 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA. */ -#define _BSD_SOURCE +#define _DEFAULT_SOURCE 1 #include <termios.h> #include <unistd.h> #include <sys/types.h> @@ -98,11 +98,10 @@ skytraq_open(const char *path) #define US_PER_CHAR (1000000 / BPS) int -skytraq_write(int fd, const char *data, int len) +skytraq_write(int fd, const void *d, int len) { - const char *d = data; + const char *data = d; int r; - int us; skytraq_dbg_printf (0, "%4d: ", len); if (len < 70) @@ -116,7 +115,6 @@ skytraq_write(int fd, const char *data, int len) r = write(fd, data, this_time); if (r <= 0) return r; - us = r * US_PER_CHAR; usleep(r * US_PER_CHAR); data += r; len -= r; @@ -132,7 +130,7 @@ skytraq_setcomm(int fd, int baudrate) int i; uint8_t cksum; - int target_baudrate; + int target_baudrate = 0; switch(baudrate) { case 4800: |