Now I find that most tooltips don't seem to work properly. This happens with every project I open or create, and varies depending on some unfathomable logic that escapes me.
For example, with the following consts defined :
Code: Select all
ADC_MAX_COUNT : word = 1023;
ADC_STEP_COUNT : word = (ADC_MAX_COUNT + 1);
ADC_MAX_VREF = 5.000; // volts
ADC_SCALING_FACTOR = ADC_MAX_VREF / ADC_MAX_COUNT; // 0.0048828125 V/step
ADC_TEMP_SCALING_FACTOR = ADC_SCALING_FACTOR * 100;
// These are the default temperature and triggers and prescaling values.
MAX_TEMP = 70;
MIN_TEMP = 30;
TEMP_RANGE = MAX_TEMP - MIN_TEMP;
for ADC_MAX_COUNT : "ADC_MAX_COUNT = 1023"
for ADC_MAX_VREF : "ADC_MAX_VREF = 5.00"
for ADC_STEP_COUNT : "ADC_STEP_COUNT = ..." (i.e. I have no idea whatsoever what the value is unless I use the calculator to do this for me)
for ADC_SCALING_FACTOR : "ADC_SCALING_FAC..." (ditto)
for ADC_TEMP_SCALING_FACTOR, MAX_TEMP, MIN_TEMP, and TEMP_RANGE : "" (i.e. nothing at all)
Needless to say, this is making debugging the compiler's code almost impossible.
I can't seem to find any way of increasing the tooltip length so I can see what the compiler is doing to my constants. I use the term advisedly - despite the manual stating that consts will automatically resize themselves to the minimum variable size needed to represent the constant value.
For example, using
ADC_STEP_COUNT = ADC_MAX_COUNT +1;
ADC_STEP_COUNT is set to 1, not 1024. This is definitely repeatable behaviour. Hence my acrobatics to not only manually override the constant type, but also using parentheses to force the compiler to represent the value properly.
I also find that the watch window defaults to displaying as decimal, unless I click the ellipsis, in which case it's displayed as hex format, but I have to manually do this for every watch I add.
And of course, I can't use the watch list to display any consts, which is the most frustrating of all, given the quixotic behaviour of the tooltips.
Should these be added to a buglist, and if so, how do I do this?
If I'm missing something blindingly obvious, please let me know where these problems are addressed.
I'm very sorry to sound so frustrated and negative, but I've just discovered that I've spent the past 5 hours NOT debugging my code (which actually works fine once I force the compiler to do what it's supposed to do out of the box), but debugging and working around the compiler and user interface.
Thanks.