+add PCAN X6 definitions

This commit is contained in:
moonglow 2021-02-16 15:54:51 +03:00
parent d33983944e
commit 6a6fef9090
5 changed files with 27 additions and 5 deletions

View File

@ -162,6 +162,9 @@ pro_fd:
fd: fd:
$(MAKE) BOARD=fd DEBUG=0 OPT=-Os PROTO=Src/pcanpro_fd_protocol.c BOARD_FLAGS='-DPCAN_FD=1 -DINCLUDE_LIN_INTERFACE=0' elf hex bin $(MAKE) BOARD=fd DEBUG=0 OPT=-Os PROTO=Src/pcanpro_fd_protocol.c BOARD_FLAGS='-DPCAN_FD=1 -DINCLUDE_LIN_INTERFACE=0' elf hex bin
pcan_x6:
$(MAKE) BOARD=pcan_x6 DEBUG=0 OPT=-Os PROTO=Src/pcanpro_fd_protocol.c BOARD_FLAGS='-DPCAN_X6=1 -DINCLUDE_LIN_INTERFACE=0' elf hex bin
####################################### #######################################
# build the application # build the application

View File

@ -135,14 +135,28 @@ uint8_t pcan_protocol_device_setup( USBD_HandleTypeDef *pdev, USBD_SetupReqTyped
.size_of = sizeof( struct pcan_usbfd_fw_info ), .size_of = sizeof( struct pcan_usbfd_fw_info ),
.type = 2, .type = 2,
.hw_type = 1, .hw_type = 1,
#if ( PCAN_X6 == 1 )
.bl_version = { 1, 1, 0 },
.hw_version = 3,
#else
.bl_version = { 2, 1, 0 }, /* bootloader v > 2 support massstorage mode */ .bl_version = { 2, 1, 0 }, /* bootloader v > 2 support massstorage mode */
.hw_version = 2, .hw_version = 2,
#endif
.fw_version = { 3, 2, 0 }, .fw_version = { 3, 2, 0 },
.dev_id[0] = 0xFFFFFFFF, .dev_id[0] = 0xFFFFFFFF,
.dev_id[1] = 0xFFFFFFFF, .dev_id[1] = 0xFFFFFFFF,
.ser_no = 0xFFFFFFFF, .ser_no = 0xFFFFFFFF,
.flags = 0x00000000, .flags = 0x00000000,
.unk = { 0x01, 0x81, 0x02, 0x03, 0x82, 0x00, 0x00, 0x00 } .unk = {
0x01, /* cmd_out */
0x81, /* cmd_in */
0x02, /* write */
0x03, /* write */
0x82, /* read */
0x00,
0x00,
0x00
}
}; };
/* windows/linux has different struct size */ /* windows/linux has different struct size */
fwi.size_of = req->wLength; fwi.size_of = req->wLength;

View File

@ -16,7 +16,7 @@ struct t_pcanpro_description
USB_ENDPOINT_DESCRIPTOR ep2_i0; USB_ENDPOINT_DESCRIPTOR ep2_i0;
USB_ENDPOINT_DESCRIPTOR ep3_i0; USB_ENDPOINT_DESCRIPTOR ep3_i0;
USB_ENDPOINT_DESCRIPTOR ep4_i0; USB_ENDPOINT_DESCRIPTOR ep4_i0;
#if ( PCAN_PRO ) || ( PCAN_PRO_FD ) #if ( PCAN_PRO ) || ( PCAN_PRO_FD ) || ( PCAN_X6)
USB_ENDPOINT_DESCRIPTOR ep5_i0; USB_ENDPOINT_DESCRIPTOR ep5_i0;
USB_ENDPOINT_DESCRIPTOR ep6_i0; USB_ENDPOINT_DESCRIPTOR ep6_i0;
#endif #endif
@ -75,7 +75,7 @@ __ALIGN_BEGIN static struct t_pcanpro_description pcanpro_dev __ALIGN_END =
.bDescriptorType = USB_INTERFACE_DESCRIPTOR_TYPE, .bDescriptorType = USB_INTERFACE_DESCRIPTOR_TYPE,
.bInterfaceNumber = 0, .bInterfaceNumber = 0,
.bAlternateSetting = 0, .bAlternateSetting = 0,
#if ( PCAN_PRO ) || ( PCAN_PRO_FD ) #if ( PCAN_PRO ) || ( PCAN_PRO_FD ) || ( PCAN_X6)
.bNumEndpoints = 6, .bNumEndpoints = 6,
#else #else
.bNumEndpoints = 4, .bNumEndpoints = 4,
@ -121,7 +121,7 @@ __ALIGN_BEGIN static struct t_pcanpro_description pcanpro_dev __ALIGN_END =
.wMaxPacketSize = 64,/* FS: 64, HS: 512 */ .wMaxPacketSize = 64,/* FS: 64, HS: 512 */
.bInterval = 0, .bInterval = 0,
}, },
#if ( PCAN_PRO ) || ( PCAN_PRO_FD ) #if ( PCAN_PRO ) || ( PCAN_PRO_FD ) || ( PCAN_X6)
.ep5_i0 = .ep5_i0 =
{ {
.bLength = sizeof( USB_ENDPOINT_DESCRIPTOR ), .bLength = sizeof( USB_ENDPOINT_DESCRIPTOR ),

View File

@ -18,7 +18,7 @@
#define PCAN_USB_EP_MSGIN_CH2 0x83 #define PCAN_USB_EP_MSGIN_CH2 0x83
#if ( PCAN_PRO_FD ) || ( PCAN_FD ) #if ( PCAN_PRO_FD ) || ( PCAN_FD ) || ( PCAN_X6)
#define PCAN_DATA_PACKET_SIZE (256) #define PCAN_DATA_PACKET_SIZE (256)
#define PCAN_CMD_PACKET_SIZE (128) #define PCAN_CMD_PACKET_SIZE (128)
#elif ( PCAN_PRO ) #elif ( PCAN_PRO )

View File

@ -21,6 +21,11 @@
#define USBD_PRODUCT_STRING_HS "PCAN-USB-PRO" #define USBD_PRODUCT_STRING_HS "PCAN-USB-PRO"
#define USBD_INTERFACE_CAN_STRING_HS "PCAN-USB-PRO CAN Device" #define USBD_INTERFACE_CAN_STRING_HS "PCAN-USB-PRO CAN Device"
#define USBD_INTERFACE_LIN_STRING_HS "PCAN-USB-PRO LIN Device" #define USBD_INTERFACE_LIN_STRING_HS "PCAN-USB-PRO LIN Device"
#elif PCAN_X6
#define USBD_PID_HS 0x0014
#define USBD_PRODUCT_STRING_HS "PCAN-USB X6"
#define USBD_INTERFACE_CAN_STRING_HS "PCAN-USB X6 CAN Device"
#define USBD_INTERFACE_LIN_STRING_HS "PCAN-USB X6 LIN Device"
#else #else
#error Oops #error Oops
#endif #endif