Robert Fisk
							
						 
						
							 
							
							
							
								
							
								0e42cf71dd 
								
							
								 
							
						 
						
							
							
								
								Correctly resume operation after HID device unplug/replug  
							
							 
							
							
 
							
						 
						
							9 years ago  
						
					 
				
					
						
							
							
								 
								Robert Fisk
							
						 
						
							 
							
							
							
								
							
								e63525f868 
								
							
								 
							
						 
						
							
							
								
								Don't freakout when wakeup-from-sleep fails during keyboard report out.  
							
							 
							
							
 
							
						 
						
							9 years ago  
						
					 
				
					
						
							
							
								 
								Robert Fisk
							
						 
						
							 
							
							
							
								
							
								7a1fe0fb65 
								
							
								 
							
						 
						
							
							
								
								Fix for mouse movement before waking from suspend  
							
							 
							
							
 
							
						 
						
							9 years ago  
						
					 
				
					
						
							
							
								 
								Robert Fisk
							
						 
						
							 
							
							
							
								
							
								46ecbd410d 
								
							
								 
							
						 
						
							
							
								
								After an epic battle, suspend/resume/wakeup is now supported.  
							
							 
							
							... 
							
							
 
							
							It turns out that suspend support on the STM32 USB core is buggy as
heck. Host mode cannot resume after suspend, and device mode cannot
receive resume or send wakeup signalling.
I managed to fake resume support by keeping Downstream and our connected
device running at full power, and simulating a wakeup event to the host
by disconnecting/reconnecting Upstream from the host. 
							
						 
						
							9 years ago  
						
					 
				
					
						
							
							
								 
								Robert Fisk
							
						 
						
							 
							
							
							
								
							
								32ca5cdcf9 
								
							
								 
							
						 
						
							
							
								
								HID class handles host restart correctly  
							
							 
							
							
 
							
						 
						
							9 years ago  
						
					 
				
					
						
							
							
								 
								Robert Fisk
							
						 
						
							 
							
							
							
								
							
								c68151698b 
								
							
								 
							
						 
						
							
							
								
								Bugfixes for keyboard support: works!!!  
							
							 
							
							
 
							
						 
						
							9 years ago  
						
					 
				
					
						
							
							
								 
								Robert Fisk
							
						 
						
							 
							
							
							
								
							
								bc2bf01cbe 
								
							
								 
							
						 
						
							
							
								
								Keyboard support implemented, but not tested  
							
							 
							
							
 
							
						 
						
							9 years ago  
						
					 
				
					
						
							
							
								 
								Robert Fisk
							
						 
						
							 
							
							
							
								
							
								9b2b8972a4 
								
							
								 
							
						 
						
							
							
								
								Incomplete and untested implementation of keyboard support  
							
							 
							
							
 
							
						 
						
							9 years ago  
						
					 
				
					
						
							
							
								 
								Robert Fisk
							
						 
						
							 
							
							
							
								
							
								5c18898611 
								
							
								 
							
						 
						
							
							
								
								Bugfix to allow reconnecting HID devices  
							
							 
							
							
 
							
						 
						
							9 years ago  
						
					 
				
					
						
							
							
								 
								Robert Fisk
							
						 
						
							 
							
							
							
								
							
								975f2d00af 
								
							
								 
							
						 
						
							
							
								
								Fix dynamic crystal frequency detection based on board revision  
							
							 
							
							
 
							
						 
						
							9 years ago  
						
					 
				
					
						
							
							
								 
								Robert Fisk
							
						 
						
							 
							
							
							
								
							
								85f965eaa0 
								
							
								 
							
						 
						
							
							
								
								Fix for occasional timeout on writes...  
							
							 
							
							... 
							
							
 
							
							...Downstream was not always changing state correctly after closely
