12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879808182838485868788899091929394959697989910010110210310410510610710810911011111211311411511611711811912012112212312412512612712812913013113213313413513613713813914014114214314414514614714814915015115215315415515615715815916016116216316416516616716816917017117217317417517617717817918018118218318418518618718818919019119219319419519619719819920020120220320420520620720820921021121221321421521621721821922022122222322422522622722822923023123223323423523623723823924024124224324424524624724824925025125225325425525625725825926026126226326426526626726826927027127227327427527627727827928028128228328428528628728828929029129229329429529629729829930030130230330430530630730830931031131231331431531631731831932032132232332432532632732832933033133233333433533633733833934034134234334434534634734834935035135235335435535635735835936036136236336436536636736836937037137237337437537637737837938038138238338438538638738838939039139239339439539639739839940040140240340440540640740840941041141241341441541641741841942042142242342442542642742842943043143243343443543643743843944044144244344444544644744844945045145245345445545645745845946046146246346446546646746846947047147247347447547647747847948048148248348448548648748848949049149249349449549649749849950050150250350450550650750850951051151251351451551651751851952052152252352452552652752852953053153253353453553653753853954054154254354454554654754854955055155255355455555655755855956056156256356456556656756856957057157257357457557657757857958058158258358458558658758858959059159259359459559659759859960060160260360460560660760860961061161261361461561661761861962062162262362462562662762862963063163263363463563663763863964064164264364464564664764864965065165265365465565665765865966066166266366466566666766866967067167267367467567667767867968068168268368468568668768868969069169269369469569669769869970070170270370470570670770870971071171271371471571671771871972072172272372472572672772872973073173273373473573673773873974074174274374474574674774874975075175275375475575675775875976076176276376476576676776876977077177277377477577677777877978078178278378478578678778878979079179279379479579679779879980080180280380480580680780880981081181281381481581681781881982082182282382482582682782882983083183283383483583683783883984084184284384484584684784884985085185285385485585685785885986086186286386486586686786886987087187287387487587687787887988088188288388488588688788888989089189289389489589689789889990090190290390490590690790890991091191291391491591691791891992092192292392492592692792892993093193293393493593693793893994094194294394494594694794894995095195295395495595695795895996096196296396496596696796896997097197297397497597697797897998098198298398498598698798898999099199299399499599699799899910001001100210031004100510061007100810091010101110121013101410151016101710181019102010211022102310241025102610271028102910301031103210331034103510361037103810391040104110421043104410451046104710481049105010511052105310541055105610571058105910601061106210631064106510661067106810691070107110721073107410751076107710781079108010811082108310841085108610871088108910901091109210931094109510961097109810991100110111021103110411051106110711081109111011111112111311141115111611171118111911201121112211231124112511261127112811291130113111321133113411351136113711381139114011411142114311441145114611471148114911501151115211531154115511561157115811591160116111621163116411651166116711681169117011711172117311741175117611771178117911801181118211831184118511861187118811891190119111921193119411951196119711981199120012011202120312041205120612071208120912101211121212131214121512161217121812191220122112221223122412251226 |
- /************************************************************************
- Project: Welling Motor Control Paltform
- Filename: i2c_master.h
- Partner Filename: i2c_master.c
- Description: The header file of i2c_master.c
- Complier: IAR Embedded Workbench for ARM 6.50, IAR Systems.
- CPU TYPE : STM32F30x
- *************************************************************************
- Copyright (c) 2014 Welling Motor Technology(Shanghai) Co. Ltd.
- All rights reserved.
- *************************************************************************
- *************************************************************************
- Revising History (ECL of this file):
- liyue create this file;
- ************************************************************************/
- /************************************************************************
- Beginning of File, do not put anything above here except notes
- Compiler Directives
- ************************************************************************/
- #ifndef I2C_MASTER_H
- #define I2C_MASTER_H
- #include "AssistCurve.h"
- #include "bikespeed.h"
- #include "Cadence.h"
- #include "CadAssist.h"
- #include "bikeinformation.h"
- #include "typedefine.h"
- /************************************************************************
- Compiler Directives (N/A)
- *************************************************************************/
- #ifdef _I2C_MASTER_C_
- #define _I2C_MASTER_EXT
- #else
- #define _I2C_MASTER_EXT extern
- #endif
- /************************************************************************
- Definitions & Macros
- *************************************************************************/
- //////////////////////// EE Configure ////////////////////////////////////////////
- #define I2C_EE_SIZE_NBYTES 1024 // 24C08: 8Kb,16Bytes/Page/64Page
- #define I2C_EE_PAGESIZE_NBYTES 16
- #define I2C_EE_SIZE_NBLOCKS EEPROM_SIZE_NBYTES / 256
- #define I2C_EE_SIZE_NPAGES EEPROM_SIZE_NBYTES / I2C_EE_PAGESIZE
- #define I2C_SLAVEADDR_BLOCK1 0x00A0 // First 256 Bytes:0xA0, Second 256 Bytes:0xA2,...0xA4,0xA6
- #define I2C_SLAVEADDR_BLOCK2 0x00A2 // SADD[7:1]: 7-bit slave address to be sent.
- #define I2C_SLAVEADDR_BLOCK3 0x00A4
- #define I2C_SLAVEADDR_BLOCK4 0x00A6
- ////////////////////// SIZE OF DATA /////////////////////////////////////////////
- #define I2C_MOTOR_PARA_N_BYTES 38 // I2C_SLAVEADDR_BLOCK1
- #define I2C_BIKE_PARA_N_BYTES 26 // I2C_SLAVEADDR_BLOCK1
- #define I2C_MCONTROL_PARA_N_BYTES 36 // I2C_SLAVEADDR_BLOCK1
- #define I2C_SENSOR_PARA_N_BYTES 40 // I2C_SLAVEADDR_BLOCK1
- #define I2C_ASSIST_PARA_N_BYTES 40 // I2C_SLAVEADDR_BLOCK1
- #define I2C_HISTORY_PARA_N_BYTES 78 // I2C_SLAVEADDR_BLOCK3
- #define I2C_MOTOR_PARA_N_WORDS I2C_MOTOR_PARA_N_BYTES / 2 // I2C_SLAVEADDR_BLOCK1
- #define I2C_BIKE_PARA_N_WORDS I2C_BIKE_PARA_N_BYTES / 2 // I2C_SLAVEADDR_BLOCK1
- #define I2C_MCONTROL_PARA_N_WORDS I2C_MCONTROL_PARA_N_BYTES / 2 // I2C_SLAVEADDR_BLOCK1
- #define I2C_SENSOR_PARA_N_WORDS I2C_SENSOR_PARA_N_BYTES / 2 // I2C_SLAVEADDR_BLOCK1
- #define I2C_ASSIST_PARA_N_WORDS I2C_ASSIST_PARA_N_BYTES / 2 // I2C_SLAVEADDR_BLOCK1
- #define I2C_HISTORY_PARA_N_WORDS I2C_HISTORY_PARA_N_BYTES / 2 // I2C_SLAVEADDR_BLOCK2
- ////////////////////// DATA ADDRESS ////////////////////////////////////////////
- #define I2C_PBUFFER_NWORDS 5
- #define I2C_MOTOR_PARA_ARDDR 0X00
- #define I2C_BIKE_PARA_ARDDR I2C_MOTOR_PARA_ARDDR + I2C_MOTOR_PARA_N_BYTES
- #define I2C_MCONTROL_PARA_ARDDR I2C_BIKE_PARA_ARDDR + I2C_BIKE_PARA_N_BYTES
- #define I2C_SENSOR_PARA_ARDDR I2C_MCONTROL_PARA_ARDDR + I2C_MCONTROL_PARA_N_BYTES
- #define I2C_ASSIST_PARA_ARDDR I2C_SENSOR_PARA_ARDDR + I2C_SENSOR_PARA_N_BYTES
- #define I2C_HISTORY_PARA_ARDDR 0x00
- #define I2C_MOTOR_PARA_CRC_ARDDR I2C_ASSIST_PARA_ARDDR + I2C_ASSIST_PARA_N_BYTES
- #define I2C_BIKE_PARA_CRC_ARDDR I2C_MOTOR_PARA_CRC_ARDDR + 2
- #define I2C_MCONTROL_PARA_CRC_ARDDR I2C_BIKE_PARA_CRC_ARDDR + 2
- #define I2C_SENSOR_PARA_CRC_ARDDR I2C_MCONTROL_PARA_CRC_ARDDR + 2
- #define I2C_ASSIST_PARA_CRC_ARDDR I2C_SENSOR_PARA_CRC_ARDDR + 2
- #define I2C_HISTORY_PARA_CRC_ARDDR I2C_HISTORY_PARA_ARDDR + I2C_HISTORY_PARA_N_BYTES
- // I2C_TX_NBYTES cannot exceed 255, CRC:6 Bytes
- #define I2C_TX1_NBYTES \
- 10 + I2C_MOTOR_PARA_N_BYTES + I2C_BIKE_PARA_N_BYTES + I2C_MCONTROL_PARA_N_BYTES + I2C_SENSOR_PARA_N_BYTES + I2C_ASSIST_PARA_N_BYTES // 172 bytes
- #define I2C_RETX1_TIMES 1
- #define I2C_TX2_NBYTES 2 + I2C_HISTORY_PARA_N_BYTES // 78 Bytes
- #define I2C_RETX2_TIMES 1
- #define I2C1_TX_DMA_NUM (I2C_TX1_NBYTES > I2C_TX2_NBYTES ? I2C_TX1_NBYTES : I2C_TX2_NBYTES)
- // I2C_RX_NBYTES cannot exceed 255,
- #define I2C_RX1_NBYTES I2C_TX1_NBYTES
- #define I2C_RX2_NBYTES I2C_TX2_NBYTES
- #define I2C1_RX_DMA_NUM (I2C_RX1_NBYTES > I2C_RX2_NBYTES ? I2C_RX1_NBYTES : I2C_RX2_NBYTES)
- #define I2C_RERX1_TIMES 2
- #define I2C_SHORT_TIMEOUT 5000
- #define I2C_LONG_TIMEOUT (10 * I2C_FLAG_TIMEOUT)
- #define I2C_DMA_TIMEOUT 100000
- /************************************************************************
- System Parameters
- *************************************************************************/
- /*Reserve Para*/
- #define I2Creserve \
- { \
- 500 \
- }
- /*Motor Para*/
- #define I2CuwPolePairs \
- { \
- ((UWORD)M_POLE_PAIRS) \
- }
- #define I2CuwRsmOhm \
- { \
- ((UWORD)M_RS_OHM) \
- }
- #define I2CuwLduH \
- { \
- ((UWORD)M_LD_NOLOAD_MH) \
- }
- #define I2CuwLquH \
- { \
- ((UWORD)M_LQ_NOLOAD_MH) \
- }
- #define I2CuwFluxmWb \
- { \
- ((UWORD)M_FLUX_WB) \
- }
- #define I2CuwIdMaxA \
- { \
- ((UWORD)M_ID_MAX_AP) \
- }
- #define I2CuwIdMinA \
- { \
- ((UWORD)M_ID_MIN_AP) \
- }
- #define I2CuwRSpdRpm \
- { \
- ((UWORD)M_R_SPD_RPM) \
- }
- #define I2CuwRPwrWt \
- { \
- ((UWORD)M_R_PWR_WT) \
- }
- #define I2CuwRCurA \
- { \
- ((UWORD)M_R_IRMS_A) \
- }
- #define I2CuwRVolV \
- { \
- ((UWORD)M_R_UDC_v) \
- }
- #define I2CuwJD \
- { \
- ((UWORD)M_JD) \
- }
- #define I2CuwTorMaxNm \
- { \
- ((UWORD)M_MAX_TOR_NM) \
- }
- #define I2CMotorPara \
- { \
- I2CuwPolePairs, I2CuwRsmOhm, I2CuwLduH, I2CuwLquH, I2CuwFluxmWb, I2CuwIdMaxA, I2CuwIdMinA, I2CuwRSpdRpm, I2CuwRPwrWt, I2CuwRCurA, \
- I2CuwRVolV, I2CuwJD, I2CuwTorMaxNm, I2Creserve, I2Creserve, I2Creserve, I2Creserve, I2Creserve, I2Creserve \
- }
- /*Bike Para*/
- #define I2CuwWheelDiameter \
- { \
- ((UWORD)ASS_BIKE_WHEEL_DIAMETER) \
- }
- #define I2CuwDeltDiameter \
- { \
- 0 \
- }
- #define I2CuwMechRationMotor \
- { \
- ((UWORD)ASS_BIKE_MECH_RATION) \
- }
- #define I2CuwAssistMaxSpdKmH \
- { \
- ((UWORD)(ASS_THROTTLE_SPD_LIMIT>>4)) \
- }
- #define I2CuwThrottleMaxSpdKmH \
- { \
- ((UWORD)(ASS_CART_SPEED>>4)) \
- }
- #define I2CuwNmFrontChainring \
- { \
- BIKE_FRONTTEETH_NMB \
- }
- #define I2CuwNmBackChainring \
- { \
- BIKE_BACKTEETH_NMB \
- }
- #define I2CuwAssistSelect1 \
- { \
- ((UWORD)ASSISTMOD_SELECT_MODE1) \
- }
- #define I2CuwAssistSelect2 \
- { \
- ((UWORD)ASSISTMOD_SELECT_MODE2) \
- }
- #define I2CuwLightVoltage \
- { \
- ((UWORD)BIKE_LIGHT_CONFIG) \
- }
- #define I2CuwStartMode \
- { \
- ((UWORD)BIKE_START_MODE) \
- }
- #define I2CuwAutoPowerOffTime \
- { \
- ((UWORD)BIKE_AUTO_POWER_OFF_TIME) \
- }
- #define I2CBikePara \
- { \
- I2CuwWheelDiameter, I2CuwDeltDiameter, I2CuwMechRationMotor, I2CuwAssistMaxSpdKmH, I2CuwThrottleMaxSpdKmH, I2CuwNmFrontChainring, \
- I2CuwNmBackChainring, I2CuwAssistSelect1, I2CuwAssistSelect2, I2CuwLightVoltage, I2CuwStartMode, I2CuwAutoPowerOffTime, I2Creserve \
- }
- /*MControl Para*/
- #define I2CParaFirstSetFlg \
- { \
- 1 \
- }
- #define I2CSpiOffsetFirstSetFlg \
- { \
- 0 \
- }
- #define I2CswSPIPosOffsetOrigin \
- { \
- 0 \
- }
- #define I2CswSPIPosOffsetNow \
- { \
- 0 \
- }
- #define I2CuwIPeakMaxA \
- { \
- ((UWORD)M_IS_PEAK_MAX_AP) \
- }
- #define I2CuwAlamOCurA \
- { \
- ((UWORD)ALM_OVR_CNT_VAL) \
- }
- #define I2CuwAlamOVolV \
- { \
- ((UWORD)ALM_OVR_VLT_LVL1_VAL) \
- }
- #define I2CuwAlamUVolV \
- { \
- ((UWORD)ALM_UNDR_VLT_LVL1_VAL) \
- }
- #define I2CuwAlamOverSpdRpm \
- { \
- ((UWORD)ALM_OVR_SPD_VAL) \
- }
- #define I2CuwAlamOverHeatCe \
- { \
- ((UWORD)ALM_IPM_OVR_HEAT_VAL) \
- }
- #define I2CuwAlamRecHeatCe \
- { \
- ((UWORD)ALM_IPM_OVR_HEAT_REC_VAL) \
- }
- #define I2CuwPwrLimitStartCe \
- { \
- ((UWORD)PWRLIM_START_THRESHOLD_TEMP) \
- }
- #define I2CuwAlamMotorOverHeatCe \
- { \
- ((UWORD)ALM_MOTOR_OVR_HEAT_VAL) \
- }
- #define I2CuwAlamMotorRecHeatCe \
- { \
- ((UWORD)ALM_MOTOR_OVR_HEAT_REC_VAL) \
- }
- #define I2CuwPwrLimitMotorStartCe \
- { \
- ((UWORD)PWRLIM_START_THRESHOLD_MOTOR_TEMP) \
- }
- #define I2CMControlPara \
- { \
- I2CParaFirstSetFlg,I2CSpiOffsetFirstSetFlg,I2CswSPIPosOffsetOrigin, I2CswSPIPosOffsetNow, I2CuwIPeakMaxA, I2CuwAlamOCurA, I2CuwAlamOVolV, I2CuwAlamUVolV, I2CuwAlamOverSpdRpm, \
- I2CuwAlamOverHeatCe, I2CuwAlamRecHeatCe, I2CuwPwrLimitStartCe, I2CuwAlamMotorOverHeatCe, I2CuwAlamMotorRecHeatCe, I2CuwPwrLimitMotorStartCe, I2Creserve, I2Creserve, I2Creserve \
- }
- /*Sensor Para*/
- #define I2CuwTorSensorOffsetOrigin \
- { \
- 372 \
- }
- #define I2CuwTorSensorOffsetNow1 \
- { \
- 0 \
- }
- #define I2CuwTorSensorOffsetNow2 \
- { \
- 0 \
- }
- #define I2CuwTorSensorOffsetNow3 \
- { \
- 0 \
- }
- #define I2CuwTorSensorOffsetNow4 \
- { \
- 0 \
- }
- #define I2CuwBikeTorMaxNm \
- { \
- 850 \
- }
- #define I2CuwBikeTor1StepRealNm \
- { \
- 200 \
- }
- #define I2CuwBikeTor1StepADC \
- { \
- 838 \
- }
- #define I2CuwBikeTor2StepRealNm \
- { \
- 400 \
- }
- #define I2CuwBikeTor2StepADC \
- { \
- 1303 \
- }
- #define I2CuwBikeTor3StepRealNm \
- { \
- 600 \
- }
- #define I2CuwBikeTor3StepADC \
- { \
- 1769 \
- }
- #define I2CuwBikeTor4StepRealNm \
- { \
- 800 \
- }
- #define I2CuwBikeTor4StepADC \
- { \
- 2234 \
- }
- #define I2CuwCadSensorPulseNm \
- { \
- TORQUE_NUMBERS_PULSES \
- }
- #define I2CuwBikeSpdSensorPulseNm \
- { \
- BIKESPEED_NUMBERS_PULSES \
- }
- #define I2CuwCad_SensorPulseNm \
- { \
- CADENCE_NUMBERS_PULSES \
- }
- #define I2CSensorPara \
- { \
- I2CuwTorSensorOffsetOrigin, I2CuwTorSensorOffsetNow1, I2CuwTorSensorOffsetNow2, I2CuwTorSensorOffsetNow3, I2CuwTorSensorOffsetNow4, \
- I2CuwBikeTorMaxNm, I2CuwBikeTor1StepRealNm, I2CuwBikeTor1StepADC, I2CuwBikeTor2StepRealNm, I2CuwBikeTor2StepADC, \
- I2CuwBikeTor3StepRealNm, I2CuwBikeTor3StepADC, I2CuwBikeTor4StepRealNm, I2CuwBikeTor4StepADC, I2CuwCadSensorPulseNm, \
- I2CuwBikeSpdSensorPulseNm, I2CuwCad_SensorPulseNm, I2Creserve, I2Creserve, I2Creserve \
- }
- /*Assist Para*/
- #define I2CswStartupGain \
- { \
- 8192 \
- }
- #define I2CswStartcruiseGain \
- { \
- 4096 \
- }
- #define I2CswNmAssistChangeNum \
- { \
- 0 \
- }
- #define I2CswG1AssistCoefaH \
- { \
- 0 \
- }
- #define I2CswG1AssistCoefaL \
- { \
- 0 \
- }
- #define I2CswG1AssistCoefbH \
- { \
- 0 \
- }
- #define I2CswG1AssistCoefbL \
- { \
- 0 \
- }
- #define I2CswG1AssistCoefcH \
- { \
- 0 \
- }
- #define I2CswG1AssistCoefcL \
- { \
- 0 \
- }
- #define I2CswG2AssistCoefaH \
- { \
- 0 \
- }
- #define I2CswG2AssistCoefaL \
- { \
- 0 \
- }
- #define I2CswG2AssistCoefbH \
- { \
- 0 \
- }
- #define I2CswG2AssistCoefbL \
- { \
- 0 \
- }
- #define I2CswG2AssistCoefcH \
- { \
- 0 \
- }
- #define I2CswG2AssistCoefcL \
- { \
- 0 \
- }
- #define I2CswG3AssistCoefaH \
- { \
- 0 \
- }
- #define I2CswG3AssistCoefaL \
- { \
- 0 \
- }
- #define I2CswG3AssistCoefbH \
- { \
- 0 \
- }
- #define I2CswG3AssistCoefbL \
- { \
- 0 \
- }
- #define I2CswG3AssistCoefcH \
- { \
- 0 \
- }
- #define I2CswG3AssistCoefcL \
- { \
- 0 \
- }
- #define I2CswG4AssistCoefaH \
- { \
- 0 \
- }
- #define I2CswG4AssistCoefaL \
- { \
- 0 \
- }
- #define I2CswG4AssistCoefbH \
- { \
- 0 \
- }
- #define I2CswG4AssistCoefbL \
- { \
- 0 \
- }
- #define I2CswG4AssistCoefcH \
- { \
- 0 \
- }
- #define I2CswG4AssistCoefcL \
- { \
- 0 \
- }
- #define I2CswG5AssistCoefaH \
- { \
- 0 \
- }
- #define I2CswG5AssistCoefaL \
- { \
- 0 \
- }
- #define I2CswG5AssistCoefbH \
- { \
- 0 \
- }
- #define I2CswG5AssistCoefbL \
- { \
- 0 \
- }
- #define I2CswG5AssistCoefcH \
- { \
- 0 \
- }
- #define I2CswG5AssistCoefcL \
- { \
- 0 \
- }
- #define I2CswCadAssistCoefa \
- { \
- 0 \
- }
- #define I2CswCadAssistCoefb \
- { \
- 0 \
- }
- #define I2CswCadAssistCoefc \
- { \
- 0 \
- }
- #define I2CuwAssistStartNm \
- { \
- 80 \
- }
- #define I2CuwAssistStopNm \
- { \
- 30 \
- }
- #define I2CuwStartUpGainStep \
- { \
- 4 \
- }
- #define I2CuwStartUpCadNm \
- { \
- VolLimCtrKiStep \
- }
- #define I2CuwTorLPFCadNm \
- { \
- 38 \
- }
- #define I2CuwSpeedAssistSpdRpm \
- { \
- VolLimCtrKp \
- }
- #define I2CuwSpeedAssistIMaxA \
- { \
- VolLimCtrKi \
- }
- #define I2CuwAssistLimitBikeSpdStart \
- { \
- BIKE_SPEED_IQLIMIT_THRESHOLD1 \
- }
- #define I2CuwAssistLimitBikeSpdStop \
- { \
- BIKE_SPEED_IQLIMIT_THRESHOLD2 \
- }
- #define I2CuwCadenceAssistWeight \
- { \
- 50 \
- }
- #define I2CuwCadenceAssKp \
- { \
- ASS_PID_KP \
- }
- #define I2CuwCadenceVolStep \
- { \
- ASS_VOL_STEP_MAX \
- }
- #define I2CuwCadenceVolDecStep \
- { \
- ((UWORD)ASS_VOL_DEC_STEP) \
- }
- #define I2CuwCadenceCurStep \
- { \
- ((UWORD)ASS_CUR_STEP) \
- }
- #define I2CuwCadenceMaxRpm \
- { \
- ((UWORD)ASS_CAD_MAX_RPM) \
- }
- #define I2CAssistPara \
- { \
- I2CswStartupGain, I2CswStartcruiseGain, I2CuwAssistStartNm, I2CuwAssistStopNm, I2CuwStartUpGainStep, I2CuwStartUpCadNm, I2CuwTorLPFCadNm, \
- I2CuwSpeedAssistSpdRpm, I2CuwSpeedAssistIMaxA, I2CuwAssistLimitBikeSpdStart, I2CuwAssistLimitBikeSpdStop, I2CuwCadenceAssistWeight, \
- I2CuwCadenceAssKp, I2CuwCadenceVolStep, I2CuwCadenceVolDecStep, I2CuwCadenceCurStep, I2CuwCadenceMaxRpm, I2Creserve, I2Creserve, I2Creserve \
- }
- // I2CswNmAssistChangeNum,
- // I2CswG1AssistCoefaH,I2CswG1AssistCoefaL,I2CswG1AssistCoefbH,I2CswG1AssistCoefbL,I2CswG1AssistCoefcH,I2CswG1AssistCoefcL,\
- // I2CswG2AssistCoefaH,I2CswG2AssistCoefaL,I2CswG2AssistCoefbH,I2CswG2AssistCoefbL,I2CswG2AssistCoefcH,I2CswG2AssistCoefcL,\
- // I2CswG3AssistCoefaH,I2CswG3AssistCoefaL,I2CswG3AssistCoefbH,I2CswG3AssistCoefbL,I2CswG3AssistCoefcH,I2CswG3AssistCoefcL,\
- // I2CswG4AssistCoefaH,I2CswG4AssistCoefaL,I2CswG4AssistCoefbH,I2CswG4AssistCoefbL,I2CswG4AssistCoefcH,I2CswG4AssistCoefcL,\
- // I2CswG5AssistCoefaH,I2CswG5AssistCoefaL,I2CswG5AssistCoefbH,I2CswG5AssistCoefbL,I2CswG5AssistCoefcH,I2CswG5AssistCoefcL,\
- // I2CswCadAssistCoefa,I2CswCadAssistCoefb,I2CswCadAssistCoefc,
- /*History Parameters*/
- #define I2CuwAssModSelect \
- { \
- 0 \
- }
- #define I2CuwOpenTimes \
- { \
- 0 \
- }
- #define I2CuwUsedTimeH \
- { \
- 0 \
- }
- #define I2CuwUsedTimeL \
- { \
- 0 \
- }
- #define I2CuwNTCTempMaxCe \
- { \
- 0 \
- }
- #define I2CuwNTCTempMinCe \
- { \
- 100 \
- }
- #define I2CuwAlamHOcurTimes \
- { \
- 0 \
- }
- #define I2CuwAlamSOcurTimes \
- { \
- 0 \
- }
- #define I2CuwAlamOHeatTimes \
- { \
- 0 \
- }
- #define I2CuwAlamRotorLockTimes \
- { \
- 0 \
- }
- #define I2CuwAlamPhsLossTimes \
- { \
- 0 \
- }
- #define I2CuwAlamOVolTimes \
- { \
- 0 \
- }
- #define I2CuwAlamUVolTimes \
- { \
- 0 \
- }
- #define I2CuwAlamComOTimeTimes \
- { \
- 0 \
- }
- #define I2CuwG1AvgPwrConsumption \
- { \
- 100 \
- }
- #define I2CuwG2AvgPwrConsumption \
- { \
- 160 \
- }
- #define I2CuwG3AvgPwrConsumption \
- { \
- 190 \
- }
- #define I2CuwG4AvgPwrConsumption \
- { \
- 270 \
- }
- #define I2CuwG5AvgPwrConsumption \
- { \
- 180 \
- }
- #define I2CuwODOTripH \
- { \
- 0 \
- }
- #define I2CuwODOTripL \
- { \
- 0 \
- }
- #define I2CuwODOTimeH \
- { \
- 0 \
- }
- #define I2CuwODOTimeL \
- { \
- 0 \
- }
- #define I2CuwTripSumH \
- { \
- 0 \
- }
- #define I2CuwTripSumL \
- { \
- 0 \
- }
- #define I2CuwTripSumTimeH \
- { \
- 0 \
- }
- #define I2CuwTripSumTimeL \
- { \
- 0 \
- }
- #define I2CuwTorSensorAlamTimes \
- { \
- 0 \
- }
- #define I2CuwCadSensorAlamTimes \
- { \
- 0 \
- }
- #define I2CuwBikeSpdSensorAlamTimes \
- { \
- 0 \
- }
- #define I2CuwPosSensorAlamTimes \
- { \
- 0 \
- }
- #define I2CHistoryPara \
- { \
- I2CuwAssModSelect, I2CuwOpenTimes, I2CuwUsedTimeH, I2CuwUsedTimeL, I2CuwNTCTempMaxCe, I2CuwNTCTempMinCe, I2CuwAlamHOcurTimes, \
- I2CuwAlamSOcurTimes, I2CuwAlamOHeatTimes, I2CuwAlamRotorLockTimes, I2CuwAlamPhsLossTimes, I2CuwAlamOVolTimes, I2CuwAlamUVolTimes, \
- I2CuwAlamComOTimeTimes, I2CuwG1AvgPwrConsumption, I2CuwG2AvgPwrConsumption, I2CuwG3AvgPwrConsumption, I2CuwG4AvgPwrConsumption, \
- I2CuwG5AvgPwrConsumption, I2CuwODOTripH, I2CuwODOTripL, I2CuwODOTimeH, I2CuwODOTimeL, I2CuwTripSumH, I2CuwTripSumL, I2CuwTripSumTimeH, \
- I2CuwTripSumTimeL, I2CuwTorSensorAlamTimes, I2CuwCadSensorAlamTimes, I2CuwBikeSpdSensorAlamTimes, I2CuwPosSensorAlamTimes, I2Creserve, \
- I2Creserve, I2Creserve, I2Creserve, I2Creserve, I2Creserve, I2Creserve, I2Creserve \
- }
- /* SYSTEM2 PARA */
- #define SYSPARA2 \
- { \
- I2CMotorPara, I2CBikePara, I2CMControlPara, I2CSensorPara, I2CAssistPara, I2CHistoryPara, 0 \
- }
- /************************************************************************
- TypeDefs & Structure defines (N/A)
- *************************************************************************/
- typedef struct
- {
- UBYTE ubTX1NPages;
- UBYTE ubTX1NSingleBytes;
- } I2C_TX_COF;
- typedef struct
- {
- UBYTE ubSlaveAddr;
- UBYTE ubPageCnt;
- UBYTE ubTX1Cnt;
- UBYTE ubWriteAddr;
- BOOL blTX1FinishFlg;
- BOOL blTX2FinishFlg;
- BOOL blInitFinishFlg;
- } I2C_TX_OUT;
- typedef struct
- {
- BOOL blMotorParaFltFlg;
- BOOL blBikeParaFltFlg;
- BOOL blMControlParaFltFlg;
- BOOL blSensorParaFltFlg;
- BOOL blAssistParaFltFlg;
- BOOL blHistoryParaFltFlg;
- BOOL ReadFinishFlg;
- } I2C_RXCRC_OUT;
- typedef struct
- {
- // UWORD uwDefault1;
- UWORD uwReal;
- // UWORD uwMin;
- // UWORD uwMax;
- // UWORD uwUnit;
- } UWORD_VALUE;
- typedef struct
- {
- // SWORD swDefault1;
- SWORD swReal;
- // SWORD swMin;
- // SWORD swMax;
- // UWORD uwUnit;
- } SWORD_VALUE;
- typedef struct
- {
- UWORD_VALUE uwPolePairs;
- UWORD_VALUE uwRsmOhm;
- UWORD_VALUE uwLduH;
- UWORD_VALUE uwLquH;
- UWORD_VALUE uwFluxmWb;
- UWORD_VALUE uwIdMaxA;
- UWORD_VALUE uwIdMinA;
- UWORD_VALUE uwRSpdRpm;
- UWORD_VALUE uwRPwrWt;
- UWORD_VALUE uwRCurA;
- UWORD_VALUE uwRVolV;
- UWORD_VALUE uwJD;
- UWORD_VALUE uwTorMaxNm;
- UWORD_VALUE uwReserve1;
- UWORD_VALUE uwReserve2;
- UWORD_VALUE uwReserve3;
- UWORD_VALUE uwReserve4;
- UWORD_VALUE uwReserve5;
- UWORD_VALUE uwRsserve6;
- } MOTOR_PARAMETER;
- typedef struct
- {
- UWORD_VALUE uwWheelPerimeter;
- SWORD_VALUE swDeltPerimeter;
- UWORD_VALUE uwMechRationMotor;
- UWORD_VALUE uwThrottleMaxSpdKmH;
- UWORD_VALUE uwCartSpdKmH;
- UWORD_VALUE uwNmFrontChainring;
- UWORD_VALUE uwNmBackChainring;
- UWORD_VALUE uwAssistSelect1;
- UWORD_VALUE uwAssistSelect2;
- UWORD_VALUE uwLightConfig;
- UWORD_VALUE uwStartMode;
- UWORD_VALUE uwAutoPowerOffTime;
- UWORD_VALUE uwReserve4;
- } BIKE_PARAMETER;
- typedef struct
- {
- UWORD_VALUE ParaFirstSetFlg;
- UWORD_VALUE SpiOffsetFirstSetFlg;
-
- UWORD_VALUE uwSPIPosOffsetOrigin;
- UWORD_VALUE uwSPIPosOffsetNow;
- UWORD_VALUE uwIPeakMaxA;
- UWORD_VALUE uwAlamOCurA;
- UWORD_VALUE uwAlamOVolV;
- UWORD_VALUE uwAlamUVolV;
- UWORD_VALUE uwAlamOverSpdRpm;
- UWORD_VALUE uwAlamOverHeatCe;
- UWORD_VALUE uwAlamRecHeatCe;
- UWORD_VALUE uwPwrLimitStartCe;
- UWORD_VALUE uwAlamMotorOverHeatCe;
- UWORD_VALUE uwAlamMotorRecHeatCe;
- UWORD_VALUE uwPwrLimitMotorStartCe;
- UWORD_VALUE uwReserve1;
- UWORD_VALUE uwReserve2;
- UWORD_VALUE uwReserve3;
- } MControl_PARAMETER;
- typedef struct
- {
- UWORD_VALUE uwTorSensorOffsetOrigin;
- UWORD_VALUE uwTorSensorOffsetNow1;
- UWORD_VALUE uwTorSensorOffsetNow2;
- UWORD_VALUE uwTorSensorOffsetNow3;
- UWORD_VALUE uwTorSensorOffsetNow4;
- UWORD_VALUE uwBikeTorMaxNm;
- UWORD_VALUE uwBikeTor1StepRealNm;
- UWORD_VALUE uwBikeTor1StepADC;
- UWORD_VALUE uwBikeTor2StepRealNm;
- UWORD_VALUE uwBikeTor2StepADC;
- UWORD_VALUE uwBikeTor3StepRealNm;
- UWORD_VALUE uwBikeTor3StepADC;
- UWORD_VALUE uwBikeTor4StepRealNm;
- UWORD_VALUE uwBikeTor4StepADC;
- UWORD_VALUE uwTorque_SensorPulseNm;//力矩脉冲
- UWORD_VALUE uwBikeSpdSensorPulseNm;
- UWORD_VALUE uwCad_SensorPulseNm;//uwCad_SensorPulseNm;
- UWORD_VALUE uwReserve2;
- UWORD_VALUE uwReserve3;
- UWORD_VALUE uwReserve4;
- } Sensor_PARAMETER;
- typedef struct
- {
- UWORD_VALUE uwStartupGain;
- UWORD_VALUE uwStartcruiseGain;
- UWORD_VALUE uwAssistStartNm;
- UWORD_VALUE uwAssistStopNm;
- UWORD_VALUE uwStartUpGainStep;
- UWORD_VALUE uwStartUpCadNm;
- UWORD_VALUE uwTorLPFCadNm;
- UWORD_VALUE uwSpeedAssistSpdRpm;
- UWORD_VALUE uwSpeedAssistIMaxA;
- UWORD_VALUE uwAssistLimitBikeSpdStart;
- UWORD_VALUE uwAssistLimitBikeSpdStop;
- UWORD_VALUE uwCadenceAssistWeight;
- UWORD_VALUE uwCadenceAssKp;
- SWORD_VALUE swCadenceVolStep;
- SWORD_VALUE swCadenceVolDecStep;
- SWORD_VALUE swCadenceCurStep;
- UWORD_VALUE uwMaxCadRpm;
- UWORD_VALUE uwReserve2;
- UWORD_VALUE uwReserve3;
- UWORD_VALUE uwReserve4;
- } Assist_PARAMETER;
- typedef struct
- {
- UWORD_VALUE uwAssModSelect;
- UWORD_VALUE uwOpenTimes;
- UWORD_VALUE uwUsedTimeH;
- UWORD_VALUE uwUsedTimeL;
- SWORD_VALUE swNTCTempMaxCe;
- SWORD_VALUE swNTCTempMinCe;
- UWORD_VALUE uwAlamHOcurTimes;
- UWORD_VALUE uwAlamSOcurTimes;
- UWORD_VALUE uwAlamOHeatTimes;
- UWORD_VALUE uwAlamRotorLockTimes;
- UWORD_VALUE uwAlamPhsLossTimes;
- UWORD_VALUE uwAlamOVolTimes;
- UWORD_VALUE uwAlamUVolTimes;
- UWORD_VALUE uwAlamComOTimeTimes;
- UWORD_VALUE uwG1AvgPwrConsumption;
- UWORD_VALUE uwG2AvgPwrConsumption;
- UWORD_VALUE uwG3AvgPwrConsumption;
- UWORD_VALUE uwG4AvgPwrConsumption;
- UWORD_VALUE uwG5AvgPwrConsumption;
- UWORD_VALUE uwODOTripH;
- UWORD_VALUE uwODOTripL;
- UWORD_VALUE uwODOTimeH;
- UWORD_VALUE uwODOTimeL;
- UWORD_VALUE uwTripSumH;
- UWORD_VALUE uwTripSumL;
- UWORD_VALUE uwTripSumTimeH;
- UWORD_VALUE uwTripSumTimeL;
- UWORD_VALUE uwTorSensorAlamTimes;
- UWORD_VALUE uwCadSensorAlamTimes;
- UWORD_VALUE uwBikeSpdSensorAlamTimes;
- UWORD_VALUE uwPosSensorAlamTimes;
- UWORD_VALUE uwReserve1;
- UWORD_VALUE uwReserve2;
- UWORD_VALUE uwReserve3;
- UWORD_VALUE uwReserve4;
- UWORD_VALUE uwReserve5;
- UWORD_VALUE uwReserve6;
- UWORD_VALUE uwReserve7;
- UWORD_VALUE uwReserve8;
- UWORD uwCRC;
- } History_PARAMETER;
- /**
- * @brief MC生产信息,占用空间32bytes
- *
- */
- typedef struct
- {
- char Manufacturer[8]; ///>生产厂商 ASCII,0x2E结束,无效填充0x20
- char MacAddr[8]; ///>生产地 ASCII,0x2E结束,无效填充0x20
- char MacDate[8]; ///>生产日期 ASCII,0x2E结束,无效填充0x20
- char MacBrand[8];
- } MC_MacInfo_Struct_t;
- /**
- * @brief MC生产信息,占用空间32bytes
- *
- */
- typedef struct
- {
- char CustomASCII1[16]; ///>生产厂商 ASCII,0x2E结束,无效填充0x20
- char CustomASCII2[16]; ///>生产地 ASCII,0x2E结束,无效填充0x20
- char CustomASCII3[16]; ///>生产日期 ASCII,0x2E结束,无效填充0x20
- } MC_RS_ASCII_Struct_t;
- typedef struct
- {
- UWORD uwSaveFlg;
- UWORD uwEEFirstDefaultSetFlg;
- UWORD uwSPIOffsetFirstSetFlg;
- UWORD uwTestParaSaveFlg;
- UWORD RunModelSelect;
- UWORD ThetaGetModelSelect;
- UWORD CurrentSampleModelSelect;
- UWORD RotateDirectionSelect;
- UWORD uwInitPosCurAmp;
- UWORD uwVFControlVolAmp;
- UWORD uwIFControlCurAmp;
- UWORD uwVFIFTargetFreHz;
- UWORD uwSpeedLoopAccRate;
- UWORD uwSpeedLoopDecRate;
- UWORD uwSpeedLoopBandWidthHz;
- UWORD uwSpeedLoopCoefM;
- UWORD uwCuerrentLoopBandWidthHz;
- UWORD uwCurrentLoopCoefM;
- UWORD uwFluxObsBandWidthHz;
- UWORD uwFluxObsCoefM;
- UWORD uwThetaObsPLLBandWidthHz;
- UWORD uwThetaObsPLLCoefM;
- UWORD uwJm;
- UWORD uwPWMMaxDuty;
- UWORD uwPWM7to5Duty;
- UWORD uwPwrLimit;
- UWORD uwPwrLimitError;
- UWORD uwPwrLimitKp;
- UWORD uwPwrLimitKi;
- UWORD reserve1;
- UWORD reserve2;
- UWORD reserve3;
- UWORD reserve4;
- UWORD reserve5;
- UWORD reserve6;
- UWORD reserve7;
- UWORD reserve8;
- } UPC_TestParaInfo_Struct_t;
- // UBYTE ubMotorVersion[16];
- // UBYTE ubSN[16];
- // MC_MacInfo_Struct_t ubProdInfo;
- typedef struct
- {
- SLONG slTorqAssGain[15][4];
- SLONG slCadAssGain[5][4];
- MC_RS_ASCII_Struct_t ubRsASSCII;
- UPC_TestParaInfo_Struct_t stTestParaInfo;
- } FLASH_PARA_TYPE;
- typedef struct
- {
- UWORD uwTEMP_RES0;//0度电阻值
- UWORD uwTEMP_RES1;//25度电阻值
- UWORD uwTEMP_RES2;//50度电阻值
- UWORD uwTEMP_RES3;//75度电阻值
- UWORD uwTEMP_RES4;//100度电阻值
- UWORD uwTEMP_RES5;//125度电阻值
- UWORD uwTEMP_RES6;//150度电阻值
- }EEP_RES_Struct;
- typedef struct
- {
- EEP_RES_Struct EEP_MOSA;//25度下MOS内阻
- EEP_RES_Struct EEP_MOSB;
- EEP_RES_Struct EEP_MOSC;
- UWORD EEP_K50; //系数1
- UWORD EEP_K75;
- UWORD EEP_K100;
- UWORD EEP_K125;
- UWORD EEP_K150;
- UWORD reserve1;
- UWORD reserve2;
- UWORD reserve3;
- UWORD reserve4;
- UWORD reserve5;
- UWORD reserve6;
- UWORD reserve7;
- UWORD reserve8;
- UWORD uwCRC;
- }MOSEEPROM_Struct;
- typedef struct
- {
- MOTOR_PARAMETER stMotorPara;
- BIKE_PARAMETER stBikePara;
- MControl_PARAMETER stMControlPara;
- Sensor_PARAMETER stSensorPara;
- Assist_PARAMETER stAssistPara;
- FLASH_PARA_TYPE flash_stPara;
- MOSEEPROM_Struct EepromMosPara;
- UWORD uwCRC;
- } SYSTEM_PARAMETER2;
- typedef struct
- {
- UBYTE ubMotorVersion[16];
- UBYTE ubSN[16];
- MC_MacInfo_Struct_t ubProdInfo;
- UWORD uwCRC;
- }PRODUCT_INFO_Struct;
- /************************************************************************
- Constant Table
- *************************************************************************/
- extern MC_MacInfo_Struct_t MC_MacInfo;
- extern MC_RS_ASCII_Struct_t MC_RsASSCII;
- /************************************************************************
- Exported Variables
- *************************************************************************/
- #ifdef _I2C_MASTER_C_
- _I2C_MASTER_EXT SYSTEM_PARAMETER2 Syspara2 ;//= SYSPARA2;
- _I2C_MASTER_EXT PRODUCT_INFO_Struct Productionpara;
- //_I2C_MASTER_EXT I2C_TX_COF i2c_stTXCoef;
- //_I2C_MASTER_EXT I2C_TX_OUT i2c_stTXOut;
- _I2C_MASTER_EXT I2C_RXCRC_OUT i2c_stRXCRCOut = {FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE};
- // _I2C_MASTER_EXT MOSEEPROM_Struct EepromMosPara;
- //
- //_I2C_MASTER_EXT UBYTE I2C_ubReadBuffer[I2C_RERX1_TIMES][I2C1_RX_DMA_NUM];
- //_I2C_MASTER_EXT UWORD I2C_uwMotorParaRead[I2C_MOTOR_PARA_N_WORDS];
- //_I2C_MASTER_EXT UWORD I2C_uwBikeParaRead[I2C_BIKE_PARA_N_WORDS];
- //_I2C_MASTER_EXT UWORD I2C_uwMControlRead[I2C_MCONTROL_PARA_N_WORDS];
- //_I2C_MASTER_EXT UWORD I2C_uwSensorRead[I2C_SENSOR_PARA_N_WORDS];
- //_I2C_MASTER_EXT UWORD I2C_uwAssistParaRead[I2C_ASSIST_PARA_N_WORDS];
- // _I2C_MASTER_EXT UWORD I2C_uwHistoryParaRead[I2C_HISTORY_PARA_N_WORDS];
- //_I2C_MASTER_EXT UBYTE I2C_ubWriteBuffer[I2C_TX1_NBYTES];
- //_I2C_MASTER_EXT UBYTE I2C_ubHistoyWriteBuffer[I2C_TX2_NBYTES];
- //
- //_I2C_MASTER_EXT UBYTE *I2C_pWriteBuffer = I2C_ubWriteBuffer;
- //_I2C_MASTER_EXT UBYTE *I2C_pHistoryWriteBuffer = I2C_ubHistoyWriteBuffer;
- //_I2C_MASTER_EXT UBYTE *I2C_pReadBuffer = I2C_ubReadBuffer[0];
- //
- //_I2C_MASTER_EXT BOOL I2C_TimeOutFlg = FALSE;
- //_I2C_MASTER_EXT BOOL I2C_DMA_TimeOutFlg = FALSE;
- //_I2C_MASTER_EXT BOOL I2C_DMA_FltFlg = FALSE;
- //_I2C_MASTER_EXT UBYTE I2C_TimeOutCnt = 0;
- //_I2C_MASTER_EXT BOOL I2C_EEFltFlg = FALSE;
- #else
- _I2C_MASTER_EXT SYSTEM_PARAMETER2 Syspara2;
- _I2C_MASTER_EXT PRODUCT_INFO_Struct Productionpara;
- //_I2C_MASTER_EXT I2C_TX_COF i2c_stTXCoef;
- //_I2C_MASTER_EXT I2C_TX_OUT i2c_stTXOut;
- _I2C_MASTER_EXT I2C_RXCRC_OUT i2c_stRXCRCOut;
- // _I2C_MASTER_EXT MOSEEPROM_Struct EepromMosPara;
- //
- //_I2C_MASTER_EXT UBYTE I2C_ubReadBuffer[I2C_RERX1_TIMES][I2C1_RX_DMA_NUM];
- //_I2C_MASTER_EXT UWORD I2C_uwMotorParaRead[I2C_MOTOR_PARA_N_WORDS];
- //_I2C_MASTER_EXT UWORD I2C_uwBikeParaRead[I2C_BIKE_PARA_N_WORDS];
- //_I2C_MASTER_EXT UWORD I2C_uwMControlRead[I2C_MCONTROL_PARA_N_WORDS];
- //_I2C_MASTER_EXT UWORD I2C_uwSensorRead[I2C_SENSOR_PARA_N_WORDS];
- //_I2C_MASTER_EXT UWORD I2C_uwAssistParaRead[I2C_ASSIST_PARA_N_WORDS];
- //_I2C_MASTER_EXT UWORD I2C_uwHistoryParaRead[I2C_HISTORY_PARA_N_WORDS];
- //_I2C_MASTER_EXT UBYTE I2C_ubWriteBuffer[I2C_TX1_NBYTES];
- //_I2C_MASTER_EXT UBYTE I2C_ubHistoyWriteBuffer[I2C_TX2_NBYTES];
- //
- //_I2C_MASTER_EXT UBYTE *I2C_pWriteBuffer;
- //_I2C_MASTER_EXT UBYTE *I2C_pHistoryWriteBuffer;
- //_I2C_MASTER_EXT UBYTE *I2C_pReadBuffer;
- //
- //_I2C_MASTER_EXT BOOL I2C_TimeOutFlg;
- //_I2C_MASTER_EXT BOOL I2C_DMA_TimeOutFlg;
- //_I2C_MASTER_EXT BOOL I2C_DMA_FltFlg;
- //_I2C_MASTER_EXT UBYTE I2C_TimeOutCnt;
- //_I2C_MASTER_EXT BOOL I2C_EEFltFlg;
- #endif
- /************************************************************************
- Exported Function Call Prototypes
- *************************************************************************/
- //#ifdef _I2C_MASTER_C_
- //
- //_I2C_MASTER_EXT void i2c_voReadTest(void);
- //_I2C_MASTER_EXT void i2c_voWriteTest(void);
- //_I2C_MASTER_EXT void i2c_voBufferReadTest(void);
- //
- //_I2C_MASTER_EXT void i2c_voWaitEEReady(void);
- //_I2C_MASTER_EXT void i2c_voTXCoef(I2C_TX_COF *out);
- //_I2C_MASTER_EXT void i2c_voInfoWriteBuffer(void);
- //_I2C_MASTER_EXT void i2c_voParaWriteBuffer(void);
- //_I2C_MASTER_EXT void i2c_voHistoryWriteBuffer(void);
- //_I2C_MASTER_EXT void i2c_voPageWrite2EE(UBYTE *pBuffer, UBYTE WriteAddr, UBYTE NBytesToWrite);
- //_I2C_MASTER_EXT void i2c_voDefaultWrite2EE(I2C_TX_COF *coef, I2C_TX_OUT *out);
- //_I2C_MASTER_EXT void i2c_voHistoryWrite2EE(I2C_TX_COF *coef, I2C_TX_OUT *out);
- //_I2C_MASTER_EXT void i2c_voSysparaReadFromEE(I2C_RXCRC_OUT *out);
- //_I2C_MASTER_EXT UWORD i2c_uwCRCCcitt(UBYTE *ptubBuf, UWORD length);
- //_I2C_MASTER_EXT void i2c_voReadBufferCRC(I2C_RXCRC_OUT *out);
- //_I2C_MASTER_EXT void i2c_voGetValueFrmBuffer(I2C_RXCRC_OUT *out);
- //_I2C_MASTER_EXT void i2c_voWriteTest(void);
- //#else
- //_I2C_MASTER_EXT void i2c_voReadTest(void);
- //_I2C_MASTER_EXT void i2c_voWriteTest(void);
- //_I2C_MASTER_EXT void i2c_voBufferReadTest(void);
- //
- //_I2C_MASTER_EXT void i2c_voWaitEEReady(void);
- //_I2C_MASTER_EXT void i2c_voTXCoef(I2C_TX_COF *out);
- //_I2C_MASTER_EXT void i2c_voDefaultWriteBuffer(void);
- //_I2C_MASTER_EXT void i2c_voParaWriteBuffer(void);
- //_I2C_MASTER_EXT void i2c_voHistoryWriteBuffer(void);
- //_I2C_MASTER_EXT void i2c_voPageWrite2EE(UBYTE *pBuffer, UBYTE WriteAddr, UBYTE NBytesToWrite);
- //_I2C_MASTER_EXT void i2c_voInfoWrite2EE(I2C_TX_COF *coef, I2C_TX_OUT *out);
- //_I2C_MASTER_EXT void i2c_voHistoryWrite2EE(I2C_TX_COF *coef, I2C_TX_OUT *out);
- //_I2C_MASTER_EXT void i2c_voSysparaReadFromEE(I2C_RXCRC_OUT *out);
- //_I2C_MASTER_EXT UWORD i2c_uwCRCCcitt(UBYTE *ptubBuf, UWORD length);
- //_I2C_MASTER_EXT void i2c_voReadBufferCRC(I2C_RXCRC_OUT *out);
- //_I2C_MASTER_EXT void i2c_voGetValueFrmBuffer(I2C_RXCRC_OUT *out);
- //_I2C_MASTER_EXT void i2c_voWriteTest(void);
- //
- //#endif
- /************************************************************************
- Flag Define (N/A)
- *************************************************************************/
- #endif
- /************************************************************************
- Copyright (c) 2018 Welling Motor Technology(Shanghai) Co. Ltd.
- All rights reserved.
- *************************************************************************
- End of this File (EOF)!
- Do not put anything after this part!
- *************************************************************************/
|