1.13.10 • Published 25 days ago

can_api v1.13.10

Weekly downloads
-
License
ISC
Repository
-
Last release
25 days ago

First Use Need

(Install serialport first and version must be the same with can_api) 1. npm install --save-dev electron-rebuild 2. sudo npm install serialport@(version) --unsafe-perm --build-from-source 3. ("rebuild": "electron-rebuild -f -w serialport") in package.json => scripts 4. create vue.config.js in package 5. write code in vue.config.js const { IgnorePlugin } = require('webpack')

module.exports = {
    pluginOptions: {
        moment: {
        locales: ['cn']
        },
        electronBuilder: {
        // experimentalNativeDepCheck: true,
        nodeIntegration: true,
        // List native deps here if they don't work
        externals: ['serialport']
        }
    }
}
  1. in background.js before createView write this code app.allowRendererProcessReuse = false
  2. in background.js createView write this code const win = new BrowserWindow({ width: 1280, height: 720, webPreferences: { nodeIntegration: true, contextIsolation: false } })
  3. npm install
  4. use this code to check is install success import SerialPort from 'serialport' SerialPort.list().then(function(ports){ console.log(ports) })

Getting Started

(please check node.js and serialport version is same) 1. npm install can_api 2. Example:

import { pool } from "can_api"
var portList = pool.getPortList();
pool.connectSeriPort(
        portList[0]
        , function(arr){
            //connect
            if(arr['connect']){

                //receiver all data
                pool.setDataListener(function(output){
                    console.log(output);
                });

                //get hmi version. No.19~No.118 function like this
                pool.getHmiVer(function(output:){
                    console.log(output);

                    //觸發斷線
                    pool.disconnected();
                    //取消listener
                    pool.clearDataListener()();
                })
            }else{
                //connect fail
            }
        }
        , function(){
            //disconnect
        }
    );

