From ce8e9da9dd68d8fedc74a060e72f963fbd9e340e Mon Sep 17 00:00:00 2001 From: haped <531618102@qq.com> Date: Mon, 4 Aug 2025 16:01:15 +0800 Subject: [PATCH] =?UTF-8?q?=E5=B9=BF=E6=92=AD=E6=95=B0=E6=8D=AEff=E5=A2=9E?= =?UTF-8?q?=E5=8A=A0=E4=BA=86mac=E5=9C=B0=E5=9D=80=EF=BC=9B=E4=BC=98?= =?UTF-8?q?=E5=8C=96=E4=BA=86=E7=94=B5=E6=B1=A0=E7=94=B5=E9=87=8F=E6=9B=B2?= =?UTF-8?q?=E7=BA=BF?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../apps/spp_and_le/app_temperature.c | 23 +- .../examples/trans_data/ble_trans.c | 2 +- .../apps/spp_and_le/include/app_temperature.h | 3 +- .../modules/power/app_power_manage.c | 689 +++++++++++++++++- 4 files changed, 707 insertions(+), 10 deletions(-) diff --git a/fw-AC63_BT_SDK/apps/spp_and_le/app_temperature.c b/fw-AC63_BT_SDK/apps/spp_and_le/app_temperature.c index e8af36e..f7a456b 100644 --- a/fw-AC63_BT_SDK/apps/spp_and_le/app_temperature.c +++ b/fw-AC63_BT_SDK/apps/spp_and_le/app_temperature.c @@ -249,7 +249,8 @@ static void udelay(u32 usec) /* } */ } -#ifdef BLE_TEMPERATURE_DEVICE_NST1002 +//#ifdef BLE_TEMPERATURE_DEVICE_NST1002 +#if 1 //extern void handshake_timer_delay_us(u8 us); //extern void handshake_timer_delay_ms(u8 ms); @@ -488,7 +489,7 @@ u16 buffer[MAX_SIZE]; printf("battery: %d\r\n",battery); - u8 ff_temp_data[9] = {0}; + u8 ff_temp_data[13] = {0}; //body ff_temp_data[0] = (body >> 8) & 0xFF; ff_temp_data[1] = (body) & 0xFF; @@ -501,8 +502,21 @@ u16 buffer[MAX_SIZE]; ff_temp_data[6] = battery & 0xFF; - ff_temp_data[7] = (batt_val >> 8) & 0xFF; - ff_temp_data[8] = batt_val & 0xFF; + u8 ble_mac_addr[6] = {0}; + bt_get_vm_mac_addr(&ble_mac_addr); + + ff_temp_data[7]=ble_mac_addr[5]; + ff_temp_data[8]=ble_mac_addr[4]; + ff_temp_data[9]=ble_mac_addr[3]; + ff_temp_data[10]=ble_mac_addr[2]; + ff_temp_data[11]=ble_mac_addr[1]; + ff_temp_data[12]=ble_mac_addr[0]; + + //ff_temp_data[7] = (batt_val >> 8) & 0xFF; + //ff_temp_data[8] = batt_val & 0xFF; + + + if(body < BLE_TEMPERATURE_LIMIT_MIN || body > BLE_TEMPERATURE_LIMIT_MAX){ //异常温度不发送 printf("error temp_body\r\n"); @@ -913,6 +927,7 @@ void temperature_ble_init(){ char ble_name[12] ={0}; sprintf(ble_name,"iT12_%02X%02X",bt_mac_addr[1],bt_mac_addr[0]); ble_comm_set_config_name(&ble_name, 0); + } /** * 初始化测温相关的参数 diff --git a/fw-AC63_BT_SDK/apps/spp_and_le/examples/trans_data/ble_trans.c b/fw-AC63_BT_SDK/apps/spp_and_le/examples/trans_data/ble_trans.c index 5201b41..8277457 100644 --- a/fw-AC63_BT_SDK/apps/spp_and_le/examples/trans_data/ble_trans.c +++ b/fw-AC63_BT_SDK/apps/spp_and_le/examples/trans_data/ble_trans.c @@ -740,7 +740,7 @@ int trans_client_adv_data_set_ff(u8*data, int len) offset += make_eir_packet_val(&buf[offset], offset, HCI_EIR_DATATYPE_FLAGS, FLAGS_GENERAL_DISCOVERABLE_MODE | FLAGS_EDR_NOT_SUPPORTED, 1); #endif - offset += make_eir_packet_val(&buf[offset], offset, HCI_EIR_DATATYPE_COMPLETE_16BIT_SERVICE_UUIDS, 0xAF30, 2); + //offset += make_eir_packet_val(&buf[offset], offset, HCI_EIR_DATATYPE_COMPLETE_16BIT_SERVICE_UUIDS, 0xAF30, 2); char *gap_name = ble_comm_get_gap_name(); u8 name_len = strlen(gap_name); diff --git a/fw-AC63_BT_SDK/apps/spp_and_le/include/app_temperature.h b/fw-AC63_BT_SDK/apps/spp_and_le/include/app_temperature.h index fb35b0f..4985d06 100644 --- a/fw-AC63_BT_SDK/apps/spp_and_le/include/app_temperature.h +++ b/fw-AC63_BT_SDK/apps/spp_and_le/include/app_temperature.h @@ -6,8 +6,9 @@ /** * 1.0.4 2025.07.03 + * 1.0.7 2025.08.04 ff增加mac地址 */ -#define BLE_TEMPERATURE_DEVICE_SOFT_VER "1.0.6" +#define BLE_TEMPERATURE_DEVICE_SOFT_VER "1.0.7" #define BLE_TEMPERATURE_DETECT_INTERVAL 250 #define BLE_TEMPERATURE_WORK_TIMEOUT 10*1000 diff --git a/fw-AC63_BT_SDK/apps/spp_and_le/modules/power/app_power_manage.c b/fw-AC63_BT_SDK/apps/spp_and_le/modules/power/app_power_manage.c index ea847dc..1824ed3 100644 --- a/fw-AC63_BT_SDK/apps/spp_and_le/modules/power/app_power_manage.c +++ b/fw-AC63_BT_SDK/apps/spp_and_le/modules/power/app_power_manage.c @@ -8,6 +8,7 @@ #include "btstack/avctp_user.h" #include "user_cfg.h" #include "asm/charge.h" +#include #define LOG_TAG_CONST APP_POWER #define LOG_TAG "[APP_POWER]" @@ -17,6 +18,7 @@ /* #define LOG_DUMP_ENABLE */ #define LOG_CLI_ENABLE #include "debug.h" +#define BATTERY_TABLE_SIZE 638 // 查表法数据点数量 enum { VBAT_NORMAL = 0, @@ -37,6 +39,651 @@ static volatile u8 cur_battery_level = 0; static u16 battery_full_value = 0; static u8 cur_bat_st = VBAT_NORMAL; +static const struct { + u16 voltage; // 电压值(mV) + u16 mah; // 对应电量 +} voltage_table[BATTERY_TABLE_SIZE] = { + {4173, 0}, + {4167, 80}, + {4160, 160}, + {4160, 230}, + {4157, 310}, + {4155, 390}, + {4152, 460}, + {4150, 540}, + {4148, 620}, + {4146, 700}, + {4142, 770}, + {4143, 850}, + {4141, 930}, + {4137, 1010}, + {4136, 1090}, + {4134, 1170}, + {4133, 1240}, + {4131, 1320}, + {4129, 1400}, + {4128, 1470}, + {4126, 1550}, + {4124, 1630}, + {4122, 1710}, + {4121, 1790}, + {4120, 1860}, + {4118, 1940}, + {4115, 2020}, + {4114, 2090}, + {4112, 2170}, + {4110, 2250}, + {4109, 2320}, + {4105, 2400}, + {4103, 2480}, + {4104, 2550}, + {4102, 2630}, + {4100, 2710}, + {4098, 2790}, + {4098, 2860}, + {4096, 2940}, + {4094, 3020}, + {4092, 3100}, + {4091, 3170}, + {4089, 3250}, + {4088, 3330}, + {4086, 3400}, + {4084, 3480}, + {4084, 3560}, + {4082, 3630}, + {4080, 3710}, + {4079, 3790}, + {4078, 3870}, + {4075, 3940}, + {4075, 4020}, + {4073, 4100}, + {4072, 4170}, + {4071, 4250}, + {4069, 4330}, + {4067, 4410}, + {4065, 4480}, + {4064, 4560}, + {4063, 4640}, + {4061, 4710}, + {4059, 4790}, + {4056, 4870}, + {4057, 4950}, + {4055, 5020}, + {4054, 5100}, + {4053, 5180}, + {4051, 5260}, + {4049, 5330}, + {4048, 5410}, + {4047, 5490}, + {4047, 5560}, + {4045, 5640}, + {4043, 5720}, + {4042, 5800}, + {4042, 5870}, + {4040, 5950}, + {4039, 6030}, + {4038, 6100}, + {4038, 6180}, + {4036, 6260}, + {4036, 6330}, + {4034, 6410}, + {4032, 6490}, + {4031, 6570}, + {4030, 6640}, + {4028, 6720}, + {4027, 6800}, + {4027, 6880}, + {4024, 6950}, + {4022, 7030}, + {4022, 7110}, + {4020, 7180}, + {4016, 7260}, + {4016, 7340}, + {4013, 7420}, + {4012, 7490}, + {4010, 7570}, + {4009, 7650}, + {4006, 7730}, + {4005, 7800}, + {4004, 7880}, + {4002, 7960}, + {4000, 8040}, + {3998, 8110}, + {3997, 8190}, + {3996, 8270}, + {3993, 8350}, + {3992, 8420}, + {3990, 8500}, + {3989, 8580}, + {3986, 8660}, + {3986, 8730}, + {3983, 8810}, + {3982, 8890}, + {3981, 8960}, + {3979, 9040}, + {3978, 9120}, + {3977, 9200}, + {3975, 9270}, + {3974, 9350}, + {3973, 9430}, + {3971, 9510}, + {3970, 9580}, + {3969, 9660}, + {3968, 9740}, + {3966, 9820}, + {3965, 9890}, + {3963, 9970}, + {3961, 10050}, + {3961, 10130}, + {3960, 10200}, + {3959, 10280}, + {3958, 10360}, + {3956, 10440}, + {3955, 10510}, + {3954, 10590}, + {3953, 10670}, + {3952, 10750}, + {3952, 10830}, + {3951, 10900}, + {3951, 10980}, + {3950, 11060}, + {3947, 11140}, + {3948, 11210}, + {3947, 11290}, + {3947, 11370}, + {3946, 11450}, + {3945, 11520}, + {3945, 11600}, + {3943, 11680}, + {3942, 11760}, + {3941, 11830}, + {3941, 11910}, + {3939, 11990}, + {3938, 12070}, + {3934, 12150}, + {3935, 12220}, + {3934, 12300}, + {3934, 12380}, + {3932, 12460}, + {3931, 12540}, + {3931, 12610}, + {3929, 12690}, + {3928, 12770}, + {3927, 12850}, + {3925, 12930}, + {3924, 13010}, + {3923, 13080}, + {3921, 13160}, + {3921, 13240}, + {3920, 13310}, + {3919, 13390}, + {3917, 13470}, + {3915, 13550}, + {3915, 13620}, + {3913, 13700}, + {3912, 13780}, + {3910, 13860}, + {3910, 13940}, + {3909, 14010}, + {3908, 14090}, + {3906, 14170}, + {3906, 14250}, + {3905, 14320}, + {3903, 14400}, + {3902, 14480}, + {3901, 14560}, + {3899, 14630}, + {3897, 14710}, + {3896, 14790}, + {3895, 14870}, + {3894, 14950}, + {3892, 15030}, + {3891, 15110}, + {3890, 15190}, + {3889, 15260}, + {3888, 15340}, + {3886, 15420}, + {3886, 15500}, + {3883, 15580}, + {3882, 15660}, + {3881, 15740}, + {3880, 15820}, + {3879, 15900}, + {3877, 15980}, + {3877, 16060}, + {3877, 16140}, + {3875, 16220}, + {3875, 16300}, + {3872, 16380}, + {3872, 16460}, + {3871, 16540}, + {3870, 16620}, + {3868, 16700}, + {3867, 16780}, + {3866, 16860}, + {3865, 16940}, + {3864, 17020}, + {3863, 17100}, + {3861, 17180}, + {3860, 17260}, + {3859, 17340}, + {3858, 17420}, + {3856, 17500}, + {3855, 17580}, + {3855, 17660}, + {3854, 17740}, + {3853, 17810}, + {3852, 17890}, + {3851, 17970}, + {3850, 18050}, + {3848, 18130}, + {3847, 18210}, + {3846, 18290}, + {3846, 18370}, + {3845, 18440}, + {3844, 18520}, + {3843, 18600}, + {3841, 18680}, + {3841, 18760}, + {3839, 18840}, + {3838, 18920}, + {3837, 19000}, + {3836, 19080}, + {3836, 19160}, + {3835, 19230}, + {3834, 19310}, + {3833, 19390}, + {3832, 19470}, + {3829, 19550}, + {3830, 19630}, + {3829, 19710}, + {3829, 19790}, + {3828, 19870}, + {3826, 19950}, + {3826, 20030}, + {3825, 20110}, + {3824, 20180}, + {3823, 20260}, + {3822, 20340}, + {3821, 20420}, + {3820, 20500}, + {3819, 20580}, + {3818, 20650}, + {3818, 20730}, + {3817, 20810}, + {3815, 20890}, + {3814, 21050}, + {3814, 21120}, + {3814, 21200}, + {3813, 21280}, + {3812, 21360}, + {3810, 21440}, + {3810, 21510}, + {3811, 21590}, + {3810, 21670}, + {3809, 21750}, + {3808, 21830}, + {3807, 21910}, + {3807, 21990}, + {3805, 22060}, + {3805, 22140}, + {3804, 22220}, + {3804, 22300}, + {3804, 22380}, + {3803, 22460}, + {3803, 22530}, + {3801, 22610}, + {3800, 22690}, + {3800, 22760}, + {3799, 22840}, + {3799, 22920}, + {3799, 22990}, + {3798, 23070}, + {3797, 23150}, + {3796, 23220}, + {3795, 23300}, + {3795, 23380}, + {3795, 23450}, + {3795, 23530}, + {3795, 23610}, + {3794, 23680}, + {3792, 23760}, + {3792, 23840}, + {3789, 23910}, + {3790, 23990}, + {3790, 24070}, + {3790, 24140}, + {3788, 24220}, + {3788, 24300}, + {3788, 24380}, + {3786, 24450}, + {3786, 24530}, + {3786, 24600}, + {3785, 24680}, + {3784, 24760}, + {3784, 24830}, + {3783, 24910}, + {3783, 24990}, + {3782, 25070}, + {3780, 25140}, + {3780, 25220}, + {3779, 25290}, + {3779, 25370}, + {3779, 25450}, + {3779, 25530}, + {3779, 25600}, + {3779, 25680}, + {3778, 25750}, + {3777, 25830}, + {3777, 25910}, + {3776, 25980}, + {3777, 26060}, + {3776, 26140}, + {3776, 26210}, + {3775, 26290}, + {3774, 26370}, + {3774, 26440}, + {3774, 26520}, + {3773, 26600}, + {3772, 26670}, + {3770, 26750}, + {3770, 26830}, + {3770, 26900}, + {3770, 26980}, + {3770, 27050}, + {3769, 27130}, + {3770, 27210}, + {3769, 27280}, + {3768, 27360}, + {3766, 27440}, + {3766, 27510}, + {3765, 27590}, + {3764, 27670}, + {3764, 27740}, + {3764, 27820}, + {3764, 27890}, + {3763, 27970}, + {3763, 28050}, + {3763, 28120}, + {3762, 28200}, + {3761, 28280}, + {3761, 28350}, + {3761, 28430}, + {3760, 28510}, + {3759, 28580}, + {3760, 28660}, + {3759, 28730}, + {3760, 28810}, + {3759, 28890}, + {3759, 28960}, + {3758, 29040}, + {3757, 29120}, + {3758, 29200}, + {3756, 29270}, + {3756, 29350}, + {3756, 29420}, + {3755, 29500}, + {3754, 29580}, + {3753, 29650}, + {3754, 29730}, + {3754, 29810}, + {3753, 29880}, + {3752, 29960}, + {3753, 30040}, + {3752, 30120}, + {3752, 30190}, + {3752, 30270}, + {3752, 30350}, + {3750, 30420}, + {3750, 30500}, + {3750, 30570}, + {3750, 30650}, + {3749, 30730}, + {3749, 30800}, + {3749, 30880}, + {3748, 30960}, + {3748, 31030}, + {3746, 31110}, + {3747, 31190}, + {3746, 31260}, + {3745, 31340}, + {3745, 31420}, + {3746, 31490}, + {3745, 31570}, + {3745, 31650}, + {3745, 31720}, + {3745, 31800}, + {3744, 31880}, + {3744, 31950}, + {3744, 32030}, + {3743, 32110}, + {3743, 32180}, + {3742, 32260}, + {3743, 32340}, + {3740, 32410}, + {3740, 32490}, + {3740, 32570}, + {3739, 32640}, + {3739, 32720}, + {3739, 32800}, + {3738, 32870}, + {3739, 32950}, + {3738, 33030}, + {3736, 33100}, + {3737, 33180}, + {3736, 33250}, + {3736, 33330}, + {3735, 33410}, + {3735, 33490}, + {3735, 33560}, + {3735, 33640}, + {3734, 33720}, + {3734, 33790}, + {3734, 33870}, + {3734, 33950}, + {3734, 34020}, + {3734, 34100}, + {3734, 34170}, + {3733, 34250}, + {3732, 34330}, + {3733, 34410}, + {3732, 34480}, + {3731, 34560}, + {3730, 34640}, + {3729, 34710}, + {3730, 34790}, + {3730, 34870}, + {3729, 34940}, + {3729, 35020}, + {3729, 35100}, + {3728, 35170}, + {3727, 35250}, + {3727, 35330}, + {3727, 35400}, + {3727, 35480}, + {3727, 35560}, + {3726, 35630}, + {3726, 35710}, + {3726, 35790}, + {3725, 35860}, + {3725, 35940}, + {3725, 36020}, + {3725, 36090}, + {3723, 36170}, + {3722, 36250}, + {3722, 36320}, + {3721, 36400}, + {3722, 36480}, + {3721, 36550}, + {3720, 36630}, + {3720, 36710}, + {3719, 36780}, + {3719, 36860}, + {3719, 36940}, + {3719, 37010}, + {3718, 37090}, + {3718, 37170}, + {3718, 37240}, + {3717, 37320}, + {3717, 37400}, + {3717, 37470}, + {3715, 37550}, + {3714, 37630}, + {3714, 37700}, + {3714, 37780}, + {3714, 37860}, + {3712, 37930}, + {3711, 38010}, + {3711, 38090}, + {3710, 38170}, + {3710, 38240}, + {3710, 38320}, + {3710, 38400}, + {3710, 38470}, + {3709, 38550}, + {3709, 38630}, + {3709, 38700}, + {3708, 38780}, + {3707, 38860}, + {3707, 38930}, + {3706, 39010}, + {3704, 39090}, + {3704, 39160}, + {3704, 39240}, + {3703, 39320}, + {3702, 39390}, + {3701, 39470}, + {3700, 39550}, + {3700, 39620}, + {3699, 39700}, + {3698, 39780}, + {3697, 39850}, + {3697, 39930}, + {3696, 40010}, + {3695, 40080}, + {3695, 40160}, + {3695, 40240}, + {3694, 40310}, + {3692, 40390}, + {3692, 40470}, + {3691, 40540}, + {3690, 40620}, + {3690, 40700}, + {3689, 40770}, + {3688, 40850}, + {3687, 40930}, + {3686, 41000}, + {3686, 41080}, + {3686, 41160}, + {3685, 41240}, + {3683, 41310}, + {3683, 41390}, + {3681, 41470}, + {3681, 41540}, + {3680, 41620}, + {3679, 41700}, + {3678, 41770}, + {3676, 41850}, + {3675, 41930}, + {3675, 42000}, + {3674, 42080}, + {3673, 42160}, + {3670, 42240}, + {3670, 42310}, + {3669, 42390}, + {3669, 42470}, + {3668, 42540}, + {3667, 42620}, + {3666, 42700}, + {3666, 42770}, + {3665, 42850}, + {3665, 42930}, + {3664, 43000}, + {3664, 43080}, + {3664, 43160}, + {3664, 43240}, + {3664, 43310}, + {3663, 43390}, + {3663, 43470}, + {3660, 43540}, + {3661, 43620}, + {3659, 43700}, + {3660, 43770}, + {3660, 43850}, + {3660, 43930}, + {3660, 44000}, + {3659, 44080}, + {3659, 44160}, + {3659, 44230}, + {3659, 44310}, + {3659, 44390}, + {3658, 44460}, + {3657, 44540}, + {3655, 44620}, + {3655, 44690}, + {3654, 44770}, + {3654, 44850}, + {3653, 45000}, + {3650, 45080}, + {3651, 45150}, + {3650, 45230}, + {3650, 45310}, + {3649, 45390}, + {3649, 45460}, + {3647, 45540}, + {3645, 45620}, + {3644, 45690}, + {3643, 45770}, + {3643, 45850}, + {3641, 45920}, + {3639, 46000}, + {3637, 46080}, + {3635, 46150}, + {3633, 46230}, + {3630, 46310}, + {3626, 46390}, + {3624, 46460}, + {3620, 46540}, + {3616, 46620}, + {3612, 46690}, + {3608, 46770}, + {3604, 46850}, + {3598, 46930}, + {3593, 47000}, + {3586, 47080}, + {3582, 47160}, + {3575, 47230}, + {3568, 47310}, + {3561, 47390}, + {3554, 47460}, + {3547, 47540}, + {3538, 47620}, + {3529, 47690}, + {3519, 47770}, + {3511, 47850}, + {3501, 47920}, + {3491, 48000}, + {3480, 48080}, + {3469, 48150}, + {3456, 48230}, + {3443, 48310}, + {3431, 48380}, + {3417, 48460}, + {3401, 48540}, + {3385, 48620}, + {3368, 48690}, + {3349, 48770}, + {3331, 48850}, + {3309, 48920}, + {3284, 49000}, + {3257, 49080}, + {3226, 49150}, + {3192, 49230}, + {3147, 49310}, + {3083, 49390}, + {2997, 49450} +}; + void vbat_check(void *priv); void clr_wdt(void); @@ -101,7 +748,8 @@ int app_power_event_handler(struct device_event *dev, void (*set_soft_poweroff_c u16 get_vbat_level(void) { //return 370; //debug - return (adc_get_voltage(AD_CH_VBAT) * 4 / 10); + //return (adc_get_voltage(AD_CH_VBAT) * 4 / 10); + return (adc_get_voltage(AD_CH_VBAT) * 4 ); } __attribute__((weak)) u8 remap_calculate_vbat_percent(u16 bat_val) @@ -117,8 +765,8 @@ u16 get_vbat_value(void) u8 get_vbat_percent(void) { u16 tmp_bat_val; - u16 bat_val = get_vbat_level(); - app_var.poweroff_tone_v = 360; + /*u16 bat_val = get_vbat_level(); + app_var.poweroff_tone_v = 330; if (battery_full_value == 0) { #if TCFG_CHARGE_ENABLE battery_full_value = (get_charge_full_value() - 100) / 10; //防止部分电池充不了这么高电量,充满显示未满的情况 @@ -132,11 +780,44 @@ u8 get_vbat_percent(void) tmp_bat_val = remap_calculate_vbat_percent(bat_val); if (!tmp_bat_val) { tmp_bat_val = ((u32)bat_val - app_var.poweroff_tone_v) * 100 / (battery_full_value - app_var.poweroff_tone_v); + if (tmp_bat_val > 100) { tmp_bat_val = 100; } } - return (u8)tmp_bat_val; + return (u8)tmp_bat_val;*/ + + u16 bat_val = get_vbat_level(); // 获取当前电池电压(mV) + printf("bat_val:%d \r\n", bat_val); + // 电压高于最低高阈值,返回100% + if (bat_val >= voltage_table[0].voltage) { + printf("0000000000000000000000000000\r\n"); + printf("voltage:%d\r\n",voltage_table[0].voltage); + return 100; + } + + // 电压低于最低阈值,返回0% + if (bat_val <= voltage_table[BATTERY_TABLE_SIZE-1].voltage) { + printf("11111111111111111111111111111\r\n"); + printf("voltage:%d\r\n",voltage_table[BATTERY_TABLE_SIZE-1].voltage); + return 0; + } + + // 查表法查找对应的电量百分比 + for (int i = 1; i < BATTERY_TABLE_SIZE; i++){ + if (bat_val >= voltage_table[i].voltage){ + // 线性插值计算百分比 + //u16 voltage_range = voltage_table[i].voltage - voltage_table[i-1].voltage; + //u16 voltage_offset = bat_val - voltage_table[i-1].voltage; + tmp_bat_val=(49450-voltage_table[i].mah)*100/49450; + printf("i:%d \r\n", i); + printf("voltage_table[i].mah:%d \r\n", voltage_table[i].voltage); + printf("tmp_bat_val:%d \r\n", tmp_bat_val); + return tmp_bat_val; + } + } + + return 100; // 默认返回100% } bool get_vbat_need_shutdown(void)