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.
Referenced by kmain().
|
inline |
return whether a packet is currently being received
Definition at line 140 of file lnp.h.
References 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 |
| lnp_integrity_state_t lnp_integrity_state |
the integrity layer state
| unsigned short lnp_timeout |
the timeout length in ms
| volatile unsigned short lnp_timeout_counter |
the timeout counter in ms
|
brickOS is released under the
Mozilla Public License.
Original code copyright 1998-2005 by the authors. |
1.8.9.1