Tools

  1. setMaxListeners(n) 設定 event Linstener 數量,預設10個 n:數量
    pool.setMaxListeners(20);
  2. setIsDebug(isDebug) 自動回覆模擬cmd, 預設關閉 isDebug: true:啟動, false:關閉
    pool.setIsDebug(true);
  3. getWalkAssist() 取得 Walk Assist List { 'id': 0 , 'name': 'Inactivated' } , { 'id': 1 , 'name': 'Activated' }
    var list = pool.getWalkAssist();
  4. getWritUnit() 取得 Writ Unit List { 'id': 0 , 'name': 'km' } , { 'id': 1 , 'name': 'mile' }
    var list = pool.getWritUnit();
  5. clearData() 清除收集數據
    pool.clearData();
  6. setNoShowArr(arr) 設定特殊處理ID列表 arr: '123', '456', '789'
    pool.setNoShowArr(['123', '345']);
  7. setNoShowFilter(type) 設定特殊處理類別 type: 0:not select, 1:accept, 2:denied
    pool.setNoShowFilter(0);
  8. getSettings() 取得目前設定清單 output: { autoOpen: autoOpen , baudRate: baudRate , dataBits: dataBits , stopBits: stopBits , parity: parity , rtscts: rtscts , xon: xon , xoff: xoff , xany: xany , lock: lock , highWaterMark: highWaterMark }
    var settings = pool.getSettings();
  9. setSettings(arr) 設定port arr: { autoOpen: autoOpen , baudRate: baudRate , dataBits: dataBits , stopBits: stopBits , parity: parity , rtscts: rtscts , xon: xon , xoff: xoff , xany: xany , lock: lock , highWaterMark: highWaterMark }
    pool.setSettings({
            autoOpen: autoOpen
            , baudRate: baudRate
            , dataBits: dataBits
            , stopBits: stopBits
            , parity: parity
            , rtscts: rtscts
            , xon: xon
            , xoff: xoff
            , xany: xany
            , lock: lock
            , highWaterMark: highWaterMark
        });
  10. getAllSetList() 取得全部設定列表 output: { 'baudRate': baudRateList , 'dataBits': dataBitsList , 'stopBits': stopBitsList , 'parity': parityList , 'rtscts': rtsctsList , 'xon': xonList , 'xoff': xoffList , 'xany': xanyList , 'lock': lockList , 'highWaterMark': highWaterMarkList , 'autoOpen': autoOpenList }
    var list = pool.getAllSetList();
  11. getPortList() 取得目前port清單 output: { path: '/dev/tty.usbmodem1421', manufacturer: 'Arduino (www.arduino.cc)', serialNumber: '752303138333518011C1', pnpId: undefined, locationId: '14500000', productId: '0043', vendorId: '2341' }
    var list = pool.getPortList();
  12. connectSeriPort(port, connectCallBack, disconnectCallBack) 連線指定port port: { path: '/dev/tty.usbmodem1421', manufacturer: 'Arduino (www.arduino.cc)', serialNumber: '752303138333518011C1', pnpId: undefined, locationId: '14500000', productId: '0043', vendorId: '2341' } connectCallBack: 連線狀態回復 { "connect": false } disconnectCallBack: 斷線狀態回復

    pool.connectSeriPort(
        portList[0]
        , function(arr){
            //connect
            if(arr['connect']){
    
            }else{
                //connect fail
            }
        }
        , function(){
            //disconnect
        }
    );
  13. disconnected() 手動出發斷線

    pool.disconnected();
  14. setSizeListener(outCallback, writeCallback) 取得cmd數量 outCallback(size): 取得 receiver cmd 數量 writeCallback(size): 取得 write cmd 數量
    pool.setSizeListener(
        function(size){
            console.log(size);
        },
        function(size){
            console.log(size);
        }
    )
  15. clearSizeListener() 清除Size Listener
    pool.clearSizeListener();
  16. setDataListener(callback(output)) 取得全部 receiver write cmd output: { 'directionStatus': 0(Read), 1(Write) , 'time': 取得時間 , 'type': 0(Data), 1(Remote) , 'format': 0(standard), 1(extend) , 'id': Send id , 'length': cmd length , 'data': cmd data }
    pool.setDataListener(
        function(output){
            console.log(output);
        }
    );
  17. clearDataListener() 清除 data Listener
    pool.clearDataListener();
  18. write(arr) 發送命令 arr:{ "id": "123" "type": 0(Data), 1(Remote) "format": 0(standard), 1(extend) "data": "12 34 56 78" }
    pool.write({
        "id": "123"
        "type": 0(Data), 1(Remote)
        "format": 0(standard), 1(extend)
        "data": "12 34 56 78"
    });
  19. getHmiVer(callback(output:)) 取得 Hmi version output:: {"status":true,"data":{"fwVer":"01.23","hwVer":"4.AB","brand":"C"}}
  20. getHmiSerial(callback(output:)) 取得 Hmi Serial output: {"status":true,"data":{"serial":305419896,"serial_hex":"12345678","manu":255,"manu_hex":"ff","date":"2021/12/2"}}
  21. getDriverVer(callback(output)) 取得 driver version output: {"status":true,"data":{"hw_type":"01","fw_ver":"23.4A","client":"B","model":"C"}}
  22. getDriverSerial1(callback(output)) 取得 driver serial 1 output: {"status":true,"data":{"serial":"01234567"}}
  23. getDriverSerial2(callback(output)) 取得 driver serial 2 output: {"status":true,"data":{"serial":"ABCDEFGH"}}
  24. getDriverProd(callback(output)) 取得 driver prod output: {"status":true,"data":{"manu":90,"manu_hex":"5a","date":"2021/12/02"}}
  25. getBmsFwVer(callback(output)) 取得 Bms Fw Version output: {"status":true,"data":{"fw_ver":"01.23","debug_serial":"45","client_number":"6","brand":"7"}}
  26. getBmsHwVer(callback(output)) 取得 Bms Hw Version output: {"status":true,"data":{"hw_ver":"48.49","fw_ver":"50.51","pn":875902519,"pn_16":"34353637"}}
  27. getBmsProd(callback(output)) 取得 Bms Prod output: {"status":true,"data":{"serial":"30313233","manu":52,"manu_hex":"34","date":"2021-12-2"}}
  28. getDriverNumberAssist(callback(output)) 取得 driver number of assist output: {"status":true,"data":{"numberOfAssist":3}}
  29. writeDriverNumberOfAssist(value) 寫入 driver number of assist value: number of assist
  30. getDriverWheelDiameter(callback(output)) 取得 driver wheel diameter output: {"status":true,"data":{"wheel_diameter":2854}}
  31. writeDriverWheelDiameter(value) 寫入 driver wheelDiameter value: wheelDiameter
  32. getDriverSpeed(callback(output)) 取得 driver speed output: {"status":true,"data":{"speed":450}}
  33. writeDriverSpeed(value) 寫入 driver speed value: speed
  34. getDriverCurrent(callback(output)) 取得 driver current output: {"status":true,"data":{"input_current":15000,"phase_current":25000}}
  35. writeDriverCurrent(input, phase) 寫入 driver current input: Input current limit phase: Phase current limit
  36. getDriverOverVoltage(callback(output)) 取得 driver over voltage output: {"status":true,"data":{"over_voltage":52000,"voltage_recovery":51000}}
  37. writeDriverOverVoltage(voltage, recovery) 寫入 driver over voltage voltage: DC bus over voltage recovery: Over voltage recovery
  38. getDriverUnderVoltage(callback(output)) 取得 driver under voltage output: {"status":true,"data":{"over_voltage":42000,"voltage_recovery":43000,"delay_time":1000}}
  39. writeDriverUnderVoltage(voltage, recovery, delayTime) 寫入 driver under voltage voltage: DC bus under voltage recovery: under voltage recovery delayTime: Under voltage delay time
  40. getDriverDivisor(callback(output)) 取得 driver divisor output: {"status":true,"data":{"divisor":13330,"holding_time":30806,"switch_time":22291}}
  41. writeDriverDivisor(divisor, holding_time, switch_time) 寫入 driver divisor divisor: Fade out divisor holding_time: Fade holding time switch_time: Fade out switch time limit
  42. getDriverOverTemp(callback(output)) 取得 driver over temp output: {"status":true,"data":{"motor_temp":48,"motor_derating_temp":49,"motor_derating_percentage":50,"controller_temp":51,"controller_derating_temp":52,"controller_derating_percentage":53}}
  43. writeMotorTemp(motor_temp, motor_derating_temp, motor_derating_percentage) 寫入 motor temp motor_temp: Motor over temperature limit motor_derating_temp: Motor derating temperature motor_derating_percentage: Motor derating percentage
  44. writeControllerTemp(controller_temp, controller_derating_temp, controller_derating_percentage) 寫入 controller temp controller_temp: Controller over temperature limit controller_derating_temp: Controller derating temperature controller_derating_percentage: Controller derating percentage
  45. getDriverTS(callback(output)) 取得 driver ts output: {"status":true,"data":{"ts_over":2000,"ts_under":800,"ts_offset":400,"ts_effective":3000}}
  46. getDriverTS2() 取得 driver ts 2 output: {"status":true,"data":{"ts_adc_value":1024,"ts_effective_value":2048,"ts_percentage":48,"ts_radio":96,"ts_rpm":80}}
  47. writeTSOver(ts_over, ts_under) 寫入 ts over ts_over: TS over limit ts_under: TS under limit
  48. writeTSOffset(ts_offset, ts_effective, ts_radio) 寫入 ts offset ts_offset: TS offset ts_effective: TS effective range ts_radio: TS ratio
  49. getDriverTorqueTune(callback(output)) 取得 driver torque tune output: {"status":true,"data":{"tune_pont1":16,"tune_pont2":32,"tune_area0":48,"tune_area1":64,"tune_area2":80}}
  50. writeTorquePoint(tune_pont1, tune_pont2) 寫入 torque point tune_point1: Torque tune point 1 tune_point2: Torque tune point 2
  51. writeTorqueArea(tune_area0, tune_area1, tune_area2) 寫入 torque area tune_area0: Torque tune area 0 tune_area1: Torque tune area 1 tune_area2: Torque tune area 2
  52. getDriverTorqueInputTime(callback(output)) 取得 driver torque input time output: {"status":true,"data":{"delay_time":500}}
  53. writeTorqueInputTime(delay_time) 寫入 torque input time delay_time: Torque input delay time
  54. getDriverTorqueModel1(callback(output)) 取得 driver torque mode 1 output: {"status":true,"data":{"point1":17,"point2":33,"radio1":3,"radio2":4,"radio3":5}}
  55. getDriverTorqueModel2(callback(output)) 取得 driver torque mode 2 output: {"status":true,"data":{"point1":17,"point2":33,"radio1":3,"radio2":4,"radio3":5}}
  56. getDriverTorqueModel3(callback(output)) 取得 driver torque mode 3 output: {"status":true,"data":{"point1":17,"point2":33,"radio1":3,"radio2":4,"radio3":5}}
  57. getDriverTorqueModel4(callback(output)) 取得 driver torque mode 4 output: {"status":true,"data":{"point1":17,"point2":33,"radio1":3,"radio2":4,"radio3":5}}
  58. getDriverTorqueModel5(callback(output)) 取得 driver torque mode 5 output: {"status":true,"data":{"point1":17,"point2":33,"radio1":3,"radio2":4,"radio3":5}}
  59. writeTorqueModel(choose, point1, point2, radio1, radio2, radio3) 寫入 torque model choose: Basic mode choose point1: Basic mode n point 1 pount2: Basic mode n point 2 radio1: Basic mode n point 3 radio2: Basic mode n point 4 radio3: Basic mode n point 5
  60. getDriverStatusMotorTemp(callback(output)) 取得 driver status motor temp output: {"status":true,"data":{"actual_motor_temp":-10,"actual_mosfet_temp_u":16,"actual_mosfet_temp_v":32,"actual_mosfet_temp_w":48}}
  61. getDriverStatusMcuTemp(callback(output)) 取得 driver status mcu temp output: {"status":true,"data":{"actual_mcu_temp":-20}}
  62. getDriverStatusInputVoltage(callback(output)) 取得 driver status input voltage output: {"status":true,"data":{"actual_controller_input_voltage":48000,"actual_mcu_input_controller":15000,"human_power_output:":48,"crank_rpm":64,"human_torque":16}}
  63. getDriverStatusRemainingDistance(callback(output)) 取得 driver status remaining distance output: {"status":true,"data":{"remaining_distance":3000,"remaining_time":40000}}
  64. getDriverStatusMotorTorqueOutput:(callback(output)) 取得 driver status motor torque output: output: "status":true,"data":{"motor_torque_output:":40,"motor_rpm":300,"motor_power_percentage":48,"motor_power_output:":750}}
  65. getDriverStatusTSValue(callback(output)) 取得 driver status ts value output: {"status":true,"data":{"ts_adc_value":1024,"ts_effective_value":2048,"ts_percentage":48,"ts_radio":96,"ts_rpm":80}}
  66. getDriverStatusTSHi(callback(output))
    取得 driver status ts hi
    output: {"status":true,"data":{"ts_hi_point":2048,"ts_low_point":1024}}
  67. getBMSStateOfHealth(callback(output)) 取得 bms state of health output: {"status":true,"data":{"state_of_health":100,"min":36,"hour":15,"day":31,"month":12,"year":2020}}
  68. getBMSTotalDischargeCapacity(callback(output)) 取得 bms total discharge capacity output: {"status":true,"data":{"total_discharge_capacity":13400,"cycle_count":300,"full_chagrged_capacity":13400}}
  69. getBMSUnderVoltageLimit(callback(output)) 取得 bms under voltage limit output: {"status":true,"data":{"total_discharge_capacity":13400,"cycle_count":300,"full_chagrged_capacity":13400}}
  70. getBMSIdleCurrentLimit(callback(output)) 取得 bms idle current limit output: {"status":true,"data":{"idel_current_limit":160,"idel_timeout":1024000}}
  71. getBMSRestMah(callback(output)) 取得 bms rest mah output: {"status":true,"data":{"rest_mah":100000}}
  72. getBMSDischargeCurrentCounter(callback(output)) 取得 bms discharge current counter output: {"status":true,"data":{"discharge_current_count":4,"charge_current_count":8,"discharge_temp_count":16,"charge_temp_count":1024}}
  73. getBMSShortCircuitCounter(callback(output)) 取得 bms short circuit counter output: {"status":true,"data":{"short_curcuit_count":2048,"regeneration_error_count":4096,"over_voltage_count":8192}}
  74. getBMSMaxDischargeCurrent(callback(output)) 取得 bms max discharge current output: {"status":true,"data":{"max_discharge_current":15000,"max_charge_current":3000,"max_voltage":52000,"max_discharge_temp":-10,"max_charge_temp":40}}
  75. getBMSCellVoltage1(callback(output)) 取得 bms cell voltage 1-4 output: {"status":true,"data":{"cell_voltage_1":48000,"cell_voltage_2":48001,"cell_voltage_3":48002,"cell_voltage_4":48003}}
  76. getBMSCellVoltage2(callback(output)) 取得 bms cell voltage 5-8 output: {"status":true,"data":{"cell_voltage_5":48004,"cell_voltage_6":48005,"cell_voltage_7":48006,"cell_voltage_8":48007}}
  77. getBMSCellVoltage3(callback(output)) 取得 bms cell voltage 9-12 output: {"status":true,"data":{"cell_voltage_9":48008,"cell_voltage_10":48009,"cell_voltage_11":48010,"cell_voltage_12":48011}}
  78. getBMSCellVoltage4(callback(output)) 取得 bms cell voltage 13 output: {"status":true,"data":{"cell_voltage_13":48012}}
  79. writeBmsClearError() 寫入 bms clear error
  80. writeBmsClearMax 寫入 bms clear max
  81. getMCPeriodicalFrame(callback(output)) 取得 mc periodical frame output: {"status":true,"data":{"speed":6.4,"trip":300,"odo":400,"current_mode_level":4,"lock":"1","brake":"1","light":"1","error":"1","unit_mile":"1","derating":"1","walking":"1"}}
  82. clearMCPeriodicalFrame() 清除 mac periodical frame listener
  83. writeMCClearTrip() 寫入 mc clear trip
  84. writeMCWritUnit(data) 寫入 mc writ unit data: WritUnitList data
  85. writeMCAssistLevel(level) 寫入 mc assist level level: level 0-8
  86. writeMCWalkAssist(data) 寫入 mc walk assist data: WalkAssistList data
  87. getBMSPeriodicalFrame(callback(output)) 取得 bms periodical frame output: {"status":true,"data":{"total_battery_voltage":48000,"charge_discharge_current":-200,"discharge":"1","dcmos_on":"1","have_error":"0","cell_temp":-10,"state_of_charge":100}}
  88. clearBMSPeriodicalFrame() 清除 bms periodical frame listener
  89. getBMSEXPeriodicalFrame(callback(output)) 取得 bms-ex periodical frame output: {"status":true,"data":{"total_battery_voltage":48001,"charge_discharge_current":-200.1,"discharge":"0","dcmos_on":"1","have_error":"1","cell_temp":-11,"state_of_charge":99.5}}
  90. clearBMSEXPeriodicalFrame() 清除 bms-ex periodical frame listener
  91. getBMSEXVersion(callback(output)) 取得 bms-ex version output: {"status":true,"data":{"main_ver":"01","sec_ver":"23","debug_serial":"45","client_number":"6","brand":"7"}}
  92. getBMSEXDPVersion(callback(output)) 取得 bms-ex dp version output: {"status":true,"data":{"hw_reversion":48,"hw_version":49,"fw_reversion":50,"fw_version":51,"pn":875902519,"pn_hex":"34353637"}}
  93. getBMSEXSerialProd(callback(output)) 取得 bms-ex serial prod output: {"status":true,"data":{"serial_number":"30313233","code":52,"code_hex":"34","day":2,"month":12,"year":2021}}
  94. getBMSEXStateOfHealth(callback(output)) 取得 bms-ex state of health output: {"status":true,"data":{"state_of_health":100,"min":36,"hour":15,"day":31,"month":12,"year":2020}}
  95. getBMSEXDischargeCapacity(callback(output)) 取得 bms-ex discharge capacity output: {"status":true,"data":{"total_discharge_capacity":13400,"cycle_count":300,"full_chagrged_capacity":13400}}
  96. getBMSEXUnderVoltage(callback(output)) 取得 bms-ex under voltage output: {"status":true,"data":{"under_voltage_limit":42000,"under_voltage_delay_time":1000,"under_voltage_recovery_limit":43000}}
  97. getBMSEXIdleCurrent(callback(output)) 取得 bms-ex idle current output: {"status":true,"data":{"idle_current_limit":160,"idle_timeout":1024000}}
  98. getBMSEXRestMah(callback(output)) 取得 bms-ex rest mah output: {"status":true,"data":{"idle_current_limit":160,"idle_timeout":1024000}}
  99. getBMSEXDischargeCurrentCounter(callback(output)) 取得 bms-ex discharge current counter output: {"status":true,"data":{"discharge_current_count":4,"charge_current_count":8,"discharge_temp_count":16,"charge_temp_count":1024}}
  100. getBMSEXShortCircuitCounter(callback(output)) 取得 bms-ex short circuit counter output: {"status":true,"data":{"short_curcuit_count":2048,"regeneration_error_count":4096,"over_voltage_count":8192}}
  101. getBMSEXMaxDischargeCurrent(callback(output)) 取得 bms-ex max discharge current output: {"status":true,"data":{"max_discharge_current":15000,"max_charge_current":3000,"max_voltage":52000,"max_discharge_temp":-10,"max_charge_temp":40}}
  102. getBMSEXCellVoltage1(callback(output)) 取得 bms-ex cellVoltage 1-4 output: {"status":true,"data":{"cell_voltage_1":48000,"cell_voltage_2":48001,"cell_voltage_3":48002,"cell_voltage_4":48003}}
  103. getBMSEXCellVoltage2(callback(output)) 取得 bms-ex cellVoltage 5-8 output: {"status":true,"data":{"cell_voltage_5":48004,"cell_voltage_6":48005,"cell_voltage_7":48006,"cell_voltage_8":48007}}
  104. getBMSEXCellVoltage3(callback(output)) 取得 bms-ex cellVoltage 9-12 output: {"status":true,"data":{"cell_voltage_9":48008,"cell_voltage_10":48009,"cell_voltage_11":48010,"cell_voltage_12":48011}}
  105. getBMSEXCellVoltage4(callback(output)) 取得 bms-ex cellVoltage 13 output: {"status":true,"data":{"cell_voltage_13":48012}}
  106. writeBmsEXClearError() 寫入 bms-ex clear error
  107. writeBmsEXClearMax() 寫入 bms-ex clear max
  108. getHmiPeriodicalFrame(callback(output)) 取得 hmi periodical frame output: {"status":true,"data":{"mode":0,"error_status":1}}
  109. clearHmiPeriodicalFrame() 清除 hmi periodical frame listener
  110. getBmsWarningAlarm(callback(output)) 取得 bms warning alarm output: {"status":true,"data":{"dateTime":"2021-12-14 07:23:01","error_code":"UT"},{"dateTime":"2021-12-14 07:23:01","error_code":"OT"},{"dateTime":"2021-12-14 07:23:01","error_code":"OCC"},{"dateTime":"2021-12-14 07:23:01","error_code":"UV"},{"dateTime":"2021-12-14 07:23:01","error_code":"OV"},{"dateTime":"2021-12-14 07:23:01","error_code":"DSC"},{"dateTime":"2021-12-14 07:23:01","error_code":"ODC"},{"dateTime":"2021-12-14 07:23:01","error_code":"COUT"}}
  111. clearHmiPeriodicalFrame() 清除 hmi periodical frame listener
  112. getBmsEXWarningAlarm(callback(output)) 取得 bms-ex warning alarm output: {"status":true,"data":{"dateTime":"2021-12-14 07:24:33","error_code":"UT"},{"dateTime":"2021-12-14 07:24:33","error_code":"OT"},{"dateTime":"2021-12-14 07:24:33","error_code":"OCC"},{"dateTime":"2021-12-14 07:24:33","error_code":"UV"},{"dateTime":"2021-12-14 07:24:33","error_code":"OV"},{"dateTime":"2021-12-14 07:24:33","error_code":"DSC"},{"dateTime":"2021-12-14 07:24:33","error_code":"ODC"},{"dateTime":"2021-12-14 07:24:33","error_code":"COUT"}}
  113. clearBmsEXWarningAlarmListener() 清除 bms-ex warning alarm
  114. getMcWarningAlarm(callback(output)) 取得 mc warning alarm output: {"status":true,"data":{"dateTime":"2021-12-14 07:25:40","error_code":"Torque Over Limit"},{"dateTime":"2021-12-14 07:25:40","error_code":"Hall Sensor"},{"dateTime":"2021-12-14 07:25:40","error_code":"Bettery Over Voltage"},{"dateTime":"2021-12-14 07:25:40","error_code":"DRV Over Phase Current"},{"dateTime":"2021-12-14 07:25:40","error_code":"Battery Over Current"},{"dateTime":"2021-12-14 07:25:40","error_code":"Turn On While Drive"},{"dateTime":"2021-12-14 07:25:40","error_code":"Battery Under Voltage"},{"dateTime":"2021-12-14 07:25:40","error_code":"Motor Over Temperature"},{"dateTime":"2021-12-14 07:25:40","error_code":"MOSFET Over Temprature"},{"dateTime":"2021-12-14 07:25:40","error_code":"Throttle Under Limit"},{"dateTime":"2021-12-14 07:25:40","error_code":"Throttle Over Limit"},{"dateTime":"2021-12-14 07:25:40","error_code":"Torque Under Limit"},{"dateTime":"2021-12-14 07:25:40","error_code":"EEPROM Error"},{"dateTime":"2021-12-14 07:25:40","error_code":"Constant Voltage Error"},{"dateTime":"2021-12-14 07:25:40","error_code":"HC Time"},{"dateTime":"2021-12-14 07:25:40","error_code":"Bettery SOC Full"},{"dateTime":"2021-12-14 07:25:40","error_code":"Found BMS"},{"dateTime":"2021-12-14 07:25:40","error_code":"BMS Time Out"},{"dateTime":"2021-12-14 07:25:40","error_code":"Crank Over Speed"},{"dateTime":"2021-12-14 07:25:40","error_code":"Update FW Error"}}
  115. clearMcWarningAlarmListener() 清除 mc warning alarm listener
  116. writeMcShutdown() 寫入 mc shutdown
  117. writeBmsEnterSpecialMode(type) 寫入 bms enter special mode type: 'SHIP', 'BPIN', 'BPOU'
  118. writeMcHeadLight(flag, reserved) 寫入 mc head light flag: 0: Inactivated/1: Activated reserved:
1.13.9

25 days ago

1.13.10

25 days ago

1.13.6

1 month ago

1.13.5

1 month ago

1.13.4

1 month ago

1.13.8

1 month ago

1.13.7

1 month ago

1.13.2

1 month ago

1.13.3

1 month ago

1.13.1

1 month ago

1.12.51

3 months ago

1.12.50

3 months ago

1.12.49

3 months ago

1.12.48

3 months ago

1.12.43

4 months ago

1.12.45

4 months ago

1.12.44

4 months ago

1.12.47

4 months ago

1.12.46

4 months ago

1.12.26

4 months ago

1.12.25

4 months ago

1.12.41

4 months ago

1.12.40

4 months ago

1.12.42

4 months ago

1.12.30

4 months ago

1.12.31

4 months ago

1.12.38

4 months ago

1.12.37

4 months ago

1.12.35

4 months ago

1.12.23

4 months ago

1.12.24

4 months ago

1.12.22

4 months ago

1.12.21

4 months ago

1.12.20

4 months ago

1.12.16

4 months ago

1.12.18

4 months ago

1.12.17

4 months ago

1.12.19

4 months ago

1.12.15

5 months ago

1.11.10

9 months ago

1.11.8

9 months ago

1.11.7

9 months ago

1.11.9

9 months ago

1.12.3

8 months ago

1.12.2

8 months ago

1.12.1

9 months ago

1.12.0

9 months ago

1.12.7

8 months ago

1.12.6

8 months ago

1.12.5

8 months ago

1.12.9

8 months ago

1.12.8

8 months ago

1.12.10

8 months ago

1.12.12

7 months ago

1.12.11

8 months ago

1.12.14

7 months ago

1.12.13

7 months ago

1.11.4

10 months ago

1.11.3

10 months ago

1.11.2

10 months ago

1.11.1

10 months ago

1.11.6

10 months ago

1.11.5

10 months ago

1.10.30

10 months ago

1.11.0

10 months ago

1.10.26

10 months ago

1.10.27

10 months ago

1.10.24

10 months ago

1.10.25

10 months ago

1.10.22

10 months ago

1.10.23

10 months ago

1.10.21

10 months ago

1.10.28

10 months ago

1.10.29

10 months ago

1.10.20

11 months ago

1.10.19

11 months ago

1.10.18

11 months ago

1.10.5

1 year ago

1.10.4

1 year ago

1.10.3

1 year ago

1.10.2

1 year ago

1.10.9

1 year ago

1.10.8

1 year ago

1.10.7

1 year ago

1.9.29

1 year ago

1.10.6

1 year ago

