Der erste Versuch war, die Drohne mit meinen Akkus zu testen. Dabei stellt sich raus, dass meine Akkus auch nicht mehr funktionieren. Und zwar weil sie deaktiviert wurden, nachdem sie zu lange nicht benutzt wurden.
Ich dokumentiere hier meine Versuche, die Akkus wiederzubeleben.
Erster Versuch: Ein Raspberry Pi und dieses Paket: https://github.com/o-gs/dji-firmware-tools
Versuchsaufbau:
Damit der Raspi die i2c Schnittstelle korrekt aktiviert hat, müssen diese Einträge in die /boot/config.txt:
Code: Alles auswählen
dtparam=i2c_arm=on
dtparam=i2c_baudrate=66000
dtparam=i2cl_baudrate=66000
dtparam=i2c_arm_baudrate=66000
Code: Alles auswählen
sudo python3 ./comm_sbs_bqctrl.py -c BQ40z307 sealing Unseal
Code: Alles auswählen
MA.OperationStatus: 0x00027380 bitfields Operational Status bits
SYS_PRESENT_LOW: 0=Inactive [PRES] System present input state low
DSG_FET_STATUS: 0=Inactive [DSG] Discharge FET status
CHG_FET_STATUS: 0=Inactive [CHG] Charge FET Status
PCHG_FET_STATUS: 0=Inactive [PCHG] Precharge FET Status
FUSE_STATUS: 0=Inactive [FUSE] FUSE input status
SMOOTHING: 0=Inactive [SMOTH] CEDV Smoothing status
TRIP_POINT_INTR: 1=Active [BTPI] Battery Trip Point Interrupt
SECURITY_MODE: 3=Sealed [SEC] Security Mode
SHUTDOWN_LOW_VOLT: 0=Inactive [SDV] Shutdown triggered via low pack voltage
SAFETY_STATUS: 0=Inactive [SS] Safety mode status
PERMANENT_FAILURE: 1=Active [PF] Permanent Failure mode status
DISCHARGING_DISABLED: 1=Active [XDSG] Discharging Disabled
CHARGING_DISABLED: 1=Active [XCHG] Charging Disabled
SLEEP_MODE: 0=Inactive [SLEEP] Sleep mode condition met
SHUTDOWN_BY_MA: 0=Inactive [SDM] Shutdown activated by SMBus command
LED_DISPLAY: 1=On [LED] LED Display state
AUTH_ONGOING: 0=Inactive [AUTH] Authentication ongoing
AUTO_CC_OFFS_CALIB: 0=Cal Done [ACALM] Auto CC offset calibration by SMBus cmd
RAW_ADC_CC_OUTPUT: 0=Inactive [CALOC] Raw ADC/CC data calibration output
RAW_CCOFFS_OUTPUT: 0=Inactive [CALOO] Raw CC offset data calibration output
XLOW_SPEED_STATE: 0=Inactive [XL] 400 kHz transmission SMBus mode
SLEEP_BY_MA: 0=Inactive [SLEPM] SLEEP mode activated by SMBus command
INIT_AFTER_RESET: 0=Inactive [INIT] Initialization after full reset
SMB_CAL_ON_LOW: 0=Not in Cal [SLCAL] Auto CC calibration when the bus is low
ADC_MEAS_IN_SLEEP: 0=Inactive [SLPAD] ADC Measurement in SLEEP mode
CC_MEAS_IN_SLEEP: 0=Inactive [SLPCC] Current Check measurement in SLEEP mode
CELL_BALANCING: 0=Inactive [CB] Cell balancing status
EMERGENCY_SHUTDOWN: 0=Inactive [EMSHT] Emergency Shutdown
[EDIT]
Ich bin einen Schritt weiter, den entscheidenen Hinweis habe ich hier gefunden: https://github.com/o-gs/dji-firmware-tools/issues/258
Diese 3 Befehle setzen das Sperrflag nun erfolgreich zurück:
Code: Alles auswählen
sudo python3 ./comm_sbs_bqctrl.py -c BQ40z307 sealing --i32key 0xCCDF7EE0 Unseal
sudo python3 ./comm_sbs_bqctrl.py -c BQ40z307 trigger ManufacturerAccess.PermanentFailDataReset
sudo python3 ./comm_sbs_bqctrl.py -c BQ40z307 sealing --i32key 0xCCDF7EE0 Seal
Wenn der vollständig geladen ist, teste ich, ob die Drohne ihn akzeptiert