DVT
This commit is contained in:
@@ -1,227 +0,0 @@
|
||||
#ifndef __SPBDRIVERAPI_H__
|
||||
#define __SPBDRIVERAPI_H__
|
||||
|
||||
#include "stdbool.h"
|
||||
#include "stdint.h"
|
||||
#include "BfiApi.h"
|
||||
|
||||
typedef enum {
|
||||
#if defined HY8810 || HY8602
|
||||
PWM=0,
|
||||
DC,
|
||||
MIX_8DC_8HT,
|
||||
MIX_10DC_6HT,
|
||||
MIX_6DC_10HT,
|
||||
MIX_11DC_5HT,
|
||||
MIX_4DC_12HT,
|
||||
MIX_9DC_7HT,
|
||||
#elif defined HY8811 || HY8603 || HY8822
|
||||
PWM=0,
|
||||
DC_DITHER8_8,
|
||||
MIX_6DC_10HT,
|
||||
MIX_8DC_8HT,
|
||||
DC,
|
||||
#elif defined HY8612 || HY8608
|
||||
PWM=0,
|
||||
DC_DITHER10_6,
|
||||
DC_DITHER8_8,
|
||||
MIX_6DC_10HT,
|
||||
MIX_8DC_8HT,
|
||||
MIX_10DC_6HT,
|
||||
DC,
|
||||
#elif defined HY8108
|
||||
PWM=0,
|
||||
DC_DITHER10_6,
|
||||
MIX_6DC_10HT,
|
||||
MIX_10DC_6HT,
|
||||
DC,
|
||||
DC_DITHER8_8,
|
||||
#endif
|
||||
} dimming_mode_t;
|
||||
|
||||
typedef enum {
|
||||
|
||||
SINGLE=0,
|
||||
CH_SICK_INT1,
|
||||
SHORT_INT,
|
||||
OPEN_INT,
|
||||
OTP_INT,
|
||||
CRC_INT,
|
||||
PWM_HIGH_TO_SMALL,
|
||||
CH_SICK_INT2,
|
||||
|
||||
#if defined HY8811
|
||||
DEVICE_ID,
|
||||
OH,
|
||||
SELECTED_FAULT,
|
||||
#elif defined HY8603 || HY8822 || HY8612 || HY8608
|
||||
OH,
|
||||
DEVICE_ID,
|
||||
SELECTED_FAULT,
|
||||
#endif
|
||||
|
||||
#if defined HY8612 || HY8608
|
||||
ADDRESS_CHECK,
|
||||
DIP_TIMEOUT,
|
||||
UART=0XF,
|
||||
#endif
|
||||
|
||||
#if defined HY8108
|
||||
OH,
|
||||
DEVICE_ID,
|
||||
ADDRESS_CHECK=0xB,
|
||||
UART=0XF,
|
||||
#endif
|
||||
|
||||
} dos_mode_t;
|
||||
|
||||
|
||||
|
||||
enum {
|
||||
UNBLOCKING=0,
|
||||
BLOCKING,
|
||||
};
|
||||
|
||||
typedef enum {
|
||||
OK=0,
|
||||
PRE_ERR,
|
||||
SOP_ERR,
|
||||
CRC_ERR,
|
||||
EOP_ERR,
|
||||
INCOMPLETE,
|
||||
} fb_err_t;
|
||||
|
||||
|
||||
typedef enum {
|
||||
|
||||
#if defined HY8810 || HY8602 || HY8811 || HY8603 || HY8822
|
||||
|
||||
CMD_DIMMING =0x999f,
|
||||
CMD_BROADCAST =0x9a9a,
|
||||
CMD_CONFIG =0x955a,
|
||||
CMD_ADDR =0x959f,
|
||||
CMD_READ_BACK =0x5559,
|
||||
|
||||
#elif defined HY8612 || HY8608 || HY8108
|
||||
CMD_DIMMING =0x71,
|
||||
CMD_BROADCAST =0x72,
|
||||
CMD_CONFIG =0x73,
|
||||
CMD_ADDR =0x74,
|
||||
CMD_READ_BACK =0x75,
|
||||
CMD_READ_FAULT =0x76,
|
||||
#endif
|
||||
}sop_type;
|
||||
|
||||
#if defined HY8810 || HY8602 || HY8811 || HY8603 || HY8822
|
||||
#define BMC_BIT_LENGTH(len) ((len+6) * 20+5)
|
||||
#elif defined HY8612
|
||||
#define BMC_BIT_LENGTH(len) ((len+6) * 16)
|
||||
#elif defined HY8608 || HY8108
|
||||
#define BMC_BIT_LENGTH(len) ((len+7) * 16)
|
||||
#endif
|
||||
|
||||
|
||||
#define PREAMBER_VALUE 0X5555
|
||||
#define SOP_ADDR 0xc6711
|
||||
#define SOP_READ_BACK 0xce738
|
||||
#define SOP_CONFIG 0xc6727
|
||||
#define SOP_BROADCAST 0xc1f07
|
||||
#define SOP_DIMMING 0xc6311
|
||||
|
||||
typedef union {
|
||||
|
||||
#if defined HY8608 || HY8108
|
||||
struct{
|
||||
uint16_t pre;
|
||||
uint16_t head;
|
||||
uint16_t addr;
|
||||
uint16_t subaddr;
|
||||
uint16_t feedback;
|
||||
uint16_t datalength;
|
||||
uint16_t d[MAXCASCADE];
|
||||
uint16_t crc;
|
||||
}frame;
|
||||
uint16_t data[MAXCASCADE+7];
|
||||
#elif defined HY8612
|
||||
struct{
|
||||
uint16_t pre;
|
||||
uint16_t head;
|
||||
uint16_t addr;
|
||||
uint16_t subaddr;
|
||||
uint16_t datalength;
|
||||
uint16_t d[MAXCASCADE];
|
||||
uint16_t crc;
|
||||
}frame;
|
||||
uint16_t data[MAXCASCADE+6];
|
||||
#elif defined HY8810 || HY8602 || HY8811 || HY8603 || HY8822
|
||||
struct{
|
||||
uint32_t pre;
|
||||
uint32_t pre2;
|
||||
uint32_t pre3;
|
||||
uint32_t sop;
|
||||
uint32_t startaddress;
|
||||
uint32_t d[MAXCASCADE];
|
||||
uint32_t crc;
|
||||
uint32_t eop;
|
||||
}frame;
|
||||
uint32_t data[MAXCASCADE+7];
|
||||
|
||||
#endif
|
||||
}LANE_DATA_t;
|
||||
|
||||
|
||||
extern LANE_DATA_t lane_data[MAXDIP];
|
||||
|
||||
extern uint16_t lane_outbuf[PORTOUTBUFSIZE];
|
||||
|
||||
void Spb_Init(void);
|
||||
void Spb_Lock(void);
|
||||
void Spb_Unlock(void);
|
||||
void Spb_Lock_REG58or5A(void);
|
||||
void Spb_Unlock_REG58or5A(void);
|
||||
|
||||
fb_err_t SpbDriverApi_Fb_Decode(uint16_t *rdata);
|
||||
|
||||
|
||||
void Spb_Address(uint8_t first_id,uint8_t last_id);
|
||||
void Spb_Readback(uint8_t reg,uint8_t id,uint8_t reg_num,uint8_t ic_num);
|
||||
void Spb_Config(uint8_t reg,uint8_t id,uint8_t reg_num,uint8_t ic_num,uint16_t datas_len);
|
||||
void Spb_Broadcast(uint8_t reg,uint16_t value,uint8_t head_L8);
|
||||
void Spb_Dimming(dimming_mode_t mode,dos_mode_t dos_mode,uint8_t id,uint8_t ic_num,uint16_t data_offset,uint16_t datas_len);
|
||||
|
||||
#if defined HY8608 || HY8108
|
||||
|
||||
enum{
|
||||
BUFF_BCON_TO_DRIVER=0,
|
||||
SLAVE_BCON_TO_DRIVER,
|
||||
BUFF_DRIVER_TO_BCON,
|
||||
SLAVE_DRIVER_TO_BCON,
|
||||
};
|
||||
typedef enum
|
||||
{
|
||||
BCON_driver_parallel = 0x0000, //BCON => driver:parallel
|
||||
BCON_driver_serial = 0x4000, //BCON => driver:serial
|
||||
driver_BCON_parallel = 0x8000, //driver => BCON:parallel
|
||||
driver_BCON_serial = 0xc000, //driver => BCON:serial
|
||||
}next_commad_type;
|
||||
|
||||
typedef struct {
|
||||
uint8_t dos_mode;//HEAD bit4-7
|
||||
uint8_t dimming_mode;//HEAD bit1-3
|
||||
uint8_t effect;//HEAD bit0
|
||||
uint16_t address;
|
||||
uint16_t sub_addr;
|
||||
uint16_t feedback;
|
||||
next_commad_type next_commad_type;//DATA_LENGTH bit14-15
|
||||
} Frame_Format_t;
|
||||
|
||||
extern Frame_Format_t ospb_frame;
|
||||
|
||||
void update_frame_data(uint8_t dos_mode,uint16_t addr,uint16_t subaddr,uint16_t feedback);
|
||||
void update_ospb_type(uint8_t type);
|
||||
void update_frame_mode(uint8_t dos_mode,uint8_t dimming_mode,uint8_t effect,next_commad_type next_commad_type);
|
||||
#endif
|
||||
|
||||
#endif
|
||||
|
||||
|
||||
Reference in New Issue
Block a user