EPPL  0.1 alpha
 All Files Typedefs Groups Pages
eppl.h File Reference

Embedded Port Pins Library - main file. More...

#include "eppl_config.h"
#include "eppl_internals.h"
#include "eppl_target.h"

Go to the source code of this file.

Macros

#define EPPL_NP   (-255L)
 Non-Pin value. More...
 
#define EPPL_PINCNT   ( EPPL_port_PORTSIZE * EPPL_port_PORTCNT )
 Maximum number of pins. More...
 
#define EPPL_DEFPP(port, pin)   ( (port)*EPPL_port_PORTSIZE + (pin) )
 Macro for port pin definition. More...
 
#define EPPL_PORTNR(px)   (((px) % EPPL_PINCNT) / EPPL_port_PORTSIZE)
 Get port number from pin identifier. More...
 
#define EPPL_PINNR(px)   ((px)%EPPL_port_PORTSIZE)
 Get pin number from pin identifier. More...
 
#define EPPL_SC(px, conf)   ( ((px) < 0) ? (px) : ( (px) + ( (conf) * EPPL_PINCNT ) ) )
 Set Configuration macro. More...
 
#define EPPL_GC(px)   ( ( (px) / EPPL_PINCNT) % (EPPL_port_CONFSIZE) )
 Get Configuration macro. More...
 
#define EPPL_SR(px, from, to)   ( ((px) < 0) ? (px) : ( ((from) << (EPPL_configBits)) | (to) ) * (EPPL_PINCNT) + (px))
 Set Reinit macro. More...
 
#define EPPL_GRfrom(px)   ( (((px) / EPPL_PINCNT) >> EPPL_configBits) % EPPL_avr8_CONFSIZE )
 Get Reinit from.
 
#define EPPL_GRto(px)   EPPL_GC(px)
 Get Reinit to.
 
#define EPPL_COUNTARGS(args...)   xEPPL_COUNTARGS(args, EPPL_COUNTARGS_RSEQ)
 Macro for counting number of parameters. More...
 
#define EPPL_ActivePinCountInSet(pins...)   EPPL_GETSUBSET(EPPL_checkPinDefined, 0, EPPL_extractOne, +, pins)
 Get active pins count in set given. More...
 
#define EPPL_PinCountInSet(pins...)   EPPL_COUNTARGS(pins)
 Get pins count in set given, including inactive ones. More...
 
#define EPPL_PROCESSEVERYPIN(macro, op, pins...)   EPPL_LC(EPPL_PROCESSEVERYPIN, EPPL_COUNTARGS(pins))(macro, op, pins)
 Macro for processing every single listed pin. More...
 
#define EPPL_PROCESSEVERYARG(macro, op, args...)   EPPL_PROCESSEVERYPIN(macro, op, args)
 Macro for processing every single argument. More...
 
#define EPPL_REPEATONEVERYPIN(macro, pins...)
 Macro for repeating code on listed pins. More...
 
#define EPPL_REPEATONEVERYARG(macro, args...)
 Macro for repeating code on listed arguments. More...
 
#define eppl_init(default, pinconfigs...)
 Macro for port initialization. More...
 
#define eppl_reinitFromISR(pinconfigs...)
 Macro that changes port configuration form interrupt procedure. More...
 
#define eppl_reinit(pinconfigs...)
 Macro that changes port configuration. More...
 
#define eppl_mapIn(pins...)   ( EPPL_REPEAT(EPPL_port_PORTCNT, EPPL_port_generateMapInFromOnePort, pins) (uint8_t)0 )
 Map in function. More...
 
#define eppl_mapOutFromISR(mode, value, pins...)   do{ EPPL_REPEAT(EPPL_port_PORTCNT, EPPL_port_generateMapOutToOnePort, mode, value, pins) }while(0)
 Value output mapping from ISR. More...
 
#define eppl_mapOut(mode, value, pins...)
 Value output mapping. More...
 

Typedefs

typedef signed long eppl_pin_t
 Definition of type that can store pin information. More...
 

Detailed Description

Embedded Port Pins Library - main file.

Author
Radoslaw Koppel <r.koppel@k-el.com>
Date
2013 File contains all the definitions that should be used by the end user.

There should not be any target-dependent definitions.