![]() |
#include "Usb.h"Classes | |
| struct | HubDescriptor |
| struct | HubEvent |
| class | USBHub |
Macros | |
| #define | USB_DESCRIPTOR_HUB 0x09 |
| #define | bmREQ_CLEAR_HUB_FEATURE USB_SETUP_HOST_TO_DEVICE|USB_SETUP_TYPE_CLASS|USB_SETUP_RECIPIENT_DEVICE |
| #define | bmREQ_CLEAR_PORT_FEATURE USB_SETUP_HOST_TO_DEVICE|USB_SETUP_TYPE_CLASS|USB_SETUP_RECIPIENT_OTHER |
| #define | bmREQ_CLEAR_TT_BUFFER USB_SETUP_HOST_TO_DEVICE|USB_SETUP_TYPE_CLASS|USB_SETUP_RECIPIENT_OTHER |
| #define | bmREQ_GET_HUB_DESCRIPTOR USB_SETUP_DEVICE_TO_HOST|USB_SETUP_TYPE_CLASS|USB_SETUP_RECIPIENT_DEVICE |
| #define | bmREQ_GET_HUB_STATUS USB_SETUP_DEVICE_TO_HOST|USB_SETUP_TYPE_CLASS|USB_SETUP_RECIPIENT_DEVICE |
| #define | bmREQ_GET_PORT_STATUS USB_SETUP_DEVICE_TO_HOST|USB_SETUP_TYPE_CLASS|USB_SETUP_RECIPIENT_OTHER |
| #define | bmREQ_RESET_TT USB_SETUP_HOST_TO_DEVICE|USB_SETUP_TYPE_CLASS|USB_SETUP_RECIPIENT_OTHER |
| #define | bmREQ_SET_HUB_DESCRIPTOR USB_SETUP_HOST_TO_DEVICE|USB_SETUP_TYPE_CLASS|USB_SETUP_RECIPIENT_DEVICE |
| #define | bmREQ_SET_HUB_FEATURE USB_SETUP_HOST_TO_DEVICE|USB_SETUP_TYPE_CLASS|USB_SETUP_RECIPIENT_DEVICE |
| #define | bmREQ_SET_PORT_FEATURE USB_SETUP_HOST_TO_DEVICE|USB_SETUP_TYPE_CLASS|USB_SETUP_RECIPIENT_OTHER |
| #define | bmREQ_GET_TT_STATE USB_SETUP_DEVICE_TO_HOST|USB_SETUP_TYPE_CLASS|USB_SETUP_RECIPIENT_OTHER |
| #define | bmREQ_STOP_TT USB_SETUP_HOST_TO_DEVICE|USB_SETUP_TYPE_CLASS|USB_SETUP_RECIPIENT_OTHER |
| #define | HUB_REQUEST_CLEAR_TT_BUFFER 8 |
| #define | HUB_REQUEST_RESET_TT 9 |
| #define | HUB_REQUEST_GET_TT_STATE 10 |
| #define | HUB_REQUEST_STOP_TT 11 |
| #define | HUB_FEATURE_C_HUB_LOCAL_POWER 0 |
| #define | HUB_FEATURE_C_HUB_OVER_CURRENT 1 |
| #define | HUB_FEATURE_PORT_CONNECTION 0 |
| #define | HUB_FEATURE_PORT_ENABLE 1 |
| #define | HUB_FEATURE_PORT_SUSPEND 2 |
| #define | HUB_FEATURE_PORT_OVER_CURRENT 3 |
| #define | HUB_FEATURE_PORT_RESET 4 |
| #define | HUB_FEATURE_PORT_POWER 8 |
| #define | HUB_FEATURE_PORT_LOW_SPEED 9 |
| #define | HUB_FEATURE_C_PORT_CONNECTION 16 |
| #define | HUB_FEATURE_C_PORT_ENABLE 17 |
| #define | HUB_FEATURE_C_PORT_SUSPEND 18 |
| #define | HUB_FEATURE_C_PORT_OVER_CURRENT 19 |
| #define | HUB_FEATURE_C_PORT_RESET 20 |
| #define | HUB_FEATURE_PORT_TEST 21 |
| #define | HUB_FEATURE_PORT_INDICATOR 22 |
| #define | HUB_PORT_TEST_MODE_J 1 |
| #define | HUB_PORT_TEST_MODE_K 2 |
| #define | HUB_PORT_TEST_MODE_SE0_NAK 3 |
| #define | HUB_PORT_TEST_MODE_PACKET 4 |
| #define | HUB_PORT_TEST_MODE_FORCE_ENABLE 5 |
| #define | HUB_PORT_INDICATOR_AUTO 0 |
| #define | HUB_PORT_INDICATOR_AMBER 1 |
| #define | HUB_PORT_INDICATOR_GREEN 2 |
| #define | HUB_PORT_INDICATOR_OFF 3 |
| #define | bmHUB_PORT_STATUS_PORT_CONNECTION 0x0001 |
| #define | bmHUB_PORT_STATUS_PORT_ENABLE 0x0002 |
| #define | bmHUB_PORT_STATUS_PORT_SUSPEND 0x0004 |
| #define | bmHUB_PORT_STATUS_PORT_OVER_CURRENT 0x0008 |
| #define | bmHUB_PORT_STATUS_PORT_RESET 0x0010 |
| #define | bmHUB_PORT_STATUS_PORT_POWER 0x0100 |
| #define | bmHUB_PORT_STATUS_PORT_LOW_SPEED 0x0200 |
| #define | bmHUB_PORT_STATUS_PORT_HIGH_SPEED 0x0400 |
| #define | bmHUB_PORT_STATUS_PORT_TEST 0x0800 |
| #define | bmHUB_PORT_STATUS_PORT_INDICATOR 0x1000 |
| #define | bmHUB_PORT_STATUS_C_PORT_CONNECTION 0x0001 |
| #define | bmHUB_PORT_STATUS_C_PORT_ENABLE 0x0002 |
| #define | bmHUB_PORT_STATUS_C_PORT_SUSPEND 0x0004 |
| #define | bmHUB_PORT_STATUS_C_PORT_OVER_CURRENT 0x0008 |
| #define | bmHUB_PORT_STATUS_C_PORT_RESET 0x0010 |
| #define | bmHUB_STATUS_LOCAL_POWER_SOURCE 0x01 |
| #define | bmHUB_STATUS_OVER_CURRENT 0x12 |
| #define | bmHUB_STATUS_C_LOCAL_POWER_SOURCE 0x01 |
| #define | bmHUB_STATUS_C_OVER_CURRENT 0x12 |
| #define | USB_STATE_HUB_PORT_CONFIGURING 0xb0 |
| #define | USB_STATE_HUB_PORT_POWERED_OFF 0xb1 |
| #define | USB_STATE_HUB_PORT_WAIT_FOR_POWER_GOOD 0xb2 |
| #define | USB_STATE_HUB_PORT_DISCONNECTED 0xb3 |
| #define | USB_STATE_HUB_PORT_DISABLED 0xb4 |
| #define | USB_STATE_HUB_PORT_RESETTING 0xb5 |
| #define | USB_STATE_HUB_PORT_ENABLED 0xb6 |
| #define | HUB_ERROR_PORT_HAS_BEEN_RESET 0xb1 |
| #define | bmHUB_PORT_STATUS_ALL_MAIN ((0UL | bmHUB_PORT_STATUS_C_PORT_CONNECTION | bmHUB_PORT_STATUS_C_PORT_ENABLE | bmHUB_PORT_STATUS_C_PORT_SUSPEND | bmHUB_PORT_STATUS_C_PORT_RESET) << 16) | bmHUB_PORT_STATUS_PORT_POWER | bmHUB_PORT_STATUS_PORT_ENABLE | bmHUB_PORT_STATUS_PORT_CONNECTION | bmHUB_PORT_STATUS_PORT_SUSPEND) |
| #define | bmHUB_PORT_STATE_CHECK_DISABLED (0x0000 | bmHUB_PORT_STATUS_PORT_POWER | bmHUB_PORT_STATUS_PORT_ENABLE | bmHUB_PORT_STATUS_PORT_CONNECTION | bmHUB_PORT_STATUS_PORT_SUSPEND) |
| #define | bmHUB_PORT_STATE_DISABLED (0x0000 | bmHUB_PORT_STATUS_PORT_POWER | bmHUB_PORT_STATUS_PORT_CONNECTION) |
| #define | bmHUB_PORT_EVENT_CONNECT (((0UL | bmHUB_PORT_STATUS_C_PORT_CONNECTION) << 16) | bmHUB_PORT_STATUS_PORT_POWER | bmHUB_PORT_STATUS_PORT_CONNECTION) |
| #define | bmHUB_PORT_EVENT_DISCONNECT (((0UL | bmHUB_PORT_STATUS_C_PORT_CONNECTION) << 16) | bmHUB_PORT_STATUS_PORT_POWER) |
| #define | bmHUB_PORT_EVENT_RESET_COMPLETE (((0UL | bmHUB_PORT_STATUS_C_PORT_RESET) << 16) | bmHUB_PORT_STATUS_PORT_POWER | bmHUB_PORT_STATUS_PORT_ENABLE | bmHUB_PORT_STATUS_PORT_CONNECTION) |
| #define | bmHUB_PORT_EVENT_LS_CONNECT (((0UL | bmHUB_PORT_STATUS_C_PORT_CONNECTION) << 16) | bmHUB_PORT_STATUS_PORT_POWER | bmHUB_PORT_STATUS_PORT_CONNECTION | bmHUB_PORT_STATUS_PORT_LOW_SPEED) |
| #define | bmHUB_PORT_EVENT_LS_RESET_COMPLETE (((0UL | bmHUB_PORT_STATUS_C_PORT_RESET) << 16) | bmHUB_PORT_STATUS_PORT_POWER | bmHUB_PORT_STATUS_PORT_ENABLE | bmHUB_PORT_STATUS_PORT_CONNECTION | bmHUB_PORT_STATUS_PORT_LOW_SPEED) |
| #define | bmHUB_PORT_EVENT_LS_PORT_ENABLED (((0UL | bmHUB_PORT_STATUS_C_PORT_CONNECTION | bmHUB_PORT_STATUS_C_PORT_ENABLE) << 16) | bmHUB_PORT_STATUS_PORT_POWER | bmHUB_PORT_STATUS_PORT_ENABLE | bmHUB_PORT_STATUS_PORT_CONNECTION | bmHUB_PORT_STATUS_PORT_LOW_SPEED) |
Fonctions | |
| struct HubDescriptor | __attribute__ ((packed)) |
| void | PrintHubPortStatus (USBHost *usbptr, uint32_t addr, uint32_t port, uint32_t print_changes=false) |
Variables | |
| uint32_t | LogPwrSwitchMode |
| uint32_t | CompoundDevice |
| uint32_t | OverCurrentProtectMode |
| uint32_t | TTThinkTime |
| uint32_t | PortIndicatorsSupported |
| uint32_t | Reserved |
| uint32_t | bDescLength |
| uint32_t | bDescriptorType |
| uint32_t | bNbrPorts |
| uint32_t | bPwrOn2PwrGood |
| uint32_t | bHubContrCurrent |
| uint32_t | bmStatus |
| uint32_t | bmChange |
| union { | |
| uint32_t bmEvent | |
| uint8_t evtBuff [4] | |
| } | __attribute__ |
| #define bmHUB_PORT_EVENT_CONNECT (((0UL | bmHUB_PORT_STATUS_C_PORT_CONNECTION) << 16) | bmHUB_PORT_STATUS_PORT_POWER | bmHUB_PORT_STATUS_PORT_CONNECTION) |
| #define bmHUB_PORT_EVENT_DISCONNECT (((0UL | bmHUB_PORT_STATUS_C_PORT_CONNECTION) << 16) | bmHUB_PORT_STATUS_PORT_POWER) |
| #define bmHUB_PORT_EVENT_LS_CONNECT (((0UL | bmHUB_PORT_STATUS_C_PORT_CONNECTION) << 16) | bmHUB_PORT_STATUS_PORT_POWER | bmHUB_PORT_STATUS_PORT_CONNECTION | bmHUB_PORT_STATUS_PORT_LOW_SPEED) |
| #define bmHUB_PORT_EVENT_LS_PORT_ENABLED (((0UL | bmHUB_PORT_STATUS_C_PORT_CONNECTION | bmHUB_PORT_STATUS_C_PORT_ENABLE) << 16) | bmHUB_PORT_STATUS_PORT_POWER | bmHUB_PORT_STATUS_PORT_ENABLE | bmHUB_PORT_STATUS_PORT_CONNECTION | bmHUB_PORT_STATUS_PORT_LOW_SPEED) |
| #define bmHUB_PORT_EVENT_LS_RESET_COMPLETE (((0UL | bmHUB_PORT_STATUS_C_PORT_RESET) << 16) | bmHUB_PORT_STATUS_PORT_POWER | bmHUB_PORT_STATUS_PORT_ENABLE | bmHUB_PORT_STATUS_PORT_CONNECTION | bmHUB_PORT_STATUS_PORT_LOW_SPEED) |
| #define bmHUB_PORT_EVENT_RESET_COMPLETE (((0UL | bmHUB_PORT_STATUS_C_PORT_RESET) << 16) | bmHUB_PORT_STATUS_PORT_POWER | bmHUB_PORT_STATUS_PORT_ENABLE | bmHUB_PORT_STATUS_PORT_CONNECTION) |
| #define bmHUB_PORT_STATE_CHECK_DISABLED (0x0000 | bmHUB_PORT_STATUS_PORT_POWER | bmHUB_PORT_STATUS_PORT_ENABLE | bmHUB_PORT_STATUS_PORT_CONNECTION | bmHUB_PORT_STATUS_PORT_SUSPEND) |
| #define bmHUB_PORT_STATE_DISABLED (0x0000 | bmHUB_PORT_STATUS_PORT_POWER | bmHUB_PORT_STATUS_PORT_CONNECTION) |
| #define bmHUB_PORT_STATUS_ALL_MAIN ((0UL | bmHUB_PORT_STATUS_C_PORT_CONNECTION | bmHUB_PORT_STATUS_C_PORT_ENABLE | bmHUB_PORT_STATUS_C_PORT_SUSPEND | bmHUB_PORT_STATUS_C_PORT_RESET) << 16) | bmHUB_PORT_STATUS_PORT_POWER | bmHUB_PORT_STATUS_PORT_ENABLE | bmHUB_PORT_STATUS_PORT_CONNECTION | bmHUB_PORT_STATUS_PORT_SUSPEND) |
| #define bmHUB_PORT_STATUS_C_PORT_CONNECTION 0x0001 |
| #define bmHUB_PORT_STATUS_C_PORT_ENABLE 0x0002 |
| #define bmHUB_PORT_STATUS_C_PORT_OVER_CURRENT 0x0008 |
| #define bmHUB_PORT_STATUS_C_PORT_RESET 0x0010 |
| #define bmHUB_PORT_STATUS_C_PORT_SUSPEND 0x0004 |
| #define bmHUB_PORT_STATUS_PORT_CONNECTION 0x0001 |
| #define bmHUB_PORT_STATUS_PORT_ENABLE 0x0002 |
| #define bmHUB_PORT_STATUS_PORT_HIGH_SPEED 0x0400 |
| #define bmHUB_PORT_STATUS_PORT_INDICATOR 0x1000 |
| #define bmHUB_PORT_STATUS_PORT_LOW_SPEED 0x0200 |
| #define bmHUB_PORT_STATUS_PORT_OVER_CURRENT 0x0008 |
| #define bmHUB_PORT_STATUS_PORT_POWER 0x0100 |
| #define bmHUB_PORT_STATUS_PORT_RESET 0x0010 |
| #define bmHUB_PORT_STATUS_PORT_SUSPEND 0x0004 |
| #define bmHUB_PORT_STATUS_PORT_TEST 0x0800 |
| #define bmHUB_STATUS_C_LOCAL_POWER_SOURCE 0x01 |
| #define bmHUB_STATUS_C_OVER_CURRENT 0x12 |
| #define bmHUB_STATUS_LOCAL_POWER_SOURCE 0x01 |
| #define bmHUB_STATUS_OVER_CURRENT 0x12 |
| #define bmREQ_CLEAR_HUB_FEATURE USB_SETUP_HOST_TO_DEVICE|USB_SETUP_TYPE_CLASS|USB_SETUP_RECIPIENT_DEVICE |
| #define bmREQ_CLEAR_PORT_FEATURE USB_SETUP_HOST_TO_DEVICE|USB_SETUP_TYPE_CLASS|USB_SETUP_RECIPIENT_OTHER |
| #define bmREQ_CLEAR_TT_BUFFER USB_SETUP_HOST_TO_DEVICE|USB_SETUP_TYPE_CLASS|USB_SETUP_RECIPIENT_OTHER |
| #define bmREQ_GET_HUB_DESCRIPTOR USB_SETUP_DEVICE_TO_HOST|USB_SETUP_TYPE_CLASS|USB_SETUP_RECIPIENT_DEVICE |
| #define bmREQ_GET_HUB_STATUS USB_SETUP_DEVICE_TO_HOST|USB_SETUP_TYPE_CLASS|USB_SETUP_RECIPIENT_DEVICE |
| #define bmREQ_GET_PORT_STATUS USB_SETUP_DEVICE_TO_HOST|USB_SETUP_TYPE_CLASS|USB_SETUP_RECIPIENT_OTHER |
| #define bmREQ_GET_TT_STATE USB_SETUP_DEVICE_TO_HOST|USB_SETUP_TYPE_CLASS|USB_SETUP_RECIPIENT_OTHER |
| #define bmREQ_RESET_TT USB_SETUP_HOST_TO_DEVICE|USB_SETUP_TYPE_CLASS|USB_SETUP_RECIPIENT_OTHER |
| #define bmREQ_SET_HUB_DESCRIPTOR USB_SETUP_HOST_TO_DEVICE|USB_SETUP_TYPE_CLASS|USB_SETUP_RECIPIENT_DEVICE |
| #define bmREQ_SET_HUB_FEATURE USB_SETUP_HOST_TO_DEVICE|USB_SETUP_TYPE_CLASS|USB_SETUP_RECIPIENT_DEVICE |
| #define bmREQ_SET_PORT_FEATURE USB_SETUP_HOST_TO_DEVICE|USB_SETUP_TYPE_CLASS|USB_SETUP_RECIPIENT_OTHER |
| #define bmREQ_STOP_TT USB_SETUP_HOST_TO_DEVICE|USB_SETUP_TYPE_CLASS|USB_SETUP_RECIPIENT_OTHER |
| #define HUB_ERROR_PORT_HAS_BEEN_RESET 0xb1 |
| #define HUB_FEATURE_C_HUB_LOCAL_POWER 0 |
| #define HUB_FEATURE_C_HUB_OVER_CURRENT 1 |
| #define HUB_FEATURE_C_PORT_CONNECTION 16 |
| #define HUB_FEATURE_C_PORT_ENABLE 17 |
| #define HUB_FEATURE_C_PORT_OVER_CURRENT 19 |
| #define HUB_FEATURE_C_PORT_RESET 20 |
| #define HUB_FEATURE_C_PORT_SUSPEND 18 |
| #define HUB_FEATURE_PORT_CONNECTION 0 |
| #define HUB_FEATURE_PORT_ENABLE 1 |
| #define HUB_FEATURE_PORT_INDICATOR 22 |
| #define HUB_FEATURE_PORT_LOW_SPEED 9 |
| #define HUB_FEATURE_PORT_OVER_CURRENT 3 |
| #define HUB_FEATURE_PORT_POWER 8 |
| #define HUB_FEATURE_PORT_RESET 4 |
| #define HUB_FEATURE_PORT_SUSPEND 2 |
| #define HUB_FEATURE_PORT_TEST 21 |
| #define HUB_PORT_INDICATOR_AMBER 1 |
| #define HUB_PORT_INDICATOR_AUTO 0 |
| #define HUB_PORT_INDICATOR_GREEN 2 |
| #define HUB_PORT_INDICATOR_OFF 3 |
| #define HUB_PORT_TEST_MODE_FORCE_ENABLE 5 |
| #define HUB_PORT_TEST_MODE_J 1 |
| #define HUB_PORT_TEST_MODE_K 2 |
| #define HUB_PORT_TEST_MODE_PACKET 4 |
| #define HUB_PORT_TEST_MODE_SE0_NAK 3 |
| #define HUB_REQUEST_CLEAR_TT_BUFFER 8 |
| #define HUB_REQUEST_GET_TT_STATE 10 |
| #define HUB_REQUEST_RESET_TT 9 |
| #define HUB_REQUEST_STOP_TT 11 |
| #define USB_DESCRIPTOR_HUB 0x09 |
| #define USB_STATE_HUB_PORT_CONFIGURING 0xb0 |
| #define USB_STATE_HUB_PORT_DISABLED 0xb4 |
| #define USB_STATE_HUB_PORT_DISCONNECTED 0xb3 |
| #define USB_STATE_HUB_PORT_ENABLED 0xb6 |
| #define USB_STATE_HUB_PORT_POWERED_OFF 0xb1 |
| #define USB_STATE_HUB_PORT_RESETTING 0xb5 |
| #define USB_STATE_HUB_PORT_WAIT_FOR_POWER_GOOD 0xb2 |
| struct HubDescriptor __attribute__ | ( | (packed) | ) |
| void PrintHubPortStatus | ( | USBHost * | usbptr, |
| uint32_t | addr, | ||
| uint32_t | port, | ||
| uint32_t | print_changes = false |
||
| ) |
| USBHub __attribute__ |
| uint32_t bDescLength |
| uint32_t bDescriptorType |
| uint32_t bHubContrCurrent |
| uint32_t bmChange |
| uint32_t bmEvent |
| uint32_t bmStatus |
| uint32_t bNbrPorts |
| uint32_t bPwrOn2PwrGood |
| uint32_t CompoundDevice |
| uint8_t evtBuff[4] |
| uint32_t LogPwrSwitchMode |
| uint32_t OverCurrentProtectMode |
| uint32_t PortIndicatorsSupported |
| uint32_t Reserved |
| uint32_t TTThinkTime |
1.8.15