Commit Graph

238 Commits

Author SHA1 Message Date
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
Simon Lemonnier
4a40d5613a add tqdm as required package. Otherwise missing dependency 2018-09-20 17:15:42 +02:00
Grigori Goronzy
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
Grigori Goronzy
b0e882ff32 Merge branch 'better-docs' 2018-09-06 21:07:49 +02:00
Grigori Goronzy
ccd4b1e26b Restructure documentation
Move all extra documentation files into doc/ and move reverse
engineering related notes to a separate directory, to keep things tidy.
2018-09-04 00:31:43 +02:00
Grigori Goronzy
71d7257422 Split up documentation
Split up the giant README.md file into INSTALL, MODELS and USAGE
sections. The new sections are linked from README.
2018-08-31 21:22:46 +02:00
Grigori Goronzy
0ff7e16f38 Add FAQ
Addresses a bunch of common questions gathered from GitHub issues.
2018-08-31 20:31:19 +02:00
Grigori Goronzy
aca713595b Add STC8F2K08S2 to compatibility report
Seems to work just fine after some testing: flash programming,
EEPROM programming and options appear to work correctly.
2018-08-25 04:28:21 +02:00
Grigori Goronzy
69b83f0ea1 Update model database
Update model database from STC-ISP v6.86O. This is needed for the
STC8F2 series.
2018-08-25 04:16:26 +02:00