Keir Fraser
419df4825a
usb: Define new astable write region and use it to move NFA logic onto the host.
...
The write protocol handling is reworked on the firmware side.
2020-10-27 12:58:12 +00:00
Keir Fraser
0f78a93f66
Rename FLUXOP_NOFLUX -> FLUXOP_SPACE
2020-10-27 09:51:16 +00:00
Keir Fraser
e7062e3ad8
usb: Send periodic noflux opcodes during long periods of no flux.
...
This new no-flux opcode replaces the long-flux opcode:
long-flux = no-flux + regular-flux
Also rearrange the code a bit to avoid repetition.
2020-10-21 12:38:46 +01:00
Keir Fraser
9b4b69da85
usb: Place index timings in-band within the flux read stream.
...
This removes the low limit on max index timings per read request.
2020-10-21 10:29:51 +01:00
Keir Fraser
73c3875252
Support F7 Lightniung Plus board.
2020-08-23 17:49:54 +01:00
Keir Fraser
b2939f5766
f7: Support new submodel: F7 Plus (Ant Goffart, version 2)
2020-06-29 11:34:08 +01:00
Keir Fraser
97eb1ca5ed
F7: Support new F7 v2 board design.
2020-06-07 13:01:44 +01:00
Keir Fraser
8178531e2c
f7: Clean up board-specific handling.
2020-05-28 14:10:54 +01:00
Keir Fraser
614278c168
F730Z8: Fix board init to initialise all unused pins and enable GPIOE clock.
...
Rename Ultra730 to F7 lightning
2020-05-27 14:06:04 +01:00
Keir Fraser
e87c5af441
Support new boards F7 Plus and Ultra730 in the firmware.
2020-05-22 13:11:10 +01:00
Keir Fraser
08ae2cb6c8
gw info: Report HW Submodel and USB transfer speed
2020-05-21 08:32:49 +01:00
Keir Fraser
fd2a04188e
Allow Greaseweazle bootloader to be update (use with caution!)
2020-05-15 11:09:09 +01:00
Keir Fraser
d275982297
F7: Must enable over-drive mode to run reliably at 216MHz
2020-05-15 09:41:52 +01:00
Keir Fraser
2dd299393e
f7: Extract board ID from pins PC15:13. Currently all three must float.
2020-05-05 10:21:17 +01:00
Keir Fraser
4109233ae3
Move cache operations into intrinsics/cortex files.
2020-05-04 14:14:49 +01:00
Keir Fraser
296567a7cf
f7: Fix firmware update: The mode-switch flag must be flushed from DCache.
2020-05-04 14:01:20 +01:00
Keir Fraser
12028bdffe
f7: Do not wait for write buffer to completely fill at Full Speed.
...
Now the buffer is 128kB, it takes ~150ms to fill it at FS.
2020-05-04 13:31:33 +01:00
Keir Fraser
93c5200a65
f7: Define new 'ext_ram' section to allocate data to SRAM1/SRAM2
...
Note that these areas are cached by the ARM CPU, and since the
cache does not automatically maintain coherency with DMA operations,
don't do DMA to or from ext_ram!!
2020-05-04 12:52:17 +01:00
Keir Fraser
4020223b2d
f7: Enable data cache.
2020-05-04 10:35:22 +01:00
Keir Fraser
a17282486c
f7: Enable instruction cache.
2020-05-04 09:58:08 +01:00
Keir Fraser
98b49d27be
HS USB: Initial commit.
2020-05-03 13:10:52 +01:00
Keir Fraser
4435650f0a
bandwidth: Calculate Min / Mean / Max bandwidth in each direction
2020-04-27 13:52:44 +01:00
Keir Fraser
73c3902dce
bandwidth: New bandwidth measurement command
...
Currently measures only average bandwidth. We really care about
mimimum bandwidth, so adding that is a todo.
2020-04-27 10:56:32 +01:00
Keir Fraser
8799fda304
Introduce erase_flux command to erase a track.
...
Use this in 'gw write' to erase unformatted/empty tracks.
Remove the --adjust-speed option: We basically always want this.
2020-04-21 10:47:41 +01:00
Keir Fraser
773e9933dd
floppy: Remove delayed-index option from WRITE_FLUX command.
...
We will deal with non-index write splice instead by writing more
than one full revolution, but starting at index always.
2020-04-21 10:37:52 +01:00
Keir Fraser
0bf525c3a5
gw.py reset: Reset to Power-On Defaults
2020-03-10 10:10:10 +00:00
Keir Fraser
88b3af0076
gw.py pin: Allow a pin to be manually set to specified level.
...
Fixes #20
2020-03-10 09:50:58 +00:00
Keir Fraser
8138aed409
usb: Use upper-case hex for serial string
2020-01-21 14:52:05 +00:00
Keir Fraser
b24ac5070b
usb: Include 16-character serial string based on MCU unique device identifier.
2020-01-21 12:15:31 +00:00
Keir Fraser
f58c0fb761
Add drive letter (0,1,2,A,B) to gw.py read/write commands.
...
Allows use of multiple drives with new F7 GW hardware.
2020-01-17 12:25:46 +00:00
Keir Fraser
fec5d4c2df
Activity LED (C13 on Blue Pill, B13 on F7 board):
...
1. Lit when a USB command is in progress.
2. Blinks when enumerated but idle in bootloader mode (200ms toggle)
2020-01-07 09:16:30 +00:00
Keir Fraser
e64bed3a24
STM32F7: Definitions for the HS PHYC and extra OTG HS bit defns.
2019-12-13 10:13:03 +00:00
Keir Fraser
1e578a767d
STM32F7: Update Bootloader
2019-12-06 12:31:48 +00:00
Keir Fraser
9a1702abd3
STM32F7: Floppy Control
2019-12-06 09:42:03 +00:00
Keir Fraser
a2a4615d28
STM32F7: DWC OTG USB Controller
2019-12-06 09:41:59 +00:00
Keir Fraser
484257ea2f
STM32F7: Debug console on USART1
2019-11-27 10:04:09 +00:00
Keir Fraser
37e49e1f82
STM32F7: Set up system clocks, PLLs, divisors, etc.
2019-11-26 16:03:01 +00:00
Keir Fraser
c5c81ce1ba
STM32F7: Integrate into the build
2019-11-25 13:31:14 +00:00
Keir Fraser
bf52a100b1
STM32F7: Register definitions
2019-11-25 10:30:36 +00:00
Keir Fraser
2dc37fe3ec
Remove double underscore prefix from __packed and __aligned() definitions.
...
It is polluting the GCC namespace and breaks the build with GCC v9.
2019-11-20 18:10:48 +00:00
Keir Fraser
07746e10e3
firmware: Fix strcmp() build on gcc-9.2.0
...
Thanks to Uffe Jakobsen!
2019-11-16 06:42:56 +00:00
Keir Fraser
602eb76a0a
Fix compatibility with old bootloader versions
2019-11-11 12:32:07 +00:00
Keir Fraser
37c0a273bb
floppy: Overhaul the USB command protocol a bit.
2019-11-08 16:54:58 +00:00
Keir Fraser
4c2f9213b8
floppy: Allow writes to be terminated at index, and allow index to be delayed.
2019-11-08 14:50:10 +00:00
Keir Fraser
b37c5ceaa3
floppy: Simplify the read protocol a bit.
2019-11-08 13:23:19 +00:00
Keir Fraser
a537b56420
blinky: Log serial, flash size, and ID codes.
...
Warn on non-zero ID code as STM10xx8/B is supposed to have an erratum.
2019-11-08 08:02:59 +00:00
Keir Fraser
4d235e8469
bootloader: Fix bootloader purgatory due to not enabling AFIO clock.
...
Also clean stuff up a bit.
2019-10-30 07:49:37 +00:00
Keir Fraser
0bf9567c22
Substantially simplify debug logging to serial
2019-10-29 12:25:21 +00:00
Keir Fraser
51178ae11d
usb: Use magic baud rates as out-of-band commands to Greaseweazle.
...
Currently we use this to reste communications at script start.
Unlike send_break(), this works on Mac OS too (at least on Mojave)
2019-10-29 11:30:56 +00:00
Keir Fraser
ac588f09e0
Firmware Update Bootloader
2019-10-29 10:50:02 +00:00