summaryrefslogtreecommitdiff
path: root/ao-tools/ao-sky-flash
diff options
context:
space:
mode:
Diffstat (limited to 'ao-tools/ao-sky-flash')
-rw-r--r--ao-tools/ao-sky-flash/sky_bin.c2
-rw-r--r--ao-tools/ao-sky-flash/sky_flash.c18
-rw-r--r--ao-tools/ao-sky-flash/sky_flash.h8
-rw-r--r--ao-tools/ao-sky-flash/sky_serial.c10
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: