hwVersion = getValue(CONSOLE, CONSOLE_REF_HW); " assistance level ........: %d" getValue(CONSOLE, CONSOLE_ASSIST_INITLEVEL) printf( " part number .............: %05d" ((getValue(CONSOLE, CONSOLE_SN_PN_HI) << 8) + getValue(CONSOLE, CONSOLE_SN_PN_LO)), " item number .............: %05d" ((getValue(CONSOLE, CONSOLE_SN_ITEM_HI) << 8) + getValue(CONSOLE, CONSOLE_SN_ITEM_LO)) /* ASSIST speed limit */ max limit enabled sl = getValue(CONSOLE, CONSOLE_ASSIST_MAXSPEEDFLAG) == 0 ? "no" : "yes"; speed limit speedLimit = ((getValue(CONSOLE, CONSOLE_ASSIST_MAXSPEED_HI) << 8) + getValue(CONSOLE, CONSOLE_ASSIST_MAXSPEED_LO)) / (double)10; /* MIN speed limit */ sl = getValue(CONSOLE, CONSOLE_ASSIST_MINSPEEDFLAG) == 0 ? "no" : "yes"; speedLimit = (getValue(CONSOLE, CONSOLE_ASSIST_MINSPEED)) / (double)10; /* THROTTLE speed limit */ " throttle limit enabled ..: %sl = getValue(CONSOLE, CONSOLE_THROTTLE_MAXSPEEDFLAG) == 0 ? "no" : "yes"; " throttle limit enabled ..: %s" = ((getValue(CONSOLE, CONSOLE_THROTTLE_MAXSPEED_HI) << 8) + getValue(CONSOLE, CONSOLE_THROTTLE_MAXSPEED_LO)) / (double)10; printf( " throttle limit enabled ..: %s" _NL " throttle speed limit ....: %0.2f Km/h" _NL _NL, sl, speedLimit); /* WHEEL CIRCUMFERENCE */ wheel circumference .....: %d mm" = (getValue(CONSOLE, CONSOLE_GEOMETRY_CIRC_HI) << 8) + getValue(CONSOLE, CONSOLE_GEOMETRY_CIRC_LO); " mountain cap ............: %0.2f%%" _NL, (getValue(CONSOLE, CONSOLE_ASSIST_MOUNTAINCAP) * 1.5625)); printf( " odo .....................: %0.2f Km" _NL _NL, ((getValue(CONSOLE, CONSOLE_STATS_ODO_1) << 24) + (getValue(CONSOLE, CONSOLE_STATS_ODO_2) << 16) + (getValue(CONSOLE, CONSOLE_STATS_ODO_3) << 8) + (getValue(CONSOLE, CONSOLE_STATS_ODO_4))) / (double)10 ); } hwVersion = getValue(BATTERY, BATTERY_REF_HW); if (hwVersion == 0) printf("Battery not responding" _NL _NL); else { printf( "Battery information:" _NL " hardware version ........: %02d" _NL " software version ........: %02d" _NL, hwVersion, getValue(BATTERY, BATTERY_REF_SW) ); if (!gNoSerialNumbers) printf( " part number .............: %05d" _NL " item number .............: %05d" _NL, ((getValue(BATTERY, BATTERY_SN_PN_HI) << 8) + getValue(BATTERY, BATTERY_SN_PN_LO)), ((getValue(BATTERY, BATTERY_SN_ITEM_HI) << 8) + getValue(BATTERY, BATTERY_SN_ITEM_LO)) ); printf( " voltage .................: %0.2fV" _NL " battery level ...........: %0.2f%%" _NL " maximum voltage .........: %0.2f%%" _NL " minimum voltage .........: %0.2f%%" _NL " mean voltage ............: %0.2f%%" _NL " resets ..................: %0d" _NL " ggjrCalib ...............: %0d" _NL " vctrlShorts .............: %0d" _NL " lmd .....................: %0.2fAh" _NL " cell capacity ...........: %0.2fAh" _NL _NL, ((getValue(BATTERY, BATTERY_STATUS_VBATT_HI) << 8) + getValue(BATTERY, BATTERY_STATUS_VBATT_LO)) * 0.001, (getValue(BATTERY, BATTERY_STATUS_LEVEL) * 6.6667), getVoltageValue(BATTERY, BATTERY_STATS_VBATTMAX), getVoltageValue(BATTERY, BATTERY_STATS_VBATTMIN), getVoltageValue(BATTERY, BATTERY_STATS_VBATTMEAN), (getValue(BATTERY, BATTERY_STATS_RESET_HI) << 8) + getValue(BATTERY, BATTERY_STATS_RESET_LO), getValue(BATTERY, BATTERY_STSTS_GGJSRCALIB), getValue(BATTERY, BATTERY_STSTS_VCTRLSHORTS), ((getValue(BATTERY, BATTERY_STATS_LMD_HI) << 8) + getValue(BATTERY, BATTERY_STATS_LMD_LO)) * 0.002142, ((getValue(BATTERY, BATTERY_CONFIG_CELLCAPACITY_HI) << 8) + getValue(BATTERY, BATTERY_CONFIG_CELLCAPACITY_LO)) * 0.001 ); printf( " charge time worst .......: %0d" _NL " charge time mean ........: %0d" _NL " charge cycles ...........: %0d" _NL " full charge cycles ......: %0d" _NL " power cycles ............: %0d" _NL " battery temp max ........: %0d" _NL " battery temp min ........: %0d" _NL _NL, (getValue(BATTERY, BATTERY_STATS_CHARGETIMEWORST_HI) << 8) + getValue(BATTERY, BATTERY_STATS_CHARGETIMEWORST_LO), (getValue(BATTERY, BATTERY_STATS_CHARGETIMEMEAN_HI) << 8) + getValue(BATTERY, BATTERY_STATS_CHARGETIMEMEAN_LO), (getValue(BATTERY, BATTERY_STATS_BATTCYCLES_HI) << 8) + getValue(BATTERY, BATTERY_STATS_BATTCYCLES_LO), (getValue(BATTERY, BATTERY_STATS_BATTFULLCYCLES_HI) << 8) + getValue(BATTERY, BATTERY_STATS_BATTFULLCYCLES_LO), (getValue(BATTERY, BATTERY_STATS_POWERCYCLES_HI) << 8) + getValue(BATTERY, BATTERY_STATS_POWERCYCLES_HI), getValue(BATTERY, BATTERY_STATS_TBATTMAX), getValue(BATTERY, BATTERY_STATS_TBATTMIN) ); printChargeStats(); if (hwVersion >= 60) printBatteryStats(); else printf(" no battery details supported by battery hardware #%d" _NL _NL, hwVersion); } hwVersion = getValue(MOTOR, MOTOR_REF_HW); if (hwVersion == 0) printf("Motor not responding" _NL _NL); else { printf( "Motor information:" _NL " hardware version ........: %02d" _NL " software version ........: %02d" _NL " temperature .............: %02d" _DEGREE_SIGN "C"_NL " speed limit .............: %02d Km/h" _NL, hwVersion, getValue(MOTOR, MOTOR_REF_SW), getValue(MOTOR, MOTOR_REALTIME_TEMP), getValue(MOTOR, MOTOR_ASSIST_MAXSPEED) ); wheelCirc = (getValue(MOTOR, MOTOR_GEOMETRY_CIRC_HI) << 8) + getValue(MOTOR, MOTOR_GEOMETRY_CIRC_LO); printf( " wheel circumference .....: %d mm" _NL _NL, wheelCirc); if (!gNoSerialNumbers) printf( " part number .............: %05d" _NL " item number .............: %05d" _NL _NL, ((getValue(MOTOR, MOTOR_SN_PN_HI) << 8) + getValue(MOTOR, MOTOR_SN_PN_LO)), ((getValue(MOTOR, MOTOR_SN_ITEM_HI) << 8) + getValue(MOTOR, MOTOR_SN_ITEM_LO)) ); } }