MAC Layer Abstraction for AT86RFx implementation.
Copyright (c) 2018 - 2022 Microchip Technology Inc. and its subsidiaries.
#include <string.h>
#include <stdbool.h>
#include <trx_access.h>
#include "miwi_config.h"
#include "miwi_config_p2p.h"
#include "delay.h"
#include "sal.h"
#include "phy.h"
#include "mimac_at86rf.h"
#include "pdsDataServer.h"
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 (INPUT 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) |
uint32_t | MiMAC_SymbolToTicks (uint32_t symbols) |
void | MiMAC_Task (void) |
void | PHY_DataConf (uint8_t status) |
Variables | |
uint8_t | BankIndex = 0xFF |
uint8_t | calculated_mic_values [AES_BLOCKSIZE/4] |
bool | dataConfAvailable = 0 |
DataConf_callback_t | dataConfCallback = NULL |
uint8_t | dataHandle = 0 |
uint8_t * | dataPointer = NULL |
miwi_status_t | dataStatus |
uint8_t | IEEESeqNum |
API_UINT16_UNION | MAC_PANID |
uint8_t | MACCurrentChannel |
MACINIT_PARAM | MACInitParams |
API_UINT16_UNION | myNetworkAddress |
uint8_t | packet [128] |
uint8_t | received_mic_values [AES_BLOCKSIZE/4] |
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().
References PHY_Sleep(), PHY_Wakeup(), POWER_STATE_DEEP_SLEEP, and POWER_STATE_OPERATE.
Referenced by P2PTasks().
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().
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 PHY_DataConf | ( | uint8_t | status | ) |
References dataConfAvailable, and dataStatus.
Referenced by MiMAC_SendPacket().
uint8_t BankIndex = 0xFF |
Referenced by MiMAC_DiscardPacket(), and MiMAC_ReceivedPacket().
uint8_t calculated_mic_values[AES_BLOCKSIZE/4] |
bool dataConfAvailable = 0 |
Referenced by MiMAC_Task(), and PHY_DataConf().
DataConf_callback_t dataConfCallback = NULL |
Referenced by MiMAC_SendPacket(), and MiMAC_Task().
uint8_t dataHandle = 0 |
Referenced by getAddressFromDataHandleTable(), MiMAC_SendPacket(), and MiMAC_Task().
uint8_t* dataPointer = NULL |
Referenced by MiMAC_SendPacket(), and MiMAC_Task().
miwi_status_t dataStatus |
Referenced by MiMAC_Task(), and PHY_DataConf().
uint8_t IEEESeqNum |
Referenced by MiMAC_Init(), and MiMAC_SendPacket().
API_UINT16_UNION MAC_PANID |
uint8_t MACCurrentChannel |
Referenced by MiMAC_Set().
MACINIT_PARAM MACInitParams |
API_UINT16_UNION myNetworkAddress |
uint8_t packet[128] |
Referenced by MiMAC_SendPacket().
uint8_t received_mic_values[AES_BLOCKSIZE/4] |
Referenced by MiMAC_ReceivedPacket().