AX25:add new print function compatible with TNC-2 format.
[bertos.git] / bertos / net / afsk_test.c
index 54e22fd05e4d1e562f1b597bc822e3a3e0ed48ac..cd434084f83da2caf36817761260dece8e0b5a9e 100644 (file)
@@ -51,6 +51,7 @@
 
 #include <cfg/test.h>
 #include <cfg/debug.h>
+#include <cfg/kfile_debug.h>
 
 #include <cpu/byteorder.h>
 
@@ -61,16 +62,15 @@ FILE *fp_adc;
 FILE *fp_dac;
 uint32_t data_size;
 uint32_t data_written;
-bool afsk_tx_test;
 Afsk afsk_fd;
 AX25Ctx ax25;
-
-int8_t afsk_adc_val;
+KFileDebug dbg;
 
 int msg_cnt;
-static void message_hook(UNUSED_ARG(struct AX25Msg *, msg))
+static void message_hook(struct AX25Msg *msg)
 {
        msg_cnt++;
+       ax25_print(&dbg.fd, msg);
 }
 
 static FILE *afsk_fileOpen(const char *name)
@@ -129,6 +129,7 @@ static FILE *afsk_fileOpen(const char *name)
 int afsk_testSetup(void)
 {
        kdbg_init();
+       kfiledebug_init(&dbg);
        fp_adc = afsk_fileOpen("test/afsk_test.au");
        #if CPU_AVR
                #warning TODO: open the file?
@@ -147,7 +148,6 @@ int afsk_testSetup(void)
 
        timer_init();
        afsk_init(&afsk_fd, 0 ,0);
-       afsk_fd.fd.error = kfile_genericClose;
        ax25_init(&ax25, &afsk_fd.fd, message_hook);
        return 0;
 }
@@ -184,9 +184,13 @@ int afsk_testRun(void)
 
        ax25_send(&ax25, AX25_CALL("abcdef", 0), AX25_CALL("123456", 1), buf, sizeof(buf));
 
-       while (afsk_tx_test)
-               afsk_dac_isr(&afsk_fd);
-
+       do
+       {
+               int8_t val = afsk_dac_isr(&afsk_fd) - 128;
+               ASSERT(fwrite(&val, 1, sizeof(val), fp_dac) == sizeof(val));
+               data_written++;
+       }
+       while (afsk_fd.sending);
 
        #define SND_DATASIZE_OFF 8
        #if CPU_AVR