1.9.28

1 year ago

1.9.27

1 year ago

1.9.26

1 year ago

1.9.25

1 year ago

1.9.24

1 year ago

1.9.23

1 year ago

1.9.22

1 year ago

1.9.21

1 year ago

1.9.20

1 year ago

1.9.19

1 year ago

1.9.18

1 year ago

1.9.17

1 year ago

1.9.16

1 year ago

1.9.15

1 year ago

1.9.14

1 year ago

1.9.13

1 year ago

1.9.12

1 year ago

1.9.11

1 year ago

1.9.10

1 year ago

1.7.9

1 year ago

1.7.7

1 year ago

1.7.6

1 year ago

1.7.5

1 year ago

1.7.4

1 year ago

1.9.32

1 year ago

1.9.31

1 year ago

1.9.30

1 year ago

1.10.1

1 year ago

1.10.0

1 year ago

1.10.15

1 year ago

1.10.16

1 year ago

1.10.13

1 year ago

1.10.14

1 year ago

1.10.11

1 year ago

1.10.12

1 year ago

1.10.10

1 year ago

1.10.17

1 year ago

1.9.0

1 year ago

1.8.2

1 year ago

1.8.1

1 year ago

1.8.0

1 year ago

1.9.9

1 year ago

1.9.8

1 year ago

