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

Internal used types of GoMacH.

GNRC_GOMACH_EVENT_RTT_TYPE

GoMacH RTT event type.

1
(0x4300)
GNRC_GOMACH_EVENT_RTT_NEW_CYCLE

GoMacH RTT new cycle start event type.

1
(0x4301)
GNRC_GOMACH_EVENT_TIMEOUT_TYPE

GoMacH timeout event type.

1
(0x4400)
GNRC_GOMACH_PHASE_UNINITIALIZED

GoMacH uninitialized phase value.

1
(0)
GNRC_GOMACH_PHASE_MAX

GoMacH max phase value.

1
(-1)
GNRC_GOMACH_DUPCHK_BUFFER_SIZE

GoMacH check duplicate packet buffer size.

1
(8U)
GNRC_GOMACH_TIMEOUT_COUNT

The default largest number of parallel timeouts in GoMacH.

1
(6U)
GNRC_GOMACH_SLOSCH_UNIT_COUNT

The default number of slot-schedule-unit gnrc_gomach_slosch_unit_t in GoMacH.

1
(11U)
GNRC_GOMACH_TYPE_UNKNOWN

MAC type of unknown in GoMacH for indicating that the node’s phase is unknown.

1
(0U)
GNRC_GOMACH_TYPE_KNOWN

MAC type of known in GoMacH for indicating that the node’s phase is known.

1
(1U)
GNRC_GOMACH_TIMEOUT_INIT

Static initializer for gnrc_gomach_timeout_t.

1
{ {}, {}, false, GNRC_GOMACH_TIMEOUT_DISABLED }
enum gnrc_gomach_bcast_state_t
GNRC_GOMACH_BCAST_INIT
Initiate broadcast.
GNRC_GOMACH_BCAST_SEND
Send broadcast packet.
GNRC_GOMACH_BCAST_WAIT_TX_FINISH
Wait for broadcast TX finish.
GNRC_GOMACH_BCAST_WAIT_NEXT_TX
Wait for next broadcast TX timing.
GNRC_GOMACH_BCAST_END
End of broadcast procedure.
enum gnrc_gomach_t2k_state_t
GNRC_GOMACH_T2K_INIT
Initiate t2k procedure.
GNRC_GOMACH_T2K_WAIT_CP
Wait for receiver’s CP (wake-up) period.
GNRC_GOMACH_T2K_TRANS_IN_CP
Transmit data in receiver’s CP period.
GNRC_GOMACH_T2K_WAIT_CPTX_FEEDBACK
Wait for CP transmission finish.
GNRC_GOMACH_T2K_WAIT_BEACON
Wait receiver’s beacon.
GNRC_GOMACH_T2K_WAIT_SLOTS
Wait for the node’s allocated slots period.
GNRC_GOMACH_T2K_VTDMA_TRANS
Transmit data in allocate slots.
GNRC_GOMACH_T2K_WAIT_VTDMA_FEEDBACK
Wait for TX finish in TX-slot.
GNRC_GOMACH_T2K_END
End of t2k procedure.
enum gnrc_gomach_t2u_state_t
GNRC_GOMACH_T2U_INIT
Initiate t2u procedure.
GNRC_GOMACH_T2U_PREAMBLE_PREPARE
Prepare settings before sending preamble.
GNRC_GOMACH_T2U_SEND_PREAMBLE
Send preamble in t2u.
GNRC_GOMACH_T2U_WAIT_PREAMBLE_TX
Wait for Send preamble TX finish.
GNRC_GOMACH_T2U_WAIT_PREAMBLE_ACK
Wait for preamble-ACK from receiver.
GNRC_GOMACH_T2U_SEND_DATA
Send data packet to the receiver.
GNRC_GOMACH_T2U_WAIT_DATA_TX
Wait for Send data TX finish.
GNRC_GOMACH_T2U_END
End of t2u procedure.
enum gnrc_gomach_basic_state_t
GNRC_GOMACH_INIT
Initiate GoMacH.
GNRC_GOMACH_LISTEN
GoMacH’s duty-cycled listen procedure.
GNRC_GOMACH_TRANSMIT
GoMacH’s transmission procedure.
enum gnrc_gomach_init_state_t
GNRC_GOMACH_INIT_PREPARE
Prepare the initialization procedure of GoMacH.
GNRC_GOMACH_INIT_ANNC_SUBCHAN
Announce the sub-channel sequence of the node.
GNRC_GOMACH_INIT_WAIT_FEEDBACK
Wait for announce TX finish.
GNRC_GOMACH_INIT_END
End of the initialization procedure of GoMacH.
enum gnrc_gomach_listen_state_t
GNRC_GOMACH_LISTEN_CP_INIT
Initiate the listen period.
GNRC_GOMACH_LISTEN_CP_LISTEN
Listen for incoming packets.
GNRC_GOMACH_LISTEN_CP_END
End of packet listen period.
GNRC_GOMACH_LISTEN_SEND_BEACON
Send beacon packet when needed.
GNRC_GOMACH_LISTEN_WAIT_BEACON_TX
Wait for send beacon TX finish.
GNRC_GOMACH_LISTEN_VTDMA_INIT
Initiate the vTDMA period.
GNRC_GOMACH_LISTEN_VTDMA
Listen for incoming packets in vTDMA.
GNRC_GOMACH_LISTEN_VTDMA_END
End of the vTDMA period.
GNRC_GOMACH_LISTEN_SLEEP_INIT
Initiate the sleep period.
GNRC_GOMACH_LISTEN_SLEEP
Turn radio off to sleep.
GNRC_GOMACH_LISTEN_SLEEP_END
End of the sleep period.
enum gnrc_gomach_transmit_state_t
GNRC_GOMACH_TRANS_TO_UNKNOWN
Transmit to phase-unknown node in GoMacH.
GNRC_GOMACH_TRANS_TO_KNOWN
Transmit to phase-known node in GoMacH.
GNRC_GOMACH_BROADCAST
Broadcast packet in GoMacH.
enum gnrc_gomach_timeout_type_t
GNRC_GOMACH_TIMEOUT_DISABLED
Timeout is disabled.
GNRC_GOMACH_TIMEOUT_BCAST_FINISH
Timeout of broadcast procedure end.
GNRC_GOMACH_TIMEOUT_BCAST_INTERVAL
Timeout of next broadcast transmission.
GNRC_GOMACH_TIMEOUT_PREAMBLE
Timeout of next preamble transmission.
GNRC_GOMACH_TIMEOUT_MAX_PREAM_INTERVAL
Timeout of maximum preamble interval.
GNRC_GOMACH_TIMEOUT_PREAM_DURATION
Timeout of maximum preamble duration.
GNRC_GOMACH_TIMEOUT_WAIT_CP
Timeout of waiting receiver’s CP period.
GNRC_GOMACH_TIMEOUT_WAIT_BEACON
Timeout of waiting beacon.
GNRC_GOMACH_TIMEOUT_WAIT_SLOTS
Timeout of waiting own slots.
GNRC_GOMACH_TIMEOUT_CP_END
Timeout of CP (wake-up) period ending.
GNRC_GOMACH_TIMEOUT_CP_MAX
Timeout of maximum CP duration.
GNRC_GOMACH_TIMEOUT_WAIT_RX_END
Timeout of waiting reception complete.
GNRC_GOMACH_TIMEOUT_VTDMA
Timeout of vTDMA period end.
GNRC_GOMACH_TIMEOUT_NO_TX_ISR
Timeout of maximum transmission duration.
struct gomach gnrc_gomach_t

