Skip to content

Commit

Permalink
add USB activity LEDs
Browse files Browse the repository at this point in the history
  • Loading branch information
hansfbaier committed Sep 16, 2021
1 parent 5fe62f5 commit ae8527f
Show file tree
Hide file tree
Showing 2 changed files with 20 additions and 3 deletions.
8 changes: 8 additions & 0 deletions gateware/jt51synth.py
Original file line number Diff line number Diff line change
Expand Up @@ -75,6 +75,14 @@ def elaborate(self, platform):

ILACoreParameters(ila).pickle()

led = platform.request("debug_led")
m.d.comb += [
led[0].eq(usbmidi.usb_tx_active_out),
led[1].eq(usbmidi.usb_rx_active_out),
led[2].eq(usbmidi.usb_suspended_out),
led[3].eq(usbmidi.usb_reset_detected_out),
]

return m

if __name__ == "__main__":
Expand Down
15 changes: 12 additions & 3 deletions gateware/usbmidi.py
Original file line number Diff line number Diff line change
Expand Up @@ -13,10 +13,15 @@
class USBMIDI(Elaboratable):
def __init__(self, use_ila=False):
self.stream_out = StreamInterface()
self.usb = None
self._use_ila = use_ila
self.additional_endpoints = []

# USB activity LEDs
self.usb_tx_active_out = Signal()
self.usb_rx_active_out = Signal()
self.usb_suspended_out = Signal()
self.usb_reset_detected_out = Signal()

MAX_PACKET_SIZE = 512
# we currently do not need MIDI feedback from the synth
with_midi_in = False
Expand Down Expand Up @@ -108,7 +113,7 @@ def elaborate(self, platform: Platform) -> Module:
m = Module()

ulpi = platform.request(platform.default_usb_connection)
m.submodules.usb = self.usb = usb = USBDevice(bus=ulpi)
m.submodules.usb = usb = USBDevice(bus=ulpi)

# Add our standard control endpoint to the device.
descriptors = self.create_descriptors()
Expand Down Expand Up @@ -140,7 +145,11 @@ def elaborate(self, platform: Platform) -> Module:
usb.connect .eq(~connect_button),
# Connect our device as a high speed device
usb.full_speed_only .eq(0),
self.stream_out.stream_eq(ep1_out.stream)
self.stream_out.stream_eq(ep1_out.stream),
self.usb_tx_active_out.eq(usb.tx_activity_led),
self.usb_rx_active_out.eq(usb.rx_activity_led),
self.usb_suspended_out.eq(usb.suspended),
self.usb_reset_detected_out.eq(usb.reset_detected),
]

return m

0 comments on commit ae8527f

Please sign in to comment.