I didn't see any "unsupported combination" in the datasheet, that's why I
thought it was ok (at least in this case). If it's really unsupported, I'd
need to change this. Keeping the logic (which I'd like to...), I can see
another step I could implement: when pruning table's columns, if a column
contains an analog pin ("A" or "VREF+/-"), then remove the configuration
bits.

Would that sound reasonable ?


Cheers,
Seb

2010/10/5 Joep Suijs <[email protected]>

> 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]<jallib%[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]<jallib%[email protected]>
> .
> For more options, visit this group at
> http://groups.google.com/group/jallib?hl=en.
>
>


-- 
Sébastien Lelong
http://www.sirloon.net
http://sirbot.org

-- 
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