1 #ifndef IQRF_H_INCLUDED 2 #define IQRF_H_INCLUDED 54 #define IQRF_PNUM_BRIDGE (0x30) 59 #define IQRF_SPI_BUFFER_LENGTH (68) 64 #define IQRF_RESPONSE_TIMESLOT_LENGTH_WORST_ESTIMATE (5) 69 #define IQRF_INVALID_TIMESTAMP (0xFFFFFFFF) 143 void (*OnOffline)(
const struct iqrf_t *Iqrf);
146 void (*OnOnline)(
const struct iqrf_t *Iqrf);
149 void (*OnDpaRequest)(
const struct iqrf_t *Iqrf, uint8_t Cmd,
const uint8_t *Data, uint8_t Length);
155 void (*OnFrcRequest)(
const struct iqrf_t *Iqrf, uint8_t Cmd,
const uint8_t *Data, uint8_t Length);
294 uint8_t TimeslotRequest,
295 uint8_t HopsResponse,
296 uint8_t TimeslotResponse);
Header file for the EVE millisecond-scale work scheduling.
uint8_t DpaValue
Error number (= 0x00 for response messages)
#define IQRF_SPI_BUFFER_LENGTH
SPI buffer length (max IQRF packet size + 4)
bool IqrfSendDpaRequest(const struct iqrf_t *Iqrf, iqrf_response_handler_t ResponseHandler, const struct iqrf_dpa_request_t *Request, uint8_t DataLen)
void(* iqrf_response_handler_t)(const struct iqrf_t *Iqrf, enum iqrf_response_type_t Type, const struct iqrf_dpa_response_t *Dpa, uint8_t Length)
uint8_t RxLen
Length of data in Rx buffer.
uint8_t Pos
Position of the currently transferred byte in a buffer.
bool XferStatus
True if last transfer has finished successfully.
bool IqrfSendDpaResponse(const struct iqrf_t *Iqrf, const uint8_t *Data, uint8_t DataLen)
uint8_t HopsResponse
Number of hops in the backward (response) distribution path.
const struct spi_t * Spi
Spi instance.
bool IqrfSendFrcResponse(const struct iqrf_t *Iqrf, uint16_t Status)
uint8_t TimeslotRequest
Copy of TimeslotRequest from the last confirmation message.
Driver for the MCU's SPI blocks.
uint8_t HopsRequest
Copy of HopsRequest from the last confirmation message.
uint8_t Phase
Thansfer phase.
uint8_t TimeslotRequest
Timeslot length for the request in 10 ms intervals.
uint32_t ConfirmationTimestamp
Timestamp for the last confirmation message.
bool IqrfIsBusy(const struct iqrf_t *Iqrf)
struct iqrf_state_t * State
IRRF state.
uint8_t TxIdx
Index of currently used TX buffer.
bool IqrfSendDpaError(const struct iqrf_t *Iqrf, uint8_t ErrorCode)
Header file for the EVE microsecond-scale work scheduling.
const struct iqrf_global_handlers_t * Handlers
pointer to the IQRF global handlers table
uint8_t HopsResponse
Copy of HopsResponse from the last confirmation message.
uint32_t IqrfGetExpectedRoutingTime(uint8_t HopsRequest, uint8_t TimeslotRequest, uint8_t HopsResponse, uint8_t TimeslotResponse)
uint8_t Nadr
Node's NADR.
uint8_t HopsRequest
Number of hops in the forward (request) distribution path.
void IqrfInterruptCb(const struct iqrf_t *Iqrf)
bool IsCoordinator
True if the interface represents an IQRF coordinator.
const struct iqrf_t * Iqrf
Module instance.
iqrf_response_handler_t ResponseHandler
Per-request response handler (callback)
uint32_t IqrfGetExpectedRoutingCompleteTimestamp(const struct iqrf_t *Iqrf)
uint8_t Channel
Radio channel.
void IqrfInit(const struct iqrf_t *Iqrf)
uint8_t ErrN
Error number (= 0xFF for confirmation messages)
uint32_t SpiBaudrate
Spi speed (should be 250000 for IQRF)
uint8_t DpaValue
DPA value.