usb hub support #67
usb hub support #67
Comments
|
have hit the books. ok there is a kind of hub support implemented in the ASF but it is not enabled and probably doesn't work. it's also overly generalized for our purpose. all we really need to do is implement the hub class host controller, find up to 2 or maybe 3 devices, and enumerate them. we don't have to worry about hubs-on-hubs, high-speed hubs, or whatever. see asf/common/services/usb/uhc/uhc.h , uhc.c |
|
if supporting multiple monomes is "priority-high" then this must also be "priority-high" as it is a dependency. |
|
Bump. Just digging into source now and feel a personal attachment to this gh-issue. Any idea how deep this rabbit hole goes? |
|
it's kind o deep. the ASF sources cited above are a place to start looking. i'm also totally willing to switch the whole host stack over to LUFA if that proves to be easier... though i don't see any specific indication that it would be for this purpose, iit might be worth a shot to start adding LUFA host code to the avr32_blank template in aleph/utils, and see where that gets you,.. ( @darrengit ) |
|
i managed to build the blank avr32 template with LUFA linked. it is easy. so i think that's worth investigating. happy to help and share code if anyone wants to look at this, otherwise i just don't have time. |
|
A few questions:
|
i guess it's possible that Atmel has completed the host stack with newer ASF verisons. but i doubt it since the changelogs i've looked at have been focused on newer parts lines like SAM (their ARM architecture.) makes more sense for them from a business perspective.
|
|
before i forget: we were talking about LUFA in the first place because there was a claim that it provided hub support; on scrutiny this proved to be true for the device stack but not for the host stack (which is more bare bones and also presents a much thornier problem.) everything i'm saying is recollected from years-old research so do feel free to correct it. |
|
I just diff'ed asf-3.7.3 (aleph) against asf-3.24.3 (latest) and there is almost no change between |
|
i don't think the ASF has improved on the hub front unfortunately. current draw-- current limiting is handled on the hardware side. i doubt we've created various outboard grid powering solutions, but the opportunity you wouldn't need to change the avr8 serial debug chip, if that's what you brian On Tue, Jul 7, 2015 at 2:39 AM, Greg Wuller notifications@github.com
|
|
a couple more libraries have been brought to my attention: this seems relatively platform -agnostic, and not too hard to grok. unfortunately doesn't support interrupt transfers on hubs, but i'm not sure that would matter for our purposes (i think all the relevant device classes only use bulk transfers, but don't quote me on that...) another one. more closely targeted at cortex m3 and m4, and relying heavily on their own HAL, so maybe less directly useful. still might be worth mining for hints. we're already using the ASF host library pretty successfully, and it does a lot of low-level interrupt and endpoint handling for us. so i think the path of least resistance is to just fill in the gaps in that library... |
|
I'm just starting up an attempt to connect an stm32 board to the Aleph usb host port, the goal is to get power from the Aleph (communication is by i2c, maybe at a later stage I will look at usb communication too but it's not necessary atm), I need to understand if this issue could potentially stand in the way of what I want to do? I'm done configuring the stm32 as a generic HID controller and crossing my fingers this rabbit hole is not too deep... |
|
You should have no problem using the aleph to communicate with a generic HID device and provide power. If your concern is current draw then that has more to do with the other bits of your circuit than with the device mcu. |
|
I'm not sure if this is the right thread... I'm trying to connect an stm32 but no success so far, are the aleph usb functions made to work with generic HID devices or specific to only monome grids? |
|
any generic HID device should be able to connect to the aleph. tested with grid uses FTDI. On Mon, May 23, 2016 at 2:42 AM, electropourlaction <
|
|
oki, then it's on the stm32 side! |
|
so yeah, not really the right thread :) but anyways: aleph supports three usb classes: FTDI, HID and MIDI: what are you testing with? if you're using BEES, use the HID operator. since HID takes many many forms, this operator is very basic and generic: for each instance of the op, you specify the byte offset of the word you're intrerested in, and whether the word is 8 or 16 bits wide. you can have multiple instances for different fields. i've used this in performance with an xbox360 controller and a standard mouse. if you're not using BEES but rather a custom app, implement the relevant handlers for connect / disconnect / RX: the actual RX data is just in a global variable: |
|
I'm testing with a nucleo f429zi, however it's beginning to dawn on me that I might settle on a usb power only solution first, it looks like I will need an ftdi in-between if I want to draw power and communicate with the same cable with this board (atm I'm communicating by i2c so just power would be an ok first step), seriously have some reading to do before I continue to crash this thread! |
|
indeed, i'm increasingly unclear on what your issue really is. so far you have mentioned HID, FTDI, i2c, and the USB power rail. but you have not really said what functionaliy the aleph is lacking in any of these areas. you haven't mentioned USB hubs, which is the topic of this issue. :) please make a new issue, if there is something specific we should adress, or if you just want to have an open-ended conversation / troubleshooting session, maybe a forum thread would be more appropriate. |
hit the books
The text was updated successfully, but these errors were encountered: