Cosmetics.

This commit is contained in:
2025-12-29 11:43:58 +01:00
parent d435ac17a3
commit 1a450e30ff
2 changed files with 208 additions and 207 deletions

410
bc.h
View File

@@ -141,37 +141,37 @@ public:
{
//{%Region Console}
Invalid = 0x0,
ID_Pimp = 0xF1, // dummy id to identify the tuning page
Invalid = 0x0,
ID_Pimp = 0xF1, // dummy id to identify the tuning page
ID_Console_Master = 0x08, // (Can Id In Master Mode)
ID_Console_Slave = 0x48, // (Can Id In Slave Mode)
ID_Console_Master = 0x08, // (Can Id In Master Mode)
ID_Console_Slave = 0x48, // (Can Id In Slave Mode)
// ID_Console_Response = 0x58,
ID_Bib = 0x58,
ID_Bib = 0x58,
// Reg 0..79 Unused
Cons_Stat_Dist_Hi = 0x50, // [Factor:0.1]
Cons_Stat_Dist_Lo = 0x51,
Cons_Stat_Avgspeed_Hi = 0x52, // [Factor:0.1]
Cons_Stat_Avgspeed_Lo = 0x53,
Cons_Stat_Dist_Hi = 0x50, // [Factor:0.1]
Cons_Stat_Dist_Lo = 0x51,
Cons_Stat_Avgspeed_Hi = 0x52, // [Factor:0.1]
Cons_Stat_Avgspeed_Lo = 0x53,
// Reg 84..99 Unused
Cons_Stat_Odo_Hihi = 0x64, // Odometer [Unit:Km, Faktor:0.1]
Cons_Stat_Odo_Hilo = 0x65, // !!! Reverse Byte Order On Writing !!!
Cons_Stat_Odomoter_Lohi = 0x66,
Cons_Stat_Odo_Lolo = 0x67,
Cons_Stat_Odo_Hihi = 0x64, // Odometer [Unit:Km, Faktor:0.1]
Cons_Stat_Odo_Hilo = 0x65, // !!! Reverse Byte Order On Writing !!!
Cons_Stat_Odomoter_Lohi = 0x66,
Cons_Stat_Odo_Lolo = 0x67,
Cons_Preference_Nip_Hihi = 0x68, // -
Cons_Preference_Nip_Hilo = 0x69,
Cons_Preference_Nip_Lohi = 0x6a,
Cons_Preference_Nip_Lolo = 0x6b,
Cons_Throttle_Calibrated = 0x6c, // Throttle Calibration Performed
Cons_Stat_Chrono_Second = 0x6d, // Trip Time Seconds
Cons_Stat_Chrono_Minute = 0x6e, // Trip Time Minutes
Cons_Stat_Chrono_Hour = 0x6f, // Trip Time Hours
Cons_Stat_Chrono_Second = 0x6d, // Trip Time Seconds
Cons_Stat_Chrono_Minute = 0x6e, // Trip Time Minutes
Cons_Stat_Chrono_Hour = 0x6f, // Trip Time Hours
Cons_Preference_Lcd_Contrast = 0x70, // Lcd Contrast
Cons_Sn_Location = 0x71, // Location
Cons_Sn_Year = 0x72, // Mfd Year
@@ -296,50 +296,50 @@ public:
//{%Endregion Console}
//{%Region Battery}
ID_Battery = 0x10,
ID_Battery = 0x10,
// ID_Battery_Response = 0x08,
Reg_Battery_Config_Allow_Buckcharging_On_Bike = 0x12, // Specifies If The Battery Can Recharge In Buck Mode Even On A Bike. Make Sure It Is Impossible To Have An Accessory Output Before Setting This To 1. 0: Disallow, 1: Allow
Reg_Battery_Status_Charger_Manager_Status = 0x13, // Gives State Of Charging Mef: 0-Off, 1-Stand-By, 2-Charger, 3-Accessory, 4-Vdcin Sense, 5-Overtemp, 6-Charge Done, 7-Buck Failed
Reg_Battery_Config_Wake_On_Powervoltage = 0x14, // Specifies If The Battery Should Wake Up Automatically When A Voltage Is Present On The Vpower. A Value Of 0 Disables The Feature
Reg_Battery_Config_Allow_Buckcharging_On_Bike = 0x12, // Specifies If The Battery Can Recharge In Buck Mode Even On A Bike. Make Sure It Is Impossible To Have An Accessory Output Before Setting This To 1. 0: Disallow, 1: Allow
Reg_Battery_Status_Charger_Manager_Status = 0x13, // Gives State Of Charging Mef: 0-Off, 1-Stand-By, 2-Charger, 3-Accessory, 4-Vdcin Sense, 5-Overtemp, 6-Charge Done, 7-Buck Failed
Reg_Battery_Config_Wake_On_Powervoltage = 0x14, // Specifies If The Battery Should Wake Up Automatically When A Voltage Is Present On The Vpower. A Value Of 0 Disables The Feature
Reg_Battery_Config_Sla_Constant_A = 0x15, // ++++ Boat Related (Soc Estimator)
Reg_Battery_Config_Sla_Constant_B = 0x16, // ++++ Boat Related (Soc Estimator)
Reg_Battery_Config_Sla_Constant_C = 0x15, // ++++ Boat Related (Soc Estimator)
Reg_Battery_Config_Sla_Constant_A = 0x15, // ++++ Boat Related (Soc Estimator)
Reg_Battery_Config_Sla_Constant_B = 0x16, // ++++ Boat Related (Soc Estimator)
Reg_Battery_Config_Sla_Constant_C = 0x15, // ++++ Boat Related (Soc Estimator)
Reg_Battery_Rev_Sub = 0x18, // Software Subversion
Reg_Battery_Rev_Sub = 0x18, // Software Subversion
Reg_Battery_Config_Sla_Constant_D = 0x15, // ++++ Boat Related (Soc Estimator)
Reg_Battery_Config_Sla_Constant_D = 0x15, // ++++ Boat Related (Soc Estimator)
Reg_Battery_Rtc_Last_Valid_Timestamp_Hihi = 0x19, // Indicates Last Valid Battery Time. This Read-Only Register Is Set To Rtc.Time When Written And Then Refresh Each 34 Minutes
Reg_Battery_Rtc_Last_Valid_Timestamp_Hilo = 0x1a,
Reg_Battery_Rtc_Last_Valid_Timestamp_Lohi = 0x1b,
Reg_Battery_Rtc_Last_Valid_Timestamp_Lolo = 0x1c,
Reg_Battery_Rtc_Last_Valid_Timestamp_Hihi = 0x19, // Indicates Last Valid Battery Time. This Read-Only Register Is Set To Rtc.Time When Written And Then Refresh Each 34 Minutes
Reg_Battery_Rtc_Last_Valid_Timestamp_Hilo = 0x1a,
Reg_Battery_Rtc_Last_Valid_Timestamp_Lohi = 0x1b,
Reg_Battery_Rtc_Last_Valid_Timestamp_Lolo = 0x1c,
Reg_Battery_Status_Flags_Hi = 0x1d, // Alert Status Bits: 0-Vctrl (Code 20), 1-Precharge (Code 21 And 67), 2-Relay (Code 22), 3-Bms (Code 23), 4-Dcdc (Code 28), 6-Gg Out Of Range Temperature, 7-Battery Pack Out Of Range Temperature, 8-Balancer Overvolt (Code 62), 9-Balancer Undervolt (Code 61), 10-Pack Problem (Code 63), 11-Accessory Overcurrent (Code 60), 12-Electronic Fuse (Code 66), 13-Balancer Plug Not Connected, 14- +5v Short(Lached)
Reg_Battery_Status_Flags_Hi = 0x1d, // Alert Status Bits: 0-Vctrl (Code 20), 1-Precharge (Code 21 And 67), 2-Relay (Code 22), 3-Bms (Code 23), 4-Dcdc (Code 28), 6-Gg Out Of Range Temperature, 7-Battery Pack Out Of Range Temperature, 8-Balancer Overvolt (Code 62), 9-Balancer Undervolt (Code 61), 10-Pack Problem (Code 63), 11-Accessory Overcurrent (Code 60), 12-Electronic Fuse (Code 66), 13-Balancer Plug Not Connected, 14- +5v Short(Lached)
Reg_Battery_Status_Cellpack_Current_Hi = 0x1e, // Reading Battery Current By A Shunt Resistor. No Delay, No Calibration Compared To Battery.Gg.Ai [Unit:A, Factor:0.001]
Reg_Battery_Status_Cellpack_Current_Lo = 0x1f, // !!! Signed !!!
Reg_Battery_Status_Cellpack_Current_Hi = 0x1e, // Reading Battery Current By A Shunt Resistor. No Delay, No Calibration Compared To Battery.Gg.Ai [Unit:A, Factor:0.001]
Reg_Battery_Status_Cellpack_Current_Lo = 0x1f, // !!! Signed !!!
Reg_Battery_Config_Power_Voltage_Enable = 0x21, // - ??? Enable/Disable Vpower ???
Reg_Battery_Config_Power_Voltage_Enable = 0x21, // - ??? Enable/Disable Vpower ???
Reg_Battery_Config_Accessory_Enabled = 0x22, // -
Reg_Battery_Config_Accessory_Enabled = 0x22, // -
Reg_Battery_Config_Shutdown = 0x25, // Write 1 To Shutdwon System
Reg_Battery_Config_Shutdown = 0x25, // Write 1 To Shutdwon System
Reg_Battery_Config_Control_Voltage_Enable = 0x26, // Enable/Disable Vcontrol
Reg_Battery_Config_Control_Voltage_Enable = 0x26, // Enable/Disable Vcontrol
Reg_Battery_Config_Accessory_Voltage = 0x28, // - Until Hw 52 [Unit:V, Factor:6]
Reg_Battery_Config_Accessory_Voltage = 0x28, // - Until Hw 52 [Unit:V, Factor:6]
// Since Hw 60 [Unit:V, Factor:0.1]
Reg_Battery_Config_Cap_Sense_Mode = 0x29, // Controls The Mode Of Operation Of The Soc Level Indicator. 0: Inactive, 1: Touch Detect When The Battery Is Off, 2: Touch Detect When Off And Soc Indication When Battery Is On. 3: Red And Blue Colors . 4: 5levels Soc
Reg_Battery_Config_Cap_Sense_Mode = 0x29, // Controls The Mode Of Operation Of The Soc Level Indicator. 0: Inactive, 1: Touch Detect When The Battery Is Off, 2: Touch Detect When Off And Soc Indication When Battery Is On. 3: Red And Blue Colors . 4: 5levels Soc
Reg_Battery_Config_Communication_Mode = 0x2a, // Determines How The Battery Communicates. To Change The Value, We Must First Write 0xaa To This Register And Then Write 1 To Switch To I2c Or 2 To Switch To Can
Battery_Config_Communication_Mode_Key = 0xaa,
Reg_Battery_Config_Communication_Mode = 0x2a, // Determines How The Battery Communicates. To Change The Value, We Must First Write 0xaa To This Register And Then Write 1 To Switch To I2c Or 2 To Switch To Can
Battery_Config_Communication_Mode_Key = 0xaa,
Reg_Battery_Status_Estimated_Soc = 0x30, // Return An Estimated Value Of Soc Based On Battery Voltage. Only Works With Liion Battery [Unit:%]
Reg_Battery_Status_Estimated_Soc = 0x30, // Return An Estimated Value Of Soc Based On Battery Voltage. Only Works With Liion Battery [Unit:%]
Reg_Battery_Status_Battery_Voltage_Normalized = 0x32, // Battery Voltage Normalized With 3.7v/Cell. Status.Vbattinternal It Used In Rev 104 And Less Otherwise Status.Vbatt [Unit:V, Factor:0.416667, Offset:20.8333]
Reg_Battery_Status_Battery_Voltage_Normalized = 0x32, // Battery Voltage Normalized With 3.7v/Cell. Status.Vbattinternal It Used In Rev 104 And Less Otherwise Status.Vbatt [Unit:V, Factor:0.416667, Offset:20.8333]
Reg_Battery_Stat_Battery_Avgvoltage_Normalized = 0x33, // Average Battery Voltage Read During 50s Based On Battery.Status.Vbatt, In Percentage Of Its Nominal Voltage [Unit:V, Factor:0.416667, Offset:20.8333]
Reg_Battery_Config_Shipmode = 0x37, // Determines If The Battery Is To Go In Ship Mode (Only External Power Can Wake It) Upon Its Next Shutdown. We Need To First Write 0xaa And Then The Desired Value To Set The Value. 0-Normal Mode, 1-Ship Mode
@@ -355,258 +355,258 @@ public:
Reg_Battery_Config_Taillamp_Intensity = 0x43, // Controls The Intensity Of The Tail Lamp. 0: Off. 1-100%: On
Reg_Battery_Config_Accessory_Mounted = 0x44, // -
Reg_Battery_Config_Battint_Voltage_Enable = 0x45, // Enable/Disable Vbattint
Reg_Battery_Config_Diag = 0x46, // -
Reg_Battery_Config_Force_Done = 0x47, // ++++ Setting This Register To 0x45 Will Force Soc To 100%
Battery_Config_Force_Done = 0x45,
Reg_Battery_Config_Diag = 0x46, // -
Reg_Battery_Config_Force_Done = 0x47, // ++++ Setting This Register To 0x45 Will Force Soc To 100%
Battery_Config_Force_Done = 0x45,
Reg_Battery_Stat_Resets_Hi = 0x48, // Reset Counter
Reg_Battery_Stat_Resets_Lo = 0x49,
Reg_Battery_Stat_Resets_Hi = 0x48, // Reset Counter
Reg_Battery_Stat_Resets_Lo = 0x49,
Reg_Battery_Status_Internal_Battery_Voltage_Hi = 0x4a, // Reading Of Vbattinternal [Unit:V, Factor:0.001]
Reg_Battery_Status_Internal_Battery_Voltage_Lo = 0x4b,
Reg_Battery_Status_Internal_Battery_Voltage_Hi = 0x4a, // Reading Of Vbattinternal [Unit:V, Factor:0.001]
Reg_Battery_Status_Internal_Battery_Voltage_Lo = 0x4b,
Reg_Battery_Status_Console_Voltage_Hi = 0x4c, // Reading Of Vconsole (Voltage Applied To Console) [Unit:V, Factor:0.001]
Reg_Battery_Status_Console_Voltage_Lo = 0x4d,
Reg_Battery_Status_Console_Voltage_Hi = 0x4c, // Reading Of Vconsole (Voltage Applied To Console) [Unit:V, Factor:0.001]
Reg_Battery_Status_Console_Voltage_Lo = 0x4d,
Reg_Battery_Status_12v_Voltage_Hi = 0x4e, // Reading Of Internal 12v [Unit:V, Factor:0.001]
Reg_Battery_Status_12v_Voltage_Lo = 0x4f,
Reg_Battery_Status_12v_Voltage_Hi = 0x4e, // Reading Of Internal 12v [Unit:V, Factor:0.001]
Reg_Battery_Status_12v_Voltage_Lo = 0x4f,
Reg_Battery_Config_Nominal_Battery_Voltage = 0x50, // Battery System Nominal Voltage
Reg_Battery_Config_Nominal_Battery_Voltage = 0x50, // Battery System Nominal Voltage
Reg_Battery_Timer_Power_Hi = 0x51, // Time Before The Power Output Shuts Down [Unit:S]
Reg_Battery_Timer_Power_Lo = 0x52,
Reg_Battery_Timer_Accessory_Hi = 0x53, // Time Before The Accessory Voltage Shuts Down [Unit:S]
Reg_Battery_Timer_Accessory_Lo = 0x54,
Reg_Battery_Timer_Precharge = 0x55, // Time Allowed To Precharge The Motor, Before Enabling Full Power [Unit:S]
Reg_Battery_Timer_Shutdown_Hi = 0x56, // Time Of Inactivity Before The System Shuts Down [Unit:S]
Reg_Battery_Timer_Shutdown_Lo = 0x57,
Reg_Battery_Timer_Power_Hi = 0x51, // Time Before The Power Output Shuts Down [Unit:S]
Reg_Battery_Timer_Power_Lo = 0x52,
Reg_Battery_Timer_Accessory_Hi = 0x53, // Time Before The Accessory Voltage Shuts Down [Unit:S]
Reg_Battery_Timer_Accessory_Lo = 0x54,
Reg_Battery_Timer_Precharge = 0x55, // Time Allowed To Precharge The Motor, Before Enabling Full Power [Unit:S]
Reg_Battery_Timer_Shutdown_Hi = 0x56, // Time Of Inactivity Before The System Shuts Down [Unit:S]
Reg_Battery_Timer_Shutdown_Lo = 0x57,
Reg_Battery_Sn_Location = 0x5b, // Location
Reg_Battery_Sn_Location = 0x5b, // Location
Reg_Battery_Status_Accessory_Voltage_Hi = 0x5e, // Reading Of Vaccessory [Unit:V, Factor:0.001]
Reg_Battery_Status_Accessory_Voltage_Lo = 0x5f,
Reg_Battery_Status_Accessory_Voltage_Hi = 0x5e, // Reading Of Vaccessory [Unit:V, Factor:0.001]
Reg_Battery_Status_Accessory_Voltage_Lo = 0x5f,
Reg_Battery_Status_Charge_Level = 0x61, // Batterylevel [Unit:%, Factor:6.6667]
Reg_Battery_Cellmon_Balancer_Enabled = 0x65, //
Reg_Battery_Status_Charge_Level = 0x61, // Batterylevel [Unit:%, Factor:6.6667]
Reg_Battery_Cellmon_Balancer_Enabled = 0x65, //
Reg_Battery_Status_Temperature_Sensor_1 = 0x66, // [Unit:C]
Reg_Battery_Status_Temperature_Sensor_2 = 0x67, // !!! Signed !!!
Reg_Battery_Status_Temperature_Sensor_3 = 0x68,
Reg_Battery_Status_Temperature_Sensor_4 = 0x69,
Reg_Battery_Status_Temperature_Sensor_1 = 0x66, // [Unit:C]
Reg_Battery_Status_Temperature_Sensor_2 = 0x67, // !!! Signed !!!
Reg_Battery_Status_Temperature_Sensor_3 = 0x68,
Reg_Battery_Status_Temperature_Sensor_4 = 0x69,
Reg_Battery_Sn_Cellpack_Hi = 0x6a, // Serial Number Cellpack
Reg_Battery_Sn_Cellpack_Lo = 0x6b,
Reg_Battery_Sn_Cellpack_Hi = 0x6a, // Serial Number Cellpack
Reg_Battery_Sn_Cellpack_Lo = 0x6b,
Reg_Battery_Cellmon_Channel_Address = 0x6c, // Gateway To Cell Monitor, Write Address Here
Reg_Battery_Cellmon_Channeldata_Hi = 0x6d, // And Read 16 Bit Voltages Here
Reg_Battery_Cellmon_Channeldata_Lo = 0x6e, // And Here
Reg_Battery_Cellmon_Channel_Address = 0x6c, // Gateway To Cell Monitor, Write Address Here
Reg_Battery_Cellmon_Channeldata_Hi = 0x6d, // And Read 16 Bit Voltages Here
Reg_Battery_Cellmon_Channeldata_Lo = 0x6e, // And Here
Reg_Battery_Cellmon_Calibration_Data_Lo = 0x6f, // Cell Calibration Data, Select Cell Via Reg_Battery_Cellmon_Channel Register
Reg_Battery_Cellmon_Calibration_Data_Lo = 0x6f, // Cell Calibration Data, Select Cell Via Reg_Battery_Cellmon_Channel Register
// Since Hw 60, Sw 103 16 Bit Values Are Provided, See Reg_Battery_Calibration_Data_Hi Below
Reg_Battery_Protect_Unlock = 0x71,
Battery_Protect_Lock_Key = 0x00,
Battery_Protect_Unlock_Key = 0xaa,
Reg_Battery_Protect_Unlock = 0x71,
Battery_Protect_Lock_Key = 0x00,
Battery_Protect_Unlock_Key = 0xaa,
Reg_Battery_Sn_Year = 0x72, // Mfd. Year
Reg_Battery_Sn_Month = 0x73, // Mfd. Month
Reg_Battery_Sn_Day = 0x74, // Mfd Day
Reg_Battery_Sn_Year = 0x72, // Mfd. Year
Reg_Battery_Sn_Month = 0x73, // Mfd. Month
Reg_Battery_Sn_Day = 0x74, // Mfd Day
Reg_Battery_Sn_Pn_Hi = 0x75, // Part Number
Reg_Battery_Sn_Pn_Lo = 0x76,
Reg_Battery_Sn_Item_Hi = 0x77, // Serial Number
Reg_Battery_Sn_Item_Lo = 0x78,
Reg_Battery_Sn_Pn_Hi = 0x75, // Part Number
Reg_Battery_Sn_Pn_Lo = 0x76,
Reg_Battery_Sn_Item_Hi = 0x77, // Serial Number
Reg_Battery_Sn_Item_Lo = 0x78,
Reg_Battery_Cellmon_Calibration_Data_Hi = 0x7c, // Refer Reg_Battery_Calibration_Data_Lo Above
Reg_Battery_Cellmon_Calibration_Data_Hi = 0x7c, // Refer Reg_Battery_Calibration_Data_Lo Above
Reg_Battery_Status_Poweron_Reset_Count = 0x7d, // Return How Many Time Main Microcontroller Hardly Reset
Reg_Battery_Status_Poweron_Reset_Count = 0x7d, // Return How Many Time Main Microcontroller Hardly Reset
Reg_Battery_Config_Autoswitch_Communication = 0x7e, // ++++ Allow To Switch Communication Mode Without Shutdown. Write 0xaa, Then 0x01. Comm. Mode Switches. Communicate With Desired Comm. Mode Before 5s (100ms Min) To Validate. Write 0 To Desactivate
Battery_Config_Autoswitch_Communication_Key = 0xaa,
Reg_Battery_Config_Autoswitch_Communication = 0x7e, // ++++ Allow To Switch Communication Mode Without Shutdown. Write 0xaa, Then 0x01. Comm. Mode Switches. Communicate With Desired Comm. Mode Before 5s (100ms Min) To Validate. Write 0 To Desactivate
Battery_Config_Autoswitch_Communication_Key = 0xaa,
Reg_Battery_Brigde_Charger_Addr = 0x85, // Gateway To Charger, Write Address Here (Needs Unlocking)
Reg_Battery_Brigde_Charger_Data = 0x86, // And Read Data Here
Reg_Battery_Brigde_Charger_Addr = 0x85, // Gateway To Charger, Write Address Here (Needs Unlocking)
Reg_Battery_Brigde_Charger_Data = 0x86, // And Read Data Here
Reg_Battery_Status_Leds = 0x87, // -
Reg_Battery_Status_Leds = 0x87, // -
Reg_Battery_Stat_Chargetime_Mean_Hi = 0x8a, // -
Reg_Battery_Stat_Chargetime_Mean_Lo = 0x8b, // -
Reg_Battery_Stat_Chargetime_Worst_Hi = 0x8c, // -
Reg_Battery_Stat_Chargetime_Worst_Lo = 0x8d, // -
Reg_Battery_Stat_Chargetime_Mean_Hi = 0x8a, // -
Reg_Battery_Stat_Chargetime_Mean_Lo = 0x8b, // -
Reg_Battery_Stat_Chargetime_Worst_Hi = 0x8c, // -
Reg_Battery_Stat_Chargetime_Worst_Lo = 0x8d, // -
Reg_Battery_Stat_Battery_Cycles_Hi = 0x8e, // - Battery Charge Cycles
Reg_Battery_Stat_Battery_Cycles_Lo = 0x8f, // -
Reg_Battery_Stat_Battery_Cycles_Hi = 0x8e, // - Battery Charge Cycles
Reg_Battery_Stat_Battery_Cycles_Lo = 0x8f, // -
Reg_Battery_Stat_Rtc_Resync = 0x90, // -
Reg_Battery_Stat_Lmd_Adapt = 0x91, // -
Reg_Battery_Stat_Rtc_Resync = 0x90, // -
Reg_Battery_Stat_Lmd_Adapt = 0x91, // -
Reg_Battery_Stat_Battery_Full_Cycles_Hi = 0x92, // - Battery Full Charge Cycles
Reg_Battery_Stat_Battery_Full_Cycles_Lo = 0x93, // -
Reg_Battery_Stat_Battery_Full_Cycles_Hi = 0x92, // - Battery Full Charge Cycles
Reg_Battery_Stat_Battery_Full_Cycles_Lo = 0x93, // -
Reg_Battery_Stat_Power_Cycles_Hi = 0x96, // Power On Cycles
Reg_Battery_Stat_Power_Cycles_Lo = 0x97, // -
Reg_Battery_Stat_Power_Cycles_Hi = 0x96, // Power On Cycles
Reg_Battery_Stat_Power_Cycles_Lo = 0x97, // -
Reg_Battery_Stat_Battery_Max_Voltage = 0x98, // Maximum Voltage Ever Seen By The Battery, In Percentage Of Its Nominal Voltage [Unit:%, Factor:0.416667, Offset:20.8333]
Reg_Battery_Stat_Battery_Min_Voltage = 0x99, // Minimum Voltage Ever Seen By The Battery, In Percentage Of Its Nominal Voltage [Unit:%, Factor:0.416667, Offset:20.8333]
Reg_Battery_Stat_Battery_Max_Voltage = 0x98, // Maximum Voltage Ever Seen By The Battery, In Percentage Of Its Nominal Voltage [Unit:%, Factor:0.416667, Offset:20.8333]
Reg_Battery_Stat_Battery_Min_Voltage = 0x99, // Minimum Voltage Ever Seen By The Battery, In Percentage Of Its Nominal Voltage [Unit:%, Factor:0.416667, Offset:20.8333]
Reg_Battery_Status_Dcin_Voltage_Hi = 0x9a, // Reading Of External Power Supply Voltage [Unit:V, Factor:0.001]
Reg_Battery_Status_Dcin_Voltage_Lo = 0x9b,
Reg_Battery_Status_Dcin_Voltage_Hi = 0x9a, // Reading Of External Power Supply Voltage [Unit:V, Factor:0.001]
Reg_Battery_Status_Dcin_Voltage_Lo = 0x9b,
Reg_Battery_Stat_Temperature_Max = 0x9c, // - !!! Signed !!!
Reg_Battery_Stat_Temperature_Min = 0x9d, // - !!! Signed !!!
Reg_Battery_Stat_Temperature_Max = 0x9c, // - !!! Signed !!!
Reg_Battery_Stat_Temperature_Min = 0x9d, // - !!! Signed !!!
Reg_Battery_Stat_Control_Voltage_Shorts = 0x9e, // Until Hw 52, Now Via I2c Bridge
Reg_Battery_Stat_Control_Voltage_Shorts = 0x9e, // Until Hw 52, Now Via I2c Bridge
Reg_Battery_Stat_Watchdog_Reset_Count = 0x9f, // Return How Many Time Watchdog Reset Trigged
Reg_Battery_Status_Reset_Wdt = 0x9f, // - Same As Above?
Reg_Battery_Stat_Watchdog_Reset_Count = 0x9f, // Return How Many Time Watchdog Reset Trigged
Reg_Battery_Status_Reset_Wdt = 0x9f, // - Same As Above?
Reg_Battery_Rtc_Ctrl = 0xa0, // -
Reg_Battery_Rtc_Ctrl = 0xa0, // -
Reg_Battery_Rtc_Time_Hihi = 0xa1, // Indicates Current Battery Time In Seconds. Its Value Is Normally Relative To Assembly Time
Reg_Battery_Rtc_Time_Hilo = 0xa2,
Reg_Battery_Rtc_Time_Lohi = 0xa3,
Reg_Battery_Rtc_Time_Lolo = 0xa4,
Reg_Battery_Rtc_Time_Hihi = 0xa1, // Indicates Current Battery Time In Seconds. Its Value Is Normally Relative To Assembly Time
Reg_Battery_Rtc_Time_Hilo = 0xa2,
Reg_Battery_Rtc_Time_Lohi = 0xa3,
Reg_Battery_Rtc_Time_Lolo = 0xa4,
Reg_Battery_Rtc_Status = 0xa5, // Describes The Status Of The Rtc: 0-In Sync, 1-Write Ok, 2-Read Ok, 3-Update Time, 4-Update Ctrl, 5-Osc Ok, 7-Rtc Detected
Reg_Battery_Rtc_Status = 0xa5, // Describes The Status Of The Rtc: 0-In Sync, 1-Write Ok, 2-Read Ok, 3-Update Time, 4-Update Ctrl, 5-Osc Ok, 7-Rtc Detected
Reg_Battery_Status_Battery_Voltage_Hi = 0xa6, // Reading Of Vbatt. Return Same Value As Vcell13 [Unit:V, Factor:0.001]
Reg_Battery_Status_Battery_Voltage_Lo = 0xa7,
Reg_Battery_Status_Battery_Voltage_Hi = 0xa6, // Reading Of Vbatt. Return Same Value As Vcell13 [Unit:V, Factor:0.001]
Reg_Battery_Status_Battery_Voltage_Lo = 0xa7,
Reg_Battery_Status_Power_Voltage_Hi = 0xaa, // Reading Of Vpower ("High" Voltage Applied To Motor) [Unit:V, Factor:0.001]
Reg_Battery_Status_Power_Voltage_Lo = 0xab,
Reg_Battery_Status_Power_Voltage_Hi = 0xaa, // Reading Of Vpower ("High" Voltage Applied To Motor) [Unit:V, Factor:0.001]
Reg_Battery_Status_Power_Voltage_Lo = 0xab,
Reg_Battery_Status_Control_Voltage_Hi = 0xac, // Reading Of Vcontrol (Control Voltage Applied To Motor) [Unit:V, Factor:0.001]
Reg_Battery_Status_Control_Voltage_Lo = 0xad,
Reg_Battery_Status_Control_Voltage_Hi = 0xac, // Reading Of Vcontrol (Control Voltage Applied To Motor) [Unit:V, Factor:0.001]
Reg_Battery_Status_Control_Voltage_Lo = 0xad,
Reg_Battery_Config_Pack_Serial = 0xae, // No Of Cells In Serial
Reg_Battery_Config_Pack_Parallel = 0xaf, // No Of Cells In Parallel
Reg_Battery_Config_Pack_Serial = 0xae, // No Of Cells In Serial
Reg_Battery_Config_Pack_Parallel = 0xaf, // No Of Cells In Parallel
Reg_Battery_Gasgage_Dmfsd = 0xb5, // Digital Magnitude Filter And Self Discharge Rate
Reg_Battery_Gasgage_Dmfsd = 0xb5, // Digital Magnitude Filter And Self Discharge Rate
Reg_Battery_Config_Ilmd = 0xb9, // - [Unit:Ah, Factor:0.54835]
Reg_Battery_Config_Ilmd = 0xb9, // - [Unit:Ah, Factor:0.54835]
Reg_Battery_Gasgage_Soc = 0xbc, // - [Unit:%]
Reg_Battery_Gasgage_Soc = 0xbc, // - [Unit:%]
Reg_Battery_Gasgage_Ai_Hi = 0xd3, // - [Unit:A, Factor:0.002141]
Reg_Battery_Gasgage_Ai_Lo = 0xd4,
Reg_Battery_Gasgage_Ai_Hi = 0xd3, // - [Unit:A, Factor:0.002141]
Reg_Battery_Gasgage_Ai_Lo = 0xd4,
Reg_Battery_Stat_Lmd_Hi = 0xd5, // - [Unit:Ah, Factor:0.002142]
Reg_Battery_Stat_Lmd_Lo = 0xd6,
Reg_Battery_Gasgage_Lmd_Hi = 0xd5, // - [Unit:Ah, Factor:0.002142]
Reg_Battery_Gasgage_Lmd_Lo = 0xd6,
Reg_Battery_Stat_Lmd_Hi = 0xd5, // - [Unit:Ah, Factor:0.002142]
Reg_Battery_Stat_Lmd_Lo = 0xd6,
Reg_Battery_Gasgage_Lmd_Hi = 0xd5, // - [Unit:Ah, Factor:0.002142]
Reg_Battery_Gasgage_Lmd_Lo = 0xd6,
Reg_Battery_Config_Nac_Raddr_Hi = 0xdb, // -
Reg_Battery_Config_Nac_Raddr_Lo = 0xdc,
Reg_Battery_Config_Nac_Raddr_Hi = 0xdb, // -
Reg_Battery_Config_Nac_Raddr_Lo = 0xdc,
Reg_Battery_Gasgage_Status_Flags = 0xde, // -
Reg_Battery_Gasgage_Status_Flags = 0xde, // -
Reg_Battery_Gasgage_Voltage_Hi = 0xdf, // - [Unit:V, Factor:0.008]
Reg_Battery_Gasgage_Voltage_Lo = 0xe0,
Reg_Battery_Gasgage_Voltage_Hi = 0xdf, // - [Unit:V, Factor:0.008]
Reg_Battery_Gasgage_Voltage_Lo = 0xe0,
Reg_Battery_Gasgage_Temperatur_Hi = 0xe1, // - [Unit:C, Factor:0.25, Offset:-273]
Reg_Battery_Gasgage_Temperatur_Lo = 0xe2,
Reg_Battery_Gasgage_Temperatur_Hi = 0xe1, // - [Unit:C, Factor:0.25, Offset:-273]
Reg_Battery_Gasgage_Temperatur_Lo = 0xe2,
Reg_Battery_Stat_Ggjr_Calib = 0xec, // -
Reg_Battery_Stat_Ggjr_Calib = 0xec, // -
Reg_Battery_Gasgage_Voltage_Divider = 0xed, // Gas Gage External Divider Value. Indicates How The Voltage Is Divided Before Reaching The Gg. For Example, If The Battery Voltage Is 30v And This Register Is 10, The Gg Will Have 3v At Its Input [Factor:0.1]
Reg_Battery_Gasgage_Voltage_Divider = 0xed, // Gas Gage External Divider Value. Indicates How The Voltage Is Divided Before Reaching The Gg. For Example, If The Battery Voltage Is 30v And This Register Is 10, The Gg Will Have 3v At Its Input [Factor:0.1]
Reg_Battery_Config_Nac_Hi = 0xe5, // -
Reg_Battery_Config_Nac_Lo = 0xe6,
Reg_Battery_Config_Nac_Hi = 0xe5, // -
Reg_Battery_Config_Nac_Lo = 0xe6,
Reg_Battery_Protect_Mode = 0xe7, // -
Reg_Battery_Protect_Control = 0xe8, // -
Reg_Battery_Protect_Mode = 0xe7, // -
Reg_Battery_Protect_Control = 0xe8, // -
Reg_Battery_Status_Flags_Lo = 0xf0, // Alert Status Bits: 0-Vctrl (Code 20), 1-Precharge (Code 21 And 67), 2-Relay (Code 22), 3-Bms (Code 23), 4-Dcdc (Code 28), 6-Gg Out Of Range Temperature, 7-Battery Pack Out Of Range Temperature, 8-Balancer Overvolt (Code 62), 9-Balancer Undervolt (Code 61), 10-Pack Problem (Code 63), 11-Accessory Overcurrent (Code 60), 12-Electronic Fuse (Code 66), 13-Balancer Plug Not Connected, 14- +5v Short(Lached)
Reg_Battery_Status_Flags_Lo = 0xf0, // Alert Status Bits: 0-Vctrl (Code 20), 1-Precharge (Code 21 And 67), 2-Relay (Code 22), 3-Bms (Code 23), 4-Dcdc (Code 28), 6-Gg Out Of Range Temperature, 7-Battery Pack Out Of Range Temperature, 8-Balancer Overvolt (Code 62), 9-Balancer Undervolt (Code 61), 10-Pack Problem (Code 63), 11-Accessory Overcurrent (Code 60), 12-Electronic Fuse (Code 66), 13-Balancer Plug Not Connected, 14- +5v Short(Lached)
Reg_Battery_Rtc_Last_Charge_Timestamp_Hihi = 0xf2, // Written On Boot-Up And Shutdown, This Register Indicates When Last Minimum 10% Charge Was Completed
Reg_Battery_Rtc_Last_Charge_Timestamp_Hilo = 0xf3,
Reg_Battery_Rtc_Last_Charge_Timestamp_Lohi = 0xf4,
Reg_Battery_Rtc_Last_Charge_Timestamp_Lolo = 0xf5,
Reg_Battery_Rtc_Last_Charge_Timestamp_Hihi = 0xf2, // Written On Boot-Up And Shutdown, This Register Indicates When Last Minimum 10% Charge Was Completed
Reg_Battery_Rtc_Last_Charge_Timestamp_Hilo = 0xf3,
Reg_Battery_Rtc_Last_Charge_Timestamp_Lohi = 0xf4,
Reg_Battery_Rtc_Last_Charge_Timestamp_Lolo = 0xf5,
Reg_Battery_Stat_Charge_Times_Channel = 0xf6, // Indicates Which Charge Statistic Should Be Accessed When Accessing Chargedata. Value Can Be Any Value Between 1 And 9, 1 Being For 10% Stat And 9 For 90% Stat
Reg_Battery_Stat_Charge_Times_Data_Hi = 0xf7,
Reg_Battery_Stat_Charge_Times_Data_Lo = 0xf8,
Reg_Battery_Stat_Charge_Times_Channel = 0xf6, // Indicates Which Charge Statistic Should Be Accessed When Accessing Chargedata. Value Can Be Any Value Between 1 And 9, 1 Being For 10% Stat And 9 For 90% Stat
Reg_Battery_Stat_Charge_Times_Data_Hi = 0xf7,
Reg_Battery_Stat_Charge_Times_Data_Lo = 0xf8,
Reg_Battery_Config_Max_Charge_Hi = 0xf9, // Maximum Regen. Current On Vpower [Unit:A, Factor:0.001]
Reg_Battery_Config_Max_Charge_Lo = 0xfa,
Reg_Battery_Config_Max_Charge_Hi = 0xf9, // Maximum Regen. Current On Vpower [Unit:A, Factor:0.001]
Reg_Battery_Config_Max_Charge_Lo = 0xfa,
Reg_Battery_Config_Max_Discharge_Hi = 0xfb, // Maximum Drawn Current On Vpower [Unit:A, Factor:0.001]
Reg_Battery_Config_Max_Discharge_Lo = 0xfc,
Reg_Battery_Config_Max_Discharge_Hi = 0xfb, // Maximum Drawn Current On Vpower [Unit:A, Factor:0.001]
Reg_Battery_Config_Max_Discharge_Lo = 0xfc,
Reg_Battery_Config_Cellcapacity_Hi = 0xfd, // - [Unit:Ah, Factor:0.001]
Reg_Battery_Config_Cellcapacity_Lo = 0xfe,
Reg_Battery_Config_Cellcapacity_Hi = 0xfd, // - [Unit:Ah, Factor:0.001]
Reg_Battery_Config_Cellcapacity_Lo = 0xfe,
Reg_Battery_Bridge_I2c_Regaddr_Device = 0x58, // Gateway To I2c Registers, Write Device (Highbyte) Here,
Reg_Battery_Bridge_I2c_Regaddr_Register = 0x70, // Register (Lowbyte) Here
Reg_Battery_Bridge_I2c_Register_Data = 0x60, // And Read Data Here
Reg_Battery_Bridge_I2c_Regaddr_Device = 0x58, // Gateway To I2c Registers, Write Device (Highbyte) Here,
Reg_Battery_Bridge_I2c_Regaddr_Register = 0x70, // Register (Lowbyte) Here
Reg_Battery_Bridge_I2c_Register_Data = 0x60, // And Read Data Here
// Battery Cell Monitor Registers
Reg_Cellmon_Channel_Voltage_1 = 0x01, // [Unit:V, Factor:0.001]
Reg_Cellmon_Channel_Voltage_1 = 0x01, // [Unit:V, Factor:0.001]
// ...
Reg_Cellmon_Channel_Voltage_13 = 0x0d, // [Unit:V, Factor:0.001]
Reg_Cellmon_Channel_Voltage_13 = 0x0d, // [Unit:V, Factor:0.001]
Reg_Cellmon_Cell_Voltage_1 = 0x81, // [Unit:V, Factor:0.001]
Reg_Cellmon_Cell_Voltage_1 = 0x81, // [Unit:V, Factor:0.001]
// ... // !!! Signed !!!
Reg_Cellmon_Cell_Voltage_13 = 0x8d, // [Unit:V, Factor:0.001]
Reg_Cellmon_Cell_Voltage_13 = 0x8d, // [Unit:V, Factor:0.001]
Reg_Cellmon_Status_Bomid_Voltage = 0xc8, // Raw Voltage Of The Resistor Divider Used To Identify The Revision Of The Bom
Reg_Cellmon_Status_Packid_Voltage = 0xc9, // Raw Voltage Of The Resistor Divider Used To Identify The Cell Pack
Reg_Cellmon_Status_3v3_Voltage = 0xca, // Internal Voltage Of The 3.3v Derived From The Internal 5v [Unit:V, Factor:0.001]
Reg_Cellmon_Status_5v_Voltage = 0xcb, // Internal Voltage Of The 5(5.5)V Derived From The Internal 12v [Unit:V, Factor:0.001]
Reg_Cellmon_Status_Bomid_Voltage = 0xc8, // Raw Voltage Of The Resistor Divider Used To Identify The Revision Of The Bom
Reg_Cellmon_Status_Packid_Voltage = 0xc9, // Raw Voltage Of The Resistor Divider Used To Identify The Cell Pack
Reg_Cellmon_Status_3v3_Voltage = 0xca, // Internal Voltage Of The 3.3v Derived From The Internal 5v [Unit:V, Factor:0.001]
Reg_Cellmon_Status_5v_Voltage = 0xcb, // Internal Voltage Of The 5(5.5)V Derived From The Internal 12v [Unit:V, Factor:0.001]
Reg_Cellmon_Calibration_1 = 0x01, // [Unit:%, Factor:0.03] !!! Signed !!!
Reg_Cellmon_Calibration_1 = 0x01, // [Unit:%, Factor:0.03] !!! Signed !!!
// ... // !!! Signed !!!
Reg_Cellmon_Calibration_13 = 0x0d, // [Unit:%, Factor:0.03]
Reg_Cellmon_Calibration_13 = 0x0d, // [Unit:%, Factor:0.03]
Reg_Charger_Status_Flags_Hi = 0x02, // -
Reg_Charger_Status_Flags_Lo = 0x03, // -
Reg_Charger_Status_Flags_Hi = 0x02, // -
Reg_Charger_Status_Flags_Lo = 0x03, // -
Reg_Charger_Mode = 0x10, // Indicates The Mode Of The On-Board Charger. 0-Low Power, 1-Idle, 2-Charging, 3-Accessory Output, 5-Calibration, 99-Fault
Reg_Charger_Mode = 0x10, // Indicates The Mode Of The On-Board Charger. 0-Low Power, 1-Idle, 2-Charging, 3-Accessory Output, 5-Calibration, 99-Fault
Reg_Charger_Final_Voltage_Hi = 0x12, // Set Final Charge Voltage [Unit:V, Factor:0.01]
Reg_Charger_Final_Voltage_Lo = 0x13,
Reg_Charger_Final_Voltage_Hi = 0x12, // Set Final Charge Voltage [Unit:V, Factor:0.01]
Reg_Charger_Final_Voltage_Lo = 0x13,
Reg_Charger_Current_Hi = 0x14, // Set Charge Current [Unit:A, Factor:0.001]
Reg_Charger_Current_Lo = 0x15,
Reg_Charger_Current_Hi = 0x14, // Set Charge Current [Unit:A, Factor:0.001]
Reg_Charger_Current_Lo = 0x15,
Reg_Charger_Voltage_Calibration_Hi = 0x42, // Multiplier Applied On Charger Voltage Reading For Its Calibration
Reg_Charger_Voltage_Calibration_Lo = 0x43,
Reg_Charger_Voltage_Calibration_Hi = 0x42, // Multiplier Applied On Charger Voltage Reading For Its Calibration
Reg_Charger_Voltage_Calibration_Lo = 0x43,
Reg_Charger_Current_Calibration_Hi = 0x46, // Multiplier Applied On Charger Current Reading For Its Calibration
Reg_Charger_Current_Calibration_Lo = 0x47,
Reg_Charger_Current_Calibration_Hi = 0x46, // Multiplier Applied On Charger Current Reading For Its Calibration
Reg_Charger_Current_Calibration_Lo = 0x47,
Reg_Charger_Rev_Charger = 0x56, // -
Reg_Charger_Rev_Charger = 0x56, // -
//{%Endregion}
// {%Region Motor}
ID_Motor = 0x20,
ID_Motor = 0x20,
// ID_Motor_Response = 0x08,
Motor_Assist_Level = 0x09, // [Unit:%, Range:-100..100, Factor:1.5625] !!! Signed !!!
Motor_Assist_Level = 0x09, // [Unit:%, Range:-100..100, Factor:1.5625] !!! Signed !!!
Motor_Assist_Walk_Level = 0x0a, // Top Level When Assisting In Walk Mode [Unit:%, Factor:1.5625]
Motor_Assist_Walk_Speed_Decrease_Start = 0x0b, // Speed From Which The Motor Starts Diminishing Its Assistance When Using The "Walk Mode" [Unit:Km/H, Factor:0.1]
Motor_Assist_Walk_Speed_Decrease_End = 0x0c, // Speed At Which The Motor Gives No More Assistance When Using The "Walk Mode" [Unit:Km/H, Factor:0.1]
Motor_Assist_Walk_Level_Max = 0x0d, // Top Level When Assisting In Walk Mode [Unit:%, Factor:1.5625]
Motor_Assist_Walk_Level = 0x0a, // Top Level When Assisting In Walk Mode [Unit:%, Factor:1.5625]
Motor_Assist_Walk_Speed_Decrease_Start = 0x0b, // Speed From Which The Motor Starts Diminishing Its Assistance When Using The "Walk Mode" [Unit:Km/H, Factor:0.1]
Motor_Assist_Walk_Speed_Decrease_End = 0x0c, // Speed At Which The Motor Gives No More Assistance When Using The "Walk Mode" [Unit:Km/H, Factor:0.1]
Motor_Assist_Walk_Level_Max = 0x0d, // Top Level When Assisting In Walk Mode [Unit:%, Factor:1.5625]
Motor_Status_Speed = 0x11, // - [Unit:Rpm, Factor:9.091]
Motor_Status_Power_Meter = 0x14, // - [Unit:%, Factor:1.5625]
Motor_Status_Speed = 0x11, // - [Unit:Rpm, Factor:9.091]
Motor_Status_Power_Meter = 0x14, // - [Unit:%, Factor:1.5625]
Motor_Status_Temperature = 0x16, // - [Unit:C]
Motor_Status_Temperature = 0x16, // - [Unit:C]
Motor_Rev_Hw = 0x19, // Hardware Version
Motor_Rev_Sw = 0x20, // Software Version
Motor_Rev_Hw = 0x19, // Hardware Version
Motor_Rev_Sw = 0x20, // Software Version
Motor_Torque_Gauge_Value = 0x21, // - [Unit:%, Range:0?..100, Factor:1.5625]
Motor_Torque_Gauge_Value = 0x21, // - [Unit:%, Range:0?..100, Factor:1.5625]
Motor_Rev_Sub = 0x22, // Software Subversion
Motor_Rev_Sub = 0x22, // Software Subversion
Motor_Config_Communication_Mode_Lo = 0x36, // - 8 Bit Until Sw 83
Motor_Config_Communication_Mode_Lo = 0x36, // - 8 Bit Until Sw 83
Motor_Assist_Lowspeed_Ramp_Flag = 0x40, // Enables A Lower Speed Ramp. 0: Ramp Disabled, 1: Ramp Enabled
Motor_Assist_Lowspeed_Ramp_Flag = 0x40, // Enables A Lower Speed Ramp. 0: Ramp Disabled, 1: Ramp Enabled
Motor_Assist_Direction = 0x42, // -
Motor_Assist_Direction = 0x42, // -
Motor_Sn_Stator_Type = 0x43, // -
Motor_Geometry_Circ_Hi = 0x44,
Motor_Geometry_Circ_Lo = 0x45,