Page 1 of 1

Juma PA-100D Version 2.00

PostPosted: 04 Aug 2015 12:03
by 5B4AIY
Version 2.00a changes the way that the EEPROM checksum is calculated and verified.

NOTE: Because this version uses a different algorithm to calculate the checksum there will be a checksum error message on initial boot after loading this firmware. This will force the default calibration and configuration data to be loaded. Please make a note of your existing calibration and configuration settings before loading. There are pages at the rear of the User Manual specifically intended for this data.

In all previous versions of the firmware a simple sum and complement scheme was used, and, whilst in the four years I have been making these modifications and responding to user requests I have not had a report of a failure of this, it has always concerned me that only the most gross EEPROM errors would be detected.

For example, suppose you had only two bytes to checksum, and the result was 5, using the summing method you cannot detect whether this is as a result of 5+0, 4+1, 3+2, 2+3, 1+4, or 0+5. A Cyclic Redundancy Check-code however would give 6 completely different checksums for these values, allowing you to reliably detect even subtle errors. In fact, using the simple 16-bit CRC algorithm I've incorporated in this firmware the results would be: 5+0 = A223, 4+1 = 0222, 3+2 = A1E1, 2+3 = 01E0, 1+4 = A0A3, and 0+5 = 00A2 showing that complimentary errors and transposition errors are detectable.

For a full description of the method, please see the comments associated with the crc_16() function in the file juma-trx2.c

If you are updating from an earlier version of my firmware, then assuming you noted your existing calibration and configuration data first, all that is required is to re-enter your data. If you are updating from an original firmware, then you will have to re-calibrate as the measurement system is completely different. However, as the bias is a hardware setting, this will not have changed, and only the software calibration constants will need resetting.


Adrian, 5B4AIY