When generating C89 code for a 64 bit CRC, then the reulting CRC was always 0 for thje bit-by-bit and bit-by-bit-fast algorithms. Some minor changes: - Using the --verbose option made pycrc quit without error message. - Updated the README file with the pycrc logo (sort of). - Small changes in the documentation.
Using the --verbose option made pycrc quit without error message.
* crc_symtable.py: When generating C code for the C89 or ANSI standard, don't include <stdint.h>. This closes issue 3338930 * crc_symtable.py: If no output file name is given while generating a C file, then pycrc will #include a hypothetical pycrc.h file instead of a stdout.h file. Also, added a comment on that line to make debugging easier. Closes issue 3325109. * crc_symtable.py: Removed unused variable "this_option_optind" in the generated option parser.
* all files: Updated the copyright year. Fixed some coding style issues found by pylint and pychecker. 2010-12-13 * crc_opt.py: Substituted the deprecated function atoi() with int(). Closes issue 3136566. Thanks to Tony Smith. * doc/pycrc.xml: Updated the documentation using Windows-style calls to the Python interpreter.
* crc_symtable.py: Fixed a minor bug in the command line parsing of the generated main function. 2010-08-07 * crc_symtable.py, crc_parser.py, crc_lexer.py: Rewritten macro parser from scratch. Simplified the macro language. 2010-08-03 * crc_symtable.py: changed a simple division (/) to a integer division (//) for Python3 compatibility.
* crc_symtable.py: C/C++ code can now be generated for the table-driven algorithm with widths that are not byte-ligned or less than 8. W A R N I N G: introduced new variable crc_shift, member of the crc_cfg_t structure, that must be initialised manually when the width was undefined during C/C++ code generation. 2010-03-27 * crc_opt.py, crc_algorithms.py: Python implementation of the table-driven algorithm can handle widths less than 8. * crc_symtable.py: Suppressed warnings of unused cfg structure on partially defined models. 2010-03-26 * pycrc.py, crc_opt.py, crc_algorithms.py, crc_symtable.py: Removed half-baken and confusing --direct option. 2010-02-10 * pycrc.py, crc_opt.py: minor code cleanup.
* crc_models.py: changed the xor-in value of the crc-64-jones model. * crc_models.py: Set xmodem parameters equal to the zmodem params. 2009-12-29 * pycrc.py, crc_opt.py, crc_parser: uniform error messages. * crc_opt.py: added a warning for even polynoms. 2009-11-12 * crc_models.py: added crc-16-modbus. Closes issue 2896611. 2009-11-07 * crc_opt.py: Fix for unused variable argv. Closes issue 2893224. Thanks to Marko von Oppen.
* crc_algorithms.py: code tidy-up. * crc_algorithms.py, crc_opt.py: added --direct option. * crc_symtable.py: added --direct option for the generated code. 2009-02-03 * crc_opt.py: added --check-hexstring option. Closes issue 2545183. Thanks to Arnim Littek. 2009-01-31 * crc_opt.py: added a check for extra arguments on the command line. Closes issue 2545185. Thanks to Arnim Littek. 2008-12-24 * doc/pycrc.xml: Added one more example.
* crc_models.py: added dallas-1-wire 8 bit CRC. 2008-02-07 * crc_symtable.py: fixed a problem with the generated code for bit-by-bit-fast algorithms. Thanks to Hans Bacher. 2007-12-19 * crc_models.py: added r-crc-16 model (DECT (cordless digital standard) packets A-field according to ETSI EN 300 175-3 v2.1.1). Thanks to "raimondo". 2007-12-10 * crc_symtable.py: added extern "C" declaration to the generated C header file. Thanks to Nathan Royer. 2007-12-10 * crc_algorithms.py: changed the API to take the CRC model direct as parameter. Deleted the need for an obscure "opt" object. 2007-12-09 * crc_opt.py: added --crc-type and --include-file options. * crc_models.py: added new file to handle CRC models
* crc_symtable.py: fixed some portability problems in the generated code. Thanks to Helmut Bauer. Closes issue 1812894 2007-09-10 * crc_opt.py: added new models: crc-5, crc-15, crc-16-usb, crc-24, crc-64. The new models are taken from Ray Burr's CrcMoose. * pycrc.py: --check-file works now with --width < 8. Closes issue 1794343 * pycrc.py: Removed unnecessary restriction on the width when using the bit-by-bit-fast algorithm. Closes issue 1794344
* crc_opt.py: the parameter to --check-string was ignored. Closes issue 1781637 * pycrc.py: the parameter to --check-string was ignored. Closes issue 1781637 2007-08-18 * crc_symtable.py: simplified the table-driven code. Closes issue 1727128 2007-08-18 * crc_parser.py: changed the macro language syntax to a better format * crc_lexer.py: changed the macro language syntax to a better format * crc_symtable.py: changed the macro language syntax to a better format * crc_parser.py: Renamed crc_code_gen.py to crc_parser.py * all files: Documented thge usage of the crc_* modules
* test/test.sh: Added test for C89 compilation * test/main.c: Added a test case to loop over the input bytes one by one * crc_symtable.py: Bugfix in the source code generator for C89: Compilation error due to mismatch of parameters in the crc_finalize funtion * crc_symtable.py: Changes related to 919107: Code generator includes reflect() function even if not needed 2007-07-22 * crc_symtable.py: Fixed a typo in the C89 source code generator. Thanks to Helmut Bauer 2007-06-10 * all files: Tidied up the documentation * all files: Code cleanup 2007-05-15 * crc_opt.py: Deleted obsolete options
* crc_opt.py: Added the --std option to generate C89 (ANSI) compliant code * crc_symtable.py: Reduced the size of the symbol table by re-arranging items 2007-05-13 * test/test.sh: Added a new check to the test script which validate all possible combination of undefined parameters * crc_code_gen.py: Made the generated main function cope with command line arguments 2007-05-12 * pycrc.py: Added the --generate table option * pycrc.py: Added a template engine for the code generation. Split up pycrc.py into smaller modules 2007-04-11 * pycrc.py: Added obsolete options again tor legacy reasons. Added a better handling of the --model parameter. 2007-04-07 * pycrc.py: Changed licence to the MIT licence. This makes the additional clause for generated source code obsolete. Changed all command line options with underscores to hyphen (e.g. table_driven becomes table-driven). Added the option --generate which obsoletes the old options --generate_c --generate_h etc.
* pycrc.py: Eliminated needless documentation of not generated functions 2007-01-23 * pycrc.py: Added more parameter sets (now supported: crc-8, crc-16, citt, kermit, x-25, xmodem, zmodem, crc-32, crc-32c, posix, jam, xfer) from http://homepages.tesco.net/~rainstorm/crc-catalogue.htm * doc/pycrc.xml: Many corrections to the manual (thanks Francesca) Documented the new parameter sets * test/test.sh: added some new tests, disabled the random loop 2007-01-21 * pycrc.py: Added Doxygen documentation strings to the functions. Added the --symbol_prefix option Added the --check_file option * doc/pycrc.xml: Corrected many typos and bad phrasing (still a lot to do) Documented the --symbol_prefix option 2007-01-17 * test/test.sh: Added a non-regression test on the generated C source