sorry, I see you just commited one. thanks.

On Jan 25, 10:14 am, mattschinkel <[email protected]> wrote:
> I'll try it, but a jallib sample would be nice (for the sample
> directory)
>
> Matt.
>
> On Jan 25, 3:10 am, Sebastien Lelong <[email protected]>
> wrote:
>
>
>
> > Hi Matt,
>
> > Please see "18f4550_pintools.jal", it's derived from jaluino's sample,
> > tested OK. Let me know if you have any problems.
>
> > Cheers,
> > Seb
>
> > 2010/1/25 Sebastien Lelong <[email protected]>
>
> > > You can try this one from jaluino:
>
> > >http://code.google.com/p/jaluino/source/browse/trunk/samples/crumboar...
>
> > > I'm about to "jallibize" it, and a 18f4550 sample soon.
>
> > > Cheers,
> > > Seb
>
> > > 2010/1/24 mattschinkel <[email protected]>
>
> > > Is there a sample I can try?
>
> > >> Matt.
>
> > >> On Jan 24, 3:02 pm, [email protected] wrote:
> > >> > Revision: 1619
> > >> > Author: sebastien.lelong
> > >> > Date: Sun Jan 24 12:01:39 2010
> > >> > Log: beta pintools library, tested on jaluino, but not with all pins...
> > >>http://code.google.com/p/jallib/source/detail?r=1619
>
> > >> > Added:
> > >> >   /trunk/include/jal/pintools.jal
>
> > >> > =======================================
> > >> > --- /dev/null
> > >> > +++ /trunk/include/jal/pintools.jal     Sun Jan 24 12:01:39 2010
> > >> > @@ -0,0 +1,250 @@
> > >> > +-- Title: utility functions and procedures to manipulate pins (level,
> > >> > mode, etc...)
> > >> > +-- Author: Sebastien Lelong, Copyright (C) 2009, all rights reserved.
> > >> > +-- Adapted-by:
> > >> > +-- Compiler: 2.4m
> > >> > +--
> > >> > +-- This file is part of jallib (http://jallib.googlecode.com)
> > >> > +-- Released under the ZLIB license
> > >> > (http://www.opensource.org/licenses/zlib-license.html)
> > >> > +--
> > >> > +-- Description: This library provides a set of utility functions and
> > >> > procedures
> > >> > +-- to help users manipulating pins. For instance, you can dynamically
> > >> > access pins
> > >> > +-- using a specific mapping (RA0 is #0, RB1 is #2, etc...) and act on
> > >> > levels, mode,
> > >> > +-- directions, etc...
> > >> > +-- --
> > >> > +-- Using this library requires that array "pintools_map" is first
> > >> defined.
> > >> > This array
> > >> > +-- is composed by elements going by two:
> > >> > +--  * the first element corresponds to the port letter ("A", "B", ...)
> > >> > +--  * the second element corresponds to the pin number in this port 
> > >> > (0,
> > >> 1,
> > >> > 2, ...)
> > >> > +-- Pins are then accessed according to the index in this array
> > >> (starting
> > >> > with 0)
> > >> > +-- Ex: const byte pintools_map [] = {"A","1", "B","1", "D","3}
> > >> > +-- This 6 elements (2x3) array specifies that:
> > >> > +--  * pin #0 corresponds to pin_A1
> > >> > +--  * pin #1 corresponds to pin_B1
> > >> > +--  * pin #2 corresponds to pin_D3
> > >> > +--
> > >> > +-- Notes: this library hasn't been fully tested, this is still BETA...
> > >> > +--
> > >> > +
> > >> > +
> > >> > +-- Access pin by number and set its level (low/high)
> > >> > +procedure pintools_set_level(byte in pinnum, bit in level) is
> > >> > +   var byte portmapletter = pintools_map[pinnum*2]
> > >> > +   var byte pinmapnum = pintools_map[pinnum*2+1]
> > >> > +
> > >> > +   procedure _process_porta() is
> > >> > +      if defined(PORTA) == true then
> > >> > +         if level == high then
> > >> > +            PORTA = PORTA | (1 << pinmapnum)
> > >> > +         else
> > >> > +            PORTA = PORTA & (0b_1111_1111 ^ (1 << pinmapnum))
> > >> > +         end if
> > >> > +      end if
> > >> > +   end procedure
> > >> > +
> > >> > +   procedure _process_portb() is
> > >> > +      if defined(PORTB) == true then
> > >> > +         if level == high then
> > >> > +            PORTB = PORTB | (1 << pinmapnum)
> > >> > +         else
> > >> > +            PORTB = PORTB & (0b_1111_1111 ^ (1 << pinmapnum))
> > >> > +         end if
> > >> > +      end if
> > >> > +   end procedure
> > >> > +
> > >> > +   procedure _process_portc() is
> > >> > +      if defined(PORTC) == true then
> > >> > +         if level == high then
> > >> > +            PORTC = PORTC | (1 << pinmapnum)
> > >> > +         else
> > >> > +            PORTC = PORTC & (0b_1111_1111 ^ (1 << pinmapnum))
> > >> > +         end if
> > >> > +      end if
> > >> > +   end procedure
> > >> > +
> > >> > +   procedure _process_portd() is
> > >> > +      if defined(PORTD) == true then
> > >> > +         if level == high then
> > >> > +            PORTD = PORTD | (1 << pinmapnum)
> > >> > +         else
> > >> > +            PORTD = PORTD & (0b_1111_1111 ^ (1 << pinmapnum))
> > >> > +         end if
> > >> > +      end if
> > >> > +   end procedure
> > >> > +
> > >> > +   procedure _process_porte() is
> > >> > +      if defined(PORTE) == true then
> > >> > +         if level == high then
> > >> > +            PORTE = PORTE | (1 << pinmapnum)
> > >> > +         else
> > >> > +            PORTE = PORTE & (0b_1111_1111 ^ (1 << pinmapnum))
> > >> > +         end if
> > >> > +      end if
> > >> > +   end procedure
> > >> > +
> > >> > +   procedure _process_portf() is
> > >> > +      if defined(PORTF) == true then
> > >> > +         if level == high then
> > >> > +            PORTF = PORTF | (1 << pinmapnum)
> > >> > +         else
> > >> > +            PORTF = PORTF & (0b_1111_1111 ^ (1 << pinmapnum))
> > >> > +         end if
> > >> > +      end if
> > >> > +   end procedure
> > >> > +
> > >> > +   procedure _process_portg() is
> > >> > +      if defined(PORTG) == true then
> > >> > +         if level == high then
> > >> > +            PORTG = PORTG | (1 << pinmapnum)
> > >> > +         else
> > >> > +            PORTG = PORTG & (0b_1111_1111 ^ (1 << pinmapnum))
> > >> > +         end if
> > >> > +      end if
> > >> > +   end procedure
> > >> > +
> > >> > +   procedure _process_porth() is
> > >> > +      if defined(PORTH) == true then
> > >> > +         if level == high then
> > >> > +            PORTH = PORTH | (1 << pinmapnum)
> > >> > +         else
> > >> > +            PORTH = PORTH & (0b_1111_1111 ^ (1 << pinmapnum))
> > >> > +         end if
> > >> > +      end if
> > >> > +   end procedure
> > >> > +
> > >> > +   procedure _process_portj() is
> > >> > +      if defined(PORTJ) == true then
> > >> > +         if level == high then
> > >> > +            PORTJ = PORTJ | (1 << pinmapnum)
> > >> > +         else
> > >> > +            PORTJ = PORTJ & (0b_1111_1111 ^ (1 << pinmapnum))
> > >> > +         end if
> > >> > +      end if
> > >> > +   end procedure
> > >> > +
> > >> > +   -- because we can't refer to port name just as we can't refer to 
> > >> > pin
>
> > >> > since
> > >> > +   -- these are pseudo-variable, we need to switch over different
> > >> cases...
> > >> > +   -- Note: there's no such PORTI in PIC....
> > >> > +   case portmapletter of
> > >> > +      "A" : _process_porta()
> > >> > +      "B" : _process_portb()
> > >> > +      "C" : _process_portc()
> > >> > +      "D" : _process_portd()
> > >> > +      "E" : _process_porte()
> > >> > +      "F" : _process_portf()
> > >> > +      "G" : _process_portg()
> > >> > +      "H" : _process_porth()
> > >> > +      "J" : _process_portj()
> > >> > +   end case
> > >> > +
> > >> > +end procedure
> > >> > +
> > >> > +
> > >> > +-- Access pin by number and set its direction (low/high)
> > >> > +procedure pintools_set_direction(byte in pinnum, bit in direction) is
> > >> > +   var byte portmapletter = pintools_map[pinnum*2]
> > >> > +   var byte pinmapnum = pintools_map[pinnum*2+1]
> > >> > +
> > >> > +   procedure _process_trisa() is
> > >> > +      if defined(TRISA) == true then
> > >> > +         if direction == input then
> > >> > +            TRISA = TRISA | (1 << pinmapnum)
> > >> > +         else
> > >> > +            TRISA = TRISA & (0b_1111_1111 ^ (1 << pinmapnum))
> > >> > +         end if
> > >> > +      end if
> > >> > +   end procedure
> > >> > +
> > >> > +   procedure _process_trisb() is
> > >> > +      if defined(TRISB) == true then
> > >> > +         if direction == input then
> > >> > +            TRISB = TRISB | (1 << pinmapnum)
> > >> > +         else
> > >> > +            TRISB = TRISB & (0b_1111_1111 ^ (1 << pinmapnum))
> > >> > +         end if
> > >> > +      end if
> > >> > +   end procedure
> > >> > +
> > >> > +   procedure _process_trisc() is
> > >> > +      if defined(TRISC) == true then
> > >> > +         if direction == input then
> > >> > +            TRISC = TRISC | (1 << pinmapnum)
> > >> > +         else
> > >> > +            TRISC = TRISC & (0b_1111_1111 ^ (1 << pinmapnum))
> > >> > +         end if
> > >> > +      end if
> > >> > +   end procedure
> > >> > +
> > >> > +   procedure _process_trisd() is
> > >> > +      if defined(TRISD) == true then
> > >> > +         if direction == input then
> > >> > +            TRISD = TRISD | (1 << pinmapnum)
> > >> > +         else
> > >> > +            TRISD = TRISD & (0b_1111_1111 ^ (1 << pinmapnum))
> > >> > +         end if
> > >> > +      end if
> > >> > +   end procedure
> > >> > +
> > >> > +   procedure _process_trise() is
> > >> > +      if defined(TRISE) == true then
> > >> > +         if direction == input then
> > >> > +            TRISE = TRISE | (1 << pinmapnum)
> > >> > +         else
> > >> > +            TRISE = TRISE & (0b_1111_1111 ^ (1 << pinmapnum))
> > >> > +         end if
> > >> > +      end if
> > >> > +   end procedure
> > >> > +
> > >> > +   procedure _process_trisf() is
> > >> > +      if defined(TRISF) == true then
> > >> > +         if direction == input then
> > >> > +            TRISF = TRISF | (1 << pinmapnum)
> > >> > +         else
> > >> > +            TRISF = TRISF & (0b_1111_1111 ^ (1 << pinmapnum))
> > >> > +         end if
> > >> > +      end if
> > >> > +   end procedure
> > >> > +
> > >> > +   procedure _process_trisg() is
> > >> > +      if defined(TRISG) == true then
> > >> > +         if direction == input then
> > >> > +            TRISG = TRISG | (1 << pinmapnum)
> > >> > +         else
> > >> > +            TRISG =
>
> ...
>
> read more »- Hide quoted text -
>
> - Show quoted text -

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