# # Version 0.7.10, 2012-02-13 # 2012-02-08 Thomas Pircher * crc_symtable.py: Bad-looking C code generated; make sure the bit-by-bit(fast) code does not contain two instructions on one line. Thanks to "intgr" for the fix. * crc_symtable.py: Some small code clean-up: use set() when appropriate. 2011-12-19 Thomas Pircher * crc_models.py: * doc/pycrc.xml: Added the models crc-12-3gpp, crc-16-genibus, crc-32-bzip2 and crc-64-xz. Taken from Greg Cook's Catalogue of parametrised CRC algorithms: http://regregex.bbcmicro.net/crc-catalogue.htm 2011-12-14 Thomas Pircher * doc/pycrc.xml: Fixed a mistake in the man page that still used the old model name crc-32mpeg instead of crc-32-mpeg. Thanks to Marek Erban. # # Version 0.7.9, 2011-12-08 # 2011-12-08 Thomas Pircher * crc_symtable.py: Fixed a bug in the generated C89 code that included stdint.h. Thanks to Frank (ftheile). Closes issue 3454356. 2011-11-08 Thomas Pircher * crc_symtable.py: Fixed a bug in the generated C89 code when using a 64 bit CRC. * pycrc.py: Using the --verbose option made pycrc quit without error message. # # Version 0.7.8, 2011-07-10 # 2011-07-10 Thomas Pircher * crc_symtable.py: When generating C code for the C89 or ANSI standard, don't include . 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. # # Version 0.7.7, 2011-02-11 # 2011-02-11 Thomas Pircher * all files: Updated the copyright year. Fixed some coding style issues found by pylint and pychecker. 2010-12-13 Thomas Pircher * 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. # # Version 0.7.6, 2010-10-21 # 2010-10-21 Thomas Pircher * crc_symtable.py: Fixed a minor bug in the command line parsing of the generated main function. 2010-08-07 Thomas Pircher * crc_symtable.py, crc_parser.py, crc_lexer.py: Rewritten macro parser from scratch. Simplified the macro language. 2010-08-03 Thomas Pircher * crc_symtable.py: changed a simple division (/) to a integer division (//) for Python3 compatibility. # # Version 0.7.5, 2010-03-28 # 2010-03-27 Thomas Pircher * 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 Thomas Pircher * 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 Thomas Pircher * pycrc.py, crc_opt.py, crc_algorithms.py, crc_symtable.py: Removed half-baken and confusing --direct option. 2010-02-10 Thomas Pircher * pycrc.py, crc_opt.py: minor code cleanup. # # Version 0.7.4, 2010-01-24 # 2010-01-24 Thomas Pircher * 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 Thomas Pircher * pycrc.py, crc_opt.py, crc_parser: uniform error messages. * crc_opt.py: added a warning for even polynoms. 2009-11-12 Thomas Pircher * crc_models.py: added crc-16-modbus. Closes issue 2896611. 2009-11-07 Thomas Pircher * crc_opt.py: Fix for unused variable argv. Closes issue 2893224. Thanks to Marko von Oppen. # # Version 0.7.3, 2009-10-25 # 2009-10-25 Thomas Pircher * crc_models.py: renamed crc-32mpeg to crc-32-mpeg. 2009-10-19 Thomas Pircher * crc_models.py: added crc-64-jones CRC model. Thanks to Waterspirit. # # Version 0.7.2, 2009-09-30 # 2009-09-30 Thomas Pircher * pycrc.py: fixed a bug that caused the result of the Python table-driven code not being evaluated at all. Closes issue 2870630. Thanks to Ildar Muslukhov. # # Version 0.7.1, 2009-04-05 # 2009-03-26 Thomas Pircher * crc_models.py: added crc-32mpeg. Thanks to Thomas Edwards. # # Version 0.7, 2009-02-27 # 2009-02-15 Thomas Pircher * 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 Thomas Pircher * crc_opt.py: added --check-hexstring option. Closes issue 2545183. Thanks to Arnim Littek. 2009-01-31 Thomas Pircher * crc_opt.py: added a check for extra arguments on the command line. Closes issue 2545185. Thanks to Arnim Littek. 2008-12-24 Thomas Pircher * doc/pycrc.xml: Added one more example. # # Version 0.6.7, 2008-12-11 # 2008-12-11 Thomas Pircher * all files: run Python's 2to3 script on the files. * all files: check the code on a x64 platform. * crc_opt.py: fixed a bug that raised an exception when an unknown model was selected. # # Version 0.6.6, 2008-06-05 # 2008-06-05 Thomas Pircher * crc_symtable.py: fixed a bug in the print_params function. Closes issue 1985197. Thanks to Artur Lipowski. 2008-03-03 Thomas Pircher * pycrc.xml: new license: Creative Commons Attribution-Share Alike 3.0 Unported License. # # Version 0.6.5, 2008-03-03 # 2008-03-02 Thomas Pircher * crc_models.py: added dallas-1-wire 8 bit CRC. 2008-02-07 Thomas Pircher * crc_symtable.py: fixed a problem with the generated code for bit-by-bit-fast algorithms. Thanks to Hans Bacher. 2007-12-19 Thomas Pircher * 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 Thomas Pircher * crc_symtable.py: added extern "C" declaration to the generated C header file. Thanks to Nathan Royer. 2007-12-10 Thomas Pircher * 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 Thomas Pircher * crc_opt.py: added --crc-type and --include-file options. * crc_models.py: added new file to handle CRC models # # Version 0.6.4, 2007-12-05 # 2007-12-05 Thomas Pircher * crc_symtable.py: fixed a bug in the code generator for the table-driven algorithm. Thanks to Tom McDermott. Closes issue 1843774 # # Version 0.6.3, 2007-10-13 # 2007-10-13 Thomas Pircher * crc_symtable.py: fixed some portability problems in the generated code. Thanks to Helmut Bauer. Closes issue 1812894 2007-09-10 Thomas Pircher * 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 # # Version 0.6.2, 2007-08-25 # 2007-08-25 Thomas Pircher * 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 Thomas Pircher * crc_symtable.py: simplified the table-driven code. Closes issue 1727128 2007-08-18 Thomas Pircher * 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 # # Version 0.6.1, 2007-08-12 # 2007-08-12 Thomas Pircher * 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 Thomas Pircher * crc_symtable.py: Fixed a typo in the C89 source code generator. Thanks to Helmut Bauer 2007-06-10 Thomas Pircher * all files: Tidied up the documentation * all files: Code cleanup 2007-05-15 Thomas Pircher * crc_opt.py: Deleted obsolete options # # Version 0.6, 2007-05-21 # 2007-05-15 Thomas Pircher * 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 Thomas Pircher * 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 Thomas Pircher * 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 Thomas Pircher * pycrc.py: Added obsolete options again tor legacy reasons. Added a better handling of the --model parameter. 2007-04-07 Thomas Pircher * 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. # # Version 0.5, 2007-03-25 # 2007-03-25 Thomas Pircher * pycrc.py: Fixed bug 1686404: unhandled exception when called with both options --table_idx_width and --check_file * pycrc.py: Eliminated useless declaration of crc_reflect, when not used * pycrc.py: Corrected typos in the documentation # # Version 0.4, 2007-01-26 # 2007-01-27 Thomas Pircher * pycrc.py: Eliminated needless documentation of not generated functions 2007-01-23 Thomas Pircher * 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 Thomas Pircher * 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 Thomas Pircher * test/test.sh: Added a non-regression test on the generated C source # # Version 0.3, 2007-01-14 # 2007-01-14 Thomas Pircher * pycrc.py: first public release pycrc v0.3