广播数据ff增加了mac地址;优化了电池电量曲线
This commit is contained in:
parent
4833a132a0
commit
ce8e9da9dd
@ -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);
|
||||
|
||||
}
|
||||
/**
|
||||
* 初始化测温相关的参数
|
||||
|
@ -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);
|
||||
|
@ -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
|
||||
|
@ -8,6 +8,7 @@
|
||||
#include "btstack/avctp_user.h"
|
||||
#include "user_cfg.h"
|
||||
#include "asm/charge.h"
|
||||
#include <math.h>
|
||||
|
||||
#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)
|
||||
|
Loading…
x
Reference in New Issue
Block a user