Grigori Goronzy
482e6b139f
Merge pull request #62 from grigorig/fix-stc15f104w
...
stc15: fix baudrate switching
2021-01-09 02:01:29 +01:00
Grigori Goronzy
9202399a84
Add STC15F104W variant to compatibility list
2021-01-09 01:58:32 +01:00
Grigori Goronzy
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
Grigori Goronzy
384471f765
stc15: fix fuzzing test failure
2021-01-06 20:08:26 +01:00
Grigori Goronzy
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
Grigori Goronzy
77df068efd
docs: note that you can actually read back EEPROM
2021-01-03 20:31:07 +01:00
Grigori Goronzy
2fb96d6236
docs: note autodetection incompatibilities
2021-01-03 20:30:41 +01:00
Grigori Goronzy
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
Grigori Goronzy
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
Grigori Goronzy
1ec855e6a1
Revert "Add "stc89a" protocol"
...
This reverts commit c5d509d1fa
.
2021-01-03 18:36:05 +01:00
Grigori Goronzy
d708a00e9e
Revert "docs: add stc89a to protocol information"
...
This reverts commit 5c2950f084
.
2021-01-03 18:35:55 +01:00
Grigori Goronzy
5c2950f084
docs: add stc89a to protocol information
2021-01-03 16:52:44 +01:00
Grigori Goronzy
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
Grigori Goronzy
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
Grigori Goronzy
b46d81a184
Add ihex tests
...
Add basic ihex module tests for reading and writing.
2021-01-03 15:53:38 +01:00
Grigori Goronzy
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
Grigori Goronzy
b3741af045
gitignore: add coverage report outputs
2021-01-03 14:11:52 +01:00
Grigori Goronzy
1e78d62f5d
Update installation instructions
...
Python 3.5 is required now.
2021-01-03 14:10:25 +01:00
Grigori Goronzy
d0597578de
Add additional reverse-engineering notes
2021-01-03 14:09:50 +01:00
Grigori Goronzy
eaeab65044
frontend: fix flash/eeprom padding
...
Fill space with 0xFF instead of 0x00. Addresses #58 .
2021-01-02 18:26:21 +01:00
Grigori Goronzy
a19fc406a3
Merge branch 'github-actions'
2021-01-02 18:14:57 +01:00
Grigori Goronzy
51ac52d3a3
Fix build status badge
...
Use GitHub Actions badge.
2021-01-02 18:13:29 +01:00
Grigori Goronzy
43dbb2ef64
README: fix coverage badge branch
2021-01-02 18:07:21 +01:00
Grigori Goronzy
d7ed8bd530
Fix coveralls integration
2021-01-02 18:06:19 +01:00
Grigori Goronzy
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
Grigori Goronzy
2d7ccf8b3d
Fix PyYAML warning
...
Use SafeLoader to get rid of warning.
2021-01-02 17:22:15 +01:00
Grigori Goronzy
77b3f0e1b7
Replace Travis CI with GitHub Actions
2021-01-02 15:24:46 +01:00
Grigori Goronzy
5d3214060b
Merge branch 'coveralls'
2018-11-13 03:18:07 +01:00
Grigori Goronzy
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
Grigori Goronzy
3aa08b67c0
CI: prefer pip to Debian packages
...
According to Travis CI docs, pip should be preferred.
2018-11-13 03:07:06 +01:00
Grigori Goronzy
42f93bc481
Add coveralls badge to README
2018-11-13 02:59:32 +01:00
Grigori Goronzy
dbfc1b3f50
CI: Add coveralls support
2018-11-13 02:52:46 +01:00
Grigori Goronzy
9d47588ad2
Add PyPI badge to README
2018-11-13 02:20:42 +01:00
Grigori Goronzy
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
Grigori Goronzy
3875b1f415
Note serial module name conflict in FAQ
...
See #35 for discussion.
2018-11-09 01:02:01 +01:00
Grigori Goronzy
8e31765cba
Add Quickstart documentation
2018-09-24 23:29:45 +02:00
Grigori Goronzy
75db655419
Update version to 1.6
...
Update version to 1.6 for both the Python package and the Debian package
metadata (untested).
2018-09-24 23:01:13 +02:00
Grigori Goronzy
1c062ed0c7
Update documentation
...
Minor updates and improvements to the documentation.
2018-09-24 22:51:57 +02:00
Grigori Goronzy
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
Grigori Goronzy
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
Grigori Goronzy
6544699a84
Minor FAQ rewording
2018-09-24 21:41:36 +02:00
Grigori Goronzy
f5089af93a
Remove note about stc8 support maturity
...
It's not experimental anymore.
2018-09-24 21:41:19 +02:00
Grigori Goronzy
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
Grigori Goronzy
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
Grigori Goronzy
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
Grigori Goronzy
9ae334ec25
Update installation instructions
...
Mention TQDM dependency and switch to official PyPI repositories.
2018-09-23 22:47:50 +02:00
Grigori Goronzy
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
Grigori Goronzy
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
2018-09-23 22:04:52 +02:00
Grigori Goronzy
4cc0deb8e9
Prepare for v1.5
2018-09-23 20:42:06 +02:00
Grigori Goronzy
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