если ты не видишь отличий, программирование не твоё, у тебя фазенда огромная, работы непочатый край, займись благоустройством
укажи мне на них, чтобы я считал что программирование это твое, и не говорил тебе куда идти, при попытке дать мне совет что делать.
или ты назаменял
word(0x0001) на (word)(0x0001)
и
byte(0x10) на (byte)(0x10)
и от этого внезапно код стал
у тебя есть прекрасная возможность показать кто здесь дурак, берёшь скетч первого поста и компилируешь для:
Nologo ESP32C3 Super Mini, ESP32S3, RP2040, ESP8266, STM32F103 (STM Core) - компилируется
ну не будет компилировать)) это ты называешь
только в отличии от твоей порнографии, мастер йода, достаточно в 110 строке указать явный тип
void ReadSMB(uint16_t comm) {
я честно пытался понять, чем же код от ТС отличается, а оно вон как оказывается.
Вот видишь, два часа всего тебе понадобилось, чтобы разобраться, а вот если бы не пнул тебя в строгом соответствии с “Психологическим Айкидо” Михаила Литвака, не надавил на профнепригодность ты бы решение на гора не выдал, осталось только в железе проверить, работает, как задумывалось @Komandir или нет.
Польза сообществу точно есть!
сравниваем, что там компилятор выдал:
твой код:
. Variables and constants in RAM (global, static), used 29140 / 80192 bytes (36%)
║ SEGMENT BYTES DESCRIPTION
╠══ DATA 1504 initialized variables
╠══ RODATA 1444 constants
╚══ BSS 26192 zeroed variables
. Instruction RAM (IRAM_ATTR, ICACHE_RAM_ATTR), used 60411 / 65536 bytes (92%)
║ SEGMENT BYTES DESCRIPTION
╠══ ICACHE 32768 reserved space for flash instruction cache
╚══ IRAM 27643 code in IRAM
. Code in flash (default, ICACHE_FLASH_ATTR), used 247768 / 1048576 bytes (23%)
║ SEGMENT BYTES DESCRIPTION
╚══ IROM 247768 code in flash
мой код:
. Variables and constants in RAM (global, static), used 29140 / 80192 bytes (36%)
║ SEGMENT BYTES DESCRIPTION
╠══ DATA 1504 initialized variables
╠══ RODATA 1444 constants
╚══ BSS 26192 zeroed variables
. Instruction RAM (IRAM_ATTR, ICACHE_RAM_ATTR), used 60411 / 65536 bytes (92%)
║ SEGMENT BYTES DESCRIPTION
╠══ ICACHE 32768 reserved space for flash instruction cache
╚══ IRAM 27643 code in IRAM
. Code in flash (default, ICACHE_FLASH_ATTR), used 247736 / 1048576 bytes (23%)
║ SEGMENT BYTES DESCRIPTION
╚══ IROM 247736 code in flash
у тебя есть рекурсия однако
Приехала Arduino Nano из Китая. Установил Arduino IDE из магазина Microsoft Store, так как к официальному сайту нет доступа. Залил скетч, размещённый Komandir в шапке этой темы, подключил батарею от нетбука Asus X101 с контроллером BQ20z45.
Вот информация из батареи;
Pack Info…
DesignCapacity: 2600 mAh
FullChargeCapacity: 2457 mAh
CycleCount: 129
Date: 2012.6.12
DesignVoltage: 10800 mV
ManufName: AS15CRF3iB
DeviceName: X101-26
SerialNumber: 1C33 Hex
ChargingCurrent: 0 mA
ChargingVoltage: 0 mV
DeviceChemistry: LGI0
Temperature: 23.70 C
Voltage: 12290 mV
Current: 0 mA
RelativeSOC: 100 %
AbsoluteSOC: 95 %
RemainingCapacity: 2454 mAh
VCELL4: 0 mV
VCELL3: 4100 mV
VCELL2: 4097 mV
VCELL1: 4093 mV
SpecificationInfo: 0031 Hex
Battery Status: 48C0 Hex
TCA|TDA|INIT|DSG|
Operation Status: 6443 Hex
FAS|SS|LDMD|DSG|VOK|QEN|
Sealed
Device Type: 0450 Hex
Firmware Version: 0105 Hex
Hardware Version: 00A6 Hex
Тут вроде бы все нормально, кроме двух флагов TCA и TDA. Батарея Sealed. Как сбросить эти флаги? Надо ли получать полный доступ к батарее, подбирая пароль?
Стандартные/дефолтные ключи из скетча не подходят ?
Что бы сработали обходные ключи - надо разряжать …
Стандартные не подходят. Разряжать, чтобы остаточная емкость стала равной нулю?
Должен быть 0
Разрядил, вот отчёт:
Pack Info…
DesignCapacity: 2600 mAh
FullChargeCapacity: 2381 mAh
CycleCount: 130
Date: 2012.6.12
DesignVoltage: 10800 mV
ManufName: AS15CRF3iB
DeviceName: X101-26
SerialNumber: 1C33 Hex
ChargingCurrent: 0 mA
ChargingVoltage: 0 mV
DeviceChemistry: LGI0
Temperature: 24.70 C
Voltage: 9049 mV
Current: 0 mA
RelativeSOC: 0 %
AbsoluteSOC: 0 %
RemainingCapacity: 0 mAh
VCELL4: 0 mV
VCELL3: 3055 mV
VCELL2: 2945 mV
VCELL1: 3050 mV
SpecificationInfo: 0031 Hex
Battery Status: 4AC0 Hex
TCA|TDA|RCA|INIT|DSG|
Operation Status: 6443 Hex
FAS|SS|LDMD|DSG|VOK|QEN|
Sealed
Device Type: 0450 Hex
Firmware Version: 0105 Hex
Hardware Version: 00A6 Hex
Ещё один флаг поднялся, RCA. Ну он, наверное, и должен был подняться. Дальше какие действия?
Вставил ключи в строки 28 и 29 вместо тех, которые там были, скомпилировал, залил. Не подошли. После 3 и 1 батарея Sealed.
Pack Info…
DesignCapacity: 2600 mAh
FullChargeCapacity: 2318 mAh
CycleCount: 131
Date: 2012.6.12
DesignVoltage: 10800 mV
ManufName: AS15CRF3iB
DeviceName: X101-26
SerialNumber: 1C33 Hex
ChargingCurrent: 0 mA
ChargingVoltage: 0 mV
DeviceChemistry: LGI0
Temperature: 23.60 C
Voltage: 9153 mV
Current: 0 mA
RelativeSOC: 0 %
AbsoluteSOC: 0 %
RemainingCapacity: 0 mAh
VCELL4: 0 mV
VCELL3: 3073 mV
VCELL2: 3046 mV
VCELL1: 3034 mV
SpecificationInfo: 0031 Hex
Battery Status: 4AC0 Hex
TCA|TDA|RCA|INIT|DSG|
Operation Status: 6443 Hex
FAS|SS|LDMD|DSG|VOK|QEN|
Sealed
Device Type: 0450 Hex
Firmware Version: 0105 Hex
Hardware Version: 00A6 Hex
Отчёты НЕ СОВПАДАЮТ !!!
Коды генерируются по КОНКРЕТНОЕ состояние батареи. Если Вы ею пользовались, то и коды нужны ДРУГИЕ !