AVR Atmega specific code.
More...
AVR Atmega specific code.
Pin Change Interrupts
Pin Change Interrupts (PCINTs) can be enabled using pseudo modules. To provide a low-memory overhead implementation, the PCINTs are grouped into banks. Each banks corresponds to one PCINT on the ATmega (PCINT0, ..., PCINT3).
To enable only a specific bank, simply add USEMODULE += atmega_pcintN to your Makefile. To enable all interrupts you can use USEMODULE += atmega_pcint.
In case you want to add a new CPU, simply provide an atmega_pcint.h with your CPU and adapt your Makefile.dep and Makefile.features files.
This is header file provides strings.h that is missing in AVR libc for compatibility.
|
| #define | PRIo64 "llo" |
| | Format string for octal 64-bit number.
|
| |
| #define | PRIx64 "llx" |
| | Format string for hexadecimal 64-bit number.
|
| |
| #define | PRIu64 "llu" |
| | Format string for unsigned 64-bit number.
|
| |
| #define | PRId64 "lld" |
| | Format string for signed 64-bit number.
|
| |
|
| static void | bzero (void *dest, size_t n_bytes) |
| | Same as memset(dest, 0, n_bytes), use memset() instead.
|
| |
| static int | bcmp (const void *s1, const void *s2, size_t n) |
| | Same as memcmp(), use memcmp instead.
|
| |
| static void | bcopy (const void *src, void *dest, size_t n) |
| | Same as memmove(), use memmove() or memcpy() instead.
|
| |
|
|
int | errno |
| | number of last error
|
| |
|
| #define | E2BIG (1) |
| | Argument list too long.
|
| |
| #define | EACCES (2) |
| | Permission denied.
|
| |
| #define | EADDRINUSE (3) |
| | Address in use.
|
| |
| #define | EADDRNOTAVAIL (4) |
| | Address not available.
|
| |
| #define | EAFNOSUPPORT (5) |
| | Address family not supported.
|
| |
| #define | EAGAIN (6) |
| | Resource unavailable, try again (may be the same value as [EWOULDBLOCK]).
|
| |
| #define | EALREADY (7) |
| | Connection already in progress.
|
| |
| #define | EBADF (8) |
| | Bad file descriptor.
|
| |
| #define | EBADMSG (9) |
| | Bad message.
|
| |
| #define | EBUSY (10) |
| | Device or resource busy.
|
| |
| #define | ECANCELED (11) |
| | Operation canceled.
|
| |
| #define | ECHILD (12) |
| | No child processes.
|
| |
| #define | ECONNABORTED (13) |
| | Connection aborted.
|
| |
| #define | ECONNREFUSED (14) |
| | Connection refused.
|
| |
| #define | ECONNRESET (15) |
| | Connection reset.
|
| |
| #define | EDEADLK (16) |
| | Resource deadlock would occur.
|
| |
| #define | EDESTADDRREQ (17) |
| | Destination address required.
|
| |
| #define | EMFILE (18) |
| | File descriptor value too large.
|
| |
| #define | EDQUOT (19) |
| | Reserved.
|
| |
| #define | EEXIST (20) |
| | File exists.
|
| |
| #define | EFAULT (21) |
| | Bad address.
|
| |
| #define | EFBIG (22) |
| | File too large.
|
| |
| #define | EHOSTUNREACH (23) |
| | Host is unreachable.
|
| |
| #define | EIDRM (24) |
| | Identifier removed.
|
| |
| #define | EILSEQ (25) |
| | Illegal byte sequence.
|
| |
| #define | EINPROGRESS (26) |
| | Operation in progress.
|
| |
| #define | EINTR (27) |
| | Interrupted function.
|
| |
| #define | EINVAL (28) |
| | Invalid argument.
|
| |
| #define | EIO (29) |
| | I/O error.
|
| |
| #define | EISCONN (30) |
| | Socket is connected.
|
| |
| #define | EISDIR (31) |
| | Is a directory.
|
| |
| #define | ELOOP (32) |
| | Too many levels of symbolic links.
|
| |
| #define | EDOM (33) |
| | Mathematics argument out of domain of function.
|
| |
| #define | ERANGE (34) |
| | Result too large.
|
| |
| #define | EMSGSIZE (35) |
| | Message too large.
|
| |
| #define | EMULTIHOP (36) |
| | Reserved.
|
| |
| #define | ENAMETOOLONG (37) |
| | Filename too long.
|
| |
| #define | ENETDOWN (38) |
| | Network is down.
|
| |
| #define | ENETRESET (39) |
| | Connection aborted by network.
|
| |
| #define | ENETUNREACH (40) |
| | Network unreachable.
|
| |
| #define | ENFILE (41) |
| | Too many files open in system.
|
| |
| #define | ENOBUFS (42) |
| | No buffer space available.
|
| |
| #define | ENODATA (43) |
| | [OB XSR] [Option Start] No message is available on the STREAM head read queue.
|
| |
| #define | ENODEV (44) |
| | No such device.
|
| |
| #define | ENOENT (45) |
| | No such file or directory.
|
| |
| #define | ENOEXEC (46) |
| | Executable file format error.
|
| |
| #define | ENOLCK (47) |
| | No locks available.
|
| |
| #define | ENOLINK (48) |
| | Reserved.
|
| |
| #define | ENOMEM (49) |
| | Not enough space.
|
| |
| #define | ENOMSG (50) |
| | No message of the desired type.
|
| |
| #define | ENOPROTOOPT (51) |
| | Protocol not available.
|
| |
| #define | ENOSPC (52) |
| | No space left on device.
|
| |
| #define | ENOSR (53) |
| | [OB XSR] [Option Start] No STREAM resources.
|
| |
| #define | ENOSTR (54) |
| | [OB XSR] [Option Start] Not a STREAM.
|
| |
| #define | ENOSYS (55) |
| | Function not supported.
|
| |
| #define | ENOTCONN (56) |
| | The socket is not connected.
|
| |
| #define | ENOTDIR (57) |
| | Not a directory or a symbolic link to a directory.
|
| |
| #define | ENOTEMPTY (58) |
| | Directory not empty.
|
| |
| #define | ENOTRECOVERABLE (59) |
| | State not recoverable.
|
| |
| #define | ENOTSOCK (60) |
| | Not a socket.
|
| |
| #define | ENOTSUP (61) |
| | Not supported (may be the same value as [EOPNOTSUPP]).
|
| |
| #define | ENOTTY (62) |
| | Inappropriate I/O control operation.
|
| |
| #define | ENXIO (63) |
| | No such device or address.
|
| |
| #define | EOPNOTSUPP (64) |
| | Operation not supported on socket (may be the same value as [ENOTSUP]).
|
| |
| #define | EOVERFLOW (65) |
| | Value too large to be stored in data type.
|
| |
| #define | EOWNERDEAD (66) |
| | Previous owner died.
|
| |
| #define | EPERM (67) |
| | Operation not permitted.
|
| |
| #define | EPIPE (68) |
| | Broken pipe.
|
| |
| #define | EPROTO (69) |
| | Protocol error.
|
| |
| #define | EPROTONOSUPPORT (70) |
| | Protocol not supported.
|
| |
| #define | EPROTOTYPE (71) |
| | Protocol wrong type for socket.
|
| |
| #define | EMLINK (72) |
| | Too many links.
|
| |
| #define | EROFS (73) |
| | Read-only file system.
|
| |
| #define | ESPIPE (74) |
| | Invalid seek.
|
| |
| #define | ESRCH (75) |
| | No such process.
|
| |
| #define | ESTALE (76) |
| | Reserved.
|
| |
| #define | ETIME (77) |
| | [OB XSR] [Option Start] Stream ioctl() timeout.
|
| |
| #define | ETIMEDOUT (78) |
| | Connection timed out.
|
| |
| #define | ETXTBSY (79) |
| | Text file busy.
|
| |
| #define | EWOULDBLOCK (80) |
| | Operation would block (may be the same value as [EAGAIN]).
|
| |
| #define | EXDEV (81) |
| | Cross-device link.
|
| |
| #define | EHOSTDOWN (82) |
| | Host is down.
|
| |
| #define | EPFNOSUPPORT (83) |
| | Protocol family not supported.
|
| |
| #define | ETOOMANYREFS (84) |
| | Too many references: cannot splice.
|
| |
◆ E2BIG
Argument list too long.
Definition at line 69 of file errno.h.
◆ EACCES
Permission denied.
Definition at line 70 of file errno.h.
◆ EADDRINUSE
Address in use.
Definition at line 71 of file errno.h.
◆ EADDRNOTAVAIL
| #define EADDRNOTAVAIL (4) |
Address not available.
Definition at line 72 of file errno.h.
◆ EAFNOSUPPORT
Address family not supported.
Definition at line 73 of file errno.h.
◆ EAGAIN
Resource unavailable, try again (may be the same value as [EWOULDBLOCK]).
Definition at line 74 of file errno.h.
◆ EALREADY
Connection already in progress.
Definition at line 75 of file errno.h.
◆ EBADF
Bad file descriptor.
Definition at line 76 of file errno.h.
◆ EBADMSG
Bad message.
Definition at line 77 of file errno.h.
◆ EBUSY
Device or resource busy.
Definition at line 78 of file errno.h.
◆ ECANCELED
Operation canceled.
Definition at line 79 of file errno.h.
◆ ECHILD
No child processes.
Definition at line 80 of file errno.h.
◆ ECONNABORTED
| #define ECONNABORTED (13) |
Connection aborted.
Definition at line 81 of file errno.h.
◆ ECONNREFUSED
| #define ECONNREFUSED (14) |
Connection refused.
Definition at line 82 of file errno.h.
◆ ECONNRESET
Connection reset.
Definition at line 83 of file errno.h.
◆ EDEADLK
Resource deadlock would occur.
Definition at line 84 of file errno.h.
◆ EDESTADDRREQ
| #define EDESTADDRREQ (17) |
Destination address required.
Definition at line 85 of file errno.h.
◆ EDOM
Mathematics argument out of domain of function.
Definition at line 101 of file errno.h.
◆ EDQUOT
Reserved.
Definition at line 87 of file errno.h.
◆ EEXIST
File exists.
Definition at line 88 of file errno.h.
◆ EFAULT
Bad address.
Definition at line 89 of file errno.h.
◆ EFBIG
File too large.
Definition at line 90 of file errno.h.
◆ EHOSTDOWN
Host is down.
Definition at line 150 of file errno.h.
◆ EHOSTUNREACH
| #define EHOSTUNREACH (23) |
Host is unreachable.
Definition at line 91 of file errno.h.
◆ EIDRM
Identifier removed.
Definition at line 92 of file errno.h.
◆ EILSEQ
Illegal byte sequence.
Definition at line 93 of file errno.h.
◆ EINPROGRESS
Operation in progress.
Definition at line 94 of file errno.h.
◆ EINTR
Interrupted function.
Definition at line 95 of file errno.h.
◆ EINVAL
Invalid argument.
Definition at line 96 of file errno.h.
◆ EIO
I/O error.
Definition at line 97 of file errno.h.
◆ EISCONN
Socket is connected.
Definition at line 98 of file errno.h.
◆ EISDIR
Is a directory.
Definition at line 99 of file errno.h.
◆ ELOOP
Too many levels of symbolic links.
Definition at line 100 of file errno.h.
◆ EMFILE
File descriptor value too large.
Definition at line 86 of file errno.h.
◆ EMLINK
Too many links.
Definition at line 140 of file errno.h.
◆ EMSGSIZE
Message too large.
Definition at line 103 of file errno.h.
◆ EMULTIHOP
◆ ENAMETOOLONG
| #define ENAMETOOLONG (37) |
Filename too long.
Definition at line 105 of file errno.h.
◆ ENETDOWN
◆ ENETRESET
Connection aborted by network.
Definition at line 107 of file errno.h.
◆ ENETUNREACH
◆ ENFILE
Too many files open in system.
Definition at line 109 of file errno.h.
◆ ENOBUFS
No buffer space available.
Definition at line 110 of file errno.h.
◆ ENODATA
[OB XSR] [Option Start] No message is available on the STREAM head read queue.
[Option End]
Definition at line 111 of file errno.h.
◆ ENODEV
No such device.
Definition at line 112 of file errno.h.
◆ ENOENT
No such file or directory.
Definition at line 113 of file errno.h.
◆ ENOEXEC
Executable file format error.
Definition at line 114 of file errno.h.
◆ ENOLCK
No locks available.
Definition at line 115 of file errno.h.
◆ ENOLINK
◆ ENOMEM
Not enough space.
Definition at line 117 of file errno.h.
◆ ENOMSG
No message of the desired type.
Definition at line 118 of file errno.h.
◆ ENOPROTOOPT
Protocol not available.
Definition at line 119 of file errno.h.
◆ ENOSPC
No space left on device.
Definition at line 120 of file errno.h.
◆ ENOSR
[OB XSR] [Option Start] No STREAM resources.
[Option End]
Definition at line 121 of file errno.h.
◆ ENOSTR
[OB XSR] [Option Start] Not a STREAM.
[Option End]
Definition at line 122 of file errno.h.
◆ ENOSYS
Function not supported.
Definition at line 123 of file errno.h.
◆ ENOTCONN
The socket is not connected.
Definition at line 124 of file errno.h.
◆ ENOTDIR
Not a directory or a symbolic link to a directory.
Definition at line 125 of file errno.h.
◆ ENOTEMPTY
Directory not empty.
Definition at line 126 of file errno.h.
◆ ENOTRECOVERABLE
| #define ENOTRECOVERABLE (59) |
State not recoverable.
Definition at line 127 of file errno.h.
◆ ENOTSOCK
Not a socket.
Definition at line 128 of file errno.h.
◆ ENOTSUP
Not supported (may be the same value as [EOPNOTSUPP]).
Definition at line 129 of file errno.h.
◆ ENOTTY
Inappropriate I/O control operation.
Definition at line 130 of file errno.h.
◆ ENXIO
No such device or address.
Definition at line 131 of file errno.h.
◆ EOPNOTSUPP
Operation not supported on socket (may be the same value as [ENOTSUP]).
Definition at line 132 of file errno.h.
◆ EOVERFLOW
Value too large to be stored in data type.
Definition at line 133 of file errno.h.
◆ EOWNERDEAD
Previous owner died.
Definition at line 134 of file errno.h.
◆ EPERM
Operation not permitted.
Definition at line 135 of file errno.h.
◆ EPFNOSUPPORT
| #define EPFNOSUPPORT (83) |
Protocol family not supported.
Definition at line 151 of file errno.h.
◆ EPIPE
Broken pipe.
Definition at line 136 of file errno.h.
◆ EPROTO
Protocol error.
Definition at line 137 of file errno.h.
◆ EPROTONOSUPPORT
| #define EPROTONOSUPPORT (70) |
Protocol not supported.
Definition at line 138 of file errno.h.
◆ EPROTOTYPE
Protocol wrong type for socket.
Definition at line 139 of file errno.h.
◆ ERANGE
Result too large.
Definition at line 102 of file errno.h.
◆ EROFS
Read-only file system.
Definition at line 141 of file errno.h.
◆ ESPIPE
Invalid seek.
Definition at line 142 of file errno.h.
◆ ESRCH
No such process.
Definition at line 143 of file errno.h.
◆ ESTALE
◆ ETIME
[OB XSR] [Option Start] Stream ioctl() timeout.
[Option End]
Definition at line 145 of file errno.h.
◆ ETIMEDOUT
Connection timed out.
Definition at line 146 of file errno.h.
◆ ETOOMANYREFS
| #define ETOOMANYREFS (84) |
Too many references: cannot splice.
Definition at line 152 of file errno.h.
◆ ETXTBSY
Text file busy.
Definition at line 147 of file errno.h.
◆ EWOULDBLOCK
Operation would block (may be the same value as [EAGAIN]).
Definition at line 148 of file errno.h.
◆ EXDEV
Cross-device link.
Definition at line 149 of file errno.h.
◆ PRId64
Format string for signed 64-bit number.
Definition at line 27 of file inttypes.h.
◆ PRIo64
Format string for octal 64-bit number.
Definition at line 24 of file inttypes.h.
◆ PRIu64
Format string for unsigned 64-bit number.
Definition at line 26 of file inttypes.h.
◆ PRIx64
Format string for hexadecimal 64-bit number.
Definition at line 25 of file inttypes.h.
◆ bcmp()
| static int bcmp |
( |
const void * | s1, |
|
|
const void * | s2, |
|
|
size_t | n ) |
|
inlinestatic |
Same as memcmp(), use memcmp instead.
- Parameters
-
| [in] | s1 | first memory chunk to compare |
| [in] | s2 | second memory chunk to compare |
| [in] | n | number of bytes to compare |
- Return values
-
| `0` | The first n bytes of s1 and s2 are equal |
| `!=0` | The first n bytes of s1 and s2 differ in at least one bit |
Definition at line 50 of file strings.h.
◆ bcopy()
| static void bcopy |
( |
const void * | src, |
|
|
void * | dest, |
|
|
size_t | n ) |
|
inlinestatic |
Same as memmove(), use memmove() or memcpy() instead.
- Parameters
-
| [in] | src | memory to copy from |
| [out] | dest | memory to copy to |
| [in] | n | number of bytes to copy |
src and dest may overlap
- Note
- It is preferred to use the standardize function
memcpy() for non-overlapping memory regions and memmove() for overlapping memory regions instead of this obsolete function.
Definition at line 68 of file strings.h.
◆ bzero()
| static void bzero |
( |
void * | dest, |
|
|
size_t | n_bytes ) |
|
inlinestatic |
Same as memset(dest, 0, n_bytes), use memset() instead.
- Parameters
-
| [in,out] | dest | Memory to clear |
| [in] | n_bytes | Size of memory to clear in bytes |
Definition at line 34 of file strings.h.