Stile fixes run, 80 char boundry.
This commit is contained in:
@@ -206,8 +206,8 @@ void gpio_enable_ahb_aperture(void)
|
||||
* @param[in] gpios @ref gpio_pin_id. Any combination of pins may be specified
|
||||
* by OR'ing then together
|
||||
*/
|
||||
void gpio_mode_setup(uint32_t gpioport, enum gpio_mode mode, enum gpio_pullup pullup,
|
||||
uint8_t gpios)
|
||||
void gpio_mode_setup(uint32_t gpioport, enum gpio_mode mode,
|
||||
enum gpio_pullup pullup, uint8_t gpios)
|
||||
{
|
||||
switch (mode) {
|
||||
case GPIO_MODE_OUTPUT:
|
||||
@@ -524,7 +524,8 @@ void gpio_toggle(uint32_t gpioport, uint8_t gpios)
|
||||
* @param[in] gpios @ref gpio_pin_id. Any combination of pins may be specified
|
||||
* by OR'ing then together
|
||||
*/
|
||||
void gpio_configure_trigger(uint32_t gpioport, enum gpio_trigger trigger, uint8_t gpios)
|
||||
void gpio_configure_trigger(uint32_t gpioport, enum gpio_trigger trigger,
|
||||
uint8_t gpios)
|
||||
{
|
||||
switch (trigger) {
|
||||
case GPIO_TRIG_LVL_LOW:
|
||||
|
||||
@@ -22,7 +22,8 @@
|
||||
*
|
||||
* @ingroup LM4Fxx
|
||||
*
|
||||
* @author @htmlonly © @endhtmlonly 2013 Alexandru Gagniuc <mr.nuke.me@gmail.com>
|
||||
* @author @htmlonly © @endhtmlonly 2013
|
||||
* Alexandru Gagniuc <mr.nuke.me@gmail.com>
|
||||
*
|
||||
* \brief <b>libopencm3 LM4F Universal Serial Bus controller </b>
|
||||
*
|
||||
@@ -183,8 +184,9 @@ static void lm4f_set_address(usbd_device *usbd_dev, uint8_t addr)
|
||||
USB_FADDR = addr & USB_FADDR_FUNCADDR_MASK;
|
||||
}
|
||||
|
||||
static void lm4f_ep_setup(usbd_device *usbd_dev, uint8_t addr, uint8_t type, uint16_t max_size,
|
||||
void (*callback) (usbd_device *usbd_dev, uint8_t ep))
|
||||
static void lm4f_ep_setup(usbd_device *usbd_dev, uint8_t addr, uint8_t type,
|
||||
uint16_t max_size,
|
||||
void (*callback) (usbd_device *usbd_dev, uint8_t ep))
|
||||
{
|
||||
(void)usbd_dev;
|
||||
(void)type;
|
||||
@@ -296,7 +298,8 @@ static void lm4f_endpoints_reset(usbd_device *usbd_dev)
|
||||
usbd_dev->fifo_mem_top = 64;
|
||||
}
|
||||
|
||||
static void lm4f_ep_stall_set(usbd_device *usbd_dev, uint8_t addr, uint8_t stall)
|
||||
static void lm4f_ep_stall_set(usbd_device *usbd_dev, uint8_t addr,
|
||||
uint8_t stall)
|
||||
{
|
||||
(void)usbd_dev;
|
||||
|
||||
@@ -405,8 +408,8 @@ static uint16_t lm4f_ep_write_packet(usbd_device *usbd_dev, uint8_t addr,
|
||||
return i;
|
||||
}
|
||||
|
||||
static uint16_t lm4f_ep_read_packet(usbd_device *usbd_dev, uint8_t addr, void *buf,
|
||||
uint16_t len)
|
||||
static uint16_t lm4f_ep_read_packet(usbd_device *usbd_dev, uint8_t addr,
|
||||
void *buf, uint16_t len)
|
||||
{
|
||||
(void)usbd_dev;
|
||||
|
||||
|
||||
@@ -99,8 +99,8 @@ Initialize the selected CAN peripheral block.
|
||||
@returns int 0 on success, 1 on initialization failure.
|
||||
*/
|
||||
int can_init(uint32_t canport, bool ttcm, bool abom, bool awum, bool nart,
|
||||
bool rflm, bool txfp, uint32_t sjw, uint32_t ts1, uint32_t ts2, uint32_t brp,
|
||||
bool loopback, bool silent)
|
||||
bool rflm, bool txfp, uint32_t sjw, uint32_t ts1, uint32_t ts2,
|
||||
uint32_t brp, bool loopback, bool silent)
|
||||
{
|
||||
volatile uint32_t wait_ack;
|
||||
int ret = 0;
|
||||
@@ -206,8 +206,9 @@ Initialize incoming message filter and assign to FIFO.
|
||||
@param[in] fifo Unsigned int32. FIFO id.
|
||||
@param[in] enable bool. Enable filter?
|
||||
*/
|
||||
void can_filter_init(uint32_t canport, uint32_t nr, bool scale_32bit, bool id_list_mode,
|
||||
uint32_t fr1, uint32_t fr2, uint32_t fifo, bool enable)
|
||||
void can_filter_init(uint32_t canport, uint32_t nr, bool scale_32bit,
|
||||
bool id_list_mode, uint32_t fr1, uint32_t fr2,
|
||||
uint32_t fifo, bool enable)
|
||||
{
|
||||
uint32_t filter_select_bit = 0x00000001 << nr;
|
||||
|
||||
@@ -266,8 +267,9 @@ void can_filter_init(uint32_t canport, uint32_t nr, bool scale_32bit, bool id_li
|
||||
@param[in] fifo Unsigned int32. FIFO id.
|
||||
@param[in] enable bool. Enable filter?
|
||||
*/
|
||||
void can_filter_id_mask_16bit_init(uint32_t canport, uint32_t nr, uint16_t id1, uint16_t mask1,
|
||||
uint16_t id2, uint16_t mask2, uint32_t fifo, bool enable)
|
||||
void can_filter_id_mask_16bit_init(uint32_t canport, uint32_t nr, uint16_t id1,
|
||||
uint16_t mask1, uint16_t id2,
|
||||
uint16_t mask2, uint32_t fifo, bool enable)
|
||||
{
|
||||
can_filter_init(canport, nr, false, false,
|
||||
((uint32_t)id1 << 16) | (uint32_t)mask1,
|
||||
@@ -284,8 +286,8 @@ void can_filter_id_mask_16bit_init(uint32_t canport, uint32_t nr, uint16_t id1,
|
||||
@param[in] fifo Unsigned int32. FIFO id.
|
||||
@param[in] enable bool. Enable filter?
|
||||
*/
|
||||
void can_filter_id_mask_32bit_init(uint32_t canport, uint32_t nr, uint32_t id, uint32_t mask,
|
||||
uint32_t fifo, bool enable)
|
||||
void can_filter_id_mask_32bit_init(uint32_t canport, uint32_t nr, uint32_t id,
|
||||
uint32_t mask, uint32_t fifo, bool enable)
|
||||
{
|
||||
can_filter_init(canport, nr, true, false, id, mask, fifo, enable);
|
||||
}
|
||||
@@ -302,8 +304,10 @@ void can_filter_id_mask_32bit_init(uint32_t canport, uint32_t nr, uint32_t id, u
|
||||
@param[in] fifo Unsigned int32. FIFO id.
|
||||
@param[in] enable bool. Enable filter?
|
||||
*/
|
||||
void can_filter_id_list_16bit_init(uint32_t canport, uint32_t nr, uint16_t id1, uint16_t id2,
|
||||
uint16_t id3, uint16_t id4, uint32_t fifo, bool enable)
|
||||
void can_filter_id_list_16bit_init(uint32_t canport, uint32_t nr,
|
||||
uint16_t id1, uint16_t id2,
|
||||
uint16_t id3, uint16_t id4,
|
||||
uint32_t fifo, bool enable)
|
||||
{
|
||||
can_filter_init(canport, nr, false, true,
|
||||
((uint32_t)id1 << 16) | (uint32_t)id2,
|
||||
@@ -320,7 +324,8 @@ void can_filter_id_list_16bit_init(uint32_t canport, uint32_t nr, uint16_t id1,
|
||||
@param[in] fifo Unsigned int32. FIFO id.
|
||||
@param[in] enable bool. Enable filter?
|
||||
*/
|
||||
void can_filter_id_list_32bit_init(uint32_t canport, uint32_t nr, uint32_t id1, uint32_t id2,
|
||||
void can_filter_id_list_32bit_init(uint32_t canport, uint32_t nr,
|
||||
uint32_t id1, uint32_t id2,
|
||||
uint32_t fifo, bool enable)
|
||||
{
|
||||
can_filter_init(canport, nr, true, true, id1, id2, fifo, enable);
|
||||
@@ -360,7 +365,8 @@ void can_disable_irq(uint32_t canport, uint32_t irq)
|
||||
@returns int 0, 1 or 2 on success and depending on which outgoing mailbox got
|
||||
selected. -1 if no mailbox was available and no transmission got queued.
|
||||
*/
|
||||
int can_transmit(uint32_t canport, uint32_t id, bool ext, bool rtr, uint8_t length, uint8_t *data)
|
||||
int can_transmit(uint32_t canport, uint32_t id, bool ext, bool rtr,
|
||||
uint8_t length, uint8_t *data)
|
||||
{
|
||||
int ret = 0;
|
||||
uint32_t mailbox = 0;
|
||||
@@ -473,8 +479,9 @@ void can_fifo_release(uint32_t canport, uint8_t fifo)
|
||||
@param[out] length Unsigned int8 pointer. Length of message payload.
|
||||
@param[out] data Unsigned int8[]. Message payload data.
|
||||
*/
|
||||
void can_receive(uint32_t canport, uint8_t fifo, bool release, uint32_t *id, bool *ext,
|
||||
bool *rtr, uint32_t *fmi, uint8_t *length, uint8_t *data)
|
||||
void can_receive(uint32_t canport, uint8_t fifo, bool release, uint32_t *id,
|
||||
bool *ext, bool *rtr, uint32_t *fmi, uint8_t *length,
|
||||
uint8_t *data)
|
||||
{
|
||||
uint32_t fifo_id = 0;
|
||||
union {
|
||||
|
||||
@@ -339,8 +339,9 @@ existing output values in the DAC output registers.
|
||||
|
||||
@note The DAC trigger must be enabled for this to work.
|
||||
|
||||
@param[in] dac_wave_ens uint32_t. Taken from @ref dac_wave1_en or @ref dac_wave2_en
|
||||
or a logical OR of one of each of these to set both channels simultaneously.
|
||||
@param[in] dac_wave_ens uint32_t. Taken from @ref dac_wave1_en or @ref
|
||||
dac_wave2_en or a logical OR of one of each of these to set both channels
|
||||
simultaneously.
|
||||
*/
|
||||
|
||||
void dac_set_waveform_generation(uint32_t dac_wave_ens)
|
||||
|
||||
@@ -75,7 +75,8 @@ same channel may be cleared by using the logical OR of the interrupt flags.
|
||||
dma_if_offset
|
||||
*/
|
||||
|
||||
void dma_clear_interrupt_flags(uint32_t dma, uint8_t channel, uint32_t interrupts)
|
||||
void dma_clear_interrupt_flags(uint32_t dma, uint8_t channel,
|
||||
uint32_t interrupts)
|
||||
{
|
||||
/* Get offset to interrupt flag location in channel field */
|
||||
uint32_t flags = (interrupts << DMA_FLAG_OFFSET(channel));
|
||||
@@ -165,7 +166,8 @@ if the peripheral does not support byte or half-word writes.
|
||||
dma_ch_perwidth.
|
||||
*/
|
||||
|
||||
void dma_set_peripheral_size(uint32_t dma, uint8_t channel, uint32_t peripheral_size)
|
||||
void dma_set_peripheral_size(uint32_t dma, uint8_t channel,
|
||||
uint32_t peripheral_size)
|
||||
{
|
||||
DMA_CCR(dma, channel) &= ~(DMA_CCR_PSIZE_MASK);
|
||||
DMA_CCR(dma, channel) |= peripheral_size;
|
||||
|
||||
@@ -92,7 +92,8 @@ same stream may be cleared by using the bitwise OR of the interrupt flags.
|
||||
dma_if_offset
|
||||
*/
|
||||
|
||||
void dma_clear_interrupt_flags(uint32_t dma, uint8_t stream, uint32_t interrupts)
|
||||
void dma_clear_interrupt_flags(uint32_t dma, uint8_t stream,
|
||||
uint32_t interrupts)
|
||||
{
|
||||
/* Get offset to interrupt flag location in stream field */
|
||||
uint32_t flags = (interrupts << DMA_ISR_OFFSET(stream));
|
||||
@@ -213,7 +214,8 @@ Ensure that the stream is disabled otherwise the setting will not be changed.
|
||||
dma_st_perwidth.
|
||||
*/
|
||||
|
||||
void dma_set_peripheral_size(uint32_t dma, uint8_t stream, uint32_t peripheral_size)
|
||||
void dma_set_peripheral_size(uint32_t dma, uint8_t stream,
|
||||
uint32_t peripheral_size)
|
||||
{
|
||||
DMA_SCR(dma, stream) &= ~(DMA_SxCR_PSIZE_MASK);
|
||||
DMA_SCR(dma, stream) |= peripheral_size;
|
||||
|
||||
@@ -86,7 +86,8 @@ gpio_pup
|
||||
If multiple pins are to be set, use bitwise OR '|' to separate
|
||||
them.
|
||||
*/
|
||||
void gpio_mode_setup(uint32_t gpioport, uint8_t mode, uint8_t pull_up_down, uint16_t gpios)
|
||||
void gpio_mode_setup(uint32_t gpioport, uint8_t mode, uint8_t pull_up_down,
|
||||
uint16_t gpios)
|
||||
{
|
||||
uint16_t i;
|
||||
uint32_t moder, pupd;
|
||||
@@ -128,7 +129,8 @@ port.
|
||||
If multiple pins are to be set, use bitwise OR '|' to separate
|
||||
them.
|
||||
*/
|
||||
void gpio_set_output_options(uint32_t gpioport, uint8_t otype, uint8_t speed, uint16_t gpios)
|
||||
void gpio_set_output_options(uint32_t gpioport, uint8_t otype, uint8_t speed,
|
||||
uint16_t gpios)
|
||||
{
|
||||
uint16_t i;
|
||||
uint32_t ospeedr;
|
||||
|
||||
@@ -66,8 +66,8 @@ A delay of up to 5 clock cycles of the LSI clock (about 156 microseconds)
|
||||
can occasionally occur if the prescale or preload registers are currently busy
|
||||
loading a previous value.
|
||||
|
||||
@param[in] period uint32_t Period in milliseconds (< 32760) from a watchdog reset
|
||||
until a system reset is issued.
|
||||
@param[in] period uint32_t Period in milliseconds (< 32760) from a watchdog
|
||||
reset until a system reset is issued.
|
||||
*/
|
||||
|
||||
void iwdg_set_period_ms(uint32_t period)
|
||||
|
||||
@@ -119,7 +119,8 @@ spi_lsbfirst.
|
||||
@returns int. Error code.
|
||||
*/
|
||||
|
||||
int spi_init_master(uint32_t spi, uint32_t br, uint32_t cpol, uint32_t cpha, uint32_t dff, uint32_t lsbfirst)
|
||||
int spi_init_master(uint32_t spi, uint32_t br, uint32_t cpol, uint32_t cpha,
|
||||
uint32_t dff, uint32_t lsbfirst)
|
||||
{
|
||||
uint32_t reg32 = SPI_CR1(spi);
|
||||
|
||||
|
||||
@@ -1444,7 +1444,8 @@ tim_reg_base
|
||||
timers 1 and 8)
|
||||
*/
|
||||
|
||||
void timer_set_oc_idle_state_set(uint32_t timer_peripheral, enum tim_oc_id oc_id)
|
||||
void timer_set_oc_idle_state_set(uint32_t timer_peripheral,
|
||||
enum tim_oc_id oc_id)
|
||||
{
|
||||
#if (defined(TIM1_BASE) || defined(TIM8_BASE))
|
||||
/* Acting for TIM1 and TIM8 only. */
|
||||
@@ -1496,7 +1497,8 @@ tim_reg_base
|
||||
timers 1 and 8)
|
||||
*/
|
||||
|
||||
void timer_set_oc_idle_state_unset(uint32_t timer_peripheral, enum tim_oc_id oc_id)
|
||||
void timer_set_oc_idle_state_unset(uint32_t timer_peripheral,
|
||||
enum tim_oc_id oc_id)
|
||||
{
|
||||
#if (defined(TIM1_BASE) || defined(TIM8_BASE))
|
||||
/* Acting for TIM1 and TIM8 only. */
|
||||
@@ -1546,7 +1548,8 @@ to the compare register.
|
||||
@param[in] value Unsigned int32. Compare value.
|
||||
*/
|
||||
|
||||
void timer_set_oc_value(uint32_t timer_peripheral, enum tim_oc_id oc_id, uint32_t value)
|
||||
void timer_set_oc_value(uint32_t timer_peripheral, enum tim_oc_id oc_id,
|
||||
uint32_t value)
|
||||
{
|
||||
switch (oc_id) {
|
||||
case TIM_OC1:
|
||||
|
||||
@@ -490,7 +490,8 @@ adc_reg_base.
|
||||
@param[in] channel Unsigned int8. ADC channel number @ref adc_watchdog_channel.
|
||||
*/
|
||||
|
||||
void adc_enable_analog_watchdog_on_selected_channel(uint32_t adc, uint8_t channel)
|
||||
void adc_enable_analog_watchdog_on_selected_channel(uint32_t adc,
|
||||
uint8_t channel)
|
||||
{
|
||||
uint32_t reg32;
|
||||
|
||||
|
||||
@@ -338,7 +338,8 @@ void rcc_set_rtcpre(uint32_t rtcpre)
|
||||
RCC_CFGR = (reg32 | (rtcpre << 16));
|
||||
}
|
||||
|
||||
void rcc_set_main_pll_hsi(uint32_t pllm, uint32_t plln, uint32_t pllp, uint32_t pllq)
|
||||
void rcc_set_main_pll_hsi(uint32_t pllm, uint32_t plln, uint32_t pllp,
|
||||
uint32_t pllq)
|
||||
{
|
||||
RCC_PLLCFGR = (pllm << RCC_PLLCFGR_PLLM_SHIFT) |
|
||||
(plln << RCC_PLLCFGR_PLLN_SHIFT) |
|
||||
@@ -346,7 +347,8 @@ void rcc_set_main_pll_hsi(uint32_t pllm, uint32_t plln, uint32_t pllp, uint32_t
|
||||
(pllq << RCC_PLLCFGR_PLLQ_SHIFT);
|
||||
}
|
||||
|
||||
void rcc_set_main_pll_hse(uint32_t pllm, uint32_t plln, uint32_t pllp, uint32_t pllq)
|
||||
void rcc_set_main_pll_hse(uint32_t pllm, uint32_t plln, uint32_t pllp,
|
||||
uint32_t pllq)
|
||||
{
|
||||
RCC_PLLCFGR = (pllm << RCC_PLLCFGR_PLLM_SHIFT) |
|
||||
(plln << RCC_PLLCFGR_PLLN_SHIFT) |
|
||||
|
||||
@@ -278,7 +278,8 @@ adc_enable_analog_watchdog_regular.
|
||||
@param[in] channel Unsigned int8. ADC channel number @ref adc_watchdog_channel
|
||||
*/
|
||||
|
||||
void adc_enable_analog_watchdog_on_selected_channel(uint32_t adc, uint8_t channel)
|
||||
void adc_enable_analog_watchdog_on_selected_channel(uint32_t adc,
|
||||
uint8_t channel)
|
||||
{
|
||||
uint32_t reg32;
|
||||
|
||||
@@ -809,7 +810,8 @@ the trigger polarity is zero, triggering is disabled.
|
||||
adc_trigger_polarity_regular
|
||||
*/
|
||||
|
||||
void adc_enable_external_trigger_regular(uint32_t adc, uint32_t trigger, uint32_t polarity)
|
||||
void adc_enable_external_trigger_regular(uint32_t adc, uint32_t trigger,
|
||||
uint32_t polarity)
|
||||
{
|
||||
uint32_t reg32 = ADC_CR2(adc);
|
||||
|
||||
@@ -841,7 +843,8 @@ the polarity of the trigger event: rising or falling edge or both.
|
||||
adc_trigger_polarity_injected
|
||||
*/
|
||||
|
||||
void adc_enable_external_trigger_injected(uint32_t adc, uint32_t trigger, uint32_t polarity)
|
||||
void adc_enable_external_trigger_injected(uint32_t adc, uint32_t trigger,
|
||||
uint32_t polarity)
|
||||
{
|
||||
uint32_t reg32 = ADC_CR2(adc);
|
||||
|
||||
|
||||
@@ -455,7 +455,8 @@ void rcc_set_rtcpre(uint32_t rtcpre)
|
||||
RCC_CFGR = (reg32 | (rtcpre << 16));
|
||||
}
|
||||
|
||||
void rcc_set_main_pll_hsi(uint32_t pllm, uint32_t plln, uint32_t pllp, uint32_t pllq)
|
||||
void rcc_set_main_pll_hsi(uint32_t pllm, uint32_t plln, uint32_t pllp,
|
||||
uint32_t pllq)
|
||||
{
|
||||
RCC_PLLCFGR = (pllm << RCC_PLLCFGR_PLLM_SHIFT) |
|
||||
(plln << RCC_PLLCFGR_PLLN_SHIFT) |
|
||||
@@ -463,7 +464,8 @@ void rcc_set_main_pll_hsi(uint32_t pllm, uint32_t plln, uint32_t pllp, uint32_t
|
||||
(pllq << RCC_PLLCFGR_PLLQ_SHIFT);
|
||||
}
|
||||
|
||||
void rcc_set_main_pll_hse(uint32_t pllm, uint32_t plln, uint32_t pllp, uint32_t pllq)
|
||||
void rcc_set_main_pll_hse(uint32_t pllm, uint32_t plln, uint32_t pllp,
|
||||
uint32_t pllq)
|
||||
{
|
||||
RCC_PLLCFGR = (pllm << RCC_PLLCFGR_PLLM_SHIFT) |
|
||||
(plln << RCC_PLLCFGR_PLLN_SHIFT) |
|
||||
|
||||
@@ -375,7 +375,8 @@ void rcc_set_sysclk_source(uint32_t clk)
|
||||
RCC_CFGR = (reg32 | clk);
|
||||
}
|
||||
|
||||
void rcc_set_pll_configuration(uint32_t source, uint32_t multiplier, uint32_t divisor)
|
||||
void rcc_set_pll_configuration(uint32_t source, uint32_t multiplier,
|
||||
uint32_t divisor)
|
||||
{
|
||||
uint32_t reg32;
|
||||
|
||||
|
||||
@@ -137,7 +137,8 @@ void usbd_disconnect(usbd_device *usbd_dev, bool disconnected)
|
||||
}
|
||||
}
|
||||
|
||||
void usbd_ep_setup(usbd_device *usbd_dev, uint8_t addr, uint8_t type, uint16_t max_size,
|
||||
void usbd_ep_setup(usbd_device *usbd_dev, uint8_t addr, uint8_t type,
|
||||
uint16_t max_size,
|
||||
void (*callback)(usbd_device *usbd_dev, uint8_t ep))
|
||||
{
|
||||
usbd_dev->driver->ep_setup(usbd_dev, addr, type, max_size, callback);
|
||||
@@ -149,7 +150,8 @@ uint16_t usbd_ep_write_packet(usbd_device *usbd_dev, uint8_t addr,
|
||||
return usbd_dev->driver->ep_write_packet(usbd_dev, addr, buf, len);
|
||||
}
|
||||
|
||||
uint16_t usbd_ep_read_packet(usbd_device *usbd_dev, uint8_t addr, void *buf, uint16_t len)
|
||||
uint16_t usbd_ep_read_packet(usbd_device *usbd_dev, uint8_t addr, void *buf,
|
||||
uint16_t len)
|
||||
{
|
||||
return usbd_dev->driver->ep_read_packet(usbd_dev, addr, buf, len);
|
||||
}
|
||||
|
||||
@@ -40,7 +40,8 @@ LGPL License Terms @ref lgpl_license
|
||||
#include "usb_private.h"
|
||||
|
||||
/* Register application callback function for handling USB control requests. */
|
||||
int usbd_register_control_callback(usbd_device *usbd_dev, uint8_t type, uint8_t type_mask,
|
||||
int usbd_register_control_callback(usbd_device *usbd_dev, uint8_t type,
|
||||
uint8_t type_mask,
|
||||
usbd_control_callback callback)
|
||||
{
|
||||
int i;
|
||||
|
||||
@@ -26,17 +26,20 @@
|
||||
|
||||
static usbd_device *stm32f103_usbd_init(void);
|
||||
static void stm32f103_set_address(usbd_device *usbd_dev, uint8_t addr);
|
||||
static void stm32f103_ep_setup(usbd_device *usbd_dev, uint8_t addr, uint8_t type,
|
||||
uint16_t max_size,
|
||||
void (*callback) (usbd_device *usbd_dev, uint8_t ep));
|
||||
static void stm32f103_ep_setup(usbd_device *usbd_dev, uint8_t addr,
|
||||
uint8_t type, uint16_t max_size,
|
||||
void (*callback) (usbd_device *usbd_dev,
|
||||
uint8_t ep));
|
||||
static void stm32f103_endpoints_reset(usbd_device *usbd_dev);
|
||||
static void stm32f103_ep_stall_set(usbd_device *usbd_dev, uint8_t addr, uint8_t stall);
|
||||
static void stm32f103_ep_stall_set(usbd_device *usbd_dev, uint8_t addr,
|
||||
uint8_t stall);
|
||||
static uint8_t stm32f103_ep_stall_get(usbd_device *usbd_dev, uint8_t addr);
|
||||
static void stm32f103_ep_nak_set(usbd_device *usbd_dev, uint8_t addr, uint8_t nak);
|
||||
static void stm32f103_ep_nak_set(usbd_device *usbd_dev, uint8_t addr,
|
||||
uint8_t nak);
|
||||
static uint16_t stm32f103_ep_write_packet(usbd_device *usbd_dev, uint8_t addr,
|
||||
const void *buf, uint16_t len);
|
||||
static uint16_t stm32f103_ep_read_packet(usbd_device *usbd_dev, uint8_t addr, void *buf,
|
||||
uint16_t len);
|
||||
static uint16_t stm32f103_ep_read_packet(usbd_device *usbd_dev, uint8_t addr,
|
||||
void *buf, uint16_t len);
|
||||
static void stm32f103_poll(usbd_device *usbd_dev);
|
||||
|
||||
static uint8_t force_nak[8];
|
||||
@@ -100,7 +103,8 @@ static void usb_set_ep_rx_bufsize(usbd_device *dev, uint8_t ep, uint32_t size)
|
||||
|
||||
static void stm32f103_ep_setup(usbd_device *dev, uint8_t addr, uint8_t type,
|
||||
uint16_t max_size,
|
||||
void (*callback) (usbd_device *usbd_dev, uint8_t ep))
|
||||
void (*callback) (usbd_device *usbd_dev,
|
||||
uint8_t ep))
|
||||
{
|
||||
/* Translate USB standard type codes to STM32. */
|
||||
const uint16_t typelookup[] = {
|
||||
@@ -152,7 +156,8 @@ static void stm32f103_endpoints_reset(usbd_device *dev)
|
||||
dev->pm_top = 0x40 + (2 * dev->desc->bMaxPacketSize0);
|
||||
}
|
||||
|
||||
static void stm32f103_ep_stall_set(usbd_device *dev, uint8_t addr, uint8_t stall)
|
||||
static void stm32f103_ep_stall_set(usbd_device *dev, uint8_t addr,
|
||||
uint8_t stall)
|
||||
{
|
||||
(void)dev;
|
||||
if (addr == 0) {
|
||||
@@ -269,8 +274,8 @@ static void usb_copy_from_pm(void *buf, const volatile void *vPM, uint16_t len)
|
||||
}
|
||||
}
|
||||
|
||||
static uint16_t stm32f103_ep_read_packet(usbd_device *dev, uint8_t addr, void *buf,
|
||||
uint16_t len)
|
||||
static uint16_t stm32f103_ep_read_packet(usbd_device *dev, uint8_t addr,
|
||||
void *buf, uint16_t len)
|
||||
{
|
||||
(void)dev;
|
||||
if ((*USB_EP_REG(addr) & USB_EP_RX_STAT) == USB_EP_RX_STAT_VALID) {
|
||||
|
||||
@@ -31,15 +31,17 @@
|
||||
* according to the selected cores base address. */
|
||||
#define dev_base_address (usbd_dev->driver->base_address)
|
||||
#define REBASE(x) MMIO32((x)+(dev_base_address))
|
||||
#define REBASE_FIFO(x) ((volatile uint32_t*)((dev_base_address) + (OTG_FIFO(x))))
|
||||
#define REBASE_FIFO(x) ((volatile uint32_t*)((dev_base_address) \
|
||||
+ (OTG_FIFO(x))))
|
||||
|
||||
void stm32fx07_set_address(usbd_device *usbd_dev, uint8_t addr)
|
||||
{
|
||||
REBASE(OTG_DCFG) = (REBASE(OTG_DCFG) & ~OTG_FS_DCFG_DAD) | (addr << 4);
|
||||
}
|
||||
|
||||
void stm32fx07_ep_setup(usbd_device *usbd_dev, uint8_t addr, uint8_t type, uint16_t max_size,
|
||||
void (*callback) (usbd_device *usbd_dev, uint8_t ep))
|
||||
void stm32fx07_ep_setup(usbd_device *usbd_dev, uint8_t addr, uint8_t type,
|
||||
uint16_t max_size,
|
||||
void (*callback) (usbd_device *usbd_dev, uint8_t ep))
|
||||
{
|
||||
/*
|
||||
* Configure endpoint address and type. Allocate FIFO memory for
|
||||
@@ -204,7 +206,8 @@ uint16_t stm32fx07_ep_write_packet(usbd_device *usbd_dev, uint8_t addr,
|
||||
return len;
|
||||
}
|
||||
|
||||
uint16_t stm32fx07_ep_read_packet(usbd_device *usbd_dev, uint8_t addr, void *buf, uint16_t len)
|
||||
uint16_t stm32fx07_ep_read_packet(usbd_device *usbd_dev, uint8_t addr,
|
||||
void *buf, uint16_t len)
|
||||
{
|
||||
int i;
|
||||
uint32_t *buf32 = buf;
|
||||
@@ -294,7 +297,8 @@ void stm32fx07_poll(usbd_device *usbd_dev)
|
||||
for (i = 0; i < 4; i++) { /* Iterate over endpoints. */
|
||||
if (REBASE(OTG_DIEPINT(i)) & OTG_FS_DIEPINTX_XFRC) {
|
||||
/* Transfer complete. */
|
||||
if (usbd_dev->user_callback_ctr[i][USB_TRANSACTION_IN]) {
|
||||
if (usbd_dev->user_callback_ctr[i]
|
||||
[USB_TRANSACTION_IN]) {
|
||||
usbd_dev->user_callback_ctr[i]
|
||||
[USB_TRANSACTION_IN](usbd_dev, i);
|
||||
}
|
||||
|
||||
@@ -21,16 +21,17 @@
|
||||
#define __USB_FX07_COMMON_H_
|
||||
|
||||
void stm32fx07_set_address(usbd_device *usbd_dev, uint8_t addr);
|
||||
void stm32fx07_ep_setup(usbd_device *usbd_dev, uint8_t addr, uint8_t type, uint16_t max_size,
|
||||
void (*callback)(usbd_device *usbd_dev, uint8_t ep));
|
||||
void stm32fx07_ep_setup(usbd_device *usbd_dev, uint8_t addr, uint8_t type,
|
||||
uint16_t max_size,
|
||||
void (*callback)(usbd_device *usbd_dev, uint8_t ep));
|
||||
void stm32fx07_endpoints_reset(usbd_device *usbd_dev);
|
||||
void stm32fx07_ep_stall_set(usbd_device *usbd_dev, uint8_t addr, uint8_t stall);
|
||||
uint8_t stm32fx07_ep_stall_get(usbd_device *usbd_dev, uint8_t addr);
|
||||
void stm32fx07_ep_nak_set(usbd_device *usbd_dev, uint8_t addr, uint8_t nak);
|
||||
uint16_t stm32fx07_ep_write_packet(usbd_device *usbd_dev, uint8_t addr, const void *buf,
|
||||
uint16_t len);
|
||||
uint16_t stm32fx07_ep_read_packet(usbd_device *usbd_dev, uint8_t addr, void *buf,
|
||||
uint16_t len);
|
||||
uint16_t stm32fx07_ep_write_packet(usbd_device *usbd_dev, uint8_t addr,
|
||||
const void *buf, uint16_t len);
|
||||
uint16_t stm32fx07_ep_read_packet(usbd_device *usbd_dev, uint8_t addr,
|
||||
void *buf, uint16_t len);
|
||||
void stm32fx07_poll(usbd_device *usbd_dev);
|
||||
void stm32fx07_disconnect(usbd_device *usbd_dev, bool disconnected);
|
||||
|
||||
|
||||
@@ -6,7 +6,8 @@
|
||||
|
||||
@version 1.0.0
|
||||
|
||||
@author @htmlonly © @endhtmlonly 2010 Gareth McMullin <gareth@blacksphere.co.nz>
|
||||
@author @htmlonly © @endhtmlonly 2010
|
||||
Gareth McMullin <gareth@blacksphere.co.nz>
|
||||
|
||||
@date 10 March 2013
|
||||
|
||||
@@ -84,7 +85,8 @@ struct _usbd_device {
|
||||
void (*user_callback_ctr[8][3])(usbd_device *usbd_dev, uint8_t ea);
|
||||
|
||||
/* User callback function for some standard USB function hooks */
|
||||
void (*user_callback_set_config)(usbd_device *usbd_dev, uint16_t wValue);
|
||||
void (*user_callback_set_config)(usbd_device *usbd_dev,
|
||||
uint16_t wValue);
|
||||
|
||||
const struct _usbd_driver *driver;
|
||||
|
||||
@@ -137,16 +139,18 @@ void _usbd_reset(usbd_device *usbd_dev);
|
||||
struct _usbd_driver {
|
||||
usbd_device *(*init)(void);
|
||||
void (*set_address)(usbd_device *usbd_dev, uint8_t addr);
|
||||
void (*ep_setup)(usbd_device *usbd_dev, uint8_t addr, uint8_t type, uint16_t max_size,
|
||||
void (*ep_setup)(usbd_device *usbd_dev, uint8_t addr, uint8_t type,
|
||||
uint16_t max_size,
|
||||
void (*cb)(usbd_device *usbd_dev, uint8_t ep));
|
||||
void (*ep_reset)(usbd_device *usbd_dev);
|
||||
void (*ep_stall_set)(usbd_device *usbd_dev, uint8_t addr, uint8_t stall);
|
||||
void (*ep_stall_set)(usbd_device *usbd_dev, uint8_t addr,
|
||||
uint8_t stall);
|
||||
void (*ep_nak_set)(usbd_device *usbd_dev, uint8_t addr, uint8_t nak);
|
||||
uint8_t (*ep_stall_get)(usbd_device *usbd_dev, uint8_t addr);
|
||||
uint16_t (*ep_write_packet)(usbd_device *usbd_dev, uint8_t addr, const void *buf,
|
||||
uint16_t len);
|
||||
uint16_t (*ep_read_packet)(usbd_device *usbd_dev, uint8_t addr, void *buf,
|
||||
uint16_t len);
|
||||
uint16_t (*ep_write_packet)(usbd_device *usbd_dev, uint8_t addr,
|
||||
const void *buf, uint16_t len);
|
||||
uint16_t (*ep_read_packet)(usbd_device *usbd_dev, uint8_t addr,
|
||||
void *buf, uint16_t len);
|
||||
void (*poll)(usbd_device *usbd_dev);
|
||||
void (*disconnect)(usbd_device *usbd_dev, bool disconnected);
|
||||
uint32_t base_address;
|
||||
|
||||
@@ -377,8 +377,8 @@ int _usbd_standard_request_device(usbd_device *usbd_dev,
|
||||
struct usb_setup_data *req, uint8_t **buf,
|
||||
uint16_t *len)
|
||||
{
|
||||
int (*command)(usbd_device *usbd_dev, struct usb_setup_data *req, uint8_t
|
||||
**buf, uint16_t *len) = NULL;
|
||||
int (*command)(usbd_device *usbd_dev, struct usb_setup_data *req,
|
||||
uint8_t **buf, uint16_t *len) = NULL;
|
||||
|
||||
switch (req->bRequest) {
|
||||
case USB_REQ_CLEAR_FEATURE:
|
||||
@@ -494,8 +494,8 @@ int _usbd_standard_request_endpoint(usbd_device *usbd_dev,
|
||||
return command(usbd_dev, req, buf, len);
|
||||
}
|
||||
|
||||
int _usbd_standard_request(usbd_device *usbd_dev,
|
||||
struct usb_setup_data *req, uint8_t **buf, uint16_t *len)
|
||||
int _usbd_standard_request(usbd_device *usbd_dev, struct usb_setup_data *req,
|
||||
uint8_t **buf, uint16_t *len)
|
||||
{
|
||||
/* FIXME: Have class/vendor requests as well. */
|
||||
if ((req->bmRequestType & USB_REQ_TYPE_TYPE) != USB_REQ_TYPE_STANDARD) {
|
||||
|
||||
Reference in New Issue
Block a user