Add a simple heap test.
[bertos.git] / bertos / net / afsk_test.c
index d835d628d8263f7ff4238eed091dd902b0496dcc..9aa5083056187f2a336f1c8d857f7aa4f7b6d4a1 100644 (file)
@@ -61,12 +61,9 @@ 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;
-
 int msg_cnt;
 static void message_hook(UNUSED_ARG(struct AX25Msg *, msg))
 {
@@ -146,8 +143,7 @@ int afsk_testSetup(void)
        ASSERT(fwrite(snd_header, 1, sizeof(snd_header), fp_dac) == sizeof(snd_header));
 
        timer_init();
-       afsk_init(&afsk_fd);
-       afsk_fd.fd.error = kfile_genericClose;
+       afsk_init(&afsk_fd, 0 ,0);
        ax25_init(&ax25, &afsk_fd.fd, message_hook);
        return 0;
 }
@@ -171,8 +167,7 @@ int afsk_testRun(void)
        int c;
        while ((c = fgetc(fp_adc)) != EOF)
        {
-               afsk_adc_val = (int8_t)c;
-               afsk_adc_isr();
+               afsk_adc_isr(&afsk_fd, (int8_t)c);
 
                ax25_poll(&ax25);
        }
@@ -185,9 +180,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();
-
+       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
@@ -204,8 +203,7 @@ int afsk_testRun(void)
 
        while ((c = fgetc(fp_adc)) != EOF)
        {
-               afsk_adc_val = (int8_t)c;
-               afsk_adc_isr();
+               afsk_adc_isr(&afsk_fd, (int8_t)c);
 
                ax25_poll(&ax25);
        }