Author: jaguarondi
Date: 2008-08-27 17:48:55 +0200 (Wed, 27 Aug 2008)
New Revision: 1617
Modified:
firmware/fuxusb/branches/new_rf/src/spi_task.c
firmware/fuxusb/branches/new_rf/src/spi_task.h
firmware/fuxusb/branches/new_rf/src/usb_commands.c
Log:
* Added debug status for AFH.
Modified: firmware/fuxusb/branches/new_rf/src/spi_task.c
===================================================================
--- firmware/fuxusb/branches/new_rf/src/spi_task.c 2008-08-27 14:52:00 UTC
(rev 1616)
+++ firmware/fuxusb/branches/new_rf/src/spi_task.c 2008-08-27 15:48:55 UTC
(rev 1617)
@@ -168,6 +168,11 @@
P3_7 = 0; /* XXX debug */
}
+#if defined(AFH_DEBUG)
+static bit AFH_toggle;
+static uint8_t AFH_data[AFH_SIZE];
+#endif
+
/**
* \brief SPI task main function.
* The SPI protocol must be refactored soon. So, I don't change this function
ATM.
@@ -206,6 +211,7 @@
}
else if (spi_idx >= SPI_SIZE)
{
+ /* SPI transfer done */
uint8_t config_in = 0;
static uint8_t config_out = 0;
@@ -230,7 +236,16 @@
FIFO_MIC_put_n(&spi_in[SPI_AUDIO_OFFSET], AUDIO_MIC_SIZE);
}
}
-
+#if defined(AFH_DEBUG)
+ if ((AFH_toggle==1 && spi_in[SPI_AUDIO_OFFSET + AFH_SIZE - 1]) ||
+ (AFH_toggle==0 && !spi_in[SPI_AUDIO_OFFSET + AFH_SIZE - 1]))
+ {
+ for (i=0; i<AFH_SIZE; i++)
+ {
+ AFH_data[i] = spi_in[i+SPI_AUDIO_OFFSET];
+ }
+ }
+#endif
/* Outgoing data, add commands and/or audio. */
spi_out[SPI_IDX_OFFSET] = frame_out_idx++;
if ((!(config_out & CFG_DATA_MK)) == (!(config_in & CFG_ACK_MK)) &&
@@ -256,3 +271,18 @@
}
P3_6 = 0; /* XXX debug */
}
+
+#if defined(AFH_DEBUG)
+void add_afh_debug_info(void)
+{
+ uint8_t i;
+ /* 26 bytes + AFH_toggle flag */
+ for (i=0; i<AFH_SIZE; i++)
+ {
+ Usb_write_byte(AFH_data[i]);
+ }
+ AFH_toggle = !AFH_toggle;
+ /* Mark buffer as without data in case it's not overwritten */
+ AFH_data[AFH_SIZE-1] = 2;
+}
+#endif
Modified: firmware/fuxusb/branches/new_rf/src/spi_task.h
===================================================================
--- firmware/fuxusb/branches/new_rf/src/spi_task.h 2008-08-27 14:52:00 UTC
(rev 1616)
+++ firmware/fuxusb/branches/new_rf/src/spi_task.h 2008-08-27 15:48:55 UTC
(rev 1617)
@@ -29,6 +29,8 @@
#define SPI_START P3_4
#define SPI_DREADY P3_2
+/* Necessary to debug AFH */
+#define AFH_DEBUG
/* Variables */
extern uint8_t RF_Status;
@@ -39,4 +41,13 @@
void spi_task(void);
void spi_task_reset(void);
+#if defined(AFH_DEBUG)
+#include "lib_mcu/usb/usb_drv.h"
+#define AFH_RANGE 13
+#define AFH_SIZE (2*AFH_RANGE+1)
+void add_afh_debug_info(void);
+#else
+#define AFH_SIZE 0
+#endif
+
#endif /* _SPITASK_H_ */
Modified: firmware/fuxusb/branches/new_rf/src/usb_commands.c
===================================================================
--- firmware/fuxusb/branches/new_rf/src/usb_commands.c 2008-08-27 14:52:00 UTC
(rev 1616)
+++ firmware/fuxusb/branches/new_rf/src/usb_commands.c 2008-08-27 15:48:55 UTC
(rev 1617)
@@ -102,15 +102,28 @@
Usb_write_byte(0);
Usb_write_byte(RF_ONLINE ? 1 : 0);
Usb_write_byte(RF_Status);
+
+ i = 0;
+#if defined(AFH_DEBUG)
+ {
+ uint8_t data size = FifoIn_STT_Idx / CMD_SIZE;
+ if (size > 8)
+ size = 8;
+ Usb_write_byte(size);
+ }
+ add_afh_debug_info();
+ i += AFH_SIZE;
+#else
Usb_write_byte(FifoIn_STT_Idx ? (FifoIn_STT_Idx / CMD_SIZE) : 0);
+#endif
/* Write statuses */
- for(i=0;i<FifoIn_STT_Idx;i++)
+ for(;i<(FifoIn_STT_Idx+AFH_SIZE) && i<60;i++)
{
Usb_write_byte(FIFO_STT_get());
}
/* And finish with 0 to completly fill the EP fifo */
- for(i=FifoIn_STT_Idx;i<60;i++)
+ for(;i<60;i++)
{
Usb_write_byte(0);
}
-------------------------------------------------------------------------
This SF.Net email is sponsored by the Moblin Your Move Developer's challenge
Build the coolest Linux based applications with Moblin SDK & win great prizes
Grand prize is a trip for two to an Open Source event anywhere in the world
http://moblin-contest.org/redirect.php?banner_id=100&url=/
_______________________________________________
Tux-droid-svn mailing list
[email protected]
https://lists.sourceforge.net/lists/listinfo/tux-droid-svn