|
Dobrica Pavlinušić's random unstructured stuff
B3603: Revision 21
B3606https://github.com/UsrnameTaken/B3606 D3806I have unit, there is no alternative firmware for this model but there is for: https://github.com/delboy711/BST900 https://www.falatic.com/index.php/161/minghe-buckboost-converters-handy-if-youre-careful B3603![]() working keys: https://github.com/nlitsme/b3603/network https://hackaday.io/project/4362-power-supply-b3603-alternative-firmware ![]()
Specification
Input voltage: 6V ~ 40V backup existing flashpi@rpi2 ~/stm8flash $ sudo ./stm8flash -c stlinkv2 -p stm8s003f3 -s eeprom -r b3606/eeprom.bin action = 1Determine EEPROM area Reading 128 bytes at 0x4000... OK Bytes received: 128 pi@rpi2 ~/stm8flash $ sudo ./stm8flash -c stlinkv2 -p stm8s003f3 -s flash -r b3606/flash.bin action = 1Determine FLASH area Reading 8192 bytes at 0x8000... OK Bytes received: 8192 pi@rpi2 ~/stm8flash $ sudo ./stm8flash -c stlinkv2 -p stm8s003f3 -s ram -r b3606/ram.bin action = 1Determine RAM area Reading 1024 bytes at 0x0... OK Bytes received: 1024 unprotect stm8 using stm8flashhttps://github.com/vdudouyt/stm8flash/issues/38#issuecomment-195123081 $ echo "00" | xxd -r -p >ROP_CLEAR.bin $ stm8flash -c stlinkv2 -p stm8s103f3 -s opt -w ROP_CLEAR.bin compilepi@rpi2 ~ $ git clone https://github.com/swegener/b3603 Cloning into 'b3603'... remote: Counting objects: 1109, done. remote: Total 1109 (delta 0), reused 0 (delta 0), pack-reus Receiving objects: 100% (1109/1109), 11.04 MiB | 2.90 MiB/s Resolving deltas: 100% (770/770), done. Checking connectivity... done. pi@rpi2 ~/b3603/stm8 $ sudo apt-get install sdcc pi@rpi2 ~/b3603/stm8 $ make Code fits the flash, it is 7930 dpavlin@nuc:/nuc/b3603/stm8$ uname -a Linux nuc 4.4.0-1-amd64 #1 SMP Debian 4.4.6-1 (2016-03-17) x86_64 GNU/Linux dpavlin@nuc:/nuc/b3603/stm8$ sdcc -v SDCC : mcs51/z80/z180/r2k/r3ka/gbz80/tlcs90/ds390/TININative/ds400/hc08/s08/stm8 3.5.0 #9253 (Mar 21 2016) (Linux) published under GNU General Public License (GPL) dpavlin@nuc:/nuc/b3603/stm8$ scp b3603.ihx rpi2:stm8flash/ flashpi@rpi2 ~/stm8flash $ sudo ./stm8flash -c stlinkv2 -p stm8s003f3 -w ./b3603.ihx action = 2Determine FLASH area Writing Intel hex file 8160 bytes at 0x8000... Tries exceeded # unprotect flash pi@rpi2 ~/stm8flash $ echo "00" | xxd -r -p >ROP_CLEAR.bin pi@rpi2 ~/stm8flash $ sudo ./stm8flash -c stlinkv2 -p stm8s003f3 -s opt -w ROP_CLEAR.bin action = 2Determine OPT area Writing binary file 1 bytes at 0x4800... OK Bytes written: 1 # serialdpavlin@x200:/x200/stm8$ microcom -p /dev/ttyUSB0 -s 38400 connected to /dev/ttyUSB0 Escape character: Ctrl-\ Type the escape character followed by c to get to the menu or q to quit B3603 starting: Version 1.0.1 pi@rpi2 ~/b3603/stm8 $ cat ~/b3603.sh #!/bin/sh -x microcom -s 38400 -p /dev/serial/by-path/platform-3f980000.usb-usb-0\:1.5.1\:1.0-port0 calibrate
pi@rpi2 ~/b3603/stm8 $ ./calibrate.py -a /dev/serial/by-path/platform-3f980000.usb-usb-0:1.5.1:1.0-port0 `readlink -f /dev/serial/by-path/platform-3f980000.usb-usb-0\:1.5.3\:1.0-port0` uni-t-ut61e-ser
OPEN "MODEL: B3603"
# ignored ['STATUS', '']
# ignored ['DONE']
# ignored ['']
PSU Input voltage is 12.144, will use 20 steps between 1.0 and 11.144
Setting voltage to 1.0
Multimeter samples vary too much, stddev=0.431414, data: [2.295, 1.6859, 1.2426]
Failed to read stable value, trying again, maybe
Step 0 Set voltage 1.000000 Read voltage 0.546833 PWM 210.0 ADC 197.0 (0.661)
Setting voltage to 1.5
Step 1 Set voltage 1.500000 Read voltage 1.007600 PWM 298.0 ADC 284.0 (1.153)
Setting voltage to 2.0
Step 2 Set voltage 2.000000 Read voltage 1.496967 PWM 387.0 ADC 373.0 (1.656)
Setting voltage to 2.5
Step 3 Set voltage 2.500000 Read voltage 1.980900 PWM 475.0 ADC 462.0 (2.159)
Setting voltage to 3.0
Step 4 Set voltage 3.000000 Read voltage 2.468333 PWM 564.0 ADC 551.0 (2.662)
Setting voltage to 3.5
Step 5 Set voltage 3.500000 Read voltage 2.952000 PWM 652.0 ADC 638.0 (3.153)
Setting voltage to 4.0
Step 6 Set voltage 4.000000 Read voltage 3.442000 PWM 741.0 ADC 727.0 (3.656)
Setting voltage to 4.5
Step 7 Set voltage 4.500000 Read voltage 3.925333 PWM 829.0 ADC 815.0 (4.153)
Setting voltage to 5.0
Step 8 Set voltage 5.000000 Read voltage 4.415000 PWM 918.0 ADC 0 (0)
Setting voltage to 5.5
sr: serial: Error setting serial port parameters (5): Input/output error.
No devices found.
Traceback (most recent call last):
File "./calibrate.py", line 327, in <module>
main()
File "./calibrate.py", line 318, in main
auto_calibration()
File "./calibrate.py", line 248, in auto_calibration
vout = dmm.sample3(3) # Use three samples
File "./calibrate.py", line 182, in sample3
s = self.sample1(count)
File "./calibrate.py", line 169, in sample1
data.append(self._sample())
File "./calibrate.py", line 158, in _sample
return float(s.split(' ')[1])
IndexError: list index out of range
|