Ejemplo n.º 1
0
  /**
  Initialize
  **/
void BULKInitEndpoint(void) {

  // BULK Data EP is IN and OUT EP
  BULK_DATA_EP_UEP = EP_OUT_IN | HSHK_EN;

  // now build EP
  EP_OUT_BD(BULK_DATA_EP_NUM).Cnt = sizeof(BULKRxBuffer);
  EP_OUT_BD(BULK_DATA_EP_NUM).ADDR = PTR16(&BULKRxBuffer);
  // USB owns buffer
  EP_OUT_BD(BULK_DATA_EP_NUM).Stat.uc = BDS_UOWN | BDS_DTSEN;

  EP_IN_BD(BULK_DATA_EP_NUM).ADDR = PTR16(&BULKTxBuffer);
  // CPU owns buffer
  EP_IN_BD(BULK_DATA_EP_NUM).Stat.uc = BDS_DTS ;
}
Ejemplo n.º 2
0
  /**
  Initialize
  **/
void UARTInitEndpoint(void) {
#ifdef DEBUG_UART
  printf("UARTInitEndpoint\r\n");
#endif

  // UART Data EP is IN and OUT EP
  UART_DATA_EP_UEP = EP_OUT_IN | HSHK_EN;

  // now build EP
  EP_OUT_BD(UART_DATA_EP_NUM).Cnt = sizeof(UARTRxBuffer);
  EP_OUT_BD(UART_DATA_EP_NUM).ADDR = PTR16(&UARTRxBuffer);
  // USB owns buffer
  EP_OUT_BD(UART_DATA_EP_NUM).Stat.uc = BDS_UOWN | BDS_DTSEN;

  EP_IN_BD(UART_DATA_EP_NUM).ADDR = PTR16(&UARTTxBuffer);
  // CPU owns buffer
  EP_IN_BD(UART_DATA_EP_NUM).Stat.uc = BDS_DTS ;
}
Ejemplo n.º 3
0
/**
Initialize
**/
void CDCInitEndpoint(void)
{
  #ifdef DEBUG_PRINT_CDC
    printf("CDCInitEndpoint\r\n");
  #endif
  line_config.dwDTERate = USB_CDC_BAUD_RATE;
  line_config.bCharFormat = USB_CDC_STOP_BITS;
  line_config.bParityType = USB_CDC_PARITY;
  line_config.bDataBits = USB_CDC_DATA_BITS;
  zlp.wValue0=0;
  zlp.wValue1=0;
  zlp.wValue2=0;
  zlp.wValue3=0;
  zlp.wValue4=0;
  zlp.wValue5=0;
  zlp.wValue6=0;
  zlp.wValue7=0;

  // set global state variable

  // Configure USB_COMM_EP_UEP as IN and Communication PIPE
  USB_COMM_EP_UEP = EP_IN | HSHK_EN;

  // CDC Data EP is IN and OUT EP
  CDC_DATA_EP_UEP = EP_OUT_IN | HSHK_EN;

  // configure buffer for the Eps
  // firt communication EP
  EP_IN_BD(USB_COMM_EP_NUM).ADDR = PTR16(&CDCControlBuffer);
  EP_IN_BD(USB_COMM_EP_NUM).Stat.uc = BDS_DAT1 | BDS_COWN;
  
  // now Buld EP
  EP_OUT_BD(CDC_DATA_EP_NUM).Cnt = sizeof(CDCRxBuffer);
  EP_OUT_BD(CDC_DATA_EP_NUM).ADDR = PTR16(&CDCRxBuffer);
  EP_OUT_BD(CDC_DATA_EP_NUM).Stat.uc = BDS_UOWN | BDS_DAT0 | BDS_DTSEN;
  
  EP_IN_BD(CDC_DATA_EP_NUM).ADDR = PTR16(&CDCTxBuffer); // +1 
  EP_IN_BD(CDC_DATA_EP_NUM).Stat.uc = BDS_DAT1 | BDS_COWN; 
  deviceState=CONFIGURED; 
  #ifdef DEBUG_PRINT_CDC
    printf("end CDCInitEndpoint\r\n");
  #endif         
}
Ejemplo n.º 4
0
#include "../portable.h"
#include "../peripheral.h"
#include "hardware.h"

#ifdef __dsPIC33FJ128GP802__
IOPort_t IOPorts[NUM_PORTS] = {
        {PTR16(0x2C0), PTR16(0x2C2), PTR16(0x2C4), PTR16(0x2C6)},
        {PTR16(0x2C8), PTR16(0x2CA), PTR16(0x2CC), PTR16(0x2CE)}
#if PINCOUNT==44
        ,{PTR16(0x2D0), PTR16(0x2D2), PTR16(0x2D4), PTR16(0x2D6)}
#endif
};

void FW_Init(void)
{

    // Initialize the CPU clock.
    AD1PCFGL = 0xFFFF;           // Initially configurate everything as analog ports.

    int i=0;
    for (i = 0 ; i < HARDWARE_LEDCOUNT; i++)
    {
        SGPIO_Direction(LEDs[i].port, LEDs[i].pin, OUTPUT);
    }

    // Register all peripherals in the peripheral driver.
    Peripheral_Register(PERIPHERAL_UART_1, 1, Uart_Init, Uart_Mode, Uart_Tx, Uart_Rx);
    Peripheral_Register(PERIPHERAL_UART_2, 2, Uart_Init, Uart_Mode, Uart_Tx, Uart_Rx);
}