1.9.7

1 year ago

1.9.6

1 year ago

1.9.5

1 year ago

1.9.4

1 year ago

1.9.3

1 year ago

1.9.2

1 year ago

1.7.3

1 year ago

1.7.2

1 year ago

1.7.1

1 year ago

1.7.0

1 year ago

1.8.9

1 year ago

1.8.8

1 year ago

1.8.7

1 year ago

1.8.6

1 year ago

1.8.5

1 year ago

1.8.3

1 year ago

1.6.4

1 year ago

1.6.3

1 year ago

1.6.2

1 year ago

1.6.1

1 year ago

1.6.0

1 year ago

1.6.5

1 year ago

1.5.0

1 year ago

1.4.6

1 year ago

1.4.5

1 year ago

1.4.1

1 year ago

1.4.9

1 year ago

1.4.8

1 year ago

1.4.7

1 year ago

1.4.0

1 year ago

1.3.17

1 year ago

1.3.18

1 year ago

1.3.15

1 year ago

1.3.16

1 year ago

1.3.19

1 year ago

1.2.8

1 year ago

1.2.7

1 year ago

1.2.6

1 year ago

1.2.5

1 year ago

1.2.4

1 year ago

1.3.9

1 year ago

1.3.8

1 year ago

1.2.9

1 year ago

