1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980818283848586878889909192939495969798991001011021031041051061071081091101111121131141151161171181191201211221231241251261271281291301311321331341351361371381391401411421431441451461471481491501511521531541551561571581591601611621631641651661671681691701711721731741751761771781791801811821831841851861871881891901911921931941951961971981992002012022032042052062072082092102112122132142152162172182192202212222232242252262272282292302312322332342352362372382392402412422432442452462472482492502512522532542552562572582592602612622632642652662672682692702712722732742752762772782792802812822832842852862872882892902912922932942952962972982993003013023033043053063073083093103113123133143153163173183193203213223233243253263273283293303313323333343353363373383393403413423433443453463473483493503513523533543553563573583593603613623633643653663673683693703713723733743753763773783793803813823833843853863873883893903913923933943953963973983994004014024034044054064074084094104114124134144154164174184194204214224234244254264274284294304314324334344354364374384394404414424434444454464474484494504514524534544554564574584594604614624634644654664674684694704714724734744754764774784794804814824834844854864874884894904914924934944954964974984995005015025035045055065075085095105115125135145155165175185195205215225235245255265275285295305315325335345355365375385395405415425435445455465475485495505515525535545555565575585595605615625635645655665675685695705715725735745755765775785795805815825835845855865875885895905915925935945955965975985996006016026036046056066076086096106116126136146156166176186196206216226236246256266276286296306316326336346356366376386396406416426436446456466476486496506516526536546556566576586596606616626636646656666676686696706716726736746756766776786796806816826836846856866876886896906916926936946956966976986997007017027037047057067077087097107117127137147157167177187197207217227237247257267277287297307317327337347357367377387397407417427437447457467477487497507517527537547557567577587597607617627637647657667677687697707717727737747757767777787797807817827837847857867877887897907917927937947957967977987998008018028038048058068078088098108118128138148158168178188198208218228238248258268278288298308318328338348358368378388398408418428438448458468478488498508518528538548558568578588598608618628638648658668678688698708718728738748758768778788798808818828838848858868878888898908918928938948958968978988999009019029039049059069079089099109119129139149159169179189199209219229239249259269279289299309319329339349359369379389399409419429439449459469479489499509519529539549559569579589599609619629639649659669679689699709719729739749759769779789799809819829839849859869879889899909919929939949959969979989991000100110021003100410051006100710081009101010111012101310141015101610171018101910201021102210231024102510261027102810291030103110321033103410351036103710381039104010411042104310441045104610471048104910501051105210531054105510561057105810591060106110621063106410651066106710681069107010711072107310741075107610771078107910801081108210831084108510861087108810891090109110921093109410951096109710981099110011011102110311041105110611071108110911101111111211131114111511161117111811191120112111221123112411251126112711281129113011311132113311341135113611371138113911401141114211431144114511461147114811491150115111521153115411551156115711581159116011611162116311641165116611671168116911701171117211731174117511761177117811791180118111821183118411851186118711881189119011911192119311941195119611971198119912001201120212031204120512061207120812091210121112121213121412151216121712181219122012211222122312241225122612271228122912301231123212331234123512361237123812391240124112421243124412451246124712481249125012511252125312541255125612571258125912601261126212631264126512661267126812691270127112721273127412751276127712781279128012811282128312841285128612871288128912901291129212931294129512961297129812991300130113021303130413051306130713081309131013111312131313141315131613171318131913201321132213231324132513261327132813291330133113321333133413351336133713381339134013411342134313441345134613471348134913501351135213531354135513561357135813591360136113621363136413651366136713681369137013711372137313741375137613771378137913801381138213831384138513861387138813891390139113921393139413951396139713981399140014011402140314041405140614071408140914101411141214131414141514161417141814191420142114221423142414251426142714281429143014311432143314341435143614371438143914401441144214431444144514461447144814491450145114521453 |
- /************************************************************************
- 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 \
- }
- #define I2CReserve_Byte \
- { \
- 0 \
- }
- /*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 I2CuwCONTROLFUNCRUISE \
- { \
- ((UWORD)IPM_FUN_EN) \
- }
- #define I2CMControlPara \
- { \
- I2CParaFirstSetFlg,I2CSpiOffsetFirstSetFlg,I2CswSPIPosOffsetOrigin, I2CswSPIPosOffsetNow, I2CuwIPeakMaxA, I2CuwAlamOCurA, I2CuwAlamOVolV, I2CuwAlamUVolV, I2CuwAlamOverSpdRpm, \
- I2CuwAlamOverHeatCe, I2CuwAlamRecHeatCe, I2CuwPwrLimitStartCe, I2CuwAlamMotorOverHeatCe, I2CuwAlamMotorRecHeatCe, I2CuwPwrLimitMotorStartCe, I2CuwCONTROLFUNCRUISE, I2Creserve, I2Creserve \
- }
- /*Sensor Para*/
- #define I2CuwTorSensorOffsetOrigin \
- { \
- 0 \
- }
- #define I2CuwTorSensorOffsetNow1 \
- { \
- 0 \
- }
- #define I2CuwTorSensorOffsetNow2 \
- { \
- 0 \
- }
- #define I2CuwTorSensorOffsetNow3 \
- { \
- 0 \
- }
- #define I2CuwTorSensorOffsetNow4 \
- { \
- 0 \
- }
- #define I2CuwBikeTorMaxNm \
- { \
- 850 \
- }
- #define I2CuwBikeTor1StepRealNm \
- { \
- 130 \
- }
- #define I2CuwBikeTor1StepADC \
- { \
- 65 \
- }
- #define I2CuwBikeTor2StepRealNm \
- { \
- 350 \
- }
- #define I2CuwBikeTor2StepADC \
- { \
- 175 \
- }
- #define I2CuwBikeTor3StepRealNm \
- { \
- 550 \
- }
- #define I2CuwBikeTor3StepADC \
- { \
- 275 \
- }
- #define I2CuwBikeTor4StepRealNm \
- { \
- 750 \
- }
- #define I2CuwBikeTor4StepADC \
- { \
- 375 \
- }
- #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 \
- }
- /*Ride Params*/
- #define I2CucRidePara_AssistRatioGain1 \
- { \
- 100 \
- }
- #define I2CucRidePara_AssistAccelerationGain1 \
- { \
- 100 \
- }
- #define I2CucRidePara_AssistRatioGain2 \
- { \
- 100 \
- }
- #define I2CucRidePara_AssistAccelerationGain2 \
- { \
- 100 \
- }
- #define I2CucRidePara_AssistRatioGain3 \
- { \
- 100 \
- }
- #define I2CucRidePara_AssistAccelerationGain3 \
- { \
- 100 \
- }
- #define I2CucRidePara_AssistRatioGain4 \
- { \
- 100 \
- }
- #define I2CucRidePara_AssistAccelerationGain4 \
- { \
- 100 \
- }
- #define I2CucRidePara_AssistRatioGain5 \
- { \
- 100 \
- }
- #define I2CucRidePara_AssistAccelerationGain5 \
- { \
- 100 \
- }
- #define I2CucRidePara_MaxCurrentGain1 \
- { \
- 100 \
- }
- #define I2CucRidePara_MaxTorqueGain1 \
- { \
- 100 \
- }
- #define I2CucRidePara_MaxCurrentGain2 \
- { \
- 100 \
- }
- #define I2CucRidePara_MaxTorqueGain2 \
- { \
- 100 \
- }
- #define I2CucRidePara_MaxCurrentGain3 \
- { \
- 100 \
- }
- #define I2CucRidePara_MaxTorqueGain3 \
- { \
- 100 \
- }
- #define I2CucRidePara_MaxCurrentGain4 \
- { \
- 100 \
- }
- #define I2CucRidePara_MaxTorqueGain4 \
- { \
- 100 \
- }
- #define I2CucRidePara_MaxCurrentGain5 \
- { \
- 100 \
- }
- #define I2CucRidePara_MaxTorqueGain5 \
- { \
- 100 \
- }
- #define I2CRidePara \
- { \
- I2CucRidePara_AssistRatioGain1, I2CucRidePara_AssistAccelerationGain1, I2CucRidePara_AssistRatioGain2, I2CucRidePara_AssistAccelerationGain2, \
- I2CucRidePara_AssistRatioGain3, I2CucRidePara_AssistAccelerationGain3, I2CucRidePara_AssistRatioGain4, I2CucRidePara_AssistAccelerationGain4, \
- I2CucRidePara_AssistRatioGain5, I2CucRidePara_AssistAccelerationGain5, \
- I2CucRidePara_MaxCurrentGain1, I2CucRidePara_MaxTorqueGain1, I2CucRidePara_MaxCurrentGain2, I2CucRidePara_MaxTorqueGain2, \
- I2CucRidePara_MaxCurrentGain3, I2CucRidePara_MaxTorqueGain3, I2CucRidePara_MaxCurrentGain4, I2CucRidePara_MaxTorqueGain4, \
- I2CucRidePara_MaxCurrentGain5, I2CucRidePara_MaxTorqueGain5, \
- I2CReserve_Byte, I2CReserve_Byte, I2CReserve_Byte, I2CReserve_Byte, I2CReserve_Byte, I2CReserve_Byte, \
- I2CReserve_Byte, I2CReserve_Byte, I2CReserve_Byte, I2CReserve_Byte, I2CReserve_Byte, I2CReserve_Byte\
- }
- /*Ride Params*/
- #define I2CucBikePara2_NoneOBCEnable \
- { \
- BIKE_NONEOBCEBNABLE \
- }
- #define I2CucBikePara2_RearLightCycle \
- { \
- BIKE_REARLIGHTCYCLE \
- }
- #define I2CucBikePara2_RearLightDuty \
- { \
- BIKE_REARLIGHTDUTY \
- }
- #define I2CucBikePara2_DeltaBikeSpeedLimit \
- { \
- BIKE_DELTASPEEDLIMITION \
- }
- #define I2CBikePara2 \
- { \
- I2CucBikePara2_NoneOBCEnable, I2CucBikePara2_RearLightCycle, I2CucBikePara2_RearLightDuty, I2CucBikePara2_DeltaBikeSpeedLimit, \
- I2Creserve, I2Creserve, I2Creserve, I2Creserve, I2Creserve, I2Creserve, \
- I2Creserve, I2Creserve, I2Creserve, I2Creserve, I2Creserve, I2Creserve \
- }
- /* SYSTEM2 PARA */
- #define SYSPARA2 \
- { \
- I2CMotorPara, I2CBikePara, I2CMControlPara, I2CSensorPara, I2CAssistPara, I2CHistoryPara, I2CRidePara,I2CBikePara2,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 blRideParaFltFlg;
- BOOL blBikePara2FltFlg;
-
- 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
- {
- // UBYTE ucDefault1;
- UBYTE ucReal;
- // UBYTE ucMin;
- // UBYTE ucMax;
- // UBYTE ucUnit;
- // UBYTE RS;
- } UBYTE_VALUE;
- typedef struct
- {
- //SBYTE scDefault1;
- SBYTE scReal;
- // SBYTE scMin;
- // SBYTE scMax;
- // UBYTE ucUnit;
- // UBYTE RS;
- } SBYTE_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 uwControlFunEN;
- UWORD_VALUE uwReserve1;
- UWORD_VALUE uwReserve2;
- } 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 uwRealODOTripH;//不可更改
- UWORD_VALUE uwRealODOTripL;
- UWORD_VALUE uwRealODOTimeH;
- UWORD_VALUE uwRealODOTimeL;
-
- UWORD_VALUE reserve1;
- UWORD_VALUE reserve2;
- UWORD_VALUE reserve3;
- UWORD_VALUE reserve4;
- 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
- {
- UBYTE_VALUE ucAssistRatioGain1; //1%
- UBYTE_VALUE ucAssistAccelerationGain1; //1%
- UBYTE_VALUE ucAssistRatioGain2; //1%
- UBYTE_VALUE ucAssistAccelerationGain2; //1%
- UBYTE_VALUE ucAssistRatioGain3; //1%
- UBYTE_VALUE ucAssistAccelerationGain3; //1%
- UBYTE_VALUE ucAssistRatioGain4; //1%
- UBYTE_VALUE ucAssistAccelerationGain4; //1%
- UBYTE_VALUE ucAssistRatioGain5; //1%
- UBYTE_VALUE ucAssistAccelerationGain5; //1%
- UBYTE_VALUE ucMaxCurrentGain1; //1%
- UBYTE_VALUE ucMaxTorqueGain1; //1%
- UBYTE_VALUE ucMaxCurrentGain2; //1%
- UBYTE_VALUE ucMaxTorqueGain2; //1%
- UBYTE_VALUE ucMaxCurrentGain3; //1%
- UBYTE_VALUE ucMaxTorqueGain3; //1%
- UBYTE_VALUE ucMaxCurrentGain4; //1%
- UBYTE_VALUE ucMaxTorqueGain4; //1%
- UBYTE_VALUE ucMaxCurrentGain5; //1%
- UBYTE_VALUE ucMaxTorqueGain5; //1%
- UBYTE_VALUE reserve1;
- UBYTE_VALUE reserve2;
- UBYTE_VALUE reserve3;
- UBYTE_VALUE reserve4;
- UBYTE_VALUE reserve5;
- UBYTE_VALUE reserve6;
- UBYTE_VALUE reserve7;
- UBYTE_VALUE reserve8;
- UBYTE_VALUE reserve9;
- UBYTE_VALUE reserve10;
- UBYTE_VALUE reserve11;
- UBYTE_VALUE reserve12;
- }Ride_PARAMETER;
- typedef struct
- {
- UWORD_VALUE uwNoneOBCEnable;
- UWORD_VALUE uwRearLightCycle;
- UWORD_VALUE uwRearLightDuty;
- SWORD_VALUE swDeltaBikeSpeedLimit;
- UWORD_VALUE reserve1;
- UWORD_VALUE reserve2;
- UWORD_VALUE reserve3;
- UWORD_VALUE reserve4;
- UWORD_VALUE reserve5;
- UWORD_VALUE reserve6;
- UWORD_VALUE reserve7;
- UWORD_VALUE reserve8;
- UWORD_VALUE reserve9;
- UWORD_VALUE reserve10;
- UWORD_VALUE reserve11;
- UWORD_VALUE reserve12;
- } BIKE_PARAMETER2;
- 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;
- Ride_PARAMETER stRidePara;
- BIKE_PARAMETER2 stBikePara2;
- UWORD uwCRC;
- } SYSTEM_PARAMETER2;
- typedef struct
- {
- UBYTE ubMotorVersion[16];
- UBYTE ubSN[16];
- MC_MacInfo_Struct_t ubProdInfo;
- UBYTE ucProductLabel[32];
- 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!
- *************************************************************************/
|