Main Page   Compound List   File List   Compound Members   File Members  

ina90.h File Reference

#include <eeprom.h>

Go to the source code of this file.

Defines

#define _INA90_H_   1
#define _CLI()   __asm__ __volatile__ ("cli")
#define _SEI()   __asm__ __volatile__ ("sei")
#define _NOP()   __asm__ __volatile__ ("nop")
#define _WDR()   __asm__ __volatile__ ("wdr")
#define _SLEEP()   __asm__ __volatile__ ("sleep")
#define _OPC(op)   __asm__ __volatile__ (".word %0" : : "n" (op))
#define __LPM_enhanced__(addr)
#define __LPM_classic__(addr)
#define __ELPM_enhanced__(addr)
#define __ELPM_classic__(addr)
#define _LPM(addr)   __LPM_classic__(addr)
#define _ELPM(addr)   __ELPM_classic__(addr)
#define input(port)   inp(port)
#define output(port, val)   outp(val, port)
#define __inp_blk__(port, addr, cnt, op)
#define input_block_inc(port, addr, cnt)   __inp_blk__(port, addr, cnt, ++)
#define input_block_dec(port, addr, cnt)   __inp_blk__(port, addr, cnt, --)
#define __out_blk__(port, addr, cnt, op)
#define output_block_inc(port, addr, cnt, op)   __out_blk__(port, addr, cnt, ++)
#define output_block_dec(port, addr, cnt, op)   __out_blk__(port, addr, cnt, --)


Define Documentation

#define _CLI( )   __asm__ __volatile__ ("cli")
 

Definition at line 27 of file ina90.h.

#define _ELPM( addr )   __ELPM_classic__(addr)
 

Definition at line 96 of file ina90.h.

#define _INA90_H_   1
 

Definition at line 25 of file ina90.h.

#define _LPM( addr )   __LPM_classic__(addr)
 

Definition at line 95 of file ina90.h.

Referenced by __lpm_inline().

#define _NOP( )   __asm__ __volatile__ ("nop")
 

Definition at line 29 of file ina90.h.

#define _OPC( op )   __asm__ __volatile__ (".word %0" : : "n" (op))
 

Definition at line 32 of file ina90.h.

#define _SEI( )   __asm__ __volatile__ ("sei")
 

Definition at line 28 of file ina90.h.

#define _SLEEP( )   __asm__ __volatile__ ("sleep")
 

Definition at line 31 of file ina90.h.

#define _WDR( )   __asm__ __volatile__ ("wdr")
 

Definition at line 30 of file ina90.h.

#define __ELPM_classic__( addr )
 

Value:

        ({              \
        unsigned long __addr32 = (unsigned long)(addr); \
        unsigned char __result;                 \
        __asm__ (                               \
                "out %2, %C1" "\n\t"            \
                "mov r31, %B1" "\n\t"           \
                "mov r30, %A1" "\n\t"           \
                "elpm" "\n\t"                   \
                "mov %0, r0"                    \
                : "=r" (__result)               \
                : "r" (__addr32), "I" (RAMPZ)   \
                : "r0", "r30", "r31"            \
        );                                      \
        __result;                               \
 })

Definition at line 75 of file ina90.h.

#define __ELPM_enhanced__( addr )
 

Value:

        ({              \
        unsigned long __addr32 = (unsigned long)(addr); \
        unsigned char __result;                 \
        __asm__ (                               \
                "out %2, %C1" "\n\t"            \
                "movw r30, %1" "\n\t"           \
                "elpm %0, Z"                    \
                : "=r" (__result)               \
                : "v" (__addr32), "I" (RAMPZ)   \
                : "r30", "r31"                  \
        );                                      \
        __result;                               \
 })

Definition at line 61 of file ina90.h.

#define __LPM_classic__( addr )
 

Value:

        ({              \
        unsigned short __addr16 = (unsigned short)(addr); \
        unsigned char __result;                 \
        __asm__ (                               \
                "lpm" "\n\t"                    \
                "mov %0, r0"                    \
                : "=r" (__result)               \
                : "z" (__addr16)                \
                : "r0"                          \
        );                                      \
        __result;                               \
 })

Definition at line 45 of file ina90.h.

#define __LPM_enhanced__( addr )
 

Value:

        ({              \
        unsigned short __addr16 = (unsigned short)(addr); \
        unsigned char __result;                 \
        __asm__ (                               \
                "lpm %0, Z"                     \
                : "=r" (__result)               \
                : "z" (__addr16)                \
        );                                      \
        __result;                               \
 })

Definition at line 34 of file ina90.h.

#define __inp_blk__( port, addr, cnt, op )
 

Value:

        {       \
        unsigned char __i = (cnt);              \
        unsigned char *__addr = (addr);         \
        while (__i) {                           \
                *(__addr op) = input(port);     \
                __i--;                          \
        }                                       \
 }

Definition at line 105 of file ina90.h.

#define __out_blk__( port, addr, cnt, op )
 

Value:

        {       \
        unsigned char __i = (cnt);              \
        const unsigned char *__addr = (addr);   \
        while (__i) {                           \
                output(port, *(__addr op));     \
                __i--;                          \
        }                                       \
 }

Definition at line 117 of file ina90.h.

#define input( port )   inp(port)
 

Definition at line 102 of file ina90.h.

#define input_block_dec( port, addr, cnt )   __inp_blk__(port, addr, cnt, --)
 

Definition at line 115 of file ina90.h.

#define input_block_inc( port, addr, cnt )   __inp_blk__(port, addr, cnt, ++)
 

Definition at line 114 of file ina90.h.

#define output( port, val )   outp(val, port)
 

Definition at line 103 of file ina90.h.

#define output_block_dec( port, addr, cnt, op )   __out_blk__(port, addr, cnt, --)
 

Definition at line 127 of file ina90.h.

#define output_block_inc( port, addr, cnt, op )   __out_blk__(port, addr, cnt, ++)
 

Definition at line 126 of file ina90.h.


Generated at Fri Jul 19 14:55:42 2002 for avrgcc by doxygen1.2.8.1 written by Dimitri van Heesch, © 1997-2001