spaced interrupts.
Also improve flash-write-lockout function to avoid dependency on
optimisation level. 
							
						 
						
							9 years ago  
						
					 
				
					
						
							
							
								 
								Robert Fisk
							
						 
						
							 
							
							
							
								
							
								637f67fc14 
								
							
								 
							
						 
						
							
							
								
								Implement dynamic crystal frequency selection based on board revision.  
							
							 
							
							... 
							
							
 
							
							Also fixed minor issue in hardware revision-detection function. 
							
						 
						
							9 years ago  
						
					 
				
					
						
							
							
								 
								Robert Fisk
							
						 
						
							 
							
							
							
								
							
								8c30d81521 
								
							
								 
							
						 
						
							
							
								
								Tweak USB descriptor string  
							
							 
							
							
 
							
						 
						
							9 years ago  
						
					 
				
					
						
							
							
								 
								Robert Fisk
							
						 
						
							 
							
							
							
								
							
								05f71ca098 
								
							
								 
							
						 
						
							
							
								
								Implemented FIFO support in Downstream host, significant speed increase!  
							
							 
							
							... 
							
							
 
							
							Each USB transaction passed to the driver now consists of multiple
64-byte packets. 8 packets when receiving, 4 packets when transmitting.
The STM32 silicon bugs out when more than 4 packets are scheduled to
write at a time :(
Reads 1.0MB/sec, writes 967kB/sec, not CPU limited :) 
							
						 
						
							10 years ago  
						
					 
				
					
						
							
							
								 
								Robert Fisk
							
						 
						
							 
							
							
							
								
							
								f9b7416df0 
								
							
								 
							
						 
						
							
							
								
								Sleep instead of busy-wait, approx 50% power reduction!  
							
							 
							
							
 
							
						 
						
							10 years ago  
						
					 
				
					
						
							
							
								 
								Robert Fisk
							
						 
						
							 
							
							
							
								
							
								5d393a0100 
								
							
								 
							
						 
						
							
							
								
								HID class: handle host restart gracefully  
							
							 
							
							
 
							
						 
						
							10 years ago  
						
					 
				
					
						
							
							
								 
								Robert Fisk
							
						 
						
							 
							
							
							
								
							
								6c96824da8 
								
							
								 
							
						 
						
							
							
								
								Implement multi-PID support so that Windows will recognise each device  
							
							 
							
							... 
							
							
 
							
							class as a separate device. 
							
						 
						
							10 years ago  
						
					 
				
					
						
							
							
								 
								Robert Fisk
							
						 
						
							 
							
							
							
								
							
								650d10f22c 
								
							
								 
							
						 
						
							
							
								
								Support disconnect/reconnect of attached HID device  
							
							 
							
							
 
							
						 
						
							10 years ago  
						
					 
				
					
						
							
							
								 
								Robert Fisk
							
						 
						
							 
							
							
							
								
							
								c78f5b1150 
								
							
								 
							
						 
						
							
							
								
								HID parser and wheel support works!  
							
							 
							
							
 
							
						 
						
							10 years ago  
						
					 
				
					
						
							
							
								 
								Robert Fisk
							
						 
						
							 
							
							
							
								
							
								6f944a33db 
								
							
								 
							
						 
						
							
							
								
								Fixed click-drag issue.  
							
							 
							
							... 
							
							
 
							
							TODO: find out why 8-byte device interrupt endpoints totally fail.
WTF??? 
							
						 
						
							10 years ago  
						
					 
				
					
						
							
							
								 
								Robert Fisk
							
						 
						
							 
							
							
							
								
							
								b80b99d9ec 
								
							
								 
							
						 
						
							
							
								
								Fixed enumeration issues with low-speed devices:  
							
							 
							
							... 
							
							
 
							
							- Unexpected second port-connected interrupt on cold boot with low-speed
