include/stdlib.h
author Tero Marttila <terom@paivola.fi>
Wed, 24 Sep 2014 22:54:09 +0300
changeset 4 959d4b9c3f0a
parent 0 893a25a6c372
child 6 c5ab059eadc1
permissions -rw-r--r--
stdlib.h: include stdint
0
893a25a6c372 import stdlib.h from qmsk-dmx
Tero Marttila <terom@paivola.fi>
parents:
diff changeset
     1
#ifndef QMSK_ARDUINO_STDLIB_H
893a25a6c372 import stdlib.h from qmsk-dmx
Tero Marttila <terom@paivola.fi>
parents:
diff changeset
     2
#define QMSK_ARDUINO_STDLIB_H
893a25a6c372 import stdlib.h from qmsk-dmx
Tero Marttila <terom@paivola.fi>
parents:
diff changeset
     3
4
959d4b9c3f0a stdlib.h: include stdint
Tero Marttila <terom@paivola.fi>
parents: 0
diff changeset
     4
#include <stdint.h>
959d4b9c3f0a stdlib.h: include stdint
Tero Marttila <terom@paivola.fi>
parents: 0
diff changeset
     5
0
893a25a6c372 import stdlib.h from qmsk-dmx
Tero Marttila <terom@paivola.fi>
parents:
diff changeset
     6
#define false       0
893a25a6c372 import stdlib.h from qmsk-dmx
Tero Marttila <terom@paivola.fi>
parents:
diff changeset
     7
#define true        1
893a25a6c372 import stdlib.h from qmsk-dmx
Tero Marttila <terom@paivola.fi>
parents:
diff changeset
     8
893a25a6c372 import stdlib.h from qmsk-dmx
Tero Marttila <terom@paivola.fi>
parents:
diff changeset
     9
typedef uint8_t byte;
893a25a6c372 import stdlib.h from qmsk-dmx
Tero Marttila <terom@paivola.fi>
parents:
diff changeset
    10
893a25a6c372 import stdlib.h from qmsk-dmx
Tero Marttila <terom@paivola.fi>
parents:
diff changeset
    11
typedef volatile uint8_t ioport_t;
893a25a6c372 import stdlib.h from qmsk-dmx
Tero Marttila <terom@paivola.fi>
parents:
diff changeset
    12
893a25a6c372 import stdlib.h from qmsk-dmx
Tero Marttila <terom@paivola.fi>
parents:
diff changeset
    13
static inline ioport_t tbi(ioport_t *port, int bit)
893a25a6c372 import stdlib.h from qmsk-dmx
Tero Marttila <terom@paivola.fi>
parents:
diff changeset
    14
{
893a25a6c372 import stdlib.h from qmsk-dmx
Tero Marttila <terom@paivola.fi>
parents:
diff changeset
    15
    return *port & (1 << bit);
893a25a6c372 import stdlib.h from qmsk-dmx
Tero Marttila <terom@paivola.fi>
parents:
diff changeset
    16
}
893a25a6c372 import stdlib.h from qmsk-dmx
Tero Marttila <terom@paivola.fi>
parents:
diff changeset
    17
893a25a6c372 import stdlib.h from qmsk-dmx
Tero Marttila <terom@paivola.fi>
parents:
diff changeset
    18
static inline void sbi(ioport_t *port, int bit)
893a25a6c372 import stdlib.h from qmsk-dmx
Tero Marttila <terom@paivola.fi>
parents:
diff changeset
    19
{
893a25a6c372 import stdlib.h from qmsk-dmx
Tero Marttila <terom@paivola.fi>
parents:
diff changeset
    20
    *port |= (1 << bit);
893a25a6c372 import stdlib.h from qmsk-dmx
Tero Marttila <terom@paivola.fi>
parents:
diff changeset
    21
}
893a25a6c372 import stdlib.h from qmsk-dmx
Tero Marttila <terom@paivola.fi>
parents:
diff changeset
    22
893a25a6c372 import stdlib.h from qmsk-dmx
Tero Marttila <terom@paivola.fi>
parents:
diff changeset
    23
static inline void cbi(ioport_t *port, int bit)
893a25a6c372 import stdlib.h from qmsk-dmx
Tero Marttila <terom@paivola.fi>
parents:
diff changeset
    24
{
893a25a6c372 import stdlib.h from qmsk-dmx
Tero Marttila <terom@paivola.fi>
parents:
diff changeset
    25
    *port &= ~(1 << bit);
893a25a6c372 import stdlib.h from qmsk-dmx
Tero Marttila <terom@paivola.fi>
parents:
diff changeset
    26
}
893a25a6c372 import stdlib.h from qmsk-dmx
Tero Marttila <terom@paivola.fi>
parents:
diff changeset
    27
893a25a6c372 import stdlib.h from qmsk-dmx
Tero Marttila <terom@paivola.fi>
parents:
diff changeset
    28
static inline void xbi(ioport_t *port, int bit)
893a25a6c372 import stdlib.h from qmsk-dmx
Tero Marttila <terom@paivola.fi>
parents:
diff changeset
    29
{
893a25a6c372 import stdlib.h from qmsk-dmx
Tero Marttila <terom@paivola.fi>
parents:
diff changeset
    30
    *port ^= (1 << bit);
893a25a6c372 import stdlib.h from qmsk-dmx
Tero Marttila <terom@paivola.fi>
parents:
diff changeset
    31
}
893a25a6c372 import stdlib.h from qmsk-dmx
Tero Marttila <terom@paivola.fi>
parents:
diff changeset
    32
893a25a6c372 import stdlib.h from qmsk-dmx
Tero Marttila <terom@paivola.fi>
parents:
diff changeset
    33
#endif