[tuxdroid-svn] r1197 - in firmware/fuxusb/trunk: . src
Status: Beta
Brought to you by:
ks156
From: Paul_R <c2m...@c2...> - 2008-05-23 10:36:12
|
Author: Paul_R Date: 2008-05-23 12:36:07 +0200 (Fri, 23 May 2008) New Revision: 1197 Modified: firmware/fuxusb/trunk/fuxusb.Opt firmware/fuxusb/trunk/src/fifo_mic.c firmware/fuxusb/trunk/src/fifo_spk.c firmware/fuxusb/trunk/src/fifo_stt.c firmware/fuxusb/trunk/src/usb_desc.h firmware/fuxusb/trunk/src/usb_enum.c firmware/fuxusb/trunk/src/usb_ep.c firmware/fuxusb/trunk/src/usb_task.c Log: * Typo. Modified: firmware/fuxusb/trunk/fuxusb.Opt =================================================================== (Binary files differ) Modified: firmware/fuxusb/trunk/src/fifo_mic.c =================================================================== --- firmware/fuxusb/trunk/src/fifo_mic.c 2008-05-23 09:53:58 UTC (rev 1196) +++ firmware/fuxusb/trunk/src/fifo_mic.c 2008-05-23 10:36:07 UTC (rev 1197) @@ -86,7 +86,9 @@ do { FifoOut_MIC_cmpt++; if (FifoOut_MIC_cmpt >= FIFO_MIC_READY_VALUE) + { Fifoready_MIC = 1; + } if (FifoOut_MIC_cmpt == FIFO_MIC_OVERLOAD) { FifoOut_MIC_cmpt--; @@ -95,8 +97,10 @@ FifoTbl_MIC[FifoIn_MIC_Idx] = received_rf_data[n - i]; FifoIn_MIC_Idx++; // Update FIFO in index - if (FifoIn_MIC_Idx == FIFOTBL_MIC_MAX) + if (FifoIn_MIC_Idx == FIFOTBL_MIC_MAX) + { FifoIn_MIC_Idx = 0; + } i--; } while(i); @@ -112,13 +116,19 @@ uint8_t data Data; if (FifoOut_MIC_cmpt == 0) + { Fifoready_MIC = 0; + } if (FifoOut_MIC_cmpt == 0) { if (FifoOut_MIC_Idx == 0) + { Data = FifoTbl_MIC[FIFOTBL_MIC_MAX-1]; + } else - Data = FifoTbl_MIC[FifoOut_MIC_Idx-1]; + { + Data = FifoTbl_MIC[FifoOut_MIC_Idx-1]; + } return Data; } @@ -130,7 +140,9 @@ Data = FifoTbl_MIC[FifoOut_MIC_Idx]; FifoOut_MIC_Idx++; if (FifoOut_MIC_Idx == FIFOTBL_MIC_MAX) - FifoOut_MIC_Idx = 0; + { + FifoOut_MIC_Idx = 0; + } return (Data); } Modified: firmware/fuxusb/trunk/src/fifo_spk.c =================================================================== --- firmware/fuxusb/trunk/src/fifo_spk.c 2008-05-23 09:53:58 UTC (rev 1196) +++ firmware/fuxusb/trunk/src/fifo_spk.c 2008-05-23 10:36:07 UTC (rev 1197) @@ -87,7 +87,9 @@ { FifoOut_SPK_cmpt++; if (FifoOut_SPK_cmpt >= FIFO_SPK_READY_VALUE_MAX) + { Fifoready_SPK = 1; // FIFO ready to be empty + } if (FifoOut_SPK_cmpt == FIFO_SPK_OVERLOAD) // FIFO Overload { FifoOut_SPK_cmpt--; @@ -96,15 +98,21 @@ FilterByte = Usb_read_byte(); // Put data into the FIFO if(!FilterByte) + { FifoTbl_SPK[FifoIn_SPK_Idx] = 0x01; + } else + { FifoTbl_SPK[FifoIn_SPK_Idx] = FilterByte; + } FifoIn_SPK_Idx++; // Update FIFO in index - if (FifoIn_SPK_Idx == FIFOTBL_SPK_MAX) + if (FifoIn_SPK_Idx == FIFOTBL_SPK_MAX) + { FifoIn_SPK_Idx = 0; + } i--; - }while(i); + } while (i); } /** @@ -117,14 +125,20 @@ uint8_t Data; if (FifoOut_SPK_cmpt < FIFO_SPK_READY_VALUE_MIN) + { Fifoready_SPK = 0; // FIFO empty + } if (FifoOut_SPK_cmpt == 0) // FIFO Underload { if (FifoOut_SPK_Idx == 0) + { Data = FifoTbl_SPK[FIFOTBL_SPK_MAX-1]; + } else - Data = FifoTbl_SPK[FifoOut_SPK_Idx-1]; + { + Data = FifoTbl_SPK[FifoOut_SPK_Idx-1]; + } return Data; } else @@ -133,8 +147,11 @@ } Data = FifoTbl_SPK[FifoOut_SPK_Idx]; FifoOut_SPK_Idx++; + if (FifoOut_SPK_Idx == FIFOTBL_SPK_MAX) - FifoOut_SPK_Idx = 0; + { + FifoOut_SPK_Idx = 0; + } return (Data); } Modified: firmware/fuxusb/trunk/src/fifo_stt.c =================================================================== --- firmware/fuxusb/trunk/src/fifo_stt.c 2008-05-23 09:53:58 UTC (rev 1196) +++ firmware/fuxusb/trunk/src/fifo_stt.c 2008-05-23 10:36:07 UTC (rev 1197) @@ -80,9 +80,9 @@ FifoTbl_STT[FifoIn_STT_Idx] = Data; // Put data into the FIFO FifoIn_STT_Idx++; // Update FIFO in index if (FifoIn_STT_Idx == FIFO_STT_OVERLOAD) // FIFO Overload - FifoOverLoad_STT = 1; - - + { + FifoOverLoad_STT = 1; + } } /** Modified: firmware/fuxusb/trunk/src/usb_desc.h =================================================================== --- firmware/fuxusb/trunk/src/usb_desc.h 2008-05-23 09:53:58 UTC (rev 1196) +++ firmware/fuxusb/trunk/src/usb_desc.h 2008-05-23 10:36:07 UTC (rev 1197) @@ -30,7 +30,7 @@ #include "version.h" /** Enable / Disable the HID interface */ -#define HID_DEVICE +#undef HID_DEVICE /** \name Descriptors type * @{ */ Modified: firmware/fuxusb/trunk/src/usb_enum.c =================================================================== --- firmware/fuxusb/trunk/src/usb_enum.c 2008-05-23 09:53:58 UTC (rev 1196) +++ firmware/fuxusb/trunk/src/usb_enum.c 2008-05-23 10:36:07 UTC (rev 1197) @@ -207,7 +207,6 @@ case SET_DESCRIPTOR: case SYNCH_FRAME: default: - #ifdef USB_ENUM_DEBUG printf("Unknown Request "); #endif @@ -307,7 +306,9 @@ #endif } else + { stall_request(); + } } /** @@ -406,141 +407,119 @@ switch (descriptor_type) { case DEVICE: - { - data_to_transfer = sizeof (usb_device_descriptor); - pbuffer = &(usb_device_descriptor.bLength); + data_to_transfer = sizeof (usb_device_descriptor); + pbuffer = &(usb_device_descriptor.bLength); #ifdef USB_ENUM_DEBUG - printf("DEVICE "); + printf("DEVICE "); #endif - break; - } + break; + case CONFIGURATION: - { - data_to_transfer = sizeof (usb_configuration); - pbuffer = &(usb_configuration.cfg.bLength); + data_to_transfer = sizeof (usb_configuration); + pbuffer = &(usb_configuration.cfg.bLength); #ifdef USB_ENUM_DEBUG - printf("CONFIGURATION "); + printf("CONFIGURATION "); #endif - break; - } + break; + #ifdef HID_DEVICE case REPORT: - { data_to_transfer = SIZE_OF_REPORT; pbuffer = &(usb_configuration.rep[0]); break; - } + case HID: - { data_to_transfer = sizeof(usb_configuration.HIDStandardDescriptor); pbuffer = &(usb_configuration.HIDStandardDescriptor.bLength); break; - } + #endif case STRING: - { #ifdef USB_ENUM_DEBUG - printf("STRING "); + printf("STRING "); #endif - switch (string_type) - { - case LANG_ID: - { - data_to_transfer = sizeof (usb_language); - pbuffer = &(usb_language.bLength); + switch (string_type) + { + case LANG_ID: + data_to_transfer = sizeof (usb_language); + pbuffer = &(usb_language.bLength); #ifdef USB_ENUM_DEBUG - printf("LANG_ID "); + printf("LANG_ID "); #endif - break; - } - case MAN_STRING_INDEX: - { - data_to_transfer = sizeof (usb_manufacturer); - pbuffer = &(usb_manufacturer.bLength); + break; + case MAN_STRING_INDEX: + data_to_transfer = sizeof (usb_manufacturer); + pbuffer = &(usb_manufacturer.bLength); #ifdef USB_ENUM_DEBUG - printf("MAN_STRING_INDEX "); + printf("MAN_STRING_INDEX "); #endif - break; - } - case PROD_STRING_INDEX: - { - data_to_transfer = sizeof (usb_product); - pbuffer = &(usb_product.bLength); + break; + + case PROD_STRING_INDEX: + data_to_transfer = sizeof (usb_product); + pbuffer = &(usb_product.bLength); #ifdef USB_ENUM_DEBUG - printf("PROD_STRING_INDEX "); + printf("PROD_STRING_INDEX "); #endif - break; - } - case SN_STRING_INDEX: - { - data_to_transfer = sizeof (usb_serial_number); - pbuffer = &(usb_serial_number.bLength); + break; + + case SN_STRING_INDEX: + data_to_transfer = sizeof (usb_serial_number); + pbuffer = &(usb_serial_number.bLength); #ifdef USB_ENUM_DEBUG - printf("SN_STRING_INDEX "); + printf("SN_STRING_INDEX "); #endif - break; + break; - } - case CONFIG_STRING_INDEX: - { - data_to_transfer = sizeof (usb_config); - pbuffer = &(usb_config.bLength); + case CONFIG_STRING_INDEX: + data_to_transfer = sizeof (usb_config); + pbuffer = &(usb_config.bLength); #ifdef USB_ENUM_DEBUG - printf("CONFIG_STRING_INDEX "); + printf("CONFIG_STRING_INDEX "); #endif - break; + break; - } - case AUDIO_MICRO_INDEX: - { - data_to_transfer = sizeof (usb_audio_micro); - pbuffer = &(usb_audio_micro.bLength); - break; - } - case AUDIO_SPEAKER_INDEX: - { - data_to_transfer = sizeof (usb_audio_speaker); - pbuffer = &(usb_audio_speaker.bLength); - break; - } - case AUDIO_TTS_INDEX: - { - data_to_transfer = sizeof (usb_audio_tts); - pbuffer = &(usb_audio_tts.bLength); - break; - } - case AUDIO_NORMAL_INDEX: - { - data_to_transfer = sizeof (usb_audio_normal); - pbuffer = &(usb_audio_normal.bLength); - break; - } - default: - { -#ifdef USB_ENUM_DEBUG - printf("UNKNOWN_STRING_INDEX "); -#endif - Usb_clear_rx_setup(); - stall_request(); - Usb_clear_DIR(); - return; - } - } + case AUDIO_MICRO_INDEX: + data_to_transfer = sizeof (usb_audio_micro); + pbuffer = &(usb_audio_micro.bLength); break; - } - default: - { + + case AUDIO_SPEAKER_INDEX: + data_to_transfer = sizeof (usb_audio_speaker); + pbuffer = &(usb_audio_speaker.bLength); + break; + + case AUDIO_TTS_INDEX: + data_to_transfer = sizeof (usb_audio_tts); + pbuffer = &(usb_audio_tts.bLength); + break; + + case AUDIO_NORMAL_INDEX: + data_to_transfer = sizeof (usb_audio_normal); + pbuffer = &(usb_audio_normal.bLength); + break; + + default: #ifdef USB_ENUM_DEBUG - printf("UNKNOWN"); + printf("UNKNOWN_STRING_INDEX "); #endif Usb_clear_rx_setup(); stall_request(); Usb_clear_DIR(); -#ifdef USB_ENUM_DEBUG - printf("1"); -#endif return; } + break; + default: +#ifdef USB_ENUM_DEBUG + printf("UNKNOWN"); +#endif + Usb_clear_rx_setup(); + stall_request(); + Usb_clear_DIR(); +#ifdef USB_ENUM_DEBUG + printf("1"); +#endif + return; } ACC = Usb_read_byte(); /* don't care of wIndex field */ @@ -551,8 +530,14 @@ if (wLength > data_to_transfer) { - if ((data_to_transfer % EP_CONTROL_LENGTH) == 0) { zlp = True; } - else { zlp = False; } /* no need of zero length packet */ + if ((data_to_transfer % EP_CONTROL_LENGTH) == 0) + { + zlp = True; + } + else + { + zlp = False; + } /* no need of zero length packet */ } else { @@ -711,12 +696,12 @@ Usb_clear_rx_setup(); stall_request(); } - if (bmRequestType == INTERFACE_TYPE) + else if (bmRequestType == INTERFACE_TYPE) { Usb_clear_rx_setup(); stall_request(); } - if (bmRequestType == ENDPOINT_TYPE) + else if (bmRequestType == ENDPOINT_TYPE) { if (Usb_read_byte() == 0x00) { @@ -724,23 +709,20 @@ switch (Usb_read_byte()) /* check wIndex */ { case ENDPOINT_1: - { - Usb_select_ep(EP_IN); - Usb_set_stall_request(); - Usb_select_ep(EP_CONTROL); - endpoint_status[EP_IN] = 0x01; - Usb_clear_rx_setup(); - Usb_set_tx_ready(); - while (!(Usb_tx_complete())); - Usb_clear_tx_complete(); - break; - } + Usb_select_ep(EP_IN); + Usb_set_stall_request(); + Usb_select_ep(EP_CONTROL); + endpoint_status[EP_IN] = 0x01; + Usb_clear_rx_setup(); + Usb_set_tx_ready(); + while (!(Usb_tx_complete())); + Usb_clear_tx_complete(); + break; + default: - { - Usb_clear_rx_setup(); - stall_request(); - break; - } + Usb_clear_rx_setup(); + stall_request(); + break; } } } @@ -757,12 +739,12 @@ Usb_clear_rx_setup(); stall_request(); } - if (bmRequestType == INTERFACE_TYPE) + else if (bmRequestType == INTERFACE_TYPE) { Usb_clear_rx_setup(); stall_request(); } - if (bmRequestType == ENDPOINT_TYPE) + else if (bmRequestType == ENDPOINT_TYPE) { if (Usb_read_byte() == 0x00) { @@ -770,32 +752,28 @@ switch (Usb_read_byte()) /* check wIndex */ { case ENDPOINT_1: - { - Usb_select_ep(EP_IN); - Usb_clear_stall_request(); - usb_reset_endpoint(EP_IN); - Usb_select_ep(EP_CONTROL); - endpoint_status[EP_IN] = 0x00; - Usb_clear_rx_setup(); - Usb_set_tx_ready(); - while (!(Usb_tx_complete())); - Usb_clear_tx_complete(); - break; - } + Usb_select_ep(EP_IN); + Usb_clear_stall_request(); + usb_reset_endpoint(EP_IN); + Usb_select_ep(EP_CONTROL); + endpoint_status[EP_IN] = 0x00; + Usb_clear_rx_setup(); + Usb_set_tx_ready(); + while (!(Usb_tx_complete())); + Usb_clear_tx_complete(); + break; + case ENDPOINT_0: - { - Usb_clear_rx_setup(); - Usb_set_tx_ready(); - while (!(Usb_tx_complete())); - Usb_clear_tx_complete(); - break; - } + Usb_clear_rx_setup(); + Usb_set_tx_ready(); + while (!(Usb_tx_complete())); + Usb_clear_tx_complete(); + break; + default: - { - Usb_clear_rx_setup(); - stall_request(); - break; - } + Usb_clear_rx_setup(); + stall_request(); + break; } } } Modified: firmware/fuxusb/trunk/src/usb_ep.c =================================================================== --- firmware/fuxusb/trunk/src/usb_ep.c 2008-05-23 09:53:58 UTC (rev 1196) +++ firmware/fuxusb/trunk/src/usb_ep.c 2008-05-23 10:36:07 UTC (rev 1197) @@ -66,7 +66,9 @@ { Usb_select_ep(EP_CONTROL); if (Usb_setup_received()) - usb_enumeration_process(); + { + usb_enumeration_process(); + } } /* EP1 : Microphone EP */ @@ -174,7 +176,9 @@ if (tts_pipe_selected) { if(usb_get_nb_byte()) + { FIFO_SPK_put_n(8); + } } Usb_clear_rx(); } @@ -190,7 +194,9 @@ if (!tts_pipe_selected) { if(usb_get_nb_byte()) + { FIFO_SPK_put_n(8); + } } Usb_clear_rx(); } Modified: firmware/fuxusb/trunk/src/usb_task.c =================================================================== --- firmware/fuxusb/trunk/src/usb_task.c 2008-05-23 09:53:58 UTC (rev 1196) +++ firmware/fuxusb/trunk/src/usb_task.c 2008-05-23 10:36:07 UTC (rev 1197) @@ -66,13 +66,19 @@ void usb_task(void) { if (Usb_resume()) + { resume_usb(); + } else if (Usb_reset()) + { reset_usb(); + } else if (Usb_suspend()) + { suspend_usb(); + } /* * When the SOF is detected, manage the LEDs. @@ -83,15 +89,17 @@ led_behavior(); /* This counter is used to temporise the i2c task. */ - if (i2c_wait_counter) + if (i2c_wait_counter) + { i2c_wait_counter--; + } } /* * Load the microphone EP if it's not already loaded and if the micro * fifo is ready. */ + fill_mic_ep(); - fill_mic_ep(); /* * Prepare the statuses when a request has been received */ @@ -101,5 +109,7 @@ * Parse all endpoints when an EP interrupt has been trigged */ if(Usb_endpoint_interrupt()) + { endpoints_parser(); + } } |