Internal LNP Interface: link networking protocol. More...
#include "../lnp.h"
Go to the source code of this file.
Macros | |
#define | LNP_HOSTMASK CONF_LNP_HOSTMASK |
the LNP host mask (config.h) More... | |
#define | LNP_PORTMASK (0x00ff & ~CONF_LNP_HOSTMASK) |
LNP port mask is derived from host mask. More... | |
#define | LNP_RCX_HEADER_LENGTH (3-1) |
length of header from remote/rcx, -1 because first byte is used to id sequence More... | |
#define | LNP_RCX_REMOTE_OP_LENGTH (5-3) |
length of remote button op, -3 because first 3 bytes is used to id sequence More... | |
#define | LNP_RCX_MSG_OP_LENGTH (5-3) |
length of rcx message op, -3 because first 3 bytes is used to id sequence More... | |
Enumerations | |
enum | lnp_integrity_state_t { LNPwaitHeader, LNPwaitLength, LNPwaitData, LNPwaitCRC, LNPwaitRMH1, LNPwaitRMH2, LNPwaitRMH3, LNPwaitRMH4, LNPwaitRB0, LNPwaitRB0I, LNPwaitRB1, LNPwaitRB1I, LNPwaitRC, LNPwaitRCI, LNPwaitMH3, LNPwaitMH4, LNPwaitMN, LNPwaitMNC, LNPwaitMC, LNPwaitMCC } |
states for the integrity layer state machine More... | |
Functions | |
unsigned char | lnp_checksum_copy (unsigned char *dest, const unsigned char *data, unsigned length) |
the LNP ‘copy and compute checksum’ function. More... | |
void | lnp_integrity_byte (unsigned char b) |
receive a byte from the physical layer, decoding integrity layer packets. More... | |
void | lnp_integrity_reset (void) |
reset the integrity layer on error or timeout. More... | |
int | lnp_integrity_active (void) |
return whether a packet is currently being received More... | |
void | lnp_timeout_reset (void) |
reset the inter-byte timeout counter. More... | |
void | lnp_timeout_set (unsigned short timeout) |
set the inter-byte timeout and reset the timeout counter to that value. More... | |
void | lnp_init (void) |
Initialise protocol handlers. More... | |
Variables | |
volatile unsigned short | lnp_timeout_counter |
the timeout counter in ms More... | |
unsigned short | lnp_timeout |
the timeout length in ms More... | |
lnp_integrity_state_t | lnp_integrity_state |
the integrity layer state More... | |
Internal LNP Interface: link networking protocol.
Definition in file lnp.h.
#define LNP_HOSTMASK CONF_LNP_HOSTMASK |
#define LNP_PORTMASK (0x00ff & ~CONF_LNP_HOSTMASK) |
#define LNP_RCX_HEADER_LENGTH (3-1) |
#define LNP_RCX_MSG_OP_LENGTH (5-3) |
#define LNP_RCX_REMOTE_OP_LENGTH (5-3) |
states for the integrity layer state machine
unsigned char lnp_checksum_copy | ( | unsigned char * | dest, |
const unsigned char * | data, | ||
unsigned | length | ||
) |
the LNP ‘copy and compute checksum’ function.
void lnp_init | ( | void | ) |
Initialise protocol handlers.
Adressing port 0 is reserved for the program handler. DLL transfers programs to this port.
|
inline |
return whether a packet is currently being received
Definition at line 140 of file lnp.h.
References lnp_integrity_state, and LNPwaitHeader.
void lnp_integrity_byte | ( | unsigned char | b | ) |
receive a byte from the physical layer, decoding integrity layer packets.
b | the byte to receive |
void lnp_integrity_reset | ( | void | ) |
reset the integrity layer on error or timeout.
void lnp_timeout_reset | ( | void | ) |
reset the inter-byte timeout counter.
|
inline |
set the inter-byte timeout and reset the timeout counter to that value.
timeout | the new timeout value |
Definition at line 155 of file lnp.h.
References lnp_timeout, and lnp_timeout_counter.
lnp_integrity_state_t lnp_integrity_state |
the integrity layer state
Referenced by lnp_integrity_active().
unsigned short lnp_timeout |
the timeout length in ms
Referenced by lnp_timeout_set().
volatile unsigned short lnp_timeout_counter |
the timeout counter in ms
Referenced by lnp_timeout_set().
brickOS is released under the
Mozilla Public License.
Original code copyright 1998-2005 by the authors. |