Okay, I understand.
I can imagine there are other ways to go around this for this specific
case, but as you said: there are many other cases to consider.
At least for this chip it works (and even the specs say 'the pins are
not there' and not 'usupported combination'. So it okay until proven
otherwise.

Joep

2010/10/5 Sebastien Lelong <[email protected]>:
>
>
> 2010/10/4 Joep Suijs <[email protected]>
>>
>> > No, I don't think so, if you look at adc_channels.jal, line 460,
>> > ADC_PCFG_MAP is defined for 16f877a. If you read the array triplet by
>> > triplet, you'll see 5 ADC channels config is different from 6. You'll
>> > also
>> > see 5/0 is configured with 0b0010 in this case, and 6 is configured with
>> > 0b1001... If you want more information, I need to use print...
>>
>> So why is this different for 16f876a?
>
> Because 16f876 has less analogs than 16f877 (5 vs. 8). Now how does it
> impact bits configuration ? The algorithm goes like this (see
> tools/adc/adc_channels.jal.tmpl):
>   - for each PICs found in a datasheet, groups them using the number of
> available analog pins. For datasheet 39582, we have 4 PICs, grouped by 2.
> One group has 5 analogs (16F876A, 16F873A), another has 8 analogs
> (16F877A, 16F874A). See line ~160 in tmpl file, there's a comment,
> unfinished though :)
>   - now, for each group, we consider the table declaring the different bit
> combinations (page 128). This can be found in pinmap.py in a more
> programmatic fashion. The "problem" is this is a full representation of the
> table (all columns, that is, all analog pins).
>   - so a first step is to "prune" this table to match the number of
> available analog pins. For our first group with 5 analogs, it's just as if
> we've removed the first three column (AN7, AN6, AN5). Ignoring these cols
> and re-computing again the number of configured analogs (5/0, 6/1, ...), you
> now understand why there are multiple combination for 5 analogs in our first
> group.
>   - for the second group, all analog pins found in this table are found in
> the PICs (8). so the table isn't pruned, all combination are kept.
>
> I hope this explains better why 16f876 and 16f877 aren't processed the same
> way. As I said, there are many information to be compiled/considered when
> generating ADC libs, this can make it tricky. I tried to comment as much as
> I can (in tmpl mostly - the right  place), provided I finish my sentences :)
>
> Cheers,
> Seb
>
> --
> You received this message because you are subscribed to the Google Groups
> "jallib" group.
> To post to this group, send email to [email protected].
> To unsubscribe from this group, send email to
> [email protected].
> For more options, visit this group at
> http://groups.google.com/group/jallib?hl=en.
>

-- 
You received this message because you are subscribed to the Google Groups 
"jallib" group.
To post to this group, send email to [email protected].
To unsubscribe from this group, send email to 
[email protected].
For more options, visit this group at 
http://groups.google.com/group/jallib?hl=en.

Reply via email to