List of Resolved Bugs
Bug 051229301: Some libraries have "dirty" code
Bug ID: #051229301
Submitted by: rajkovic
Severity: Moderate
Status: resolved since 5.0.0.1
Description:
manchester and Rs485 libraries have some "dirty" code in them, and are doing some unnecessary and improper pin settings on PORTC/TRISC registers. Unfortunately, some test code snippets have not been removed from the library before the build (of the .mcl files).
Workaround:
Please re-set all the pins on PORTC you intend to use, after performing Init() from one of the aforementioned functions.
Notes:
Both on P16 and P18.
-
Submitted by: rajkovic
Severity: Moderate
Status: resolved since 5.0.0.1
Description:
manchester and Rs485 libraries have some "dirty" code in them, and are doing some unnecessary and improper pin settings on PORTC/TRISC registers. Unfortunately, some test code snippets have not been removed from the library before the build (of the .mcl files).
Workaround:
Please re-set all the pins on PORTC you intend to use, after performing Init() from one of the aforementioned functions.
Notes:
Both on P16 and P18.
-
Bug 051018301: Spi_Init() overrides all pins on PORTC
Bug ID: #051018301
Submitted by: sisko
Severity: Minor
Status: Resolved since 5.0.0.1;
Description:
After execution of Spi_Init() call all pins of the port where SPI (MSSP) module is located that are not used by the SPI itself are set as inputs. In other words it will override any previous settings of the appropriate TRIS register.
Workaround:
Perform TRISx settings after calling Spi_Init().
Notes:
Both on P16 and P18.
-
Submitted by: sisko
Severity: Minor
Status: Resolved since 5.0.0.1;
Description:
After execution of Spi_Init() call all pins of the port where SPI (MSSP) module is located that are not used by the SPI itself are set as inputs. In other words it will override any previous settings of the appropriate TRIS register.
Workaround:
Perform TRISx settings after calling Spi_Init().
Notes:
Both on P16 and P18.
-
Last edited by pizon on 14 Feb 2006 10:02, edited 1 time in total.
Bug 051228301: Local vars (elimination) 5.0 Vs. Lo, Hi
Bug ID: #051228301
Submitted by: multiple sources
Severity: Minor
Status: Resolved since 5.0.0.1;
Description:
Linker reports: Argument not found, Bank not found errors for local variables.
This is conflict between local var optimization (elimination) and use
of Lo,Hi,Higher,Highest built-in.
This type of conflict can also emerge for bit access over f0..f1 to
local vars.
Workaround:
append to local vars declaration that causes problem, or change local var to global
Notes:
Both on P16 and P18.
-
Submitted by: multiple sources
Severity: Minor
Status: Resolved since 5.0.0.1;
Description:
Linker reports: Argument not found, Bank not found errors for local variables.
This is conflict between local var optimization (elimination) and use
of Lo,Hi,Higher,Highest built-in.
This type of conflict can also emerge for bit access over f0..f1 to
local vars.
Workaround:
append
Code: Select all
volatile
Notes:
Both on P16 and P18.
-
pizon
Bug 060118302: Incorrect work of modulus <%> operator
Bug ID: #060118302
Submitted by: multiple sources
Severity: Moderate
Status: Resolved since 5.0.0.2
Description:
Modulus <%> operation yields incorrect results for divisor arguments that are power of two, as well as for negative divisors.
Workaround:
Calculate modulus indirectly, through the division operation.
Notes:
Both on PIC16 and PIC18
-
Submitted by: multiple sources
Severity: Moderate
Status: Resolved since 5.0.0.2
Description:
Modulus <%> operation yields incorrect results for divisor arguments that are power of two, as well as for negative divisors.
Workaround:
Calculate modulus indirectly, through the division operation.
Notes:
Both on PIC16 and PIC18
-
Last edited by pizon on 14 Feb 2006 10:03, edited 1 time in total.
Bug 060118311 - Erroneous biwise logical operations on longs
Bug ID: #060118311
Submitted by: multiple sources
Severity: Moderate
Status: Resolved since 5.0.0.2
Description:
Biwise logical operations (&, |, ^) on variables of type long and 2-byte constants (e.g. 18423) give erratic results;
Workaround:
None.
Notes:
Both on PIC16 and PIC18
-
Submitted by: multiple sources
Severity: Moderate
Status: Resolved since 5.0.0.2
Description:
Biwise logical operations (&, |, ^) on variables of type long and 2-byte constants (e.g. 18423) give erratic results;
Workaround:
None.
Notes:
Both on PIC16 and PIC18
-
pizon
Bug 060118301 OneWire library messes up various registers
Bug ID: #060118301
Submitted by: reab
Severity: Moderate
Status: Resolved since 5.0.0.2
Description:
Use of OneWire library function Ow_Reset() under certain conditions does not handle FSR register properly, resulting in uncontrollable application behaviour.
Workaround:
None.
Notes:
Library bug, both on PIC16 and PIC18
-
Submitted by: reab
Severity: Moderate
Status: Resolved since 5.0.0.2
Description:
Use of OneWire library function Ow_Reset() under certain conditions does not handle FSR register properly, resulting in uncontrollable application behaviour.
Workaround:
None.
Notes:
Library bug, both on PIC16 and PIC18
-
Last edited by pizon on 19 Jan 2006 14:47, edited 1 time in total.
Bug 060118303: Lcd8_Config() not working
Bug ID: #060118303
Submitted by: multiple sources
Severity: Minor
Status: Resolved since 5.0.0.2
Description:
The Built-in Lcd8_Config() function fails to initialize the (character) LCD module in 8-bit data interface mode.
Workaround:
Perform Init for 8-bit data interface manually.
Notes:
Library bug, PIC16 devices only.
-
Submitted by: multiple sources
Severity: Minor
Status: Resolved since 5.0.0.2
Description:
The Built-in Lcd8_Config() function fails to initialize the (character) LCD module in 8-bit data interface mode.
Workaround:
Perform Init for 8-bit data interface manually.
Notes:
Library bug, PIC16 devices only.
-
Bug 060118304: <Glcd_Fonts> must be included manually
Bug ID: #060118304
Submitted by: rajkovic
Severity: Minor
Status: Resolved since 5.0.0.2
Description:
The Glcd_Fonts library was not included in definition files and must be included manually in project;
Workaround:
Add Glcd_Fonts.mcl directly to project where you use it (Project->Add to Project);
Notes:
Library bug, PIC18 only.
-
Submitted by: rajkovic
Severity: Minor
Status: Resolved since 5.0.0.2
Description:
The Glcd_Fonts library was not included in definition files and must be included manually in project;
Workaround:
Add Glcd_Fonts.mcl directly to project where you use it (Project->Add to Project);
Notes:
Library bug, PIC18 only.
-
Bug 060118305: const pointers and pointers to const
Bug ID: #060118305
Submitted by: multiple sources
Severity: Moderate
Status: Resolved since 5.0.0.2
Description:
Compiler handles arrays of const pointers as well as arrays of pointers to const values incorrectly in some cases, making them very hard to use.
Workaround:
Avoid using the aforementioned objects in your code.
Notes:
Both on PIC16 and PIC18
-
Submitted by: multiple sources
Severity: Moderate
Status: Resolved since 5.0.0.2
Description:
Compiler handles arrays of const pointers as well as arrays of pointers to const values incorrectly in some cases, making them very hard to use.
Workaround:
Avoid using the aforementioned objects in your code.
Notes:
Both on PIC16 and PIC18
-
Bug 060118308: typedef'd unsigned short can't be negated
Bug ID: #060118308
Submitted by: Mary Nicholls
Severity: Minor
Status: Resolved since 5.0.0.2
Description:
Bitwise negation over a variablewhich is typedef-ed as unsigned char produces <<General Exception>> and the code does not get compiled. Example:
Workaround:
Instead of C-langugage specifier typedef, use the preprocessor:
Notes:
Both on PIC16 and PIC18
-
Submitted by: Mary Nicholls
Severity: Minor
Status: Resolved since 5.0.0.2
Description:
Bitwise negation over a variablewhich is typedef-ed as unsigned char produces <<General Exception>> and the code does not get compiled. Example:
Code: Select all
...
typedef unsigned short t_byte;
...
t_byte lus1;
...
something = ~lus1;
Instead of C-langugage specifier typedef, use the preprocessor:
Code: Select all
#define t_byte unsigned short
Both on PIC16 and PIC18
-
Bug 060118310: AdcLib_A_A: Acd_Read() instead of Adc_Read()
Bug ID: #060118310
Submitted by: Praveen Kumar
Severity: Minor
Status: Resolved since 5.0.0.2
Description:
There is a typo in AdcLib_A_A library: instead of standard Adc_Read(), Acd_Read() function is defined;
Workaround:
Instead of Adc_Read(), type Acd_Read()...
Notes:
Library bug, afects the following devices: P16F716, P16F72, P16F73, P16F74, P16F76, P16F77;
-
Submitted by: Praveen Kumar
Severity: Minor
Status: Resolved since 5.0.0.2
Description:
There is a typo in AdcLib_A_A library: instead of standard Adc_Read(), Acd_Read() function is defined;
Workaround:
Instead of Adc_Read(), type Acd_Read()...
Notes:
Library bug, afects the following devices: P16F716, P16F72, P16F73, P16F74, P16F76, P16F77;
-
Bug ID: #060207302
Submitted by: srdjan
Severity: Major (5.0.0.0, 5.0.0.1, 5.0.0.2 )
Status: Resolved, since version 5.0.0.3
Description:
Adding unnamed bitfields (padding) in struct and union objects can in some cases cause improper address resolve for member object's members.
Workaround:
Do not use bitfield padding within structures and unions.
-
Submitted by: srdjan
Severity: Major (5.0.0.0, 5.0.0.1, 5.0.0.2 )
Status: Resolved, since version 5.0.0.3
Description:
Adding unnamed bitfields (padding) in struct and union objects can in some cases cause improper address resolve for member object's members.
Workaround:
Do not use bitfield padding within structures and unions.
-
Bug ID: #060206301
Submitted by: srdjan
Severity: Major (5.0.0.0, 5.0.0.1, 5.0.0.2 )
Status: Resolved, since version 5.0.0.3
Description:
Like local const variables, local static variables can also cause unexpected programme behaviour in certain code combinations.
Workaround:
Do not use local static variables, use global ones instead until the bug gets resolved.
-
Submitted by: srdjan
Severity: Major (5.0.0.0, 5.0.0.1, 5.0.0.2 )
Status: Resolved, since version 5.0.0.3
Description:
Like local const variables, local static variables can also cause unexpected programme behaviour in certain code combinations.
Workaround:
Do not use local static variables, use global ones instead until the bug gets resolved.
-
Last edited by pizon on 14 Feb 2006 10:03, edited 1 time in total.