MAC Layer Abstraction for AT86RFx interface.
Copyright (c) 2018 - 2019 Microchip Technology Inc. and its subsidiaries.
#include "miwi_config.h"
#include "sysTimer.h"
#include "miwi_p2p_star.h"
#include "miwi_config_p2p.h"
Data Structures | |
union | _DRIVER_UINT8_UNION_ |
struct | MAC_RECEIVED_PACKET |
struct | MAC_TRANS_PARAM |
struct | MACINIT_PARAM |
Macros | |
#define | ABASESLOTDURATION (60) |
#define | ABASESUPERFRAMEDURATION (ABASESLOTDURATION * ANUMSUPERFRAMESLOTS ) |
#define | ACK_MASK 0x20 |
#define | ANUMSUPERFRAMESLOTS (16) |
#define | BROADCAST_MASK 0x04 |
#define | CHANNEL_ASSESSMENT_CARRIER_SENSE 0x00 |
#define | CHANNEL_ASSESSMENT_ENERGY_DETECT 0x01 |
#define | DSTPRSNT_MASK 0x40 |
#define | FIRST_CHANNEL_NUM 0 |
#define | FULL_CHANNEL_MAP 0x000007FF |
#define | LAST_CHANNEL_NUM 10 |
#define | MAX_FRAME_TX_TIME 10 |
#define | PACKET_TYPE_ACK 0x02 |
#define | PACKET_TYPE_COMMAND 0x01 |
#define | PACKET_TYPE_DATA 0x00 |
#define | PACKET_TYPE_MASK 0x03 |
#define | PACKET_TYPE_RESERVE 0x03 |
#define | POWER_STATE_DEEP_SLEEP 0x00 |
#define | POWER_STATE_OPERATE 0xFF |
#define | REPEAT_MASK 0x10 |
#define | SECURITY_MASK 0x08 |
#define | SRCPRSNT_MASK 0x80 |
#define | SYMBOLS_TO_TICKS(a) ((a)*(16*ONE_MICRO_SECOND)) |
#define | TICKS_TO_SYMBOLS(a) ((a)/(16*ONE_MICRO_SECOND)) |
Typedefs | |
typedef union _DRIVER_UINT8_UNION_ | DRIVER_UINT8_UNION |
typedef enum mac_set_params | mac_set_params_t |
Enumerations | |
enum | mac_set_params { MAC_CHANNEL } |
Functions | |
uint8_t | MiMAC_ChannelAssessment (uint8_t AssessmentMode) |
void | MiMAC_DiscardPacket (void) |
uint32_t | MiMAC_GetPHYChannelInfo (void) |
bool | MiMAC_Init (MACINIT_PARAM initValue) |
bool | MiMAC_PowerState (uint8_t PowerState) |
bool | MiMAC_ReceivedPacket (void) |
bool | MiMAC_SendPacket (MAC_TRANS_PARAM transParam, uint8_t *MACPayload, uint8_t MACPayloadLen, uint8_t msghandle, DataConf_callback_t ConfCallback) |
bool | MiMAC_Set (mac_set_params_t id, uint8_t *value) |
bool | MiMAC_SetAltAddress (uint8_t *Address, uint8_t *PANID) |
bool | MiMAC_SetPower (uint8_t outputPower) |
uint32_t | MiMAC_SymbolToTicks (uint32_t symbols) |
void | MiMAC_Task (void) |
void | UserInterruptHandler (void) |
Variables | |
MAC_RECEIVED_PACKET | MACRxPacket |
#define ABASESLOTDURATION (60) |
#define ABASESUPERFRAMEDURATION (ABASESLOTDURATION * ANUMSUPERFRAMESLOTS ) |
#define ACK_MASK 0x20 |
#define ANUMSUPERFRAMESLOTS (16) |
#define BROADCAST_MASK 0x04 |
#define CHANNEL_ASSESSMENT_CARRIER_SENSE 0x00 |
#define CHANNEL_ASSESSMENT_ENERGY_DETECT 0x01 |
Referenced by MiMAC_ChannelAssessment().
#define DSTPRSNT_MASK 0x40 |
#define FIRST_CHANNEL_NUM 0 |
#define FULL_CHANNEL_MAP 0x000007FF |
Referenced by MiMAC_GetPHYChannelInfo().
#define LAST_CHANNEL_NUM 10 |
#define MAX_FRAME_TX_TIME 10 |
#define PACKET_TYPE_ACK 0x02 |
#define PACKET_TYPE_COMMAND 0x01 |
Referenced by frameParse(), frameTransmit(), MiMAC_ReceivedPacket(), and MiMAC_SendPacket().
#define PACKET_TYPE_DATA 0x00 |
Referenced by frameTransmit(), MiMAC_ReceivedPacket(), and MiMAC_SendPacket().
#define PACKET_TYPE_MASK 0x03 |
#define PACKET_TYPE_RESERVE 0x03 |
Referenced by MiMAC_ReceivedPacket(), and MiMAC_SendPacket().
#define POWER_STATE_DEEP_SLEEP 0x00 |
Referenced by MiMAC_PowerState(), and P2PTasks().
#define POWER_STATE_OPERATE 0xFF |
Referenced by MiMAC_PowerState().
#define REPEAT_MASK 0x10 |
#define SECURITY_MASK 0x08 |
#define SRCPRSNT_MASK 0x80 |
#define SYMBOLS_TO_TICKS | ( | a | ) | ((a)*(16*ONE_MICRO_SECOND)) |
Referenced by MiMAC_SymbolToTicks().
#define TICKS_TO_SYMBOLS | ( | a | ) | ((a)/(16*ONE_MICRO_SECOND)) |
typedef union _DRIVER_UINT8_UNION_ DRIVER_UINT8_UNION |
typedef enum mac_set_params mac_set_params_t |
enum mac_set_params |
uint8_t MiMAC_ChannelAssessment | ( | uint8_t | AssessmentMode | ) |
References CHANNEL_ASSESSMENT_ENERGY_DETECT, and PHY_EdReq().
void MiMAC_DiscardPacket | ( | void | ) |
References BANK_SIZE, BankIndex, RxBuffer_t::PayloadLen, and RxBuffer.
Referenced by MiMAC_ReceivedPacket(), and P2PTasks().
uint32_t MiMAC_GetPHYChannelInfo | ( | void | ) |
References FULL_CHANNEL_MAP.
bool MiMAC_Init | ( | MACINIT_PARAM | initValue | ) |
References MACINIT_PARAM::actionFlags, BANK_SIZE, MACINIT_PARAM::bits, FRAME_COUNTER_UPDATE_INTERVAL, i, IEEESeqNum, MACINIT_PARAM::PAddress, RxBuffer_t::PayloadLen, PDS_Restore(), PDS_Store(), PHY_Init(), PHY_RandomReq(), PHY_SetIEEEAddr(), PHY_SetRxState(), RxBuffer, and API_UINT32_UNION::Val.
Referenced by MiApp_ProtocolInit().
bool MiMAC_PowerState | ( | uint8_t | PowerState | ) |
bool MiMAC_ReceivedPacket | ( | void | ) |
References BANK_SIZE, BankIndex, MAC_RECEIVED_PACKET::bits, CONNECTION_SIZE, DataDecrypt(), defaultParamsRomOrRam, MAC_RECEIVED_PACKET::flags, i, isSameAddress(), MAC_RECEIVED_PACKET::LQIValue, MACRxPacket, MiMAC_DiscardPacket(), PACKET_TYPE_COMMAND, PACKET_TYPE_DATA, PACKET_TYPE_RESERVE, MAC_RECEIVED_PACKET::Payload, RxBuffer_t::Payload, MAC_RECEIVED_PACKET::PayloadLen, RxBuffer_t::PayloadLen, received_mic_values, MAC_RECEIVED_PACKET::RSSIValue, RxBuffer, MAC_RECEIVED_PACKET::SourceAddress, API_UINT32_UNION::v, API_UINT32_UNION::Val, and MAC_RECEIVED_PACKET::Val.
Referenced by P2PTasks().
bool MiMAC_SendPacket | ( | MAC_TRANS_PARAM | transParam, |
uint8_t * | MACPayload, | ||
uint8_t | MACPayloadLen, | ||
uint8_t | msghandle, | ||
DataConf_callback_t | ConfCallback | ||
) |
References MAC_TRANS_PARAM::bits, PHY_DataReq_t::confirmCallback, PHY_DataReq_t::data, dataConfCallback, DataEncrypt(), dataHandle, dataPointer, MAC_TRANS_PARAM::DestAddress, MAC_TRANS_PARAM::flags, i, IEEESeqNum, packet, PACKET_TYPE_COMMAND, PACKET_TYPE_DATA, PACKET_TYPE_RESERVE, MACINIT_PARAM::PAddress, PDS_Store(), PHY_DataConf(), PHY_DataReq(), PHY_DataReq_t::polledConfirmation, API_UINT32_UNION::v, API_UINT16_UNION::v, API_UINT32_UNION::Val, API_UINT16_UNION::Val, and MAC_TRANS_PARAM::Val.
Referenced by P2PTasks().
bool MiMAC_Set | ( | mac_set_params_t | id, |
uint8_t * | value | ||
) |
References MAC_CHANNEL, MACCurrentChannel, and PHY_SetChannel().
Referenced by MiApp_Set().
bool MiMAC_SetAltAddress | ( | uint8_t * | Address, |
uint8_t * | PANID | ||
) |
References PHY_SetPanId(), PHY_SetShortAddr(), API_UINT16_UNION::v, and API_UINT16_UNION::Val.
Referenced by frameParse(), MiApp_ProtocolInit(), and MiApp_StartConnection().
bool MiMAC_SetPower | ( | uint8_t | outputPower | ) |
uint32_t MiMAC_SymbolToTicks | ( | uint32_t | symbols | ) |
References SYMBOLS_TO_TICKS.
Referenced by P2PTasks().
void MiMAC_Task | ( | void | ) |
References dataConfAvailable, dataConfCallback, dataHandle, dataPointer, dataStatus, and PHY_TaskHandler().
Referenced by P2PTasks().
void UserInterruptHandler | ( | void | ) |
MAC_RECEIVED_PACKET MACRxPacket |
Referenced by MiMAC_ReceivedPacket().