3cf2cb38e7
stc15: reduce sleep after baudrate switch
...
We just sleep 200 ms, but apparently that's already too much with some
handshake baudrates. Cut it in half to fix
failures with "-l 9600" in some cases.
Addresses #17 .
2021-01-09 01:18:56 +01:00
384471f765
stc15: fix fuzzing test failure
2021-01-06 20:08:26 +01:00
df2fbc23cd
stc15: fix baudrate switching
...
Baudrate switching fixes for both HW and SW UART devices:
* Program secondary SW UART timing parameter correctly. Supposedly this
controls the sampling position when receiving data.
* Swap around trim range/adjust parameter for HW UART devices (as
determind by older traces)
* Use correct constant for timing calculations
This should fix some STC15x10xW series MCUs. Compatibility to other
devices might be improved as well.
Addresses #17 .
2021-01-06 19:56:46 +01:00
77df068efd
docs: note that you can actually read back EEPROM
2021-01-03 20:31:07 +01:00
2fb96d6236
docs: note autodetection incompatibilities
2021-01-03 20:30:41 +01:00
c2fd3ab710
Add -e/--erase option
...
Erases the flash memory without any programming. Mutually exclusive with
providing a file to flash.
2021-01-03 19:57:50 +01:00
0d5e8e645f
Revert "protocols: fix off-by-one in payload extraction"
...
This reverts commit 0e020f2aa4
.
Nothing needed fixing here. This strips off one byte too many.
2021-01-03 18:40:27 +01:00
1ec855e6a1
Revert "Add "stc89a" protocol"
...
This reverts commit c5d509d1fa
.
2021-01-03 18:36:05 +01:00
d708a00e9e
Revert "docs: add stc89a to protocol information"
...
This reverts commit 5c2950f084
.
2021-01-03 18:35:55 +01:00
5c2950f084
docs: add stc89a to protocol information
2021-01-03 16:52:44 +01:00
c5d509d1fa
Add "stc89a" protocol
...
This protocol variant is designed for newer STC89 series chips with BSL
version 7.x.x. The new firmware uses framing
with 16-bit checksum.
This protocol variant is currently untested because I don't have any
hardware at hand.
Addresses #50 , #40 .
2021-01-03 16:41:05 +01:00
0e020f2aa4
protocols: fix off-by-one in payload extraction
...
Drop all of the checksum bytes. This didn't take the end-of-frame marker
into account.
2021-01-03 16:10:05 +01:00
b46d81a184
Add ihex tests
...
Add basic ihex module tests for reading and writing.
2021-01-03 15:53:38 +01:00
ad5a532ab9
ihex: fix writer str/bytes confusion
...
The HEX writer was never tested/used before and didn't work. Some
leftovers from the Python 2 conversion are the culprit.
2021-01-03 15:51:48 +01:00
b3741af045
gitignore: add coverage report outputs
2021-01-03 14:11:52 +01:00
1e78d62f5d
Update installation instructions
...
Python 3.5 is required now.
2021-01-03 14:10:25 +01:00
d0597578de
Add additional reverse-engineering notes
2021-01-03 14:09:50 +01:00
eaeab65044
frontend: fix flash/eeprom padding
...
Fill space with 0xFF instead of 0x00. Addresses #58 .
2021-01-02 18:26:21 +01:00
a19fc406a3
Merge branch 'github-actions'
2021-01-02 18:14:57 +01:00
51ac52d3a3
Fix build status badge
...
Use GitHub Actions badge.
2021-01-02 18:13:29 +01:00
43dbb2ef64
README: fix coverage badge branch
2021-01-02 18:07:21 +01:00
d7ed8bd530
Fix coveralls integration
2021-01-02 18:06:19 +01:00
6b83017de9
Raise minimal Python version to 3.5
...
Newer PyYAML versions require Python 3.5.
Python 3.4 is EOL for some time and even 3.5 reached EOL recently. So
just switch to that as minimum version.
2021-01-02 17:24:44 +01:00
2d7ccf8b3d
Fix PyYAML warning
...
Use SafeLoader to get rid of warning.
2021-01-02 17:22:15 +01:00
77b3f0e1b7
Replace Travis CI with GitHub Actions
2021-01-02 15:24:46 +01:00
5d3214060b
Merge branch 'coveralls'
2018-11-13 03:18:07 +01:00
7e413b09ec
CI: disable PyPy3
...
There are some test-related issues with it, so disable it for now.
2018-11-13 03:16:52 +01:00
3aa08b67c0
CI: prefer pip to Debian packages
...
According to Travis CI docs, pip should be preferred.
2018-11-13 03:07:06 +01:00
42f93bc481
Add coveralls badge to README
2018-11-13 02:59:32 +01:00
dbfc1b3f50
CI: Add coveralls support
2018-11-13 02:52:46 +01:00
9d47588ad2
Add PyPI badge to README
2018-11-13 02:20:42 +01:00
217e5fb17e
CI: try to fix and simplify apt setup
...
Run apt update to update the package cache, as this seems to be needed by
Travis now. Also reduce the package set - we don't build any deb or rpm
packages anymore. This should hopefully fix the CI build.
2018-11-09 01:14:41 +01:00
3875b1f415
Note serial module name conflict in FAQ
...
See #35 for discussion.
2018-11-09 01:02:01 +01:00
8e31765cba
Add Quickstart documentation
2018-09-24 23:29:45 +02:00
75db655419
Update version to 1.6
...
Update version to 1.6 for both the Python package and the Debian package
metadata (untested).
v1.6
2018-09-24 23:01:13 +02:00
1c062ed0c7
Update documentation
...
Minor updates and improvements to the documentation.
2018-09-24 22:51:57 +02:00
4fe0a30072
Add test for untrimmed MCUs
...
Add a test that verifies that programming untrimmed MCUs results in
an error.
2018-09-24 22:15:43 +02:00
7d9f512b6d
Fix programing tests
...
The options mock object needs to have the "version" property, otherwise
tests always pass (they just end up calling the version info).
2018-09-24 22:14:29 +02:00
6544699a84
Minor FAQ rewording
2018-09-24 21:41:36 +02:00
f5089af93a
Remove note about stc8 support maturity
...
It's not experimental anymore.
2018-09-24 21:41:19 +02:00
bc829ce54c
frontend: catch unknown errors
...
Catch unknown error types in the first stage (connect/initialize).
Sometimes we unfortunately see unexpected exceptions, for instance
pyserial might throw termios.error. See #39 for more details.
2018-09-24 00:43:27 +02:00
97d0d1123b
frontend: add -V/--version flag
...
Add a new CLI flag to print version info and exit, like it is common.
2018-09-23 23:41:44 +02:00
5032b631bf
Drop documentation file installation
...
This doesn't work as I want it to work, after all. Don't install any
documentation for now.
2018-09-23 22:47:50 +02:00
9ae334ec25
Update installation instructions
...
Mention TQDM dependency and switch to official PyPI repositories.
2018-09-23 22:47:50 +02:00
05984a6c49
CI: drop deploy step
...
RPM/DEB packages are discontinued (they're unlikely to come back). Users
are encouraged to use PyPI instead.
2018-09-23 22:47:39 +02:00
e0e2ab5526
Update packaging data for PyPI
...
This makes some minor adjustments, plus some general updates. In short:
* Mark stcgal as stable
* Make tqdm and pyserial requirements more specific
* Add a new long description, specific for PyPI
* Add documentation files to distribution
v1.5
2018-09-23 22:04:52 +02:00
4cc0deb8e9
Prepare for v1.5
2018-09-23 20:42:06 +02:00
5ab2a73411
Merge pull request #45 from Seanjimon/add_tqdm_dependency
...
Add tqdm as required package. Otherwise missing dependency.
2018-09-20 18:06:10 +02:00
4a40d5613a
add tqdm as required package. Otherwise missing dependency
2018-09-20 17:15:42 +02:00
83c0b47f62
Update installation instructions
...
The easiest way to install is arguably by using pip, so recommend that.
2018-09-06 21:54:09 +02:00