device connected.
- Retry on failure to get device descriptor. (We still fail after three
attempts, but that is better than failing after the first one!)
Also changed eclipse project to use external builder. 
							
						 
						
							10 years ago  
						
					 
				
					
						
							
							
								 
								Robert Fisk
							
						 
						
							 
							
							
							
								
							
								b08c70fe02 
								
							
								 
							
						 
						
							
							
								
								Fixed bug in Upstream MSC. I have no idea why it worked before...  
							
							 
							
							
 
							
						 
						
							10 years ago  
						
					 
				
					
						
							
							
								 
								Robert Fisk
							
						 
						
							 
							
							
							
								
							
								9918cfcb19 
								
							
								 
							
						 
						
							
							
								
								Mouse WORKS!11111 ...but only in boot mode, so no scroll wheel :(  
							
							 
							
							
 
							
						 
						
							10 years ago  
						
					 
				
					
						
							
							
								 
								Robert Fisk
							
						 
						
							 
							
							
							
								
							
								b7298c5f65 
								
							
								 
							
						 
						
							
							
								
								Restructure & bugfix Upstream HID. Still some issue with Downstream...  
							
							 
							
							
 
							
						 
						
							10 years ago  
						
					 
				
					
						
							
							
								 
								Robert Fisk
							
						 
						
							 
							
							
							
								
							
								4d9e26b6ef 
								
							
								 
							
						 
						
							
							
								
								Upstream HID bugfixes.  
							
							 
							
							
 
							
						 
						
							10 years ago  
						
					 
				
					
						
							
							
								 
								Robert Fisk
							
						 
						
							 
							
							
							
								
							
								cda254c8bb 
								
							
								 
							
						 
						
							
							
								
								Downstream HID SPI interface done, untested.  
							
							 
							
							
 
							
						 
						
							10 years ago  
						
					 
				
					
						
							
							
								 
								Robert Fisk
							
						 
						
							 
							
							
							
								
							
								56e8b99ae5 
								
							
								 
							
						 
						
							
							
								
								Downstream mouse support working!  
							
							 
							
							
 
							
						 
						
							10 years ago  
						
					 
				
					
						
							
							
								 
								Robert Fisk
							
						 
						
							 
							
							
							
								
							
								e8a445a071 
								
							
								 
							
						 
						
							
							
								
								Work on Downstream HID support. Also a bunch of random tweaks.  
							
							 
							
							
 
							
						 
						
							10 years ago  
						
					 
				
					
						
							
							
								 
								Robert Fisk
							
						 
						
							 
							
							
							
								
							
								4c40373a32 
								
							
								 
							
						 
						
							
							
								
								Upstream HID mouse support probably done, not tested yet.  
							
							 
							
							
 
							
						 
						
							10 years ago  
						
					 
				
					
						
							
							
								 
								Robert Fisk
							
						 
						
							 
							
							
							
								
							
								c3c4d47145 
								
							
								 
							
						 
						
							
							
								
								Mouse Upstream code half-done.  
							
							 
							
							
 
							
						 
						
							10 years ago  
						
					 
				
					
						
							
							
								 
								Robert Fisk
							
						 
						
							 
							
							
							
								
							
								4615f2c740 
								
							
								 
							
						 
						
							
							
								
								Tweak product strings again  
							
							 
							
							
 
							
						 
						
							10 years ago  
						
					 
				
					
						
							
							
								 
								Robert Fisk
							
						 
						
							 
							
							
							
								
							
								6886ccd2d4 
								
							
								 
							
						 
						
							
							
								
								Tweak device descriptor strings  
							
							 
							
							
 
							
						 
						
							10 years ago  
						
					 
				
					
						
							
							
								 
								Robert Fisk
							
						 
						
							 
							
							
							
								
							
								08068c25d4 
								
							
								 
							
						 
						
							
							
								
								Initial commit of ST Cube HID drivers  
							
							 
							
							
 
							
						 
						
							10 years ago  
						
					 
				
					
						
							
							
								 
								Robert Fisk
							
						 
						
							 
							
							
							
								
							
								0d2d4d6341 
								
							
								 
							
						 
						
							
							
								
								Implement flash write lockout by spamming the unlock register, then  
							
							 
							
							... 
							
							
 
							
							checking that the correct unlock sequence fails. 
							
						 
						
							10 years ago  
						
					 
				
					
						
							
							
								 
								Robert Fisk
							
						 
						
							 
							
							
							
								
							
								9d966d4e89 
								
							
								 
							
						 
						
							
							
								
								Tidy up misc files and settings  
							
							 
							
							
 
							
						 
						
							10 years ago  
						
					 
				
					
						
							
							
								 
								Robert Fisk
							
						 
						
							 
							
							
							
								
							
								e94aea019e 
								
							
								 
							
						 
						
							
							
								
								Moved OpenOCD config to its own folder  
							
							 
							
							
 
							
						 
						
							10 years ago  
						
					 
				
					
						
							
							
								 
								Robert Fisk
							
						 
						
							 
							
							
							
								
							
								e308d3350b 
								
							
								 
							
						 
						
							
							
								
								USG v1.0 beta WORKS!!!!!11  
							
							 
							
							... 
							
							
 
							
							So apparently the STM32F401's SPI DMA is even more buggy than the 405's.
Worked around an intermittent stall/timeout by busy-waiting Upstream's
packet length transmission and reception, instead of DMA-ing it like the
packet body. Ugh... 
							
						 
						
							10 years ago  
						
					 
				
					
						
							
							
								 
								Robert Fisk
							
						 
						
							 
							
							
							
								
							
								25ff531917 
								
							
								 
							
						 
						
							
							
								
								Tweaks to 1.0 firmware. Not completely working yet :(  
							
							 
							
							
 
							
						 
						
							10 years ago  
						
					 
				
					
						
							
							
								 
								Robert Fisk
							
						 
						
							 
							
							
							
								
							
								e29ef84861 
								
							
								 
							
						 
						
							
							
								
								Modify firmware for v1.0 hardware with STM32F401RC micro:  
							
							 
							
							... 
							
							
 
							
							- Processor-specific header
 - Startup file
 - Linker script
 - Project settings
 - Debugger config script
 - Debugger project settings
 - Board revision detection routines 
							
						 
						
							10 years ago  
						
					 
				
					
						
							
							
								 
								Robert Fisk
							
						 
						
							 
							
							
							
								
							
								1262c5337a 
								
							
								 
							
						 
						
							
							
								
								All tabs to spaces  
							
							 
							
							
 
							
						 
						
							10 years ago  
						
					 
				
					
						
							
							
								 
								Robert Fisk
							
						 
						
							 
							
							
							
								
							
								08e6846cc5 
								
							
								 
							
						 
						
							
							
								
								Add missing option to clock configuration  
							
							 
							
							
 
							
						 
						
							10 years ago  
						
					 
				
					
						
							
							
								 
								Robert Fisk
							
						 
						
							 
							
							
							
								
							
								21de622469 
								
							
								 
							
						 
						
							
							
								
								Added hardware check on bootup: fault LED will light if Upstream  
							
							 
							
							... 
							
							
 
							
							firmware is placed on Downstream hardware or vice versa. 
							
						 
						
							10 years ago  
						
					 
				
					
						
							
							
								 
								Robert Fisk
							
						 
						
							 
							
							
							
								
							
								2983da24b2 
								
							
								 
							
						 
						
							
							
								
								Changed Upstream and Downstream SPI transfers back to DMA. DMA works  
							
							 
							
							... 
							
							
 
							
							correctly now, either because SPI is in 16-bit mode, or because I found
all the other bugs!
Doubled SPI baudrate to 10.5Mbps. Transfer speed now limited (again) by
Downstream's lack of FIFO buffering in the USB host controller.
Also disabled DMA transaction half-complete interrupt in
stm32f4xx_hal_dma.c, as it wasn't doing anything useful. 
							
						 
						
							10 years ago  
						
					 
				
					
						
							
							
								 
								Robert Fisk
							
						 
						
							 
							
							
							
								
							
								cd663a0651 
								
							
								 
							
						 
						
							
							
								
								Two bugfixes for Upstream's SPI packet handling:  
							
							 
							
							... 
							
							
 
							
							- Use asynchronous free packet callback for Upstream_MSC_BeginRead
- Upstream_MSC_BeginWrite freed packet too early 
							
						 
						
							10 years ago  
						
					 
				
					
						
							
							
								 
								Robert Fisk
							
						 
						
							 
							
							
							
								
							
								5e85aa069d 
								
							
								 
							
						 
						
							
							
								
								Remove generated files from Upstream/Debug/ folder  
							
							 
							
							
 
							
						 
						
							10 years ago  
						
					 
				
					
						
							
							
								 
								Robert Fisk
							
						 
						
							 
							
							
							
								
							
								431a527e24 
								
							
								 
							
						 
						
							
							
								
								Tidy up commented DMA init code  
							
							 
							
							
 
							
						 
						
							10 years ago  
						
					 
				
					
						
							
							
								 
								Robert Fisk
							
						 
						
							 
							
							
							
								
							
								58308c4a89 
								
							
								 
							
						 
						
							
							
								
								Added Mozilla Public License information to file headers.  
							
							 
							
							... 
							
							
 
							
							Mozilla Public License v2.0 is compatible with the various licenses used
by ST and ARM. 
							
						 
						
							10 years ago  
						
					 
				
					
						
							
							
								 
								Robert Fisk
							
						 
						
							 
							
							
							
								
							
								2e3293e84f 
								
							
								 
							
						 
						
							
							
								
								Increase SPI interface speed 4x, to 5.25Mbps. Required modifications to  
							
							 
							
							... 
							
							
 
							
							SPI peripheral library. At this speed SPI requires ~60% CPU time at -Og
optimisation level. This could be further improved by trimming down the
SPI interrupt. But...
Speed is now limited by Downstream's single-packet-per-URB restriction,
to about 460kB/s. USB Middleware does not implement TX FIFO empty
interrupt, so a bit of work is required here. 
							
						 
						
							10 years ago  
						
					 
				
					
						
							
							
								 
								Robert Fisk
							
						 
						
							 
							
							
							
								
							
								08c8c7a6d6 
								
							
								 
							
						 
						
							
							
								
								Code tidyup - remove unused SPI Tx-only and Rx-only routines  
							
							 
							
							
 
							
						 
						
							10 years ago  
						
					 
				
					
						
							
							
								 
								Robert Fisk
							
						 
						
							 
							
							
							
								
							
								d48815d8d9 
								
							
								 
							
						 
						
							
							
								
								IT. WORKS. !!!!!!!  
							
							 
							
							
 
							
						 
						
							10 years ago  
						
					 
				
					
						
							
							
								 
								Robert Fisk
							
						 
						
							 
							
							
							
								
							
								ce03845623 
								
							
								 
							
						 
						
							
							
								
								Completed moving Upstream to interrupt-based SPI.  
							
							 
							
							... 
							
							
 
							
							Although I am not entirely convinced this is necessary, as the SPI data
stall issue only appeared with optimisation off (-O0). Perhaps re-visit
this if Upstream needs more free CPU time later... 
							
						 
						
							10 years ago  
						
					 
				
					
						
							
							
								 
								Robert Fisk
							
						 
						
							 
							
							
							
								
							
								b9cc31d036 
								
							
								 
							
						 
						
							
							
								
								Crazy hardware issues, about to revert Upstream SPI from DMA to  
							
							 
							
							... 
							
							
 
							
							interrupt transfers 
							
						 
						
							10 years ago  
						
					 
				
					
						
							
							
								 
								Robert Fisk
							
						 
						
							 
							
							
							
								
							
								48a6c2e2a4 
								
							
								 
							
						 
						
							
							
								
								Bugfixes for Downstream, including one in the USB host stack!  
							
							 
							
							... 
							
							
 
							
							Downstream now enumerates and accepts attached USB storage devices. 
							
						 
						
							10 years ago  
						
					 
				
					
						
							
							
								 
								Robert Fisk
							
						 
						
							 
							
							
							
								
							
								750c2f3a21 
								
							
								 
							
						 
						
							
							
								
								- Implement notification of Downstream USB device removal, and  
							
							 
							
							... 
							
							
 
							
							corresponding Upstream disconnection
- Improve Upstream handling of TxOk signal from Downstream
- Misc tweaks 
							
						 
						
							10 years ago  
						
					 
				
					
						
							
							
								 
								Robert Fisk
							
						 
						
							 
							
							
							
								
							
								f24714cd8c 
								
							
								 
							
						 
						
							
							
								
								Revisit Upstream project to:  
							
							 
							
							... 
							
							
 
							
							- Implement Upstream state machine, with Downstream-dependent device
emulation
- Add fault LED flashing
- Improve fault handling and freakouts
- Misc bug fixes 
							
						 
						
							10 years ago  
						
					 
				
					
						
							
							
								 
								Robert Fisk
							
						 
						
							 
							
							
							
								
							
								0e1fed6047 
								
							
								 
							
						 
						
							
							
								
								Full implementation of Downstream MSC interface, including significant  
							
							 
							
							... 
							
							
 
							
							modifications to USB host MSC.
Also, minor tweaks to Upstream. 
							
						 
						
							10 years ago  
						
					 
				
					
						
							
							
								 
								Robert Fisk
							
						 
						
							 
							
							
							
								
							
								b9b6123642 
								
							
								 
							
						 
						
							
							
								
								Commit of Downstream before diving into USB MSC class driver  
							
							 
							
							... 
							
							
 
							
							modifications.
Also correct project settings to compile for Cortex M4 architecture. 
							
						 
						
							10 years ago  
						
					 
				
					
						
							
							
								 
								Robert Fisk
							
						 
						
							 
							
							
							
								
							
								b271e038a3 
								
							
								 
							
						 
						
							
							
								
								More refactoring in Upstream project  
							
							 
							
							
 
							
						 
						
							10 years ago  
						
					 
				
					
						
							
							
								 
								Robert Fisk
							
						 
						
							 
							
							
							
								
							
								4350666330 
								
							
								 
							
						 
						
							
							
								
								Refactor a bunch of stuff in Upstream project to avoid endless confusion  
							
							 
							
							... 
							
							
 
							
							with Downstream project.
Also fixed a couple of things in upstream_spi.c and
upstream_interface_msc.c but due to file rename the diff is not
obvious... 
							
						 
						
							10 years ago  
						
					 
				
					
						
							
							
								 
								Robert Fisk
							
						 
						
							 
							
							
							
								
							
								7b4e4b3c14 
								
							
								 
							
						 
						
							
							
								
								Continued polishing work on Downstream project.  
							
							 
							
							
 
							
						 
						
							10 years ago  
						
					 
				
					
						
							
							
								 
								Robert Fisk
							
						 
						
							 
							
							
							
								
							
								503d79de56 
								
							
								 
							
						 
						
							
							
								
								Streamlining Downstream project  
							
							 
							
							
 
							
						 
						
							10 years ago  
						
					 
				
					
						
							
							
								 
								Robert Fisk
							
						 
						
							 
							
							
							
								
							
								8f41552214 
								
							
								 
							
						 
						
							
							
								
								Updated STM32 library from v1.4.0 to v1.7.0  
							
							 
							
							... 
							
							
 
							
							Significant changes to:
 - stm32f4xx_hal_spi.c
 - stm32f4xx_hal_gpio.c
 - stm32f4xx_ll_usb.c
 - usbd_core.c
 - usbd_ctrlreq.c 
							
						 
						
							10 years ago  
						
					 
				
					
						
							
							
								 
								Robert Fisk
							
						 
						
							 
							
							
							
								
							
								18e2218280 
								
							
								 
							
						 
						
							
							
								
								Fixed Eclipse's Debug and Release configurations  
							
							 
							
							
 
							
						 
						
							10 years ago  
						
					 
				
					
						
							
							
								 
								Robert Fisk
							
						 
						
							 
							
							
							
								
							
								69d1490faa 
								
							
								 
							
						 
						
							
							
								
								Upstream debugged and working again, emulating a 128MB storage device.  
							
							 
							
							... 
							
							
 
							
							Implemented mock downstream_interface_msc.c for debugging purposes.
Multiple bugfixes and tweaks to:
- downstream_interface_msc.c
- downstream_spi.c
- usbd_core.c
- usbd_msc.c
- usbd_msc_scsi.c
- stm32f4xx_hal_pcd.c 
							
						 
						
							10 years ago  
						
					 
				
					
						
							
							
								 
								Robert Fisk
							
						 
						
							 
							
							
							
								
							
								aa72df1bbf 
								
							
								 
							
						 
						
							
							
								
								Minor tweaks to downstream interface  
							
							 
							
							
 
							
						 
						
							10 years ago  
						
					 
				
					
						
							
							
								 
								Robert Fisk
							
						 
						
							 
							
							
							
								
							
								d3da69eb07 
								
							
								 
							
						 
						
							
							
								
								Draft implementation of downstream SPI interface. Significant mods  
							
							 
							
							... 
							
							
 
							
							required to USB MSC class, mainly in usbd_msc_scsi.c. Currently
untested! 
							
						 
						
							10 years ago  
						
					 
				
					
						
							
							
								 
								Robert Fisk
							
						 
						
							 
							
							
							
								
							
								5acf8bbb88 
								
							
								 
							
						 
						
							
							
								
								Add OpenOCD config file for Olimex STM32-H405 development board.  
							
							 
							
							
 
							
						 
						
							11 years ago  
						
					 
				
					
						
							
							
								 
								Robert Fisk
							
						 
						
							 
							
							
							
								
							
								6d7d86b2f5 
								
							
								 
							
						 
						
							
							
								
								Initial commit!  
							
							 
							
							... 
							
							
 
							
							Upstream (device) firmware builds, emulates a small USB block device
filled with zeroes. 
							
						 
						
							11 years ago