1.3.10

1 year ago

1.3.13

1 year ago

1.3.14

1 year ago

1.3.11

1 year ago

1.3.12

1 year ago

1.3.7

1 year ago

1.3.6

1 year ago

1.3.5

1 year ago

1.3.4

1 year ago

1.3.3

1 year ago

1.3.2

1 year ago

1.3.1

1 year ago

1.3.0

1 year ago

1.2.0

1 year ago

1.2.3

1 year ago

1.2.2

1 year ago

1.2.1

1 year ago

1.1.19

2 years ago

1.1.18

2 years ago

1.1.23

2 years ago

1.1.22

2 years ago

1.1.21

2 years ago

1.1.20

2 years ago

1.1.1

2 years ago

1.1.0

2 years ago

1.1.9

2 years ago

1.1.8

2 years ago

1.1.7

2 years ago

1.1.6

2 years ago

1.1.5

2 years ago

1.1.4

2 years ago

1.1.3

2 years ago

1.1.2

2 years ago

1.1.12

2 years ago

1.1.11

2 years ago

1.1.10

2 years ago

1.1.16

2 years ago

1.1.15

2 years ago

1.1.14

2 years ago

1.1.13

2 years ago

1.1.17

2 years ago

1.0.115

2 years ago

1.0.62

2 years ago