GoMacH’s specific structure for storing internal states.

struct gnrc_gomach_l2_id_t

GoMacH internal L2 address structure.

uint8_t addr()

Node’s address.

struct gnrc_gomach_slosch_unit_t

GoMacH’s slot-schedule-unit.

This slot-schedule-unit is used to record related information of a node for running the dynamic slots allocation scheme in GoMacH.

gnrc_gomach_l2_addr_t node_addr

Node’s address.

uint8_t queue_indicator

Node’s queue-length indicator.

struct gnrc_gomach_vtdma_manag_t

GoMacH’s vTDMA (dynamic slots allocation) management unit.

uint8_t total_slots_num

Number of total allocated transmission slots.

uint8_t sub_channel_seq

Receiver’s sub-channel sequence.

struct gnrc_gomach_dupchk_unit_t

GoMacH’s data structure for recording sender’s past TX information.

gnrc_gomach_l2_addr_t node_addr

Node’s address.

uint8_t seq

Node’s MAC packet sequence.

uint8_t life_cycle

Lifetime of this record unit.

struct gnrc_gomach_dupchk_t

GoMacH’s data structure for recording TX information for avoiding receiving duplicate packets.

gnrc_gomach_dupchk_unit_t last_nodes()

Duplicate check unit.

uint8_t queue_head

Check queue’s head.

struct gnrc_gomach_packet_info_t

Type to pass information about packet parsing.

gnrc_gomach_hdr_t * header

GoMacH header of packet.

gnrc_gomach_l2_addr_t src_addr

Copied source address of packet.

gnrc_gomach_l2_addr_t dst_addr

Copied destination address of packet.

uint8_t seq

MAC sequence of the received packet.

struct gnrc_gomach_vtdma_t

Sender’s vTDMA (dynamic slots allocation) management unit.

uint16_t sub_channel_seq

Receiver’s sub-channel sequence.

uint8_t slots_position

Node’s own slots position.

uint8_t slots_num

Node’s allocated slots number.

struct gnrc_gomach_timeout_t

GoMacH’s timeout structure.

xtimer.h::xtimer_t timer

xtimer entity.

msg_t msg

msg entity.

bool expired

Timeout expiration indicator.

sys/include/net/gnrc/gomach/types.h::gnrc_gomach_timeout_type_t type

GoMacH timeout type.

struct gomach

GoMacH’s specific structure for storing internal states.

sys/include/net/gnrc/gomach/types.h::gnrc_gomach_basic_state_t basic_state

Basic state.

sys/include/net/gnrc/gomach/types.h::gnrc_gomach_init_state_t init_state

Initialization state.

gnrc_gomach_timeout_t timeouts()

GoMacH’s timeouts.

uint16_t subchannel_occu_flags

Sub-channel usage indicator.

uint16_t sub_channel_seq

Sub-channel sequence.

uint16_t pub_channel_1

Public channel 1.

uint16_t pub_channel_2

Public channel 2.

uint16_t cur_pub_channel

Current public channel.

uint8_t cp_extend_count

CP extend count.

uint32_t last_wakeup

Last wake-up timing.

uint32_t backoff_phase_us

Phase backoff time.

uint16_t gomach_info

GoMacH’s internal information.

uint64_t last_wakeup_phase_us

Last cycle wakeup phase.

int16_t rx_pkt_rssi

RSSI of latest received packet in dBm.

uint8_t rx_pkt_lqi

LQI of latest received packet.