sys/include/net/gnrc/lwmac/types.h

Definition of internal types used by LWMAC.

GNRC_LWMAC_EVENT_RTT_TYPE

LWMAC RTT event type.

1
(0x4300)
GNRC_LWMAC_EVENT_RTT_START

LWMAC RTT start event type.

1
(0x4301)
GNRC_LWMAC_EVENT_RTT_STOP

LWMAC RTT stop event type.

1
(0x4302)
GNRC_LWMAC_EVENT_RTT_PAUSE

LWMAC RTT pause event type.

1
(0x4303)
GNRC_LWMAC_EVENT_RTT_RESUME

LWMAC RTT resume event type.

1
(0x4304)
GNRC_LWMAC_EVENT_RTT_WAKEUP_PENDING

LWMAC RTT wakeup pending event type.

1
(0x4305)
GNRC_LWMAC_EVENT_RTT_SLEEP_PENDING

LWMAC RTT sleep pending event type.

1
(0x4306)
GNRC_LWMAC_EVENT_TIMEOUT_TYPE

LWMAC timeout event type.

1
(0x4400)
GNRC_LWMAC_DUTYCYCLE_ACTIVE

LWMAC duty-cycle active flag.

1
(0x01)

Keep track of duty cycling to avoid late RTT events after stopping.

GNRC_LWMAC_NEEDS_RESCHEDULE

LWMAC needs reschedule flag.

1
(0x02)

Used internally for rescheduling state machine update, e.g. after state transition caused in update.

GNRC_LWMAC_RADIO_IS_ON

LWMAC check radio’s on/off state flag.

1
(0x04)
GNRC_LWMAC_ENABLE_DUTYCYLE_RECORD

Enable/disable duty-cycle record and print out.

1
(0U)

Set “1” to enable, set “0” to disable.

GNRC_LWMAC_TIMEOUT_COUNT

The default largest number of parallel timeouts in LWMAC.

1
(3U)
GNRC_LWMAC_TX_STATE_INITIAL

Static initializer for gnrc_lwmac_tx_state_t.

1
GNRC_LWMAC_TX_STATE_STOPPED
GNRC_LWMAC_RX_STATE_INITIAL

Static initializer for gnrc_lwmac_rx_state_t.

1
GNRC_LWMAC_RX_STATE_STOPPED
GNRC_LWMAC_PHASE_UNINITIALIZED

LWMAC uninitialized phase value.

1
(0)
GNRC_LWMAC_PHASE_MAX

LWMAC max phase value.

1
(-1)
enum gnrc_lwmac_state_t
GNRC_LWMAC_UNDEF = -1
Undefined state of LWMAC.
GNRC_LWMAC_STOPPED
LWMAC’s main state machine has been stopped.
GNRC_LWMAC_START
Start LWMAC’s main state machine.
GNRC_LWMAC_STOP
Stop LWMAC’s main state machine.
GNRC_LWMAC_RESET
Reset LWMAC’s main state machine.
GNRC_LWMAC_LISTENING
Listen the channel for receiving packets.
GNRC_LWMAC_RECEIVING
RX is handled in own state machine.
GNRC_LWMAC_TRANSMITTING
TX is handled in own state machine.
GNRC_LWMAC_SLEEPING
Turn off radio to conserve power.
GNRC_LWMAC_STATE_COUNT
Count of LWMAC’s states.
enum gnrc_lwmac_tx_state_t
GNRC_LWMAC_TX_STATE_STOPPED
Tx schedule stopped, stop sending packet.
GNRC_LWMAC_TX_STATE_INIT
Initiate transmission.
GNRC_LWMAC_TX_STATE_SEND_BROADCAST
directly goes to SUCCESSFUL or FAILED when finished
GNRC_LWMAC_TX_STATE_SEND_WR
Send a wakeup request.
GNRC_LWMAC_TX_STATE_WAIT_WR_SENT
Wait until WR sent to set timeout.
GNRC_LWMAC_TX_STATE_WAIT_FOR_WA
Wait for dest node’s wakeup ackknowledge.
GNRC_LWMAC_TX_STATE_SEND_DATA
Send the actual payload data.
GNRC_LWMAC_TX_STATE_WAIT_FEEDBACK
Wait if packet was ACKed.
GNRC_LWMAC_TX_STATE_SUCCESSFUL
Transmission has finished successfully.
GNRC_LWMAC_TX_STATE_FAILED
Payload data couldn’t be delivered to dest.
enum gnrc_lwmac_rx_state_t
GNRC_LWMAC_RX_STATE_STOPPED
Rx schedule stopped.
GNRC_LWMAC_RX_STATE_INIT
Initiate reception.
GNRC_LWMAC_RX_STATE_WAIT_FOR_WR
Wait for a wakeup request.
GNRC_LWMAC_RX_STATE_SEND_WA
Send wakeup ackknowledge to requesting node.
GNRC_LWMAC_RX_STATE_WAIT_WA_SENT
Wait until WA sent to set timeout.
GNRC_LWMAC_RX_STATE_WAIT_FOR_DATA
Wait for actual payload data.
GNRC_LWMAC_RX_STATE_SUCCESSFUL
Recption has finished successfully.
GNRC_LWMAC_RX_STATE_FAILED
Reception over, but nothing received.
enum gnrc_lwmac_timeout_type_t
GNRC_LWMAC_TIMEOUT_DISABLED
Timeout is diabled.
GNRC_LWMAC_TIMEOUT_WR
WR timeout, waiting WA.
GNRC_LWMAC_TIMEOUT_NO_RESPONSE
Maximum WR duration timeout awaiting WA.
GNRC_LWMAC_TIMEOUT_DATA
Timeout awaiting data packet from receiver.
GNRC_LWMAC_TIMEOUT_WAIT_DEST_WAKEUP
Timeout for waiting receiver’s wake-up phase.
GNRC_LWMAC_TIMEOUT_WAKEUP_PERIOD
Wake up period timeout for going to sleep.
GNRC_LWMAC_TIMEOUT_NEXT_BROADCAST
Timeout for waiting to send the next broadcast packet.
GNRC_LWMAC_TIMEOUT_BROADCAST_END
Timeout awaiting the end of the whole broadcast period.
struct lwmac gnrc_lwmac_t

LWMAC specific structure for storing internal states.

struct gnrc_lwmac_timeout_t

LWMAC timeout structure.

xtimer.h::xtimer_t timer

xtimer entity

msg_t msg

msg entity

bool expired

If type != DISABLED, this indicates if timeout has expired.

sys/include/net/gnrc/lwmac/types.h::gnrc_lwmac_timeout_type_t type

timeout type

struct lwmac

LWMAC specific structure for storing internal states.

sys/include/net/gnrc/lwmac/types.h::gnrc_lwmac_state_t state

Internal state of MAC layer.

uint32_t last_wakeup

Used to calculate wakeup times.

uint8_t lwmac_info

LWMAC’s internal informations (flags)

gnrc_lwmac_timeout_t timeouts()

Store timeouts used for protocol.