1.0.61

2 years ago

1.0.60

2 years ago

1.0.66

2 years ago

1.0.65

2 years ago

1.0.64

2 years ago

1.0.63

2 years ago

1.0.69

2 years ago

1.0.68

2 years ago

1.0.67

2 years ago

1.0.73

2 years ago

1.0.72

2 years ago

1.0.71

2 years ago

1.0.70

2 years ago

1.0.77

2 years ago

1.0.76

2 years ago

1.0.75

2 years ago

1.0.74

2 years ago

1.0.79

2 years ago

1.0.78

2 years ago

1.0.55

2 years ago

1.0.54

2 years ago

1.0.53

2 years ago

1.0.59

2 years ago

1.0.58

2 years ago

1.0.57

2 years ago

1.0.56

2 years ago

1.0.101

2 years ago

1.0.100

2 years ago

1.0.107

2 years ago

1.0.106

2 years ago

1.0.109

2 years ago

1.0.108

2 years ago

1.0.103

2 years ago

1.0.102

2 years ago

1.0.105

2 years ago

1.0.104

2 years ago

1.0.80

2 years ago

1.0.84

2 years ago

1.0.83

2 years ago

1.0.82

2 years ago

1.0.81

2 years ago

1.0.88

2 years ago

1.0.87

2 years ago

1.0.86

2 years ago

1.0.85

2 years ago

1.0.89

2 years ago

1.0.110

2 years ago

1.0.112

2 years ago

1.0.111

2 years ago

1.0.114

2 years ago

1.0.113

2 years ago

1.0.91

2 years ago

1.0.90

2 years ago

1.0.95

2 years ago

1.0.94

2 years ago

1.0.93

2 years ago

1.0.92

2 years ago

1.0.99

2 years ago

1.0.98

2 years ago

1.0.97

2 years ago

1.0.96

2 years ago

1.0.19

3 years ago

1.0.2

3 years ago

1.0.18

3 years ago

1.0.1

3 years ago

1.0.17

3 years ago

1.0.16

3 years ago

1.0.9

3 years ago

1.0.8

3 years ago

1.0.7

3 years ago

1.0.6

3 years ago

1.0.5

3 years ago

1.0.4

3 years ago

1.0.3

3 years ago

1.0.22

3 years ago

1.0.21

3 years ago

1.0.20

3 years ago

1.0.26

3 years ago

1.0.25

3 years ago

1.0.24

3 years ago

1.0.23

3 years ago

1.0.29

3 years ago

1.0.28

3 years ago

1.0.27

3 years ago

1.0.33

2 years ago

1.0.32

3 years ago

1.0.31

3 years ago

1.0.30

3 years ago

1.0.37

2 years ago

1.0.36

2 years ago

1.0.35

2 years ago

1.0.34

2 years ago

1.0.39

2 years ago

1.0.38

2 years ago

1.0.40

2 years ago

1.0.44

2 years ago

1.0.43

2 years ago

1.0.42

2 years ago

1.0.41

2 years ago

1.0.48

2 years ago

1.0.47

2 years ago

1.0.46

2 years ago

1.0.45

2 years ago

1.0.49

2 years ago

1.0.51

2 years ago

1.0.50

2 years ago

1.0.11

3 years ago

1.0.10

3 years ago

1.0.52

2 years ago

1.0.15

3 years ago

1.0.14

3 years ago

1.0.13

3 years ago

1.0.12

3 years ago

1.0.0

3 years ago